summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2002-07-20 14:32:29 +0000
committernobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2002-07-20 14:32:29 +0000
commit313d763c57f0116ae8a4d516a339356e20578e19 (patch)
tree2f3d376496d8634487d22da4494ba47b13cedee8
parent5cb0ff6546c403f37cca5ec8228c1c4c6b08b300 (diff)
downloadATCD-OS-h_refactor.tar.gz
This commit was manufactured by cvs2svn to create branchOS-h_refactor
'OS-h_refactor'.
-rw-r--r--TAO/TAO_IDL/be/be_visitor_interface/direct_collocated_sh.cpp150
-rw-r--r--TAO/TAO_IDL/be/be_visitor_interface/direct_collocated_ss.cpp205
-rw-r--r--TAO/TAO_IDL/be/be_visitor_interface/interceptors_ch.cpp48
-rw-r--r--TAO/TAO_IDL/be/be_visitor_interface/thru_poa_collocated_sh.cpp116
-rw-r--r--TAO/TAO_IDL/be/be_visitor_interface/thru_poa_collocated_ss.cpp171
-rw-r--r--TAO/TAO_IDL/be/be_visitor_operation/direct_collocated_sh.cpp124
-rw-r--r--TAO/TAO_IDL/be/be_visitor_operation/direct_collocated_ss.cpp188
-rw-r--r--TAO/TAO_IDL/be/be_visitor_operation/inv_arglist.cpp103
-rw-r--r--TAO/TAO_IDL/be/be_visitor_operation/thru_poa_collocated_sh.cpp124
-rw-r--r--TAO/TAO_IDL/be/be_visitor_operation/thru_poa_collocated_ss.cpp227
-rw-r--r--TAO/TAO_IDL/be/be_visitor_union_branch/public_access_cs.cpp446
-rw-r--r--TAO/TAO_IDL/be_include/be.h148
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_interface/direct_collocated_sh.h42
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_interface/direct_collocated_ss.h47
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_interface/interceptors_ch.h43
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_interface/thru_poa_collocated_sh.h42
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_interface/thru_poa_collocated_ss.h47
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_operation/direct_collocated_sh.h51
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_operation/direct_collocated_ss.h57
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_operation/inv_arglist.h55
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_operation/thru_poa_collocated_sh.h52
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_operation/thru_poa_collocated_ss.h57
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_union_branch/public_access_cs.h80
-rw-r--r--TAO/TAO_IDL/driver/drv_private.cpp83
-rw-r--r--TAO/TAO_IDL/include/drv_private.h92
-rw-r--r--TAO/TAO_IDL/include/idl.h97
-rw-r--r--TAO/TAO_IDL/include/idl_extern.h79
-rw-r--r--TAO/TAO_IDL/include/idl_fwd.h148
-rw-r--r--TAO/TAO_IDL/include/util.h84
-rw-r--r--TAO/orbsvcs/IFR_Service/AbstractInterfaceDef_i.cpp56
-rw-r--r--TAO/orbsvcs/IFR_Service/AbstractInterfaceDef_i.h77
-rw-r--r--TAO/orbsvcs/IFR_Service/AliasDef_i.cpp151
-rw-r--r--TAO/orbsvcs/IFR_Service/AliasDef_i.h99
-rw-r--r--TAO/orbsvcs/IFR_Service/ArrayDef_i.cpp283
-rw-r--r--TAO/orbsvcs/IFR_Service/ArrayDef_i.h146
-rw-r--r--TAO/orbsvcs/IFR_Service/AttributeDef_i.cpp572
-rw-r--r--TAO/orbsvcs/IFR_Service/AttributeDef_i.h149
-rw-r--r--TAO/orbsvcs/IFR_Service/ComponentDef_i.cpp383
-rw-r--r--TAO/orbsvcs/IFR_Service/ComponentDef_i.h287
-rw-r--r--TAO/orbsvcs/IFR_Service/ComponentRepository_i.cpp97
-rw-r--r--TAO/orbsvcs/IFR_Service/ComponentRepository_i.h104
-rw-r--r--TAO/orbsvcs/IFR_Service/ConstantDef_i.cpp290
-rw-r--r--TAO/orbsvcs/IFR_Service/ConstantDef_i.h130
-rw-r--r--TAO/orbsvcs/IFR_Service/ConsumesDef_i.cpp62
-rw-r--r--TAO/orbsvcs/IFR_Service/ConsumesDef_i.h89
-rw-r--r--TAO/orbsvcs/IFR_Service/Contained_i.cpp1182
-rw-r--r--TAO/orbsvcs/IFR_Service/Contained_i.h234
-rw-r--r--TAO/orbsvcs/IFR_Service/Container_i.cpp2760
-rw-r--r--TAO/orbsvcs/IFR_Service/Container_i.h458
-rw-r--r--TAO/orbsvcs/IFR_Service/EmitsDef_i.cpp60
-rw-r--r--TAO/orbsvcs/IFR_Service/EmitsDef_i.h89
-rw-r--r--TAO/orbsvcs/IFR_Service/EnumDef_i.cpp148
-rw-r--r--TAO/orbsvcs/IFR_Service/EnumDef_i.h99
-rw-r--r--TAO/orbsvcs/IFR_Service/EventDef_i.cpp89
-rw-r--r--TAO/orbsvcs/IFR_Service/EventDef_i.h105
-rw-r--r--TAO/orbsvcs/IFR_Service/ExceptionDef_i.cpp335
-rw-r--r--TAO/orbsvcs/IFR_Service/ExceptionDef_i.h122
-rw-r--r--TAO/orbsvcs/IFR_Service/FactoryDef_i.cpp62
-rw-r--r--TAO/orbsvcs/IFR_Service/FactoryDef_i.h89
-rw-r--r--TAO/orbsvcs/IFR_Service/FinderDef_i.cpp60
-rw-r--r--TAO/orbsvcs/IFR_Service/FinderDef_i.h89
-rw-r--r--TAO/orbsvcs/IFR_Service/FixedDef_i.cpp131
-rw-r--r--TAO/orbsvcs/IFR_Service/FixedDef_i.h131
-rw-r--r--TAO/orbsvcs/IFR_Service/HomeDef_i.cpp277
-rw-r--r--TAO/orbsvcs/IFR_Service/HomeDef_i.h221
-rw-r--r--TAO/orbsvcs/IFR_Service/IDLType_i.cpp17
-rw-r--r--TAO/orbsvcs/IFR_Service/IDLType_i.h74
-rw-r--r--TAO/orbsvcs/IFR_Service/IFR_BaseS.cpp10497
-rw-r--r--TAO/orbsvcs/IFR_Service/IFR_BaseS.h1697
-rw-r--r--TAO/orbsvcs/IFR_Service/IFR_BaseS.i321
-rw-r--r--TAO/orbsvcs/IFR_Service/IFR_BaseS_T.cpp32
-rw-r--r--TAO/orbsvcs/IFR_Service/IFR_BaseS_T.h708
-rw-r--r--TAO/orbsvcs/IFR_Service/IFR_BaseS_T.i1232
-rw-r--r--TAO/orbsvcs/IFR_Service/IFR_BasicS.cpp24083
-rw-r--r--TAO/orbsvcs/IFR_Service/IFR_BasicS.h6490
-rw-r--r--TAO/orbsvcs/IFR_Service/IFR_BasicS.i5151
-rw-r--r--TAO/orbsvcs/IFR_Service/IFR_BasicS_T.cpp32
-rw-r--r--TAO/orbsvcs/IFR_Service/IFR_BasicS_T.h4400
-rw-r--r--TAO/orbsvcs/IFR_Service/IFR_BasicS_T.i8163
-rw-r--r--TAO/orbsvcs/IFR_Service/IFR_ComponentsS.cpp13818
-rw-r--r--TAO/orbsvcs/IFR_Service/IFR_ComponentsS.h4190
-rw-r--r--TAO/orbsvcs/IFR_Service/IFR_ComponentsS.i3711
-rw-r--r--TAO/orbsvcs/IFR_Service/IFR_ComponentsS_T.cpp32
-rw-r--r--TAO/orbsvcs/IFR_Service/IFR_ComponentsS_T.h2884
-rw-r--r--TAO/orbsvcs/IFR_Service/IFR_ComponentsS_T.i5308
-rw-r--r--TAO/orbsvcs/IFR_Service/IFR_ExtendedS.cpp9173
-rw-r--r--TAO/orbsvcs/IFR_Service/IFR_ExtendedS.h1748
-rw-r--r--TAO/orbsvcs/IFR_Service/IFR_ExtendedS.i936
-rw-r--r--TAO/orbsvcs/IFR_Service/IFR_ExtendedS_T.cpp32
-rw-r--r--TAO/orbsvcs/IFR_Service/IFR_ExtendedS_T.h983
-rw-r--r--TAO/orbsvcs/IFR_Service/IFR_ExtendedS_T.i1749
-rw-r--r--TAO/orbsvcs/IFR_Service/IFR_macro.h46
-rw-r--r--TAO/orbsvcs/IFR_Service/IRObject_i.cpp28
-rw-r--r--TAO/orbsvcs/IFR_Service/IRObject_i.h88
-rw-r--r--TAO/orbsvcs/IFR_Service/InterfaceDef_i.cpp1396
-rw-r--r--TAO/orbsvcs/IFR_Service/InterfaceDef_i.h246
-rw-r--r--TAO/orbsvcs/IFR_Service/LocalInterfaceDef_i.cpp55
-rw-r--r--TAO/orbsvcs/IFR_Service/LocalInterfaceDef_i.h77
-rw-r--r--TAO/orbsvcs/IFR_Service/ModuleDef_i.cpp97
-rw-r--r--TAO/orbsvcs/IFR_Service/ModuleDef_i.h90
-rw-r--r--TAO/orbsvcs/IFR_Service/NativeDef_i.cpp56
-rw-r--r--TAO/orbsvcs/IFR_Service/NativeDef_i.h77
-rw-r--r--TAO/orbsvcs/IFR_Service/OperationDef_i.cpp785
-rw-r--r--TAO/orbsvcs/IFR_Service/OperationDef_i.h206
-rw-r--r--TAO/orbsvcs/IFR_Service/Options.cpp125
-rw-r--r--TAO/orbsvcs/IFR_Service/Options.h81
-rw-r--r--TAO/orbsvcs/IFR_Service/PrimaryKeyDef_i.cpp98
-rw-r--r--TAO/orbsvcs/IFR_Service/PrimaryKeyDef_i.h111
-rw-r--r--TAO/orbsvcs/IFR_Service/PrimitiveDef_i.cpp132
-rw-r--r--TAO/orbsvcs/IFR_Service/PrimitiveDef_i.h98
-rw-r--r--TAO/orbsvcs/IFR_Service/ProvidesDef_i.cpp78
-rw-r--r--TAO/orbsvcs/IFR_Service/ProvidesDef_i.h97
-rw-r--r--TAO/orbsvcs/IFR_Service/PublishesDef_i.cpp62
-rw-r--r--TAO/orbsvcs/IFR_Service/PublishesDef_i.h89
-rw-r--r--TAO/orbsvcs/IFR_Service/Repository_i.cpp860
-rw-r--r--TAO/orbsvcs/IFR_Service/Repository_i.h289
-rw-r--r--TAO/orbsvcs/IFR_Service/SequenceDef_i.cpp286
-rw-r--r--TAO/orbsvcs/IFR_Service/SequenceDef_i.h149
-rw-r--r--TAO/orbsvcs/IFR_Service/Servant_Factory.cpp1492
-rw-r--r--TAO/orbsvcs/IFR_Service/Servant_Factory.h78
-rw-r--r--TAO/orbsvcs/IFR_Service/Servant_Locator.cpp66
-rw-r--r--TAO/orbsvcs/IFR_Service/Servant_Locator.h73
-rw-r--r--TAO/orbsvcs/IFR_Service/StringDef_i.cpp113
-rw-r--r--TAO/orbsvcs/IFR_Service/StringDef_i.h110
-rw-r--r--TAO/orbsvcs/IFR_Service/StructDef_i.cpp278
-rw-r--r--TAO/orbsvcs/IFR_Service/StructDef_i.h111
-rw-r--r--TAO/orbsvcs/IFR_Service/TypedefDef_i.cpp73
-rw-r--r--TAO/orbsvcs/IFR_Service/TypedefDef_i.h73
-rw-r--r--TAO/orbsvcs/IFR_Service/UnionDef_i.cpp470
-rw-r--r--TAO/orbsvcs/IFR_Service/UnionDef_i.h153
-rw-r--r--TAO/orbsvcs/IFR_Service/UsesDef_i.cpp93
-rw-r--r--TAO/orbsvcs/IFR_Service/UsesDef_i.h107
-rw-r--r--TAO/orbsvcs/IFR_Service/ValueBoxDef_i.cpp153
-rw-r--r--TAO/orbsvcs/IFR_Service/ValueBoxDef_i.h99
-rw-r--r--TAO/orbsvcs/IFR_Service/ValueDef_i.cpp493
-rw-r--r--TAO/orbsvcs/IFR_Service/ValueDef_i.h345
-rw-r--r--TAO/orbsvcs/IFR_Service/ValueMemberDef_i.cpp150
-rw-r--r--TAO/orbsvcs/IFR_Service/ValueMemberDef_i.h141
-rw-r--r--TAO/orbsvcs/IFR_Service/WstringDef_i.cpp113
-rw-r--r--TAO/orbsvcs/IFR_Service/WstringDef_i.h110
-rw-r--r--TAO/orbsvcs/IFR_Service/concrete_classes.h54
-rw-r--r--TAO/orbsvcs/IFR_Service/tmplinst.cpp250
-rw-r--r--TAO/orbsvcs/tests/Concurrency/NS_client.cpp214
-rw-r--r--TAO/orbsvcs/tests/Concurrency/NS_client.h93
-rw-r--r--TAO/performance-tests/AMI_Latency/Roundtrip.cpp26
-rw-r--r--TAO/performance-tests/AMI_Latency/Roundtrip.h46
-rw-r--r--TAO/performance-tests/AMI_Latency/Roundtrip_Handler.cpp75
-rw-r--r--TAO/performance-tests/AMI_Latency/Roundtrip_Handler.h61
-rw-r--r--TAO/performance-tests/AMI_Latency/Server_Task.cpp24
-rw-r--r--TAO/performance-tests/AMI_Latency/client.cpp185
-rw-r--r--TAO/performance-tests/AMI_Latency/server.cpp155
-rw-r--r--TAO/performance-tests/DII_Latency/Roundtrip.cpp26
-rw-r--r--TAO/performance-tests/DII_Latency/Roundtrip.h46
-rw-r--r--TAO/performance-tests/DII_Latency/client.cpp178
-rw-r--r--TAO/performance-tests/DII_Latency/server.cpp136
-rw-r--r--TAO/performance-tests/DSI_Latency/Roundtrip.cpp97
-rw-r--r--TAO/performance-tests/DSI_Latency/Roundtrip.h48
-rw-r--r--TAO/performance-tests/DSI_Latency/client.cpp163
-rw-r--r--TAO/performance-tests/DSI_Latency/server.cpp142
-rw-r--r--TAO/performance-tests/Deferred_Latency/Roundtrip.cpp26
-rw-r--r--TAO/performance-tests/Deferred_Latency/Roundtrip.h46
-rw-r--r--TAO/performance-tests/Deferred_Latency/client.cpp203
-rw-r--r--TAO/performance-tests/Deferred_Latency/server.cpp136
-rw-r--r--TAO/performance-tests/RTCorba/Multiple_Endpoints/Endpoint_Per_Priority/Makefile616
-rw-r--r--TAO/performance-tests/Single_Threaded_Latency/Roundtrip.cpp26
-rw-r--r--TAO/performance-tests/Single_Threaded_Latency/Roundtrip.h46
-rw-r--r--TAO/performance-tests/Single_Threaded_Latency/client.cpp164
-rw-r--r--TAO/performance-tests/Single_Threaded_Latency/server.cpp136
-rw-r--r--TAO/performance-tests/Thread_Per_Connection_Latency/Client_Task.cpp65
-rw-r--r--TAO/performance-tests/Thread_Per_Connection_Latency/Client_Task.h46
-rw-r--r--TAO/performance-tests/Thread_Per_Connection_Latency/Roundtrip.cpp26
-rw-r--r--TAO/performance-tests/Thread_Per_Connection_Latency/Roundtrip.h46
-rw-r--r--TAO/performance-tests/Thread_Per_Connection_Latency/client.cpp149
-rw-r--r--TAO/performance-tests/Thread_Per_Connection_Latency/server.cpp136
-rw-r--r--TAO/performance-tests/Thread_Pool_Latency/Client_Task.cpp65
-rw-r--r--TAO/performance-tests/Thread_Pool_Latency/Client_Task.h46
-rw-r--r--TAO/performance-tests/Thread_Pool_Latency/Roundtrip.cpp26
-rw-r--r--TAO/performance-tests/Thread_Pool_Latency/Roundtrip.h46
-rw-r--r--TAO/performance-tests/Thread_Pool_Latency/Worker_Thread.cpp24
-rw-r--r--TAO/performance-tests/Thread_Pool_Latency/client.cpp149
-rw-r--r--TAO/performance-tests/Thread_Pool_Latency/server.cpp139
-rw-r--r--TAO/tao/ORBInitializer_Registry.inl10
-rw-r--r--TAO/tao/Pluggable.cpp219
-rw-r--r--TAO/tao/Pluggable.h223
-rw-r--r--TAO/tao/Pluggable.i29
-rw-r--r--TAO/tests/RTCORBA/Linear_Priority/readers.cpp323
-rw-r--r--ace/Main_Macros.h246
-rw-r--r--ace/Object_Manager_Base.cpp643
-rw-r--r--ace/Object_Manager_Base.h363
-rw-r--r--ace/os_include/aio.h32
-rw-r--r--ace/os_include/assert.h29
-rw-r--r--ace/os_include/ctype.h28
-rw-r--r--ace/os_include/dirent.h38
-rw-r--r--ace/os_include/dlfcn.h81
-rw-r--r--ace/os_include/errno.h93
-rw-r--r--ace/os_include/fcntl.h106
-rw-r--r--ace/os_include/limits.h60
-rw-r--r--ace/os_include/netinet/in.h66
-rw-r--r--ace/os_include/new.h32
-rw-r--r--ace/os_include/poll.h29
-rw-r--r--ace/os_include/psos.h567
-rw-r--r--ace/os_include/pwd.h29
-rw-r--r--ace/os_include/sched.h29
-rw-r--r--ace/os_include/semaphore.h29
-rw-r--r--ace/os_include/signal.h299
-rw-r--r--ace/os_include/stddef.h29
-rw-r--r--ace/os_include/stdio.h127
-rw-r--r--ace/os_include/stdlib.h46
-rw-r--r--ace/os_include/string.h57
-rw-r--r--ace/os_include/stropts.h83
-rw-r--r--ace/os_include/sys/ioctl.h29
-rw-r--r--ace/os_include/sys/ipc.h53
-rw-r--r--ace/os_include/sys/mman.h90
-rw-r--r--ace/os_include/sys/msg.h51
-rw-r--r--ace/os_include/sys/param.h44
-rw-r--r--ace/os_include/sys/resource.h57
-rw-r--r--ace/os_include/sys/select.h41
-rw-r--r--ace/os_include/sys/sem.h70
-rw-r--r--ace/os_include/sys/shm.h29
-rw-r--r--ace/os_include/sys/socket.h307
-rw-r--r--ace/os_include/sys/stat.h80
-rw-r--r--ace/os_include/sys/times.h28
-rw-r--r--ace/os_include/sys/types.h192
-rw-r--r--ace/os_include/sys/uio.h47
-rw-r--r--ace/os_include/sys/utsname.h49
-rw-r--r--ace/os_include/sys/wait.h121
-rw-r--r--ace/os_include/termios.h50
-rw-r--r--ace/os_include/threads.h1204
-rw-r--r--ace/os_include/time.h65
-rw-r--r--ace/os_include/unistd.h106
-rw-r--r--ace/os_include/utime.h29
-rw-r--r--ace/os_include/vxworks.h117
-rw-r--r--docs/ACE-inheritance.pdf.gzbin0 -> 19666 bytes
-rw-r--r--examples/Reactor/WFMO_Reactor/Abondoned.dsp58
-rw-r--r--examples/Reactor/WFMO_Reactor/test_abandoned.cpp121
-rw-r--r--examples/Reactor/WFMO_Reactor/test_apc.cpp105
-rw-r--r--examples/Reactor/WFMO_Reactor/test_console_input.cpp84
-rw-r--r--examples/Reactor/WFMO_Reactor/test_directory_changes.cpp115
-rw-r--r--examples/Reactor/WFMO_Reactor/test_exceptions.cpp97
-rw-r--r--examples/Reactor/WFMO_Reactor/test_handle_close.cpp306
-rw-r--r--examples/Reactor/WFMO_Reactor/test_multithreading.cpp245
-rw-r--r--examples/Reactor/WFMO_Reactor/test_network_events.cpp203
-rw-r--r--examples/Reactor/WFMO_Reactor/test_prerun_state_changes.cpp64
-rw-r--r--examples/Reactor/WFMO_Reactor/test_registration.cpp155
-rw-r--r--examples/Reactor/WFMO_Reactor/test_registry_changes.cpp133
-rw-r--r--examples/Reactor/WFMO_Reactor/test_removals.cpp103
-rw-r--r--examples/Reactor/WFMO_Reactor/test_suspended_removals.cpp163
-rw-r--r--examples/Reactor/WFMO_Reactor/test_talker.cpp559
-rw-r--r--examples/Reactor/WFMO_Reactor/test_timeouts.cpp80
-rw-r--r--examples/Reactor/WFMO_Reactor/test_window_messages.cpp90
-rw-r--r--protocols/ace/RMCast/README57
-rw-r--r--protocols/ace/RMCast/RMCast_Export.h44
-rw-r--r--tests/run_tests.lst90
253 files changed, 141175 insertions, 3961 deletions
diff --git a/TAO/TAO_IDL/be/be_visitor_interface/direct_collocated_sh.cpp b/TAO/TAO_IDL/be/be_visitor_interface/direct_collocated_sh.cpp
new file mode 100644
index 00000000000..fa2aebe35da
--- /dev/null
+++ b/TAO/TAO_IDL/be/be_visitor_interface/direct_collocated_sh.cpp
@@ -0,0 +1,150 @@
+//
+// $Id$
+//
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// direct_collocated_sh.cpp
+//
+// = DESCRIPTION
+// Visitor generating code for direct_collocated classes for the Interface node
+// inside the server header.
+//
+// = AUTHOR
+// Aniruddha Gokhale
+//
+// ============================================================================
+
+#include "idl.h"
+#include "idl_extern.h"
+#include "be.h"
+
+#include "be_visitor_interface.h"
+
+ACE_RCSID(be_visitor_interface, direct_collocated_sh, "$Id$")
+
+
+// ************************************************************
+// direct_collocated class in header
+// ************************************************************
+
+be_visitor_interface_direct_collocated_sh::be_visitor_interface_direct_collocated_sh
+(be_visitor_context *ctx)
+ : be_visitor_interface (ctx)
+{
+}
+
+be_visitor_interface_direct_collocated_sh::~be_visitor_interface_direct_collocated_sh (void)
+{
+}
+
+int be_visitor_interface_direct_collocated_sh::visit_interface (be_interface *node)
+{
+ TAO_OutStream *os = this->ctx_->stream ();
+
+ os->gen_ifdef_macro (node->flat_name (), "_direct_collocated");
+
+ // output the class defn
+ os->indent ();
+ *os << "class "
+ << be_global->skel_export_macro ()
+ << " " << node->local_coll_name (be_interface::DIRECT);
+ *os << be_idt << be_idt_nl
+ << ": public virtual " << node->name () << be_nl
+ << ", public virtual TAO_Collocated_Object";
+
+ // generate base classes if any
+ if (node->n_inherits () > 0)
+ {
+ for (int i = 0; i < node->n_inherits (); ++i)
+ {
+ be_interface* parent =
+ be_interface::narrow_from_decl (node->inherits()[i]);
+ *os << be_nl << ", public virtual "
+ << be_interface::relative_name (parent->full_coll_name (be_interface::DIRECT),
+ node->full_coll_name (be_interface::DIRECT));
+ }
+ }
+ *os << be_uidt << be_uidt_nl
+ << "{" << be_nl
+ << "public:\n";
+ os->incr_indent ();
+
+ *os << node->local_coll_name (be_interface::DIRECT) << " (\n";
+
+ os->incr_indent (0);
+ os->incr_indent ();
+
+ // XXXASG - can we make this a method to return the right name ??
+ if (!node->is_nested ())
+ {
+ // The skeleton name is the outermost, we need to printout the
+ // POA_ prefix that goes with it.
+ *os << "POA_";
+ }
+
+ *os << node->local_name () << "_ptr "
+ << " servant," << be_nl;
+
+ *os << "TAO_Stub *stub\n";
+ os->decr_indent ();
+ *os << ");\n";
+ os->decr_indent (0);
+
+ os->indent ();
+
+ *os << "virtual CORBA::Boolean _is_a" << be_idt
+ << "(" << be_idt_nl
+ << "const CORBA::Char *logical_type_id" << be_nl
+ << "ACE_ENV_ARG_DECL_WITH_DEFAULTS" << be_uidt_nl
+ << ");" << be_uidt_nl << be_nl;
+
+ *os << "virtual void *_tao_QueryInterface (ptr_arith_t type);\n"
+ << be_nl;
+
+ if (!node->is_nested ())
+ {
+ // The skeleton name is the outermost, we need to printout the
+ // POA_ prefix that goes with it.
+ *os << "POA_";
+ }
+
+ *os << node->local_name ()
+ << "_ptr _get_servant (void) const;" << be_nl << be_nl;
+
+ *os << "virtual CORBA::Boolean _non_existent" << be_idt
+ << "(" << be_idt_nl
+ << "ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS" << be_uidt_nl
+ << ");" << be_uidt_nl << be_nl;
+
+ if (this->visit_scope (node) == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "be_visitor_interface_direct_collocated_sh::"
+ "visit_interface - "
+ "codegen for scope failed\n"),
+ -1);
+ }
+
+ os->decr_indent ();
+
+ *os << be_nl << "private:\n";
+ os->incr_indent ();
+ if (!node->is_nested ())
+ {
+ // The skeleton name is the outermost, we need to printout the
+ // POA_ prefix that goes with it.
+ *os << "POA_";
+ }
+ *os << node->local_name () << "_ptr servant_;\n";
+ os->decr_indent ();
+ *os << "};\n\n";
+
+ os->gen_endif ();
+
+ return 0;
+}
diff --git a/TAO/TAO_IDL/be/be_visitor_interface/direct_collocated_ss.cpp b/TAO/TAO_IDL/be/be_visitor_interface/direct_collocated_ss.cpp
new file mode 100644
index 00000000000..1d9bb2bb34f
--- /dev/null
+++ b/TAO/TAO_IDL/be/be_visitor_interface/direct_collocated_ss.cpp
@@ -0,0 +1,205 @@
+//
+// $Id$
+//
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// direct_collocated_ss.cpp
+//
+// = DESCRIPTION
+// Visitor generating code for direct_collocated classes for an Interface in the
+// server skeleton file.
+//
+// = AUTHOR
+// Aniruddha Gokhale
+//
+// ============================================================================
+
+#include "idl.h"
+#include "idl_extern.h"
+#include "be.h"
+
+#include "be_visitor_interface.h"
+
+ACE_RCSID(be_visitor_interface, direct_collocated_ss, "$Id$")
+
+
+// ************************************************************
+// be_visitor_interface_collacted_ss
+// ************************************************************
+
+be_visitor_interface_direct_collocated_ss::be_visitor_interface_direct_collocated_ss
+(be_visitor_context *ctx)
+ : be_visitor_interface (ctx)
+{
+}
+
+be_visitor_interface_direct_collocated_ss::~be_visitor_interface_direct_collocated_ss (void)
+{
+}
+
+int be_visitor_interface_direct_collocated_ss::visit_interface (be_interface *node)
+{
+ TAO_OutStream *os = this->ctx_->stream ();
+
+ this->ctx_->node (node);
+
+ os->indent ();
+ *os << node->full_coll_name (be_interface::DIRECT) << "::"
+ << node->local_coll_name (be_interface::DIRECT) << " (\n";
+
+ os->incr_indent (0);
+ os->incr_indent ();
+ *os << node->full_skel_name () << "_ptr "
+ << " servant," << be_nl;
+
+ *os << "TAO_Stub *stub\n";
+ os->decr_indent ();
+ *os << ")\n";
+ os->decr_indent (0);
+
+ os->incr_indent ();
+
+ if (node->is_nested ())
+ {
+ be_decl* scope = be_scope::narrow_from_scope (node->defined_in ())->decl ();
+
+ *os << ": ACE_NESTED_CLASS ("
+ << scope->name () << ","
+ << node->local_name ()
+ << ") ()" << be_nl;
+ }
+ else
+ {
+ *os << ": " << node->name () << " ()" << be_nl;
+ }
+
+ // @@ We should call the constructor for all base classes, since we
+ // are using multiple inheritance.
+
+ if (node->traverse_inheritance_graph (be_visitor_interface_direct_collocated_ss::collocated_ctor_helper, os)
+ == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "be_visitor_interface_direct_collocated_ss::"
+ "visit_interface - "
+ "codegen for base class ctor init failed\n"),
+ -1);
+ }
+
+ *os << be_nl << ", TAO_Collocated_Object (stub, 1, servant)"
+ << be_nl << ", CORBA_Object (stub, 1)"
+ << be_nl << ", servant_ (servant)"
+ << be_uidt_nl;
+ *os << "{\n";
+ *os << "}\n\n";
+
+ os->indent ();
+
+ // Generate _is_a implementation.
+ *os << "CORBA::Boolean " << node->full_coll_name (be_interface::DIRECT) << "::"
+ << "_is_a" << be_idt
+ << "(" << be_idt_nl
+ << "const CORBA::Char *logical_type_id" << be_nl
+ << "ACE_ENV_ARG_DECL" << be_uidt_nl
+ << ")" << be_uidt_nl << be_nl;
+ *os << "{" << be_idt_nl
+ << "return this->servant_->_is_a (logical_type_id ACE_ENV_ARG_PARAMETER);"
+ << be_uidt_nl
+ << "}\n\n" << be_uidt_nl;
+
+ // Generate _tao_QueryInterface implementation
+ *os << "void *" << be_nl
+ << node->full_coll_name (be_interface::DIRECT)
+ << "::_tao_QueryInterface (ptr_arith_t type)" << be_nl
+ << "{" << be_idt_nl
+ << "void *result =" << be_nl
+ << " this->TAO_Collocated_Object::_tao_QueryInterface (type);"
+ << be_nl
+ << "if (result != 0)" << be_nl
+ << " return result;" << be_nl;
+ *os << "return this->";
+ if (!node->is_nested ())
+ {
+ *os << node->name ();
+ }
+ else
+ {
+ be_decl* scope =
+ be_scope::narrow_from_scope (node->defined_in ())->decl ();
+ *os << "ACE_NESTED_CLASS ("
+ << scope->name () << ","
+ << node->local_name ()
+ << ")";
+ }
+ *os << "::_tao_QueryInterface (type);" << be_uidt_nl
+ << "}\n" << be_nl;
+
+ // Generate _get_servant implementation.
+ *os << node->full_skel_name () << "_ptr "
+ << node->full_coll_name (be_interface::DIRECT) << "::"
+ << "_get_servant (void) const\n"
+ << "{\n";
+ os->incr_indent ();
+ *os << "return this->servant_;\n";
+ os->decr_indent ();
+ *os << "}\n\n";
+
+ os->indent ();
+
+ // Generate _non_existent implementation.
+ *os << "CORBA::Boolean " << node->full_coll_name (be_interface::DIRECT) << "::"
+ << "_non_existent" << be_idt
+ << "(" << be_idt_nl
+ << "ACE_ENV_SINGLE_ARG_DECL" << be_uidt_nl
+ << ")" << be_uidt_nl << be_nl;
+ *os << "{" << be_idt_nl
+ << "return this->servant_->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);"
+ << be_uidt_nl
+ << "}\n\n" << be_uidt_nl;
+
+ if (this->visit_scope (node) == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "be_visitor_interface_direct_collocated_ss::"
+ "visit_scope - "
+ "codegen for scope failed\n"),
+ -1);
+ }
+
+ return 0;
+}
+
+int
+be_visitor_interface_direct_collocated_ss::collocated_ctor_helper (be_interface *derived,
+ be_interface *base,
+ TAO_OutStream *os)
+{
+ if (derived == base)
+ // we are the same. Don't do anything, otherwise we will end up calling
+ // ourself
+ return 0;
+
+ if (base->is_nested ())
+ {
+ be_decl *scope;
+ scope = be_scope::narrow_from_scope (base->defined_in ())->decl ();
+ *os << be_nl << ", "
+ << "ACE_NESTED_CLASS (POA_" << scope->name ()
+ << ","
+ << base->local_coll_name (be_interface::DIRECT)
+ << ") (servant, stub)";
+ }
+ else
+ {
+ *os << be_nl << ", "
+ << base->full_coll_name (be_interface::DIRECT)
+ << " (servant, stub)";
+ }
+
+ return 0;
+}
diff --git a/TAO/TAO_IDL/be/be_visitor_interface/interceptors_ch.cpp b/TAO/TAO_IDL/be/be_visitor_interface/interceptors_ch.cpp
new file mode 100644
index 00000000000..1976a1499ab
--- /dev/null
+++ b/TAO/TAO_IDL/be/be_visitor_interface/interceptors_ch.cpp
@@ -0,0 +1,48 @@
+//
+// $Id$
+//
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// interceptors_ch.cpp
+//
+// = DESCRIPTION
+// This provides code generation for interceptor classes for an
+// interface in the client header.
+//
+// = AUTHOR
+// Kirthika Parameswaran <kirthika@cs.wustl.edu>
+//
+// ============================================================================
+
+#include "idl.h"
+#include "idl_extern.h"
+#include "be.h"
+
+#include "be_visitor_interface.h"
+
+ACE_RCSID(be_visitor_interface, interceptors_ch, "$Id$")
+
+
+// ************************************************************
+// interceptor class in header
+// ************************************************************
+
+
+be_visitor_interface_interceptors_ch::be_visitor_interface_interceptors_ch
+(be_visitor_context *ctx)
+ : be_visitor_interface (ctx)
+{
+}
+
+be_visitor_interface_interceptors_ch::~be_visitor_interface_interceptors_ch (void)
+{
+}
+
+int be_visitor_interface_interceptors_ch::visit_interface (be_interface *)
+{
+ return 0;
+}
diff --git a/TAO/TAO_IDL/be/be_visitor_interface/thru_poa_collocated_sh.cpp b/TAO/TAO_IDL/be/be_visitor_interface/thru_poa_collocated_sh.cpp
new file mode 100644
index 00000000000..7193ad36241
--- /dev/null
+++ b/TAO/TAO_IDL/be/be_visitor_interface/thru_poa_collocated_sh.cpp
@@ -0,0 +1,116 @@
+//
+// $Id$
+//
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// thru_poa_collocated_sh.cpp
+//
+// = DESCRIPTION
+// Visitor generating code for thru_poa_collocated classes for the Interface node
+// inside the server header.
+//
+// = AUTHOR
+// Aniruddha Gokhale
+//
+// ============================================================================
+
+#include "idl.h"
+#include "idl_extern.h"
+#include "be.h"
+
+#include "be_visitor_interface.h"
+
+ACE_RCSID(be_visitor_interface, thru_poa_collocated_sh, "$Id$")
+
+
+// ************************************************************
+// thru_poa_collocated class in header
+// ************************************************************
+
+be_visitor_interface_thru_poa_collocated_sh::be_visitor_interface_thru_poa_collocated_sh
+(be_visitor_context *ctx)
+ : be_visitor_interface (ctx)
+{
+}
+
+be_visitor_interface_thru_poa_collocated_sh::~be_visitor_interface_thru_poa_collocated_sh (void)
+{
+}
+
+int be_visitor_interface_thru_poa_collocated_sh::visit_interface (be_interface *node)
+{
+ TAO_OutStream *os = this->ctx_->stream ();
+
+ os->gen_ifdef_macro (node->flat_name (), "_thru_poa_collocated");
+
+ // output the class defn
+ os->indent ();
+ *os << "class " << be_global->skel_export_macro ()
+ << " " << node->local_coll_name (be_interface::THRU_POA);
+ os->incr_indent ();
+ *os << " : public virtual ::" << node->full_name ();
+
+ // generate base classes if any
+ if (node->n_inherits () > 0)
+ {
+ for (int i = 0; i < node->n_inherits (); ++i)
+ {
+ *os << "," << be_nl;
+ be_interface* parent =
+ be_interface::narrow_from_decl (node->inherits()[i]);
+ *os << " public virtual "
+ << be_interface::relative_name (parent->full_coll_name (be_interface::THRU_POA),
+ node->full_coll_name (be_interface::THRU_POA));
+ }
+ }
+ *os << "\n";
+ os->decr_indent ();
+ *os << "{" << be_nl;
+ *os << "public:\n";
+ os->incr_indent ();
+
+ *os << node->local_coll_name (be_interface::THRU_POA) << " (\n";
+
+ os->incr_indent (0);
+ os->incr_indent ();
+
+ *os << "TAO_Stub *stub\n";
+ os->decr_indent ();
+ *os << ");\n";
+ os->decr_indent (0);
+
+ os->indent ();
+
+ *os << "virtual CORBA::Boolean _is_a" << be_idt
+ << "(" << be_idt_nl
+ << "const CORBA::Char *logical_type_id" << be_nl
+ << "ACE_ENV_ARG_DECL_WITH_DEFAULTS" << be_uidt_nl
+ << ");" << be_uidt_nl << be_nl;
+
+ *os << "virtual CORBA::Boolean _non_existent" << be_idt
+ << "(" << be_idt_nl
+ << "ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS" << be_uidt_nl
+ << ");" << be_uidt_nl << be_nl;
+
+ if (this->visit_scope (node) == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "be_visitor_interface_thru_poa_collocated_sh::"
+ "visit_interface - "
+ "codegen for scope failed\n"),
+ -1);
+ }
+
+ os->decr_indent ();
+
+ *os << "};\n\n";
+
+ os->gen_endif ();
+
+ return 0;
+}
diff --git a/TAO/TAO_IDL/be/be_visitor_interface/thru_poa_collocated_ss.cpp b/TAO/TAO_IDL/be/be_visitor_interface/thru_poa_collocated_ss.cpp
new file mode 100644
index 00000000000..4a4c59bc34e
--- /dev/null
+++ b/TAO/TAO_IDL/be/be_visitor_interface/thru_poa_collocated_ss.cpp
@@ -0,0 +1,171 @@
+//
+// $Id$
+//
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// thru_poa_collocated_ss.cpp
+//
+// = DESCRIPTION
+// Visitor generating code for thru_poa_collocated classes for an Interface in the
+// server skeleton file.
+//
+// = AUTHOR
+// Aniruddha Gokhale
+//
+// ============================================================================
+
+#include "idl.h"
+#include "idl_extern.h"
+#include "be.h"
+
+#include "be_visitor_interface.h"
+
+ACE_RCSID(be_visitor_interface, thru_poa_collocated_ss, "$Id$")
+
+
+// ************************************************************
+// be_visitor_interface_collacted_ss
+// ************************************************************
+
+be_visitor_interface_thru_poa_collocated_ss::be_visitor_interface_thru_poa_collocated_ss
+(be_visitor_context *ctx)
+ : be_visitor_interface (ctx)
+{
+}
+
+be_visitor_interface_thru_poa_collocated_ss::~be_visitor_interface_thru_poa_collocated_ss (void)
+{
+}
+
+int be_visitor_interface_thru_poa_collocated_ss::visit_interface (be_interface *node)
+{
+ TAO_OutStream *os = this->ctx_->stream ();
+
+ this->ctx_->node (node);
+
+ os->indent ();
+ *os << node->full_coll_name (be_interface::THRU_POA) << "::"
+ << node->local_coll_name (be_interface::THRU_POA) << " (" << be_idt_nl
+ << "TAO_Stub *stub" << be_uidt_nl
+ << ")" << be_idt_nl;
+
+ *os << ":";
+
+ // @@ We should call the constructor for all base classes, since we
+ // are using multiple inheritance.
+
+ if (node->traverse_inheritance_graph (be_visitor_interface_thru_poa_collocated_ss::collocated_ctor_helper, os)
+ == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "be_visitor_interface_thru_poa_collocated_ss::"
+ "visit_interface - "
+ "codegen for base class ctor init failed\n"),
+ -1);
+ }
+
+ *os << " CORBA_Object (stub, 1)" << be_uidt_nl;
+
+ *os << "{" << be_nl;
+ *os << "}" << be_nl << be_nl;
+
+ // Generate _is_a implementation.
+ *os << "CORBA::Boolean " << node->full_coll_name (be_interface::THRU_POA) << "::"
+ << "_is_a" << be_idt
+ << "(" << be_idt_nl
+ << "const CORBA::Char *logical_type_id" << be_nl
+ << "ACE_ENV_ARG_DECL" << be_uidt_nl
+ << ")" << be_uidt_nl << be_nl
+ << "{" << be_idt_nl;
+ *os <<"TAO_Object_Adapter::Servant_Upcall servant_upcall ("
+ << be_idt << be_idt_nl
+ << "this->_stubobj ()->"
+ << "servant_orb_var ()->orb_core ()"
+ << be_uidt_nl
+ << ");" << be_uidt_nl
+ << "CORBA::Object_var forward_to;" << be_nl
+ << "servant_upcall.prepare_for_upcall (" << be_idt << be_idt_nl
+ << "this->_object_key ()," << be_nl
+ << "\"" << "_is_a" << "\"," << be_nl
+ << "forward_to.out ()" << be_nl
+ << "ACE_ENV_ARG_PARAMETER" << be_uidt_nl
+ << ");" << be_uidt_nl
+ << "ACE_CHECK_RETURN (0);" << be_nl;
+ *os << "return ACE_reinterpret_cast (" << be_idt << be_idt_nl
+ << node->full_skel_name () << "_ptr," << be_nl
+ << "servant_upcall.servant ()->_downcast (" << be_idt << be_idt_nl
+ << "\"" << node->repoID () << "\"" << be_uidt_nl
+ << ")" << be_uidt << be_uidt_nl
+ << ")->_is_a (logical_type_id ACE_ENV_ARG_PARAMETER);" << be_uidt << be_uidt_nl
+ << "}" << be_uidt_nl << be_nl << be_nl;
+
+ // Generate _non_existent implementation.
+ *os << "CORBA::Boolean " << node->full_coll_name (be_interface::THRU_POA) << "::"
+ << "_non_existent" << be_idt
+ << "(" << be_idt_nl
+ << "ACE_ENV_SINGLE_ARG_DECL" << be_uidt_nl
+ << ")" << be_uidt_nl << be_nl
+ << "{" << be_idt_nl;
+ *os <<"TAO_Object_Adapter::Servant_Upcall servant_upcall ("
+ << be_idt << be_idt_nl
+ << "this->_stubobj ()->"
+ << "servant_orb_var ()->orb_core ()"
+ << be_uidt_nl
+ << ");" << be_uidt_nl
+ << "CORBA::Object_var forward_to;" << be_nl
+ << "servant_upcall.prepare_for_upcall (" << be_idt << be_idt_nl
+ << "this->_object_key ()," << be_nl
+ << "\"" << "_non_existent" << "\"," << be_nl
+ << "forward_to.out ()" << be_nl
+ << "ACE_ENV_ARG_PARAMETER" << be_uidt_nl
+ << ");" << be_uidt_nl
+ << "ACE_CHECK_RETURN (0);" << be_nl;
+ *os << "return ACE_reinterpret_cast (" << be_idt << be_idt_nl
+ << node->full_skel_name () << "_ptr," << be_nl
+ << "servant_upcall.servant ()->_downcast (" << be_idt << be_idt_nl
+ << "\"" << node->repoID () << "\"" << be_uidt_nl
+ << ")" << be_uidt << be_uidt_nl
+ << ")->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);" << be_uidt << be_uidt_nl
+ << "}" << be_uidt_nl << be_nl << be_nl;
+
+ if (this->visit_scope (node) == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "be_visitor_interface_thru_poa_collocated_ss::"
+ "visit_scope - "
+ "codegen for scope failed\n"),
+ -1);
+ }
+
+ return 0;
+}
+
+int
+be_visitor_interface_thru_poa_collocated_ss::collocated_ctor_helper (be_interface *derived,
+ be_interface *base,
+ TAO_OutStream *os)
+{
+ if (derived == base)
+ // we are the same. Don't do anything, otherwise we will end up calling
+ // ourself
+ return 0;
+
+ if (base->is_nested ())
+ {
+ be_decl *scope;
+ scope = be_scope::narrow_from_scope (base->defined_in ())->decl ();
+ *os << " ACE_NESTED_CLASS (POA_" << scope->full_name () << ","
+ << base->local_coll_name (be_interface::THRU_POA) << ") (stub)," << be_nl;
+ }
+ else
+ {
+ *os << " " << base->full_coll_name (be_interface::THRU_POA) << " (stub)," << be_nl;
+ }
+
+ return 0;
+}
diff --git a/TAO/TAO_IDL/be/be_visitor_operation/direct_collocated_sh.cpp b/TAO/TAO_IDL/be/be_visitor_operation/direct_collocated_sh.cpp
new file mode 100644
index 00000000000..19c9b14417e
--- /dev/null
+++ b/TAO/TAO_IDL/be/be_visitor_operation/direct_collocated_sh.cpp
@@ -0,0 +1,124 @@
+//
+// $Id$
+//
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// direct_collocated_sh.cpp
+//
+// = DESCRIPTION
+// Visitor generating code for direct_collocated operation in the server header
+//
+// = AUTHOR
+// Aniruddha Gokhale
+//
+// ============================================================================
+
+#include "idl.h"
+#include "idl_extern.h"
+#include "be.h"
+
+#include "be_visitor_operation.h"
+
+ACE_RCSID(be_visitor_operation, direct_collocated_sh, "$Id$")
+
+
+// *************************************************************************
+// be_visitor_operation_direct_collocated_sh --
+// This visitor generates code for the direct_collocated operation signature in a
+// server header file
+// *************************************************************************
+
+be_visitor_operation_direct_collocated_sh::be_visitor_operation_direct_collocated_sh
+(be_visitor_context *ctx)
+ : be_visitor_scope (ctx)
+{
+}
+
+be_visitor_operation_direct_collocated_sh::~be_visitor_operation_direct_collocated_sh (void)
+{
+}
+
+int be_visitor_operation_direct_collocated_sh::visit_operation (be_operation *node)
+{
+ TAO_OutStream *os; // output stream
+ be_type *bt; // type node representing the return type
+
+ os = this->ctx_->stream ();
+ this->ctx_->node (node); // save the node
+
+ os->indent (); // start with the current indentation level
+
+ // every operation is declared virtual in the client code
+ *os << "virtual ";
+
+ // STEP I: generate the return type
+ bt = be_type::narrow_from_decl (node->return_type ());
+ if (!bt)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_operation_sh::"
+ "visit_operation - "
+ "Bad return type\n"),
+ -1);
+ }
+
+ // grab the right visitor to generate the return type
+ be_visitor_context ctx (*this->ctx_);
+ ctx.state (TAO_CodeGen::TAO_OPERATION_RETTYPE_OTHERS);
+ be_visitor *visitor = tao_cg->make_visitor (&ctx);
+
+ if (!visitor)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "be_visitor_operation_sh::"
+ "visit_operation - "
+ "Bad visitor to return type\n"),
+ -1);
+ }
+
+ if (bt->accept (visitor) == -1)
+ {
+ delete visitor;
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_operation_sh::"
+ "visit_operation - "
+ "codegen for return type failed\n"),
+ -1);
+ }
+ delete visitor;
+
+ // STEP 2: generate the operation name
+ *os << " " << node->local_name ();
+
+ // STEP 3: generate the argument list with the appropriate mapping. For these
+ // we grab a visitor that generates the parameter listing
+ ctx = *this->ctx_;
+ ctx.state (TAO_CodeGen::TAO_OPERATION_ARGLIST_COLLOCATED_SH);
+ visitor = tao_cg->make_visitor (&ctx);
+ if (!visitor)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "be_visitor_operation_sh::"
+ "visit_operation - "
+ "Bad visitor to return type\n"),
+ -1);
+ }
+
+ if (node->accept (visitor) == -1)
+ {
+ delete visitor;
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_operation_sh::"
+ "visit_operation - "
+ "codegen for argument list failed\n"),
+ -1);
+ }
+ delete visitor;
+
+ return 0;
+}
diff --git a/TAO/TAO_IDL/be/be_visitor_operation/direct_collocated_ss.cpp b/TAO/TAO_IDL/be/be_visitor_operation/direct_collocated_ss.cpp
new file mode 100644
index 00000000000..a253d39b1e7
--- /dev/null
+++ b/TAO/TAO_IDL/be/be_visitor_operation/direct_collocated_ss.cpp
@@ -0,0 +1,188 @@
+//
+// $Id$
+//
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// direct_collocated_ss.cpp
+//
+// = DESCRIPTION
+// Visitor generating code for direct_collocated Operation in the skeleton.
+//
+// = AUTHOR
+// Aniruddha Gokhale
+//
+// ============================================================================
+
+#include "idl.h"
+#include "idl_extern.h"
+#include "be.h"
+
+#include "be_visitor_operation.h"
+
+ACE_RCSID(be_visitor_operation, direct_collocated_ss, "$Id$")
+
+
+// *************************************************************************
+// be_visitor_operation_direct_collocated_ss --
+// This visitor generates code for the direct_collocated operation signature in a
+// server skeletons file
+// *************************************************************************
+
+be_visitor_operation_direct_collocated_ss::be_visitor_operation_direct_collocated_ss
+(be_visitor_context *ctx)
+ : be_visitor_scope (ctx)
+{
+}
+
+be_visitor_operation_direct_collocated_ss::~be_visitor_operation_direct_collocated_ss (void)
+{
+}
+
+int be_visitor_operation_direct_collocated_ss::visit_operation (be_operation *node)
+{
+ TAO_OutStream *os = this->ctx_->stream ();
+
+ // We need the interface node in which this operation was defined. However,
+ // if this operation node was an attribute node in disguise, we get this
+ // information from the context
+ be_interface *intf;
+ intf = this->ctx_->attribute ()
+ ? be_interface::narrow_from_scope (this->ctx_->attribute ()->defined_in ())
+ : be_interface::narrow_from_scope (node->defined_in ());
+
+ if (!intf)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_operation_direct_collocated_ss::"
+ "visit_operation - "
+ "bad interface scope\n"),
+ -1);
+ }
+
+ // retrieve the operation return type
+ be_type *bt = be_type::narrow_from_decl (node->return_type ());
+ if (!bt)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_operation_direct_collocated_ss::"
+ "visit_operation - "
+ "Bad return type\n"),
+ -1);
+ }
+
+ // STEP 2: generate the return type mapping (same as in the header file)
+ be_visitor_context ctx (*this->ctx_);
+ ctx.state (TAO_CodeGen::TAO_OPERATION_RETTYPE_OTHERS);
+ be_visitor *visitor = tao_cg->make_visitor (&ctx);
+
+ if (!visitor)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "be_visitor_operation_direct_collocated_ss::"
+ "visit_operation - "
+ "Bad visitor for return type\n"),
+ -1);
+ }
+
+ if (bt->accept (visitor) == -1)
+ {
+ delete visitor;
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_operation_direct_collocated_ss::"
+ "visit_operation - "
+ "codegen for return type failed\n"),
+ -1);
+ }
+ delete visitor;
+
+ *os << " " << intf->full_coll_name (be_interface::DIRECT) << "::"
+ << node->local_name () << " ";
+
+ // STEP 4: generate the argument list with the appropriate mapping (same as
+ // in the header file)
+ ctx = *this->ctx_;
+ ctx.state (TAO_CodeGen::TAO_OPERATION_ARGLIST_OTHERS);
+ visitor = tao_cg->make_visitor (&ctx);
+ if (!visitor)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "be_visitor_operation_cs::"
+ "visit_operation - "
+ "Bad visitor to return type\n"),
+ -1);
+ }
+
+ if (node->accept (visitor) == -1)
+ {
+ delete visitor;
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_operation_cs::"
+ "visit_operation - "
+ "codegen for argument list failed\n"),
+ -1);
+ }
+ delete visitor;
+
+ *os << "{" << be_idt << "\n";
+
+ os->indent ();
+
+ if (!this->void_return_type (bt))
+ {
+ *os << "return ";
+ }
+
+ *os << "this->servant_";
+ if (this->gen_invoke (ctx, node) == -1)
+ return -1;
+
+ *os << be_uidt_nl
+ << "}\n\n";
+
+ return 0;
+}
+
+int be_visitor_operation_direct_collocated_ss::gen_invoke (be_visitor_context &ctx,
+ be_operation *node)
+{
+ TAO_OutStream *os = this->ctx_->stream ();
+
+ *os << "->" << node->local_name () << " ("
+ << be_idt << be_idt << "\n";
+
+ ctx = *this->ctx_;
+ ctx.state (TAO_CodeGen::TAO_OPERATION_COLLOCATED_ARG_UPCALL_SS);
+ be_visitor *visitor = tao_cg->make_visitor (&ctx);
+ if (!visitor || (node->accept (visitor) == -1))
+ {
+ delete visitor;
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_operation_direct_collocated_ss::"
+ "gen_invoke - "
+ "codegen for making upcall failed\n"),
+ -1);
+ }
+
+ // end the upcall
+ *os << be_uidt_nl
+ << ");\n" << be_uidt;
+ return 0;
+}
+
+int
+be_visitor_operation_direct_collocated_ss::void_return_type (be_type *bt)
+{
+ // is the operation return type void?
+
+ if (bt->node_type () == AST_Decl::NT_pre_defined
+ && (be_predefined_type::narrow_from_decl (bt)->pt ()
+ == AST_PredefinedType::PT_void))
+ return 1;
+ else
+ return 0;
+}
diff --git a/TAO/TAO_IDL/be/be_visitor_operation/inv_arglist.cpp b/TAO/TAO_IDL/be/be_visitor_operation/inv_arglist.cpp
new file mode 100644
index 00000000000..0e7b149472d
--- /dev/null
+++ b/TAO/TAO_IDL/be/be_visitor_operation/inv_arglist.cpp
@@ -0,0 +1,103 @@
+// $Id$
+
+#include "idl.h"
+#include "idl_extern.h"
+#include "be.h"
+
+#include "be_visitor_operation.h"
+
+ACE_RCSID(be_visitor_operation, inv_arglist, "$Id$")
+
+
+be_visitor_operation_inv_arglist::
+be_visitor_operation_inv_arglist (be_visitor_context *ctx)
+ : be_visitor_operation (ctx)
+{
+}
+
+be_visitor_operation_inv_arglist::~be_visitor_operation_inv_arglist (void)
+{
+}
+
+int
+be_visitor_operation_inv_arglist::visit_operation (be_operation *node)
+{
+ // all we do is hand over code generation to our scope
+ if (this->visit_scope (node) == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_operation_inv_arglist::"
+ "visit_operation - "
+ "codegen for scope failed\n"),
+ -1);
+ }
+
+ return 0;
+}
+
+int
+be_visitor_operation_inv_arglist::visit_argument (be_argument *node)
+{
+ // get the visitor that will dump the argument's mapping in the operation
+ // signature.
+ be_visitor_context ctx (*this->ctx_);
+
+ // first grab the interface definition inside which this operation is
+ // defined. We need this since argument types may very well be declared
+ // inside the scope of the interface node. In such cases, we would like to
+ // generate the appropriate relative scoped names.
+ be_operation *op = this->ctx_->be_scope_as_operation ();
+ if (!op)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_inv_arglist::"
+ "visit_argument - "
+ "Bad operation\n"),
+ -1);
+ }
+
+ // We need the interface node in which this operation was defined. However,
+ // if this operation node was an attribute node in disguise, we get this
+ // information from the context
+ be_interface *intf;
+ intf = this->ctx_->attribute ()
+ ? be_interface::narrow_from_scope (this->ctx_->attribute ()->defined_in ())
+ : be_interface::narrow_from_scope (op->defined_in ());
+
+ if (!intf)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_inv_arglist::"
+ "visit_argument - "
+ "Bad interface\n"),
+ -1);
+ }
+ ctx.scope (intf); // set new scope
+
+ ctx.state (TAO_CodeGen::TAO_ARGUMENT_INVOKE_ARG_LIST);
+
+ // grab a visitor
+ be_visitor *visitor = tao_cg->make_visitor (&ctx);
+
+ if (!visitor)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_inv_arglist::"
+ "visit_argument - "
+ "Bad visitor\n"),
+ -1);
+ }
+ if (node->accept (visitor) == -1)
+ {
+ delete visitor;
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_inv_arglist::"
+ "visit_argument - "
+ "codegen for inv_arglist failed\n"),
+ -1);
+ }
+ delete visitor;
+ return 0;
+}
+
+
diff --git a/TAO/TAO_IDL/be/be_visitor_operation/thru_poa_collocated_sh.cpp b/TAO/TAO_IDL/be/be_visitor_operation/thru_poa_collocated_sh.cpp
new file mode 100644
index 00000000000..c098696d347
--- /dev/null
+++ b/TAO/TAO_IDL/be/be_visitor_operation/thru_poa_collocated_sh.cpp
@@ -0,0 +1,124 @@
+//
+// $Id$
+//
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// thru_poa_collocated_sh.cpp
+//
+// = DESCRIPTION
+// Visitor generating code for thru_poa_collocated operation in the server header
+//
+// = AUTHOR
+// Aniruddha Gokhale
+//
+// ============================================================================
+
+#include "idl.h"
+#include "idl_extern.h"
+#include "be.h"
+
+#include "be_visitor_operation.h"
+
+ACE_RCSID(be_visitor_operation, thru_poa_collocated_sh, "$Id$")
+
+
+// *************************************************************************
+// be_visitor_operation_thru_poa_collocated_sh --
+// This visitor generates code for the thru_poa_collocated operation signature in a
+// server header file
+// *************************************************************************
+
+be_visitor_operation_thru_poa_collocated_sh::be_visitor_operation_thru_poa_collocated_sh
+(be_visitor_context *ctx)
+ : be_visitor_scope (ctx)
+{
+}
+
+be_visitor_operation_thru_poa_collocated_sh::~be_visitor_operation_thru_poa_collocated_sh (void)
+{
+}
+
+int be_visitor_operation_thru_poa_collocated_sh::visit_operation (be_operation *node)
+{
+ TAO_OutStream *os; // output stream
+ be_type *bt; // type node representing the return type
+
+ os = this->ctx_->stream ();
+ this->ctx_->node (node); // save the node
+
+ os->indent (); // start with the current indentation level
+
+ // every operation is declared virtual in the client code
+ *os << "virtual ";
+
+ // STEP I: generate the return type
+ bt = be_type::narrow_from_decl (node->return_type ());
+ if (!bt)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_operation_sh::"
+ "visit_operation - "
+ "Bad return type\n"),
+ -1);
+ }
+
+ // grab the right visitor to generate the return type
+ be_visitor_context ctx (*this->ctx_);
+ ctx.state (TAO_CodeGen::TAO_OPERATION_RETTYPE_OTHERS);
+ be_visitor *visitor = tao_cg->make_visitor (&ctx);
+
+ if (!visitor)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "be_visitor_operation_sh::"
+ "visit_operation - "
+ "Bad visitor to return type\n"),
+ -1);
+ }
+
+ if (bt->accept (visitor) == -1)
+ {
+ delete visitor;
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_operation_sh::"
+ "visit_operation - "
+ "codegen for return type failed\n"),
+ -1);
+ }
+ delete visitor;
+
+ // STEP 2: generate the operation name
+ *os << " " << node->local_name ();
+
+ // STEP 3: generate the argument list with the appropriate mapping. For these
+ // we grab a visitor that generates the parameter listing
+ ctx = *this->ctx_;
+ ctx.state (TAO_CodeGen::TAO_OPERATION_ARGLIST_COLLOCATED_SH);
+ visitor = tao_cg->make_visitor (&ctx);
+ if (!visitor)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "be_visitor_operation_sh::"
+ "visit_operation - "
+ "Bad visitor to return type\n"),
+ -1);
+ }
+
+ if (node->accept (visitor) == -1)
+ {
+ delete visitor;
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_operation_sh::"
+ "visit_operation - "
+ "codegen for argument list failed\n"),
+ -1);
+ }
+ delete visitor;
+
+ return 0;
+}
diff --git a/TAO/TAO_IDL/be/be_visitor_operation/thru_poa_collocated_ss.cpp b/TAO/TAO_IDL/be/be_visitor_operation/thru_poa_collocated_ss.cpp
new file mode 100644
index 00000000000..45a3a6b8d77
--- /dev/null
+++ b/TAO/TAO_IDL/be/be_visitor_operation/thru_poa_collocated_ss.cpp
@@ -0,0 +1,227 @@
+//
+// $Id$
+//
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// thru_poa_collocated_ss.cpp
+//
+// = DESCRIPTION
+// Visitor generating code for thru_poa_collocated Operation in the skeleton.
+//
+// = AUTHOR
+// Aniruddha Gokhale
+//
+// ============================================================================
+
+#include "idl.h"
+#include "idl_extern.h"
+#include "be.h"
+
+#include "be_visitor_operation.h"
+
+ACE_RCSID(be_visitor_operation, thru_poa_collocated_ss, "$Id$")
+
+
+// *************************************************************************
+// be_visitor_operation_thru_poa_collocated_ss --
+// This visitor generates code for the thru_poa_collocated operation signature in a
+// server skeletons file
+// *************************************************************************
+
+be_visitor_operation_thru_poa_collocated_ss::be_visitor_operation_thru_poa_collocated_ss
+(be_visitor_context *ctx)
+ : be_visitor_operation (ctx)
+{
+}
+
+be_visitor_operation_thru_poa_collocated_ss::~be_visitor_operation_thru_poa_collocated_ss (void)
+{
+}
+
+int be_visitor_operation_thru_poa_collocated_ss::visit_operation (be_operation *node)
+{
+ TAO_OutStream *os = this->ctx_->stream ();
+
+ // We need the interface node in which this operation was defined. However,
+ // if this operation node was an attribute node in disguise, we get this
+ // information from the context
+ be_interface *intf;
+ intf = this->ctx_->attribute ()
+ ? be_interface::narrow_from_scope (this->ctx_->attribute ()->defined_in ())
+ : be_interface::narrow_from_scope (node->defined_in ());
+
+ if (!intf)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_operation_thru_poa_collocated_ss::"
+ "visit_operation - "
+ "bad interface scope\n"),
+ -1);
+ }
+
+ // retrieve the operation return type
+ be_type *bt = be_type::narrow_from_decl (node->return_type ());
+ if (!bt)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_operation_thru_poa_collocated_ss::"
+ "visit_operation - "
+ "Bad return type\n"),
+ -1);
+ }
+
+ // STEP 2: generate the return type mapping (same as in the header file)
+ be_visitor_context ctx (*this->ctx_);
+ ctx.state (TAO_CodeGen::TAO_OPERATION_RETTYPE_OTHERS);
+ be_visitor *visitor = tao_cg->make_visitor (&ctx);
+
+ if (!visitor)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "be_visitor_operation_thru_poa_collocated_ss::"
+ "visit_operation - "
+ "Bad visitor for return type\n"),
+ -1);
+ }
+
+ if (bt->accept (visitor) == -1)
+ {
+ delete visitor;
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_operation_thru_poa_collocated_ss::"
+ "visit_operation - "
+ "codegen for return type failed\n"),
+ -1);
+ }
+ delete visitor;
+
+ *os << " " << intf->full_coll_name (be_interface::THRU_POA) << "::";
+ *os << node->local_name ();
+
+ // STEP 4: generate the argument list with the appropriate mapping (same as
+ // in the header file)
+ ctx = *this->ctx_;
+ ctx.state (TAO_CodeGen::TAO_OPERATION_ARGLIST_OTHERS);
+ visitor = tao_cg->make_visitor (&ctx);
+ if (!visitor)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "be_visitor_operation_ss::"
+ "visit_operation - "
+ "Bad visitor to return type\n"),
+ -1);
+ }
+
+ if (node->accept (visitor) == -1)
+ {
+ delete visitor;
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_operation_ss::"
+ "visit_operation - "
+ "codegen for argument list failed\n"),
+ -1);
+ }
+ delete visitor;
+
+ *os << "{" << be_idt_nl
+ << "TAO_Object_Adapter::Servant_Upcall servant_upcall ("
+ << be_idt << be_idt_nl
+ << "this->_stubobj ()->servant_orb_var ()->orb_core ()"
+ << be_uidt_nl
+ << ");" << be_uidt_nl
+ << "CORBA::Object_var forward_to;" << be_nl
+ << "servant_upcall.prepare_for_upcall (" << be_idt << be_idt_nl
+ << "this->_object_key ()," << be_nl
+ << "\"" << node->original_local_name () << "\"," << be_nl
+ << "forward_to.out ()";
+ if (!be_global->exception_support ())
+ *os << " ACE_ENV_ARG_PARAMETER);\n" << be_uidt_nl << be_uidt;
+ else
+ *os << be_uidt_nl << ");\n" << be_uidt;
+
+ // check if there is an exception
+ if (!be_global->exception_support ())
+ if (this->gen_check_exception (0) == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_operation_thru_poa_collocated_ss::"
+ "visit_operation - "
+ "codegen for checking exception failed\n"),
+ -1);
+ }
+
+ os->indent ();
+
+ if (!this->void_return_type (bt))
+ {
+ *os << "return ";
+ }
+
+ *os << "ACE_reinterpret_cast (" << be_idt << be_idt_nl
+ << intf->full_skel_name () << "_ptr," << be_nl
+ << "servant_upcall.servant ()->_downcast (" << be_idt << be_idt_nl
+ << "\"" << intf->repoID () << "\"" << be_uidt_nl
+ << ")" << be_uidt << be_uidt_nl
+ << ")" << be_uidt;
+
+ if (this->gen_invoke (ctx, node) == -1)
+ return -1;
+
+ if (this->void_return_type (bt))
+ {
+ *os << "return;\n";
+ }
+
+ *os << "}\n\n";
+
+ return 0;
+}
+
+int be_visitor_operation_thru_poa_collocated_ss::gen_invoke (
+ be_visitor_context &ctx,
+ be_operation *node
+ )
+{
+ TAO_OutStream *os = this->ctx_->stream ();
+
+ *os << "->" << node->local_name () << " ("
+ << be_idt << be_idt << be_idt_nl;
+
+ ctx = *this->ctx_;
+ ctx.state (TAO_CodeGen::TAO_OPERATION_COLLOCATED_ARG_UPCALL_SS);
+ be_visitor *visitor = tao_cg->make_visitor (&ctx);
+
+ if (!visitor || (node->accept (visitor) == -1))
+ {
+ delete visitor;
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_operation_thru_poa_collocated_ss::"
+ "gen_invoke - "
+ "codegen for making upcall failed\n"),
+ -1);
+ }
+
+ // End the upcall
+ *os << be_uidt_nl
+ << ");\n";
+
+ return 0;
+}
+
+int
+be_visitor_operation_thru_poa_collocated_ss::void_return_type (be_type *bt)
+{
+ // is the operation return type void?
+
+ if (bt->node_type () == AST_Decl::NT_pre_defined
+ && (be_predefined_type::narrow_from_decl (bt)->pt ()
+ == AST_PredefinedType::PT_void))
+ return 1;
+ else
+ return 0;
+}
diff --git a/TAO/TAO_IDL/be/be_visitor_union_branch/public_access_cs.cpp b/TAO/TAO_IDL/be/be_visitor_union_branch/public_access_cs.cpp
new file mode 100644
index 00000000000..bce48e20e18
--- /dev/null
+++ b/TAO/TAO_IDL/be/be_visitor_union_branch/public_access_cs.cpp
@@ -0,0 +1,446 @@
+//
+// $Id$
+//
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// public_access_cs.cpp
+//
+// = DESCRIPTION
+// Visitor generating code for Union Branch in the client inline file.
+//
+// = AUTHOR
+// Aniruddha Gokhale
+//
+// ============================================================================
+
+#include "idl.h"
+#include "idl_extern.h"
+#include "be.h"
+
+#include "be_visitor_union_branch.h"
+
+ACE_RCSID(be_visitor_union_branch, public_access_cs, "$Id$")
+
+
+// *****************************************************
+// visitor for union_branch in the client
+// stubs file for the access method
+// *****************************************************
+
+// constructor
+be_visitor_union_branch_public_access_cs::
+be_visitor_union_branch_public_access_cs (be_visitor_context *ctx)
+ : be_visitor_decl (ctx)
+{
+}
+
+// destructor
+be_visitor_union_branch_public_access_cs::
+~be_visitor_union_branch_public_access_cs (void)
+{
+}
+
+// visit the union_branch node
+int
+be_visitor_union_branch_public_access_cs::
+visit_union_branch (be_union_branch *node)
+{
+ TAO_OutStream *os;
+ be_type *bt; // union_branch's type
+
+ os = this->ctx_->stream ();
+ // first generate the type information
+ bt = be_type::narrow_from_decl (node->field_type ());
+ if (!bt)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_union_branch_cs::"
+ "visit_union_branch - "
+ "Bad union_branch type\n"
+ ), -1);
+ }
+
+ this->ctx_->node (node); // save the node
+
+ for (unsigned long i = 0;
+ i < node->label_list_length ();
+ ++i)
+ {
+ // check if we are printing the default case
+ if (node->label (i)->label_kind () == AST_UnionLabel::UL_default)
+ *os << "default:";
+ else
+ {
+ *os << "case ";
+ node->gen_label_value (os, i);
+ *os << ":";
+ }
+ if (i == (node->label_list_length () - 1))
+ *os << be_idt_nl;
+ else
+ *os << be_nl;
+ }
+
+ if (bt->accept (this) == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_union_branch_cs::"
+ "visit_union_branch - "
+ "codegen for union_branch type failed\n"
+ ), -1);
+ }
+ return 0;
+}
+
+// =visit operations on all possible data types that a union_branch can be
+
+int
+be_visitor_union_branch_public_access_cs::visit_array (be_array *node)
+{
+ TAO_OutStream *os; // output stream
+ be_union_branch *ub =
+ this->ctx_->be_node_as_union_branch (); // get union branch
+ be_union *bu =
+ this->ctx_->be_scope_as_union (); // get the enclosing union backend
+ be_type *bt;
+
+ // check if we are visiting this node via a visit to a typedef node
+ if (this->ctx_->alias ())
+ bt = this->ctx_->alias ();
+ else
+ bt = node;
+
+ if (!ub || !bu)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_union_branch_public_access_cs::"
+ "visit_enum - "
+ "bad context information\n"
+ ), -1);
+ }
+
+ // for anonymous arrays, the type name has a _ prepended. We compute the
+ // fullname with or without the underscore and use it later on.
+ char fname [NAMEBUFSIZE]; // to hold the full and
+
+ // save the node's local name and full name in a buffer for quick use later
+ // on
+ ACE_OS::memset (fname, '\0', NAMEBUFSIZE);
+ if (bt->node_type () != AST_Decl::NT_typedef // not a typedef
+ && bt->is_child (bu)) // bt is defined inside the union
+ {
+ // for anonymous arrays ...
+ // we have to generate a name for us that has an underscope prepended to
+ // our local name. This needs to be inserted after the parents's name
+
+ if (bt->is_nested ())
+ {
+ be_decl *parent = be_scope::narrow_from_scope (bt->defined_in ())->decl ();
+ ACE_OS::sprintf (fname, "%s::_%s", parent->full_name (),
+ bt->local_name ()->get_string ());
+ }
+ else
+ {
+ ACE_OS::sprintf (fname, "_%s", bt->full_name ());
+ }
+ }
+ else
+ {
+ // typedefed node
+ ACE_OS::sprintf (fname, "%s", bt->full_name ());
+ }
+
+ os = this->ctx_->stream ();
+ *os << "if (alloc_flag)" << be_idt_nl
+ << "this->u_." << ub->local_name () << "_ = " << fname
+ << "_alloc ();" << be_uidt_nl
+ << "return this->u_." << ub->local_name () << "_;" << be_uidt_nl;
+
+ return 0;
+}
+
+int
+be_visitor_union_branch_public_access_cs::visit_enum (be_enum *)
+{
+ be_union_branch *ub =
+ this->ctx_->be_node_as_union_branch (); // get union branch
+ be_union *bu =
+ this->ctx_->be_scope_as_union (); // get the enclosing union backend
+
+ if (!ub || !bu)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_union_branch_public_access_cs::"
+ "visit_enum - "
+ "bad context information\n"
+ ), -1);
+ }
+ TAO_OutStream *os = this->ctx_->stream ();
+ *os << "ACE_UNUSED_ARG (alloc_flag);" << be_nl
+ << "return &this->u_." << ub->local_name () << "_;" << be_uidt_nl;
+
+ return 0;
+}
+
+int
+be_visitor_union_branch_public_access_cs::visit_interface (be_interface *node)
+{
+ be_union_branch *ub =
+ this->ctx_->be_node_as_union_branch (); // get union branch
+ be_union *bu =
+ this->ctx_->be_scope_as_union (); // get the enclosing union backend
+ be_type *bt;
+
+ // check if we are visiting this node via a visit to a typedef node
+ if (this->ctx_->alias ())
+ bt = this->ctx_->alias ();
+ else
+ bt = node;
+
+
+ if (!ub || !bu)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_union_branch_public_access_cs::"
+ "visit_interface - "
+ "bad context information\n"
+ ), -1);
+ }
+ TAO_OutStream *os = this->ctx_->stream ();
+ *os << "if (alloc_flag)" << be_idt_nl
+ << "ACE_NEW_RETURN (this->u_." << ub->local_name () << "_, "
+ << "("
+ << bt->name () << "_var), 0);" << be_uidt_nl
+ << "return this->u_." << ub->local_name () << "_;" << be_uidt_nl;
+
+ return 0;
+}
+
+int
+be_visitor_union_branch_public_access_cs::visit_interface_fwd (be_interface_fwd *)
+{
+ be_union_branch *ub =
+ this->ctx_->be_node_as_union_branch (); // get union branch
+ be_union *bu =
+ this->ctx_->be_scope_as_union (); // get the enclosing union backend
+
+ if (!ub || !bu)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_union_branch_public_access_cs::"
+ "visit_interface - "
+ "bad context information\n"
+ ), -1);
+ }
+ TAO_OutStream *os = this->ctx_->stream ();
+ *os << "ACE_UNUSED_ARG (alloc_flag);" << be_nl
+ << "return (CORBA::Object_ptr) &this->u_." << ub->local_name ()
+ << "_->inout ();" << be_uidt_nl;
+
+ return 0;
+}
+
+int
+be_visitor_union_branch_public_access_cs::visit_predefined_type (be_predefined_type *node)
+{
+ TAO_OutStream *os; // output stream
+ be_union_branch *ub =
+ this->ctx_->be_node_as_union_branch (); // get union branch
+ be_union *bu =
+ this->ctx_->be_scope_as_union (); // get the enclosing union backend
+ be_type *bt;
+
+ // check if we are visiting this node via a visit to a typedef node
+ if (this->ctx_->alias ())
+ bt = this->ctx_->alias ();
+ else
+ bt = node;
+
+ if (!ub || !bu)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_union_branch_public_access_cs::"
+ "visit_interface - "
+ "bad context information\n"
+ ), -1);
+ }
+ os = this->ctx_->stream ();
+
+ switch (node->pt ())
+ {
+ case AST_PredefinedType::PT_pseudo:
+ *os << "ACE_UNUSED_ARG (alloc_flag);" << be_nl
+ << "return &this->u_." << ub->local_name () << "_;" << be_uidt_nl;
+ break;
+ case AST_PredefinedType::PT_any:
+ *os << "if (alloc_flag)" << be_idt_nl
+ << "ACE_NEW_RETURN (this->u_." << ub->local_name ()
+ << "_, " << bt->name () << ", 0);" << be_uidt_nl
+ << "return this->u_." << ub->local_name () << "_;" << be_uidt_nl;
+ break;
+ case AST_PredefinedType::PT_void:
+ *os << "ACE_UNUSED_ARG (alloc_flag);" << be_nl;
+ break;
+ default:
+ *os << "ACE_UNUSED_ARG (alloc_flag);" << be_nl
+ << "return &this->u_." << ub->local_name () << "_;" << be_uidt_nl;
+ }
+ return 0;
+}
+
+int
+be_visitor_union_branch_public_access_cs::visit_sequence (be_sequence *node)
+{
+ TAO_OutStream *os; // output stream
+ be_union_branch *ub =
+ this->ctx_->be_node_as_union_branch (); // get union branch
+ be_union *bu =
+ this->ctx_->be_scope_as_union (); // get the enclosing union backend
+ be_type *bt;
+
+ // check if we are visiting this node via a visit to a typedef node
+ if (this->ctx_->alias ())
+ bt = this->ctx_->alias ();
+ else
+ bt = node;
+
+ if (!ub || !bu)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_union_branch_public_access_cs::"
+ "visit_sequence - "
+ "bad context information\n"
+ ), -1);
+ }
+ os = this->ctx_->stream ();
+ *os << "if (alloc_flag)" << be_idt_nl
+ << "ACE_NEW_RETURN (this->u_." << ub->local_name ()
+ << "_, " << bt->name () << ", 0);" << be_uidt_nl
+ << "return this->u_." << ub->local_name () << "_;" << be_uidt_nl;
+
+ return 0;
+}
+
+int
+be_visitor_union_branch_public_access_cs::visit_string (be_string *)
+{
+ be_union_branch *ub =
+ this->ctx_->be_node_as_union_branch (); // get union branch
+ be_union *bu =
+ this->ctx_->be_scope_as_union (); // get the enclosing union backend
+
+ if (!ub || !bu)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_union_branch_public_access_cs::"
+ "visit_string - "
+ "bad context information\n"
+ ), -1);
+ }
+ TAO_OutStream *os = this->ctx_->stream ();
+ *os << "ACE_UNUSED_ARG (alloc_flag);" << be_nl
+ << "return &this->u_." << ub->local_name () << "_;" << be_uidt_nl;
+
+ return 0;
+}
+
+int
+be_visitor_union_branch_public_access_cs::visit_structure (be_structure *node)
+{
+ TAO_OutStream *os; // output stream
+ be_union_branch *ub =
+ this->ctx_->be_node_as_union_branch (); // get union branch
+ be_union *bu =
+ this->ctx_->be_scope_as_union (); // get the enclosing union backend
+ be_type *bt;
+
+ // check if we are visiting this node via a visit to a typedef node
+ if (this->ctx_->alias ())
+ bt = this->ctx_->alias ();
+ else
+ bt = node;
+
+ if (!ub || !bu)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_union_branch_public_access_cs::"
+ "visit_structure - "
+ "bad context information\n"
+ ), -1);
+ }
+ os = this->ctx_->stream ();
+ if (bt->size_type () == be_type::VARIABLE
+ || node->has_constructor ())
+ {
+ *os << "if (alloc_flag)" << be_idt_nl
+ << "ACE_NEW_RETURN (this->u_." << ub->local_name ()
+ << "_, " << bt->name () << ", 0);" << be_uidt_nl
+ << "return this->u_." << ub->local_name () << "_;" << be_uidt_nl;
+ }
+ else
+ {
+ *os << "ACE_UNUSED_ARG (alloc_flag);" << be_nl
+ << "return &this->u_." << ub->local_name () << "_;" << be_uidt_nl;
+ }
+
+ return 0;
+}
+
+int
+be_visitor_union_branch_public_access_cs::visit_typedef (be_typedef *node)
+{
+ this->ctx_->alias (node); // save the typedef node for use in code generation
+ // as we visit the base type
+
+ // the node to be visited in the base primitve type that gets typedefed
+ be_type *bt = node->primitive_base_type ();
+ if (!bt || (bt->accept (this) == -1))
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_union_branch_public_access_cs::"
+ "visit_typedef - "
+ "Bad primitive type\n"
+ ), -1);
+ }
+
+ this->ctx_->alias (0);
+ return 0;
+}
+
+int
+be_visitor_union_branch_public_access_cs::visit_union (be_union *node)
+{
+ TAO_OutStream *os; // output stream
+ be_union_branch *ub =
+ this->ctx_->be_node_as_union_branch (); // get union branch
+ be_union *bu =
+ this->ctx_->be_scope_as_union (); // get the enclosing union backend
+ be_type *bt;
+
+ // check if we are visiting this node via a visit to a typedef node
+ if (this->ctx_->alias ())
+ bt = this->ctx_->alias ();
+ else
+ bt = node;
+
+ if (!ub || !bu)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_union_branch_public_access_cs::"
+ "visit_union - "
+ "bad context information\n"
+ ), -1);
+ }
+ os = this->ctx_->stream ();
+ *os << "if (alloc_flag)" << be_idt_nl
+ << "ACE_NEW_RETURN (this->u_." << ub->local_name ()
+ << "_, " << bt->name () << ", 0);" << be_uidt_nl
+ << "return this->u_." << ub->local_name () << "_;" << be_uidt_nl;
+
+ return 0;
+}
diff --git a/TAO/TAO_IDL/be_include/be.h b/TAO/TAO_IDL/be_include/be.h
new file mode 100644
index 00000000000..732cfa46729
--- /dev/null
+++ b/TAO/TAO_IDL/be_include/be.h
@@ -0,0 +1,148 @@
+// $Id$
+
+/*
+
+COPYRIGHT
+
+Copyright 1992, 1993, 1994 Sun Microsystems, Inc. Printed in the United
+States of America. All Rights Reserved.
+
+This product is protected by copyright and distributed under the following
+license restricting its use.
+
+The Interface Definition Language Compiler Front End (CFE) is made
+available for your use provided that you include this license and copyright
+notice on all media and documentation and the software program in which
+this product is incorporated in whole or part. You may copy and extend
+functionality (but may not remove functionality) of the Interface
+Definition Language CFE without charge, but you are not authorized to
+license or distribute it to anyone else except as part of a product or
+program developed by you or with the express written consent of Sun
+Microsystems, Inc. ("Sun").
+
+The names of Sun Microsystems, Inc. and any of its subsidiaries or
+affiliates may not be used in advertising or publicity pertaining to
+distribution of Interface Definition Language CFE as permitted herein.
+
+This license is effective until terminated by Sun for failure to comply
+with this license. Upon termination, you shall destroy or return all code
+and documentation for the Interface Definition Language CFE.
+
+INTERFACE DEFINITION LANGUAGE CFE IS PROVIDED AS IS WITH NO WARRANTIES OF
+ANY KIND INCLUDING THE WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS
+FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR ARISING FROM A COURSE OF
+DEALING, USAGE OR TRADE PRACTICE.
+
+INTERFACE DEFINITION LANGUAGE CFE IS PROVIDED WITH NO SUPPORT AND WITHOUT
+ANY OBLIGATION ON THE PART OF Sun OR ANY OF ITS SUBSIDIARIES OR AFFILIATES
+TO ASSIST IN ITS USE, CORRECTION, MODIFICATION OR ENHANCEMENT.
+
+SUN OR ANY OF ITS SUBSIDIARIES OR AFFILIATES SHALL HAVE NO LIABILITY WITH
+RESPECT TO THE INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY
+INTERFACE DEFINITION LANGUAGE CFE OR ANY PART THEREOF.
+
+IN NO EVENT WILL SUN OR ANY OF ITS SUBSIDIARIES OR AFFILIATES BE LIABLE FOR
+ANY LOST REVENUE OR PROFITS OR OTHER SPECIAL, INDIRECT AND CONSEQUENTIAL
+DAMAGES, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+Use, duplication, or disclosure by the government is subject to
+restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in
+Technical Data and Computer Software clause at DFARS 252.227-7013 and FAR
+52.227-19.
+
+Sun, Sun Microsystems and the Sun logo are trademarks or registered
+trademarks of Sun Microsystems, Inc.
+
+SunSoft, Inc.
+2550 Garcia Avenue
+Mountain View, California 94043
+
+NOTE:
+
+SunOS, SunSoft, Sun, Solaris, Sun Microsystems or the Sun logo are
+trademarks or registered trademarks of Sun Microsystems, Inc.
+
+ */
+
+#ifndef _BE_BE_HH
+#define _BE_BE_HH
+
+// be.h
+
+#if defined (_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+// ACE includes
+
+#include "ace/ACE.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "ace/OS.h"
+#include "ace/Singleton.h"
+#include "ace/Synch.h"
+#include "ace/Log_Msg.h"
+#include "ace/Containers.h"
+#include "ace/Process.h"
+
+// BE includes
+
+#include "be_decl.h" // class BE_Decl
+#include "be_scope.h" // class BE_Scope
+#include "be_generator.h" // class BE_generator
+
+#include "be_global.h" // global data for back end
+#include "be_extern.h" // pointer to global BE
+ // data object
+
+#include "be_type.h"
+#include "be_predefined_type.h" // class BE_PredefinedType
+#include "be_module.h" // class BE_Module
+#include "be_interface.h" // class BE_Interface
+#include "be_interface_fwd.h" // class BE_InterfaceFwd
+#include "be_valuetype.h" // class be_valuetype
+#include "be_valuetype_fwd.h" // class be_valuetype_fwd
+#include "be_structure.h" // class BE_Structure
+#include "be_exception.h" // class BE_Exception
+#include "be_expression.h" // class BE_Expr_val
+#include "be_enum.h" // class BE_Enum
+#include "be_operation.h" // class BE_Operation
+#include "be_field.h" // class BE_Field
+#include "be_argument.h" // class BE_Argument
+#include "be_attribute.h" // class BE_Attribute
+#include "be_union.h" // class BE_Union
+#include "be_union_branch.h" // class BE_UnionBranch
+#include "be_union_label.h" // class BE_UnionLabel
+#include "be_constant.h" // class BE_Constant
+#include "be_enum_val.h" // class BE_EnumVal
+#include "be_array.h" // class BE_Array
+#include "be_sequence.h" // class BE_Sequence
+#include "be_string.h" // class BE_String
+#include "be_typedef.h" // class BE_Typedef
+#include "be_root.h" // class BE_Root
+#include "be_native.h" // class BE_Native
+#include "be_factory.h" // class be_factory
+
+#include "be_helper.h" // helper functions
+#include "be_codegen.h" // code generator
+#include "be_stream_factory.h" // output stream factory
+
+#include "be_visitor.h" // abstract visitor
+#include "be_visitor_factory.h" // visitor factory
+#include "be_visitor_context.h" // visitor context
+#include "be_visitor_ami_pre_proc.h" // generate AMI implied IDL
+#include "be_visitor_amh_pre_proc.h" // generate AMH implied IDL
+
+#include "be_interface_strategy.h" // strategy for interface nodes
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* _BE_BE_HH */
diff --git a/TAO/TAO_IDL/be_include/be_visitor_interface/direct_collocated_sh.h b/TAO/TAO_IDL/be_include/be_visitor_interface/direct_collocated_sh.h
new file mode 100644
index 00000000000..76e937d32e9
--- /dev/null
+++ b/TAO/TAO_IDL/be_include/be_visitor_interface/direct_collocated_sh.h
@@ -0,0 +1,42 @@
+//
+// $Id$
+//
+/* -*- c++ -*- */
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// direct_collocated_sh.h
+//
+// = DESCRIPTION
+// Concrete visitor for the Interface node.
+// This provides code generation for direct collocated classes in server header
+//
+// = AUTHOR
+// Aniruddha Gokhale
+//
+// ============================================================================
+
+#ifndef _BE_INTERFACE_DIRECT_COLLOCATED_SH_H_
+#define _BE_INTERFACE_DIRECT_COLLOCATED_SH_H_
+
+class be_visitor_interface_direct_collocated_sh : public be_visitor_interface
+{
+ // = TITLE
+ // Generate the "direct collocated" class declaration.
+
+public:
+ be_visitor_interface_direct_collocated_sh (be_visitor_context *ctx);
+ // constructor
+
+ virtual ~be_visitor_interface_direct_collocated_sh (void);
+ // destructor
+
+ virtual int visit_interface (be_interface *node);
+ // visit an interface
+
+};
+
+#endif /* _BE_INTERFACE_DIRECT_COLLOCATED_SH_H_ */
diff --git a/TAO/TAO_IDL/be_include/be_visitor_interface/direct_collocated_ss.h b/TAO/TAO_IDL/be_include/be_visitor_interface/direct_collocated_ss.h
new file mode 100644
index 00000000000..faca2392b8e
--- /dev/null
+++ b/TAO/TAO_IDL/be_include/be_visitor_interface/direct_collocated_ss.h
@@ -0,0 +1,47 @@
+//
+// $Id$
+//
+/* -*- c++ -*- */
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// driect_collocated_ss.h
+//
+// = DESCRIPTION
+// Concrete visitor for the Interface node.
+// This provides code generation for direct collocated classes in server skeleton
+//
+// = AUTHOR
+// Aniruddha Gokhale
+//
+// ============================================================================
+
+#ifndef _BE_INTERFACE_DIRECT_COLLOCATED_SS_H_
+#define _BE_INTERFACE_DIRECT_COLLOCATED_SS_H_
+
+class be_visitor_interface_direct_collocated_ss : public be_visitor_interface
+{
+ // = TITLE
+ // Generate the "direct collocated" class declaration.
+
+public:
+ be_visitor_interface_direct_collocated_ss (be_visitor_context *ctx);
+ // constructor
+
+ virtual ~be_visitor_interface_direct_collocated_ss (void);
+ // destructor
+
+ virtual int visit_interface (be_interface *node);
+ // visit interface
+
+ static int collocated_ctor_helper (be_interface *,
+ be_interface *,
+ TAO_OutStream *os);
+ // helper method passed to the template method to invoke ctors of all the
+ // base classes.
+};
+
+#endif /* _BE_DIRECT_INTERFACE_COLLOCATED_SS_H_ */
diff --git a/TAO/TAO_IDL/be_include/be_visitor_interface/interceptors_ch.h b/TAO/TAO_IDL/be_include/be_visitor_interface/interceptors_ch.h
new file mode 100644
index 00000000000..aefd8f0cbdf
--- /dev/null
+++ b/TAO/TAO_IDL/be_include/be_visitor_interface/interceptors_ch.h
@@ -0,0 +1,43 @@
+//
+// $Id$
+//
+/* -*- c++ -*- */
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// interceptors_ch.h
+//
+// = DESCRIPTION
+// Concrete visitor for the Interface node.
+// This provides code generation for interceptor classes for an
+// interface in the client header.
+//
+// = AUTHOR
+// Kirthika Parameswaran
+//
+// ============================================================================
+
+#ifndef _BE_INTERFACE_INTERCEPTORS_CH_H_
+#define _BE_INTERFACE_INTERCEPTORS_CH_H_
+
+class be_visitor_interface_interceptors_ch : public be_visitor_interface
+{
+ // = TITLE
+ // Generate the "thru_poa collocated" class declaration.
+
+public:
+ be_visitor_interface_interceptors_ch (be_visitor_context *ctx);
+ // constructor
+
+ virtual ~be_visitor_interface_interceptors_ch (void);
+ // destructor
+
+ virtual int visit_interface (be_interface *node);
+ // visit an interface
+
+};
+
+#endif /* _BE_INTERFACE_INTERCEPTORS_CH_H_ */
diff --git a/TAO/TAO_IDL/be_include/be_visitor_interface/thru_poa_collocated_sh.h b/TAO/TAO_IDL/be_include/be_visitor_interface/thru_poa_collocated_sh.h
new file mode 100644
index 00000000000..89a73401341
--- /dev/null
+++ b/TAO/TAO_IDL/be_include/be_visitor_interface/thru_poa_collocated_sh.h
@@ -0,0 +1,42 @@
+//
+// $Id$
+//
+/* -*- c++ -*- */
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// thru_poa_collocated_sh.h
+//
+// = DESCRIPTION
+// Concrete visitor for the Interface node.
+// This provides code generation for thru_poa collocated classes in server header
+//
+// = AUTHOR
+// Aniruddha Gokhale
+//
+// ============================================================================
+
+#ifndef _BE_INTERFACE_THRU_POA_COLLOCATED_SH_H_
+#define _BE_INTERFACE_THRU_POA_COLLOCATED_SH_H_
+
+class be_visitor_interface_thru_poa_collocated_sh : public be_visitor_interface
+{
+ // = TITLE
+ // Generate the "thru_poa collocated" class declaration.
+
+public:
+ be_visitor_interface_thru_poa_collocated_sh (be_visitor_context *ctx);
+ // constructor
+
+ virtual ~be_visitor_interface_thru_poa_collocated_sh (void);
+ // destructor
+
+ virtual int visit_interface (be_interface *node);
+ // visit an interface
+
+};
+
+#endif /* _BE_INTERFACE_THRU_POA_COLLOCATED_SH_H_ */
diff --git a/TAO/TAO_IDL/be_include/be_visitor_interface/thru_poa_collocated_ss.h b/TAO/TAO_IDL/be_include/be_visitor_interface/thru_poa_collocated_ss.h
new file mode 100644
index 00000000000..9348412e9c3
--- /dev/null
+++ b/TAO/TAO_IDL/be_include/be_visitor_interface/thru_poa_collocated_ss.h
@@ -0,0 +1,47 @@
+//
+// $Id$
+//
+/* -*- c++ -*- */
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// thru_poa_collocated_ss.h
+//
+// = DESCRIPTION
+// Concrete visitor for the Interface node.
+// This provides code generation for thru_poa collocated classes in server skeleton
+//
+// = AUTHOR
+// Aniruddha Gokhale
+//
+// ============================================================================
+
+#ifndef _BE_INTERFACE_THRU_POA_COLLOCATED_SS_H_
+#define _BE_INTERFACE_THRU_POA_COLLOCATED_SS_H_
+
+class be_visitor_interface_thru_poa_collocated_ss : public be_visitor_interface
+{
+ // = TITLE
+ // Generate the "thru_poa collocated" class declaration.
+
+public:
+ be_visitor_interface_thru_poa_collocated_ss (be_visitor_context *ctx);
+ // constructor
+
+ virtual ~be_visitor_interface_thru_poa_collocated_ss (void);
+ // destructor
+
+ virtual int visit_interface (be_interface *node);
+ // visit interface
+
+ static int collocated_ctor_helper (be_interface *,
+ be_interface *,
+ TAO_OutStream *os);
+ // helper method passed to the template method to invoke ctors of all the
+ // base classes.
+};
+
+#endif /* _BE_INTERFACE_THRU_POA_COLLOCATED_SS_H_ */
diff --git a/TAO/TAO_IDL/be_include/be_visitor_operation/direct_collocated_sh.h b/TAO/TAO_IDL/be_include/be_visitor_operation/direct_collocated_sh.h
new file mode 100644
index 00000000000..413d7ce3059
--- /dev/null
+++ b/TAO/TAO_IDL/be_include/be_visitor_operation/direct_collocated_sh.h
@@ -0,0 +1,51 @@
+//
+// $Id$
+//
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// direct_collocated_ch.h
+//
+// = DESCRIPTION Visitor for generating code for IDL operations for
+// the direct collocated case inside of the servant header
+//
+// = AUTHOR
+// Aniruddha Gokhale
+//
+// ============================================================================
+
+#ifndef _BE_VISITOR_OPERATION_DIRECT_COLLOCATED_SH_H_
+#define _BE_VISITOR_OPERATION_DIRECT_COLLOCATED_SH_H_
+
+// ************************************************************
+// Operation visitor for server header in the direct collocated class
+// ************************************************************
+
+class be_visitor_operation_direct_collocated_sh : public be_visitor_scope
+{
+ //
+ // = TITLE
+ // be_visitor_operation_direct_collocated_sh
+ //
+ // = DESCRIPTION
+ // This is a concrete visitor to generate the server header for operation
+ // in the direct collocated class
+ //
+ //
+public:
+ be_visitor_operation_direct_collocated_sh (be_visitor_context *ctx);
+ // constructor
+
+ ~be_visitor_operation_direct_collocated_sh (void);
+ // destructor
+
+ virtual int visit_operation (be_operation *node);
+ // visit operation node.
+
+};
+
+#endif /* _BE_VISITOR_OPERATION_DIRECT_COLLOCATED_SH_H_ */
diff --git a/TAO/TAO_IDL/be_include/be_visitor_operation/direct_collocated_ss.h b/TAO/TAO_IDL/be_include/be_visitor_operation/direct_collocated_ss.h
new file mode 100644
index 00000000000..c6ebe06940f
--- /dev/null
+++ b/TAO/TAO_IDL/be_include/be_visitor_operation/direct_collocated_ss.h
@@ -0,0 +1,57 @@
+//
+// $Id$
+//
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// direct_collocated_ss.h
+//
+// = DESCRIPTION
+// Visitor for generating code for IDL operations for the direct_collocated case
+// inside of the servant skeleton
+//
+// = AUTHOR
+// Aniruddha Gokhale
+//
+// ============================================================================
+
+#ifndef _BE_VISITOR_OPERATION_DIRECT_COLLOCATED_SS_H_
+#define _BE_VISITOR_OPERATION_DIRECT_COLLOCATED_SS_H_
+
+// *****************************************************************
+// Operation visitor for server skeletons for the direct collocated class
+// *****************************************************************
+
+class be_visitor_operation_direct_collocated_ss : public be_visitor_scope
+{
+ //
+ // = TITLE
+ // be_visitor_operation_ss
+ //
+ // = DESCRIPTION
+ // This is a concrete visitor to generate the server skeletons for
+ // operation in the direct collocated class
+ //
+ //
+public:
+ be_visitor_operation_direct_collocated_ss (be_visitor_context *ctx);
+ // constructor
+
+ ~be_visitor_operation_direct_collocated_ss (void);
+ // destructor
+
+ virtual int visit_operation (be_operation *node);
+ // visit operation node.
+
+ virtual int gen_invoke (be_visitor_context &ctx, be_operation *node);
+ // A helper method to generate operation invocation code.
+
+ virtual int void_return_type (be_type *bt);
+ // is my return type void?
+};
+
+#endif /* _BE_VISITOR_OPERATION_DIRECT_COLLOCATED_SS_H_ */
diff --git a/TAO/TAO_IDL/be_include/be_visitor_operation/inv_arglist.h b/TAO/TAO_IDL/be_include/be_visitor_operation/inv_arglist.h
new file mode 100644
index 00000000000..3b1cb7d4db3
--- /dev/null
+++ b/TAO/TAO_IDL/be_include/be_visitor_operation/inv_arglist.h
@@ -0,0 +1,55 @@
+// $Id$
+//
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// inv_arglist.h
+//
+// = DESCRIPTION
+// Visitor for generating signature needed to invoke a given
+// operation.
+//
+// = AUTHOR
+// Angelo Corsaro
+//
+// ============================================================================
+
+#ifndef _BE_VISITOR_OPERATION_INV_ARGLIST_H_
+#define _BE_VISITOR_OPERATION_INV_ARGLIST_H_
+
+// ******************************************************************************
+// Operation visitor for argument list - generates parameters in the signature
+// ******************************************************************************
+
+class be_visitor_operation_inv_arglist : public be_visitor_operation
+{
+ //
+ // = TITLE
+ // be_visitor_operaion_inv_arglist
+ //
+ // = DESCRIPTION
+ // This visitor generates the argument list needed to
+ // invoke a given operation. No parentesys are generated
+ // to give the caller code the abity to stick in other
+ // parameter that might be needed.
+ //
+ //
+public:
+ be_visitor_operation_inv_arglist (be_visitor_context *ctx);
+ // constructor
+
+ ~be_visitor_operation_inv_arglist (void);
+ // destructor
+
+ virtual int visit_operation (be_operation *node);
+ // visit the operation
+
+ virtual int visit_argument (be_argument *node);
+ // visit each argument
+
+};
+
+#endif /* _BE_VISITOR_OPERATION_INV_ARGLIST_H_ */
diff --git a/TAO/TAO_IDL/be_include/be_visitor_operation/thru_poa_collocated_sh.h b/TAO/TAO_IDL/be_include/be_visitor_operation/thru_poa_collocated_sh.h
new file mode 100644
index 00000000000..26aa40394c6
--- /dev/null
+++ b/TAO/TAO_IDL/be_include/be_visitor_operation/thru_poa_collocated_sh.h
@@ -0,0 +1,52 @@
+//
+// $Id$
+//
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// thru_poa_collocated_ch.h
+//
+// = DESCRIPTION
+// Visitor for generating code for IDL operations for the thru_poa collocated case
+// inside of the servant header
+//
+// = AUTHOR
+// Aniruddha Gokhale
+//
+// ============================================================================
+
+#ifndef _BE_VISITOR_OPERATION_THRU_POA_COLLOCATED_SH_H_
+#define _BE_VISITOR_OPERATION_THRU_POA_COLLOCATED_SH_H_
+
+// ************************************************************
+// Operation visitor for server header in the thru_poa collocated class
+// ************************************************************
+
+class be_visitor_operation_thru_poa_collocated_sh : public be_visitor_scope
+{
+ //
+ // = TITLE
+ // be_visitor_operation_thru_poa_collocated_sh
+ //
+ // = DESCRIPTION
+ // This is a concrete visitor to generate the server header for operation
+ // in the thru_poa collocated class
+ //
+ //
+public:
+ be_visitor_operation_thru_poa_collocated_sh (be_visitor_context *ctx);
+ // constructor
+
+ ~be_visitor_operation_thru_poa_collocated_sh (void);
+ // destructor
+
+ virtual int visit_operation (be_operation *node);
+ // visit operation node.
+
+};
+
+#endif /* _BE_VISITOR_OPERATION_THRU_POA_COLLOCATED_SH_H_ */
diff --git a/TAO/TAO_IDL/be_include/be_visitor_operation/thru_poa_collocated_ss.h b/TAO/TAO_IDL/be_include/be_visitor_operation/thru_poa_collocated_ss.h
new file mode 100644
index 00000000000..2c63169caea
--- /dev/null
+++ b/TAO/TAO_IDL/be_include/be_visitor_operation/thru_poa_collocated_ss.h
@@ -0,0 +1,57 @@
+//
+// $Id$
+//
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// thru_poa_collocated_ss.h
+//
+// = DESCRIPTION
+// Visitor for generating code for IDL operations for the thru_poa collocated case
+// inside of the servant skeleton
+//
+// = AUTHOR
+// Aniruddha Gokhale
+//
+// ============================================================================
+
+#ifndef _BE_VISITOR_OPERATION_THRU_POA_COLLOCATED_SS_H_
+#define _BE_VISITOR_OPERATION_THRU_POA_COLLOCATED_SS_H_
+
+// *****************************************************************
+// Operation visitor for server skeletons for the thru_poa collocated class
+// *****************************************************************
+
+class be_visitor_operation_thru_poa_collocated_ss : public be_visitor_operation
+{
+ //
+ // = TITLE
+ // be_visitor_operation_ss
+ //
+ // = DESCRIPTION
+ // This is a concrete visitor to generate the server skeletons for
+ // operation in the thru_poa collocated class
+ //
+ //
+public:
+ be_visitor_operation_thru_poa_collocated_ss (be_visitor_context *ctx);
+ // constructor
+
+ ~be_visitor_operation_thru_poa_collocated_ss (void);
+ // destructor
+
+ virtual int visit_operation (be_operation *node);
+ // visit operation node.
+
+ virtual int gen_invoke (be_visitor_context &ctx, be_operation *node);
+ // A helper method to generate operation invocation code.
+
+ virtual int void_return_type (be_type *bt);
+ // is my return type void?
+};
+
+#endif /* _BE_VISITOR_OPERATION_THRU_POA_COLLOCATED_SS_H_ */
diff --git a/TAO/TAO_IDL/be_include/be_visitor_union_branch/public_access_cs.h b/TAO/TAO_IDL/be_include/be_visitor_union_branch/public_access_cs.h
new file mode 100644
index 00000000000..b1d76206108
--- /dev/null
+++ b/TAO/TAO_IDL/be_include/be_visitor_union_branch/public_access_cs.h
@@ -0,0 +1,80 @@
+/* -*- c++ -*- */
+//
+// $Id$
+//
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// public_access_cs.h
+//
+// = DESCRIPTION
+// Visitor for the Union class.
+// This one generates code for the access method of the union class
+// for the union members. This is primarily used by the marshaling engine.
+//
+// = AUTHOR
+// Aniruddha Gokhale
+//
+// ============================================================================
+
+#ifndef _BE_VISITOR_UNION_BRANCH_PUBLIC_ACCESS_CS_H_
+#define _BE_VISITOR_UNION_BRANCH_PUBLIC_ACCESS_CS_H_
+
+class be_visitor_union_branch_public_access_cs : public be_visitor_decl
+{
+ //
+ // = TITLE
+ // be_visitor_union_branch_public_access_cs
+ //
+ // = DESCRIPTION
+ // This is used to generate the body of the access method
+ //
+public:
+ be_visitor_union_branch_public_access_cs (be_visitor_context *ctx);
+ // constructor
+
+ ~be_visitor_union_branch_public_access_cs (void);
+ // destructor
+
+ virtual int visit_union_branch (be_union_branch *node);
+ // visit the union_branch node
+
+ // =visit operations on all possible data types that a union_branch can be
+
+ virtual int visit_array (be_array *node);
+ // visit array type
+
+ virtual int visit_enum (be_enum *node);
+ // visit enum type
+
+ virtual int visit_interface (be_interface *node);
+ // visit interface type
+
+ virtual int visit_interface_fwd (be_interface_fwd *node);
+ // visit interface forward type
+
+ virtual int visit_predefined_type (be_predefined_type *node);
+ // visit predefined type
+
+ virtual int visit_sequence (be_sequence *node);
+ // visit sequence type
+
+ virtual int visit_string (be_string *node);
+ // visit string type
+
+ virtual int visit_structure (be_structure *node);
+ // visit structure type
+
+ virtual int visit_typedef (be_typedef *node);
+ // visit typedefed type
+
+ virtual int visit_union (be_union *node);
+ // visit union type
+
+};
+
+#endif /* _BE_VISITOR_UNION_BRANCH_PUBLIC_ACCESS_CS_H_ */
diff --git a/TAO/TAO_IDL/driver/drv_private.cpp b/TAO/TAO_IDL/driver/drv_private.cpp
new file mode 100644
index 00000000000..3963074b185
--- /dev/null
+++ b/TAO/TAO_IDL/driver/drv_private.cpp
@@ -0,0 +1,83 @@
+// $Id$
+
+/*
+
+COPYRIGHT
+
+Copyright 1992, 1993, 1994 Sun Microsystems, Inc. Printed in the United
+States of America. All Rights Reserved.
+
+This product is protected by copyright and distributed under the following
+license restricting its use.
+
+The Interface Definition Language Compiler Front End (CFE) is made
+available for your use provided that you include this license and copyright
+notice on all media and documentation and the software program in which
+this product is incorporated in whole or part. You may copy and extend
+functionality (but may not remove functionality) of the Interface
+Definition Language CFE without charge, but you are not authorized to
+license or distribute it to anyone else except as part of a product or
+program developed by you or with the express written consent of Sun
+Microsystems, Inc. ("Sun").
+
+The names of Sun Microsystems, Inc. and any of its subsidiaries or
+affiliates may not be used in advertising or publicity pertaining to
+distribution of Interface Definition Language CFE as permitted herein.
+
+This license is effective until terminated by Sun for failure to comply
+with this license. Upon termination, you shall destroy or return all code
+and documentation for the Interface Definition Language CFE.
+
+INTERFACE DEFINITION LANGUAGE CFE IS PROVIDED AS IS WITH NO WARRANTIES OF
+ANY KIND INCLUDING THE WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS
+FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR ARISING FROM A COURSE OF
+DEALING, USAGE OR TRADE PRACTICE.
+
+INTERFACE DEFINITION LANGUAGE CFE IS PROVIDED WITH NO SUPPORT AND WITHOUT
+ANY OBLIGATION ON THE PART OF Sun OR ANY OF ITS SUBSIDIARIES OR AFFILIATES
+TO ASSIST IN ITS USE, CORRECTION, MODIFICATION OR ENHANCEMENT.
+
+SUN OR ANY OF ITS SUBSIDIARIES OR AFFILIATES SHALL HAVE NO LIABILITY WITH
+RESPECT TO THE INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY
+INTERFACE DEFINITION LANGUAGE CFE OR ANY PART THEREOF.
+
+IN NO EVENT WILL SUN OR ANY OF ITS SUBSIDIARIES OR AFFILIATES BE LIABLE FOR
+ANY LOST REVENUE OR PROFITS OR OTHER SPECIAL, INDIRECT AND CONSEQUENTIAL
+DAMAGES, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+Use, duplication, or disclosure by the government is subject to
+restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in
+Technical Data and Computer Software clause at DFARS 252.227-7013 and FAR
+52.227-19.
+
+Sun, Sun Microsystems and the Sun logo are trademarks or registered
+trademarks of Sun Microsystems, Inc.
+
+SunSoft, Inc.
+2550 Garcia Avenue
+Mountain View, California 94043
+
+NOTE:
+
+SunOS, SunSoft, Sun, Solaris, Sun Microsystems or the Sun logo are
+trademarks or registered trademarks of Sun Microsystems, Inc.
+
+*/
+
+// Global variables for IDL compiler driver program
+
+#include "idl.h"
+#include "idl_extern.h"
+#include "drv_private.h"
+
+ACE_RCSID(driver, drv_private, "$Id$")
+
+// Storage for file names
+
+#if !defined (NFILES)
+# define NFILES 1024
+#endif /* ! NFILES */
+
+const char *DRV_files[NFILES];
+long DRV_nfiles = 0;
+long DRV_file_index = -1;
diff --git a/TAO/TAO_IDL/include/drv_private.h b/TAO/TAO_IDL/include/drv_private.h
new file mode 100644
index 00000000000..ab89a4e7862
--- /dev/null
+++ b/TAO/TAO_IDL/include/drv_private.h
@@ -0,0 +1,92 @@
+// $Id$
+
+/*
+
+COPYRIGHT
+
+Copyright 1992, 1993, 1994 Sun Microsystems, Inc. Printed in the United
+States of America. All Rights Reserved.
+
+This product is protected by copyright and distributed under the following
+license restricting its use.
+
+The Interface Definition Language Compiler Front End (CFE) is made
+available for your use provided that you include this license and copyright
+notice on all media and documentation and the software program in which
+this product is incorporated in whole or part. You may copy and extend
+functionality (but may not remove functionality) of the Interface
+Definition Language CFE without charge, but you are not authorized to
+license or distribute it to anyone else except as part of a product or
+program developed by you or with the express written consent of Sun
+Microsystems, Inc. ("Sun").
+
+The names of Sun Microsystems, Inc. and any of its subsidiaries or
+affiliates may not be used in advertising or publicity pertaining to
+distribution of Interface Definition Language CFE as permitted herein.
+
+This license is effective until terminated by Sun for failure to comply
+with this license. Upon termination, you shall destroy or return all code
+and documentation for the Interface Definition Language CFE.
+
+INTERFACE DEFINITION LANGUAGE CFE IS PROVIDED AS IS WITH NO WARRANTIES OF
+ANY KIND INCLUDING THE WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS
+FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR ARISING FROM A COURSE OF
+DEALING, USAGE OR TRADE PRACTICE.
+
+INTERFACE DEFINITION LANGUAGE CFE IS PROVIDED WITH NO SUPPORT AND WITHOUT
+ANY OBLIGATION ON THE PART OF Sun OR ANY OF ITS SUBSIDIARIES OR AFFILIATES
+TO ASSIST IN ITS USE, CORRECTION, MODIFICATION OR ENHANCEMENT.
+
+SUN OR ANY OF ITS SUBSIDIARIES OR AFFILIATES SHALL HAVE NO LIABILITY WITH
+RESPECT TO THE INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY
+INTERFACE DEFINITION LANGUAGE CFE OR ANY PART THEREOF.
+
+IN NO EVENT WILL SUN OR ANY OF ITS SUBSIDIARIES OR AFFILIATES BE LIABLE FOR
+ANY LOST REVENUE OR PROFITS OR OTHER SPECIAL, INDIRECT AND CONSEQUENTIAL
+DAMAGES, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+Use, duplication, or disclosure by the government is subject to
+restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in
+Technical Data and Computer Software clause at DFARS 252.227-7013 and FAR
+52.227-19.
+
+Sun, Sun Microsystems and the Sun logo are trademarks or registered
+trademarks of Sun Microsystems, Inc.
+
+SunSoft, Inc.
+2550 Garcia Avenue
+Mountain View, California 94043
+
+NOTE:
+
+SunOS, SunSoft, Sun, Solaris, Sun Microsystems or the Sun logo are
+trademarks or registered trademarks of Sun Microsystems, Inc.
+
+*/
+
+#ifndef _DRV_PRIVATE_DRV_PRIVATE_HH
+#define _DRV_PRIVATE_DRV_PRIVATE_HH
+
+// Define data and functions which are private to
+// the DRV but which must be accessible throughout the DRV
+
+// Data
+
+// The ACE_Process_Options default size of 1024 is sometimes not enough.
+const unsigned long TAO_IDL_COMMAND_LINE_BUFFER_SIZE = 4 * 1024;
+
+extern const char *DRV_files[];
+// All files to be processed
+
+extern long DRV_nfiles;
+// How many are there?
+
+extern long DRV_file_index;
+// What's the file I am responsible for?
+
+// Functions
+
+extern void DRV_drive (const char *);
+// Compiler driver for single file
+
+#endif // _DRV_PRIVATE_DRV_PRIVATE_HH
diff --git a/TAO/TAO_IDL/include/idl.h b/TAO/TAO_IDL/include/idl.h
new file mode 100644
index 00000000000..5584939d163
--- /dev/null
+++ b/TAO/TAO_IDL/include/idl.h
@@ -0,0 +1,97 @@
+// $Id$
+
+/*
+
+COPYRIGHT
+
+Copyright 1992, 1993, 1994 Sun Microsystems, Inc. Printed in the United
+States of America. All Rights Reserved.
+
+This product is protected by copyright and distributed under the following
+license restricting its use.
+
+The Interface Definition Language Compiler Front End (CFE) is made
+available for your use provided that you include this license and copyright
+notice on all media and documentation and the software program in which
+this product is incorporated in whole or part. You may copy and extend
+functionality (but may not remove functionality) of the Interface
+Definition Language CFE without charge, but you are not authorized to
+license or distribute it to anyone else except as part of a product or
+program developed by you or with the express written consent of Sun
+Microsystems, Inc. ("Sun").
+
+The names of Sun Microsystems, Inc. and any of its subsidiaries or
+affiliates may not be used in advertising or publicity pertaining to
+distribution of Interface Definition Language CFE as permitted herein.
+
+This license is effective until terminated by Sun for failure to comply
+with this license. Upon termination, you shall destroy or return all code
+and documentation for the Interface Definition Language CFE.
+
+INTERFACE DEFINITION LANGUAGE CFE IS PROVIDED AS IS WITH NO WARRANTIES OF
+ANY KIND INCLUDING THE WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS
+FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR ARISING FROM A COURSE OF
+DEALING, USAGE OR TRADE PRACTICE.
+
+INTERFACE DEFINITION LANGUAGE CFE IS PROVIDED WITH NO SUPPORT AND WITHOUT
+ANY OBLIGATION ON THE PART OF Sun OR ANY OF ITS SUBSIDIARIES OR AFFILIATES
+TO ASSIST IN ITS USE, CORRECTION, MODIFICATION OR ENHANCEMENT.
+
+SUN OR ANY OF ITS SUBSIDIARIES OR AFFILIATES SHALL HAVE NO LIABILITY WITH
+RESPECT TO THE INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY
+INTERFACE DEFINITION LANGUAGE CFE OR ANY PART THEREOF.
+
+IN NO EVENT WILL SUN OR ANY OF ITS SUBSIDIARIES OR AFFILIATES BE LIABLE FOR
+ANY LOST REVENUE OR PROFITS OR OTHER SPECIAL, INDIRECT AND CONSEQUENTIAL
+DAMAGES, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+Use, duplication, or disclosure by the government is subject to
+restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in
+Technical Data and Computer Software clause at DFARS 252.227-7013 and FAR
+52.227-19.
+
+Sun, Sun Microsystems and the Sun logo are trademarks or registered
+trademarks of Sun Microsystems, Inc.
+
+SunSoft, Inc.
+2550 Garcia Avenue
+Mountain View, California 94043
+
+NOTE:
+
+SunOS, SunSoft, Sun, Solaris, Sun Microsystems or the Sun logo are
+trademarks or registered trademarks of Sun Microsystems, Inc.
+
+ */
+
+#ifndef _IDL_IDL_HH
+#define _IDL_IDL_HH
+
+// idl.hh
+//
+// Main include file for IDL compiler. Includes the rest of the
+// files defining the different units of the compiler
+
+#include "ace/ACE.h" // Most important ACE include file
+#include "ace/streams.h" // iostreams
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "TAO_IDL_FE_Export.h" // Defines export macro
+#include "idl_narrow.h" // IDL Narrowing mechanism
+#include "idl_defines.h" // Constants for IDL compiler
+#include "idl_fwd.h" // Forward decls of classes
+#include "idl_bool.h" // Defines boolean for IDL
+#include "utl_string.h" // Defines utility string class
+#include "utl_identifier.h" // Defines utility identifier class
+#include "ast.h" // AST classes
+#include "util.h" // Utility classes
+
+#if defined (interface)
+// Mingw needs this.
+# undef interface
+#endif /* defined (interface) */
+
+#endif // _IDL_IDL_HH
diff --git a/TAO/TAO_IDL/include/idl_extern.h b/TAO/TAO_IDL/include/idl_extern.h
new file mode 100644
index 00000000000..1c3b6deee88
--- /dev/null
+++ b/TAO/TAO_IDL/include/idl_extern.h
@@ -0,0 +1,79 @@
+// $Id$
+
+/*
+
+COPYRIGHT
+
+Copyright 1992, 1993, 1994 Sun Microsystems, Inc. Printed in the United
+States of America. All Rights Reserved.
+
+This product is protected by copyright and distributed under the following
+license restricting its use.
+
+The Interface Definition Language Compiler Front End (CFE) is made
+available for your use provided that you include this license and copyright
+notice on all media and documentation and the software program in which
+this product is incorporated in whole or part. You may copy and extend
+functionality (but may not remove functionality) of the Interface
+Definition Language CFE without charge, but you are not authorized to
+license or distribute it to anyone else except as part of a product or
+program developed by you or with the express written consent of Sun
+Microsystems, Inc. ("Sun").
+
+The names of Sun Microsystems, Inc. and any of its subsidiaries or
+affiliates may not be used in advertising or publicity pertaining to
+distribution of Interface Definition Language CFE as permitted herein.
+
+This license is effective until terminated by Sun for failure to comply
+with this license. Upon termination, you shall destroy or return all code
+and documentation for the Interface Definition Language CFE.
+
+INTERFACE DEFINITION LANGUAGE CFE IS PROVIDED AS IS WITH NO WARRANTIES OF
+ANY KIND INCLUDING THE WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS
+FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR ARISING FROM A COURSE OF
+DEALING, USAGE OR TRADE PRACTICE.
+
+INTERFACE DEFINITION LANGUAGE CFE IS PROVIDED WITH NO SUPPORT AND WITHOUT
+ANY OBLIGATION ON THE PART OF Sun OR ANY OF ITS SUBSIDIARIES OR AFFILIATES
+TO ASSIST IN ITS USE, CORRECTION, MODIFICATION OR ENHANCEMENT.
+
+SUN OR ANY OF ITS SUBSIDIARIES OR AFFILIATES SHALL HAVE NO LIABILITY WITH
+RESPECT TO THE INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY
+INTERFACE DEFINITION LANGUAGE CFE OR ANY PART THEREOF.
+
+IN NO EVENT WILL SUN OR ANY OF ITS SUBSIDIARIES OR AFFILIATES BE LIABLE FOR
+ANY LOST REVENUE OR PROFITS OR OTHER SPECIAL, INDIRECT AND CONSEQUENTIAL
+DAMAGES, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+Use, duplication, or disclosure by the government is subject to
+restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in
+Technical Data and Computer Software clause at DFARS 252.227-7013 and FAR
+52.227-19.
+
+Sun, Sun Microsystems and the Sun logo are trademarks or registered
+trademarks of Sun Microsystems, Inc.
+
+SunSoft, Inc.
+2550 Garcia Avenue
+Mountain View, California 94043
+
+NOTE:
+
+SunOS, SunSoft, Sun, Solaris, Sun Microsystems or the Sun logo are
+trademarks or registered trademarks of Sun Microsystems, Inc.
+
+ */
+
+#ifndef _IDL_EXTERN_IDL_EXTERN_HH
+#define _IDL_EXTERN_IDL_EXTERN_HH
+
+// idl_extern.hh
+//
+// Global variables and functions for IDL compiler
+
+#include "fe_extern.h" // External API of FE
+#include "ast_extern.h" // External API of AST
+#include "nr_extern.h" // External API of NR
+#include "global_extern.h" // Global data
+
+#endif // _IDL_EXTERN_IDL_EXTERN_HH
diff --git a/TAO/TAO_IDL/include/idl_fwd.h b/TAO/TAO_IDL/include/idl_fwd.h
new file mode 100644
index 00000000000..5198f1bcae8
--- /dev/null
+++ b/TAO/TAO_IDL/include/idl_fwd.h
@@ -0,0 +1,148 @@
+// $Id$
+
+/*
+
+COPYRIGHT
+
+Copyright 1992, 1993, 1994 Sun Microsystems, Inc. Printed in the United
+States of America. All Rights Reserved.
+
+This product is protected by copyright and distributed under the following
+license restricting its use.
+
+The Interface Definition Language Compiler Front End (CFE) is made
+available for your use provided that you include this license and copyright
+notice on all media and documentation and the software program in which
+this product is incorporated in whole or part. You may copy and extend
+functionality (but may not remove functionality) of the Interface
+Definition Language CFE without charge, but you are not authorized to
+license or distribute it to anyone else except as part of a product or
+program developed by you or with the express written consent of Sun
+Microsystems, Inc. ("Sun").
+
+The names of Sun Microsystems, Inc. and any of its subsidiaries or
+affiliates may not be used in advertising or publicity pertaining to
+distribution of Interface Definition Language CFE as permitted herein.
+
+This license is effective until terminated by Sun for failure to comply
+with this license. Upon termination, you shall destroy or return all code
+and documentation for the Interface Definition Language CFE.
+
+INTERFACE DEFINITION LANGUAGE CFE IS PROVIDED AS IS WITH NO WARRANTIES OF
+ANY KIND INCLUDING THE WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS
+FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR ARISING FROM A COURSE OF
+DEALING, USAGE OR TRADE PRACTICE.
+
+INTERFACE DEFINITION LANGUAGE CFE IS PROVIDED WITH NO SUPPORT AND WITHOUT
+ANY OBLIGATION ON THE PART OF Sun OR ANY OF ITS SUBSIDIARIES OR AFFILIATES
+TO ASSIST IN ITS USE, CORRECTION, MODIFICATION OR ENHANCEMENT.
+
+SUN OR ANY OF ITS SUBSIDIARIES OR AFFILIATES SHALL HAVE NO LIABILITY WITH
+RESPECT TO THE INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY
+INTERFACE DEFINITION LANGUAGE CFE OR ANY PART THEREOF.
+
+IN NO EVENT WILL SUN OR ANY OF ITS SUBSIDIARIES OR AFFILIATES BE LIABLE FOR
+ANY LOST REVENUE OR PROFITS OR OTHER SPECIAL, INDIRECT AND CONSEQUENTIAL
+DAMAGES, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+Use, duplication, or disclosure by the government is subject to
+restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in
+Technical Data and Computer Software clause at DFARS 252.227-7013 and FAR
+52.227-19.
+
+Sun, Sun Microsystems and the Sun logo are trademarks or registered
+trademarks of Sun Microsystems, Inc.
+
+SunSoft, Inc.
+2550 Garcia Avenue
+Mountain View, California 94043
+
+NOTE:
+
+SunOS, SunSoft, Sun, Solaris, Sun Microsystems or the Sun logo are
+trademarks or registered trademarks of Sun Microsystems, Inc.
+
+ */
+
+#ifndef _IDL_FWD_IDL_FWD_HH
+#define _IDL_FWD_IDL_FWD_HH
+
+// idl_fwd.hh
+//
+// Forward declaration of all class names in CFE-BEs contract
+
+/*
+** DEPENDENCIES: NONE
+**
+** USE: Included from idl.hh
+*/
+
+// Class for global data representation:
+
+class IDL_GlobalData; // Global data is stored in an
+ // instance of this
+
+// Classes for utility of the IDL compiler:
+
+class UTL_ScopeStack; // Stack of scopes
+class UTL_Scope; // A definition scope (mixin)
+
+class UTL_LongList; // List of longs
+class UTL_StrList; // List of strings
+class UTL_StrlistActiveIterator; // Active iterator for list of strings
+class UTL_IdList; // List of identifiers
+class UTL_IdListActiveIterator; // Active iterator for list of id's
+class UTL_ExceptList; // List of exceptions
+class UTL_NameList; // List of scoped names
+class UTL_ExprList; // List of expressions
+class UTL_InterfList; // List of interfaces
+class UTL_LabelList; // List of union branch labels
+class UTL_DeclList; // List of declarators
+class UTL_String; // String class
+class UTL_Identifier; // Identifier class
+
+class UTL_Error; // Error class
+class UTL_Indenter; // Indenter class
+
+// Classes for utility of the FE. These classes are used only
+// by the FE but their forward declaration is needed because lists
+// of them are constructed by classes in UTL
+
+class FE_InterfaceHeader; // Interface header
+class FE_Declarator; // Declarator
+
+// Generator class for the AST
+
+class AST_Generator; // Generate nodes of various types
+
+// Classes for AST:
+
+class AST_Decl; // The rock bottom base class
+
+class AST_PredefinedType; // A predefined type
+class AST_Type; // An IDL type
+class AST_ConcreteType; // An IDL concrete type
+class AST_Module; // A module
+class AST_Root; // The root of an AST (a module)
+class AST_Interface; // An interface
+class AST_InterfaceFwd; // A forward interface decl
+class AST_Constant; // A constant declaration
+class AST_Expression; // Value of an expression
+class AST_Exception; // An exception declaration
+class AST_Attribute; // An attribute declaration
+class AST_Operation; // An operation declaration
+class AST_Argument; // An argument to an operation
+class AST_Union; // A union declaration
+class AST_UnionBranch; // A branch in a union
+class AST_UnionLabel; // A union branch label
+class AST_Structure; // A structure declaration
+class AST_Field; // A field in a structure or union
+class AST_Enum; // An enum declaration
+class AST_EnumVal; // An enumerator in an enum
+class AST_Sequence; // A sequence declaration
+class AST_String; // A string declaration
+class AST_Array; // An array declaration
+class AST_Typedef; // A typedef declaration
+class AST_Native; // A native declaration
+
+#endif // _IDL_FWD_IDL_FWD_HH
diff --git a/TAO/TAO_IDL/include/util.h b/TAO/TAO_IDL/include/util.h
new file mode 100644
index 00000000000..c8a35f0e685
--- /dev/null
+++ b/TAO/TAO_IDL/include/util.h
@@ -0,0 +1,84 @@
+// $Id$
+
+/*
+
+COPYRIGHT
+
+Copyright 1992, 1993, 1994 Sun Microsystems, Inc. Printed in the United
+States of America. All Rights Reserved.
+
+This product is protected by copyright and distributed under the following
+license restricting its use.
+
+The Interface Definition Language Compiler Front End (CFE) is made
+available for your use provided that you include this license and copyright
+notice on all media and documentation and the software program in which
+this product is incorporated in whole or part. You may copy and extend
+functionality (but may not remove functionality) of the Interface
+Definition Language CFE without charge, but you are not authorized to
+license or distribute it to anyone else except as part of a product or
+program developed by you or with the express written consent of Sun
+Microsystems, Inc. ("Sun").
+
+The names of Sun Microsystems, Inc. and any of its subsidiaries or
+affiliates may not be used in advertising or publicity pertaining to
+distribution of Interface Definition Language CFE as permitted herein.
+
+This license is effective until terminated by Sun for failure to comply
+with this license. Upon termination, you shall destroy or return all code
+and documentation for the Interface Definition Language CFE.
+
+INTERFACE DEFINITION LANGUAGE CFE IS PROVIDED AS IS WITH NO WARRANTIES OF
+ANY KIND INCLUDING THE WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS
+FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR ARISING FROM A COURSE OF
+DEALING, USAGE OR TRADE PRACTICE.
+
+INTERFACE DEFINITION LANGUAGE CFE IS PROVIDED WITH NO SUPPORT AND WITHOUT
+ANY OBLIGATION ON THE PART OF Sun OR ANY OF ITS SUBSIDIARIES OR AFFILIATES
+TO ASSIST IN ITS USE, CORRECTION, MODIFICATION OR ENHANCEMENT.
+
+SUN OR ANY OF ITS SUBSIDIARIES OR AFFILIATES SHALL HAVE NO LIABILITY WITH
+RESPECT TO THE INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY
+INTERFACE DEFINITION LANGUAGE CFE OR ANY PART THEREOF.
+
+IN NO EVENT WILL SUN OR ANY OF ITS SUBSIDIARIES OR AFFILIATES BE LIABLE FOR
+ANY LOST REVENUE OR PROFITS OR OTHER SPECIAL, INDIRECT AND CONSEQUENTIAL
+DAMAGES, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+Use, duplication, or disclosure by the government is subject to
+restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in
+Technical Data and Computer Software clause at DFARS 252.227-7013 and FAR
+52.227-19.
+
+Sun, Sun Microsystems and the Sun logo are trademarks or registered
+trademarks of Sun Microsystems, Inc.
+
+SunSoft, Inc.
+2550 Garcia Avenue
+Mountain View, California 94043
+
+NOTE:
+
+SunOS, SunSoft, Sun, Solaris, Sun Microsystems or the Sun logo are
+trademarks or registered trademarks of Sun Microsystems, Inc.
+
+ */
+
+#ifndef _UTIL_UTIL_HH
+#define _UTIL_UTIL_HH
+
+// util.hh - Includes commonly used things defined in the util directory
+
+#include "utl_stack.h" // class fe_stack
+#include "utl_exprlist.h" // class UTL_ExprList
+#include "utl_strlist.h" // class UTL_StrList
+#include "utl_idlist.h" // class UTL_IdList
+#include "utl_exceptlist.h" // class UTL_ExceptList
+#include "utl_namelist.h" // class UTL_NameList
+#include "utl_labellist.h" // class UTL_LabelList
+#include "utl_decllist.h" // class UTL_DeclList
+#include "idl_global.h" // Class IDL_GlobalData
+#include "utl_err.h" // class UTL_Error
+#include "utl_indenter.h" // class UTL_Indenter
+
+#endif // _UTIL_UTIL_HH
diff --git a/TAO/orbsvcs/IFR_Service/AbstractInterfaceDef_i.cpp b/TAO/orbsvcs/IFR_Service/AbstractInterfaceDef_i.cpp
new file mode 100644
index 00000000000..e572cb5d162
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/AbstractInterfaceDef_i.cpp
@@ -0,0 +1,56 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "AbstractInterfaceDef_i.h"
+#include "Repository_i.h"
+
+ACE_RCSID(IFR_Service, AbstractInterfaceDef_i, "$Id$")
+
+TAO_AbstractInterfaceDef_i::TAO_AbstractInterfaceDef_i (
+ TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key
+ )
+ : TAO_IRObject_i (repo, section_key),
+ TAO_Container_i (repo, section_key),
+ TAO_Contained_i (repo, section_key),
+ TAO_IDLType_i (repo, section_key),
+ TAO_InterfaceDef_i (repo, section_key)
+{
+}
+
+TAO_AbstractInterfaceDef_i::~TAO_AbstractInterfaceDef_i (void)
+{
+}
+
+CORBA::DefinitionKind
+TAO_AbstractInterfaceDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return CORBA::dk_AbstractInterface;
+}
+
+CORBA::Boolean
+TAO_AbstractInterfaceDef_i::is_a (const char *interface_id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->is_a_i (interface_id
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA::Boolean
+TAO_AbstractInterfaceDef_i::is_a_i (const char *interface_id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ if (ACE_OS::strcmp (interface_id, "IDL:omg.org/CORBA/AbstractBase:1.0") == 0)
+ {
+ return 1;
+ }
+
+ return this->TAO_InterfaceDef_i::is_a_i (interface_id
+ ACE_ENV_ARG_PARAMETER);
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/AbstractInterfaceDef_i.h b/TAO/orbsvcs/IFR_Service/AbstractInterfaceDef_i.h
new file mode 100644
index 00000000000..c70230831ec
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/AbstractInterfaceDef_i.h
@@ -0,0 +1,77 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// AbstractInterfaceDef_i.h
+//
+// = DESCRIPTION
+// AbstractInterfaceDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_ABSTRACTINTERFACEDEF_I_H
+#define TAO_ABSTRACTINTERFACEDEF_I_H
+
+#include "InterfaceDef_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_AbstractInterfaceDef_i : public virtual TAO_InterfaceDef_i
+{
+ // = TITLE
+ // TAO_AbstractInterfaceDef_i
+ //
+ // = DESCRIPTION
+ // Represents an abstract interface definition.
+ //
+public:
+ TAO_AbstractInterfaceDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_AbstractInterfaceDef_i (void);
+ // Destructor
+
+ virtual CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual CORBA::Boolean is_a (
+ const char *interface_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA::Boolean is_a_i (
+ const char *interface_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_ABSTRACTINTERFACEDEF_I_H */
+
+
diff --git a/TAO/orbsvcs/IFR_Service/AliasDef_i.cpp b/TAO/orbsvcs/IFR_Service/AliasDef_i.cpp
new file mode 100644
index 00000000000..9188ace6df3
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/AliasDef_i.cpp
@@ -0,0 +1,151 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "AliasDef_i.h"
+#include "Repository_i.h"
+#include "Servant_Factory.h"
+#include "ace/Auto_Ptr.h"
+
+ACE_RCSID(IFR_Service, AliasDef_i, "$Id$")
+
+TAO_AliasDef_i::TAO_AliasDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key)
+ : TAO_IRObject_i (repo, section_key),
+ TAO_Contained_i (repo, section_key),
+ TAO_IDLType_i (repo, section_key),
+ TAO_TypedefDef_i (repo, section_key)
+{
+}
+
+TAO_AliasDef_i::~TAO_AliasDef_i (void)
+{
+}
+
+CORBA::DefinitionKind
+TAO_AliasDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return CORBA::dk_Alias;
+}
+
+CORBA::TypeCode_ptr
+TAO_AliasDef_i::type (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (CORBA::TypeCode::_nil ());
+
+ return this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA::TypeCode_ptr
+TAO_AliasDef_i::type_i (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString id;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "id",
+ id);
+
+ ACE_TString name;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "name",
+ name);
+
+ ACE_TString original_type;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "original_type",
+ original_type);
+
+ ACE_Configuration_Section_Key ot_key;
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ original_type,
+ ot_key,
+ 0);
+
+ TAO_IDLType_i *impl =
+ this->repo_->servant_factory ()->create_idltype (ot_key
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ auto_ptr<TAO_IDLType_i> safety (impl);
+
+ CORBA::TypeCode_var tc = impl->type_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ return this->repo_->tc_factory ()->create_alias_tc (id.c_str (),
+ name.c_str (),
+ tc.in ()
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA_IDLType_ptr
+TAO_AliasDef_i::original_type_def (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (CORBA_IDLType::_nil ());
+
+ return this->original_type_def_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA_IDLType_ptr
+TAO_AliasDef_i::original_type_def_i (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString original_type;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "original_type",
+ original_type);
+
+ ACE_Configuration_Section_Key ot_key;
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ original_type,
+ ot_key,
+ 0);
+
+ u_int kind = 0;
+ this->repo_->config ()->get_integer_value (ot_key,
+ "def_kind",
+ kind);
+
+ CORBA::DefinitionKind def_kind =
+ ACE_static_cast (CORBA::DefinitionKind, kind);
+
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (def_kind,
+ original_type.c_str ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_IDLType::_nil ());
+
+ return CORBA_IDLType::_narrow (obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_AliasDef_i::original_type_def (CORBA_IDLType_ptr original_type_def
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->original_type_def_i (original_type_def
+ ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_AliasDef_i::original_type_def_i (CORBA_IDLType_ptr original_type_def
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (original_type_def
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ CORBA::String_var original_type =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ this->repo_->config ()->set_string_value (this->section_key_,
+ "original_type",
+ original_type.in ());
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/AliasDef_i.h b/TAO/orbsvcs/IFR_Service/AliasDef_i.h
new file mode 100644
index 00000000000..e28db7455e2
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/AliasDef_i.h
@@ -0,0 +1,99 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// AliasDef_i.h
+//
+// = DESCRIPTION
+// AliasDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_ALIASDEF_I_H
+#define TAO_ALIASDEF_I_H
+
+#include "TypedefDef_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_AliasDef_i : public virtual TAO_TypedefDef_i
+{
+public:
+ // = TITLE
+ // TAO_AliasDef_i
+ //
+ // = DESCRIPTION
+ // Represents an OMG IDL typedef that aliases another definition.
+ //
+public:
+ TAO_AliasDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_AliasDef_i (void);
+ // Destructor
+
+ virtual CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual CORBA::TypeCode_ptr type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From IDLType_i's pure virtual function.
+
+ virtual CORBA::TypeCode_ptr type_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From IDLType_i's pure virtual function.
+
+ virtual CORBA_IDLType_ptr original_type_def (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_IDLType_ptr original_type_def_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void original_type_def (
+ CORBA_IDLType_ptr original_type_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void original_type_def_i (
+ CORBA_IDLType_ptr original_type_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_ALIASDEF_I_H */
+
diff --git a/TAO/orbsvcs/IFR_Service/ArrayDef_i.cpp b/TAO/orbsvcs/IFR_Service/ArrayDef_i.cpp
new file mode 100644
index 00000000000..eb2709dbf92
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/ArrayDef_i.cpp
@@ -0,0 +1,283 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "ArrayDef_i.h"
+#include "Repository_i.h"
+#include "Servant_Factory.h"
+#include "ace/Auto_Ptr.h"
+
+ACE_RCSID(IFR_Service, ArrayDef_i, "$Id$")
+
+TAO_ArrayDef_i::TAO_ArrayDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key)
+ : TAO_IRObject_i (repo, section_key),
+ TAO_IDLType_i (repo, section_key)
+{
+}
+
+TAO_ArrayDef_i::~TAO_ArrayDef_i (void)
+{
+}
+
+CORBA::DefinitionKind
+TAO_ArrayDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return CORBA::dk_Array;
+}
+
+void
+TAO_ArrayDef_i::destroy (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+void
+TAO_ArrayDef_i::destroy_i (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Only if it is (w)string, fixed, array or sequence.
+ this->destroy_element_type (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ ACE_TString name;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "name",
+ name);
+
+ this->repo_->config ()->remove_section (this->repo_->arrays_key (),
+ name.c_str (),
+ 0);
+}
+
+CORBA::TypeCode_ptr
+TAO_ArrayDef_i::type (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (CORBA::TypeCode::_nil ());
+
+ return this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA::TypeCode_ptr
+TAO_ArrayDef_i::type_i (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA::TypeCode_var element_typecode =
+ this->element_type_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ CORBA::ULong length = this->length_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ return this->repo_->tc_factory ()->create_array_tc (
+ length,
+ element_typecode.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+CORBA::ULong
+TAO_ArrayDef_i::length (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->length_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA::ULong
+TAO_ArrayDef_i::length_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ u_int length = 0;
+ this->repo_->config ()->get_integer_value (this->section_key_,
+ "length",
+ length);
+
+ return ACE_static_cast (CORBA::ULong, length);
+}
+
+void
+TAO_ArrayDef_i::length (CORBA::ULong length
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->length_i (length
+ ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ArrayDef_i::length_i (CORBA::ULong length
+ ACE_ENV_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ this->repo_->config ()->set_integer_value (this->section_key_,
+ "length",
+ length);
+}
+
+CORBA::TypeCode_ptr
+TAO_ArrayDef_i::element_type (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (CORBA::TypeCode::_nil ());
+
+ return this->element_type_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA::TypeCode_ptr
+TAO_ArrayDef_i::element_type_i (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString element_path;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "element_path",
+ element_path);
+
+ ACE_Configuration_Section_Key element_key;
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ element_path,
+ element_key,
+ 0);
+
+ TAO_IDLType_i *impl =
+ this->repo_->servant_factory ()->create_idltype (element_key
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ auto_ptr<TAO_IDLType_i> safety (impl);
+
+ return impl->type_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA_IDLType_ptr
+TAO_ArrayDef_i::element_type_def (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (CORBA_IDLType::_nil ());
+
+ return this->element_type_def_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA_IDLType_ptr
+TAO_ArrayDef_i::element_type_def_i (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString element_path;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "element_path",
+ element_path);
+
+ ACE_Configuration_Section_Key element_key;
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ element_path,
+ element_key,
+ 0);
+
+ u_int kind = 0;
+ this->repo_->config ()->get_integer_value (element_key,
+ "def_kind",
+ kind);
+
+ CORBA::DefinitionKind def_kind =
+ ACE_static_cast (CORBA::DefinitionKind, kind);
+
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (def_kind,
+ element_path.c_str ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_IDLType::_nil ());
+
+ return CORBA_IDLType::_narrow (obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ArrayDef_i::element_type_def (CORBA_IDLType_ptr element_type_def
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->element_type_def_i (element_type_def
+ ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ArrayDef_i::element_type_def_i (CORBA_IDLType_ptr element_type_def
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ this->destroy_element_type (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (element_type_def
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ CORBA::String_var new_element_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ this->repo_->config ()->set_string_value (this->section_key_,
+ "element_path",
+ new_element_path.in ());
+}
+
+void
+TAO_ArrayDef_i::destroy_element_type (
+ ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString element_path;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "element_path",
+ element_path);
+
+ ACE_Configuration_Section_Key element_key;
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ element_path,
+ element_key,
+ 0);
+
+ u_int kind = 0;
+ this->repo_->config ()->get_integer_value (element_key,
+ "def_kind",
+ kind);
+
+ CORBA::DefinitionKind def_kind =
+ ACE_static_cast (CORBA::DefinitionKind, kind);
+
+ switch (def_kind)
+ {
+ // These exist only as our elements, so the type should
+ // be destroyed when we are destroyed or our element type
+ // is mutated.
+ case CORBA::dk_String:
+ case CORBA::dk_Wstring:
+ case CORBA::dk_Fixed:
+ case CORBA::dk_Array:
+ case CORBA::dk_Sequence:
+ {
+ TAO_IDLType_i *impl =
+ this->repo_->servant_factory ()->create_idltype (element_key
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ auto_ptr<TAO_IDLType_i> safety (impl);
+
+ impl->destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+ break;
+ }
+ default:
+ break;
+ }
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/ArrayDef_i.h b/TAO/orbsvcs/IFR_Service/ArrayDef_i.h
new file mode 100644
index 00000000000..5323355564c
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/ArrayDef_i.h
@@ -0,0 +1,146 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// ArrayDef_i.h
+//
+// = DESCRIPTION
+// ArrayDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_ARRAYDEF_I_H
+#define TAO_ARRAYDEF_I_H
+
+#include "IDLType_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_ArrayDef_i : public virtual TAO_IDLType_i
+{
+ // = TITLE
+ // TAO_ArrayDef_i
+ //
+ // = DESCRIPTION
+ // Represents an IDL array type.
+ //
+public:
+ TAO_ArrayDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_ArrayDef_i (void);
+ // Destructor
+
+ virtual CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Remove the repository entry.
+
+ virtual void destroy_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::TypeCode_ptr type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::TypeCode_ptr type_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::ULong length (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA::ULong length_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void length (
+ CORBA::ULong length
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void length_i (
+ CORBA::ULong length
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::TypeCode_ptr element_type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA::TypeCode_ptr element_type_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_IDLType_ptr element_type_def (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_IDLType_ptr element_type_def_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void element_type_def (
+ CORBA_IDLType_ptr element_type_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void element_type_def_i (
+ CORBA_IDLType_ptr element_type_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+private:
+ void destroy_element_type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Destroys an anonymous non-primitive element type.
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_ARRAYDEF_I_H */
+
diff --git a/TAO/orbsvcs/IFR_Service/AttributeDef_i.cpp b/TAO/orbsvcs/IFR_Service/AttributeDef_i.cpp
new file mode 100644
index 00000000000..4bf09e2fcf8
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/AttributeDef_i.cpp
@@ -0,0 +1,572 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "AttributeDef_i.h"
+#include "Repository_i.h"
+#include "IDLType_i.h"
+#include "ExceptionDef_i.h"
+#include "Servant_Factory.h"
+#include "ace/Auto_Ptr.h"
+
+ACE_RCSID(IFR_Service, AttributeDef_i, "$Id$")
+
+TAO_AttributeDef_i::TAO_AttributeDef_i (
+ TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key
+ )
+ : TAO_IRObject_i (repo, section_key),
+ TAO_Contained_i (repo, section_key)
+{
+}
+
+TAO_AttributeDef_i::~TAO_AttributeDef_i (void)
+{
+}
+
+CORBA::DefinitionKind
+TAO_AttributeDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return CORBA::dk_Attribute;
+}
+
+CORBA_Contained::Description *
+TAO_AttributeDef_i::describe (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->describe_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA_Contained::Description *
+TAO_AttributeDef_i::describe_i (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA_Contained::Description *desc_ptr = 0;
+ ACE_NEW_THROW_EX (desc_ptr,
+ CORBA_Contained::Description,
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ CORBA_Contained::Description_var retval = desc_ptr;
+
+ retval->kind = this->def_kind (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ retval->value <<= this->make_description (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return retval._retn ();
+}
+
+CORBA::TypeCode_ptr
+TAO_AttributeDef_i::type (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (CORBA::TypeCode::_nil ());
+
+ return this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA::TypeCode_ptr
+TAO_AttributeDef_i::type_i (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString type_path;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "type_path",
+ type_path);
+
+ ACE_Configuration_Section_Key type_key;
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ type_path,
+ type_key,
+ 0);
+
+ TAO_IDLType_i *impl =
+ this->repo_->servant_factory ()->create_idltype (type_key
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ auto_ptr<TAO_IDLType_i> safety (impl);
+
+ return impl->type_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA_IDLType_ptr
+TAO_AttributeDef_i::type_def (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (CORBA_IDLType::_nil ());
+
+ return this->type_def_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA_IDLType_ptr
+TAO_AttributeDef_i::type_def_i (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString type_path;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "type_path",
+ type_path);
+
+ ACE_Configuration_Section_Key type_key;
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ type_path,
+ type_key,
+ 0);
+
+ u_int kind = 0;
+ this->repo_->config ()->get_integer_value (type_key,
+ "def_kind",
+ kind);
+
+ CORBA::DefinitionKind def_kind =
+ ACE_static_cast (CORBA::DefinitionKind, kind);
+
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (def_kind,
+ type_path.c_str ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_IDLType::_nil ());
+
+ CORBA_IDLType_var retval = CORBA_IDLType::_narrow (obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_IDLType::_nil ());
+
+ return retval._retn ();
+}
+
+void
+TAO_AttributeDef_i::type_def (CORBA_IDLType_ptr type_def
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->type_def_i (type_def
+ ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_AttributeDef_i::type_def_i (CORBA_IDLType_ptr type_def
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (type_def
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ CORBA::String_var type_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ this->repo_->config ()->set_string_value (this->section_key_,
+ "type_path",
+ type_path.in ());
+}
+
+CORBA::AttributeMode
+TAO_AttributeDef_i::mode (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (CORBA::ATTR_NORMAL);
+
+ return this->mode_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA::AttributeMode
+TAO_AttributeDef_i::mode_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ u_int mode = 0;
+ this->repo_->config ()->get_integer_value (this->section_key_,
+ "mode",
+ mode);
+
+ return ACE_static_cast (CORBA::AttributeMode, mode);
+}
+
+void
+TAO_AttributeDef_i::mode (CORBA::AttributeMode mode
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->mode_i (mode
+ ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_AttributeDef_i::mode_i (CORBA::AttributeMode mode
+ ACE_ENV_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ this->repo_->config ()->set_integer_value (this->section_key_,
+ "mode",
+ mode);
+}
+
+CORBA_AttributeDescription
+TAO_AttributeDef_i::make_description (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA_AttributeDescription ad;
+
+ ad.name = this->name_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (ad);
+
+ ad.id = this->id_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (ad);
+
+ ACE_TString container_id;
+
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "container_id",
+ container_id);
+
+ ad.defined_in = container_id.c_str ();
+
+ ad.version = this->version_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (ad);
+
+ ad.type = this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (ad);
+
+ ad.mode = this->mode_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (ad);
+/*
+ ACE_Unbounded_Queue<ACE_Configuration_Section_Key> key_queue;
+ int index = 0;
+ int status;
+ ACE_Configuration::VALUETYPE type;
+ ACE_TString field_name;
+ CORBA::ULong i = 0;
+
+ // 'get' exceptions
+
+ ACE_Configuration_Section_Key get_excepts_key;
+ status =
+ this->repo_->config ()->open_section (this->section_key_,
+ "get_excepts",
+ 0,
+ get_excepts_key);
+
+ // This section may not have been created.
+ if (status == 0)
+ {
+ while (this->repo_->config ()->enumerate_values (get_excepts_key,
+ index,
+ field_name,
+ type)
+ == 0)
+ {
+ ACE_TString get_except_path;
+ this->repo_->config ()->get_string_value (get_excepts_key,
+ field_name.c_str (),
+ get_except_path);
+
+ ACE_Configuration_Section_Key get_except_key;
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ get_except_path,
+ get_except_key,
+ 0);
+
+ key_queue.enqueue_tail (get_except_key);
+ ++index;
+ }
+ }
+
+ CORBA_ExcDescriptionSeq get_ed_seq (index);
+ get_ed_seq.length (index);
+
+ for (i = 0; i < (CORBA::ULong) index; ++i)
+ {
+ ACE_Configuration_Section_Key key;
+ key_queue.dequeue_head (key);
+
+ CORBA_ExceptionDescription get_ed;
+
+ ACE_TString name;
+ this->repo_->config ()->get_string_value (key,
+ "name",
+ name);
+
+ get_ed.name = name.c_str ();
+
+ ACE_TString id;
+ this->repo_->config ()->get_string_value (key,
+ "id",
+ id);
+
+ get_ed.id = id.c_str ();
+
+ ACE_TString container_id;
+ this->repo_->config ()->get_string_value (key,
+ "container_id",
+ container_id);
+
+ get_ed.defined_in = container_id.c_str ();
+
+ ACE_TString version;
+ this->repo_->config ()->get_string_value (key,
+ "version",
+ version);
+
+ get_ed.version = version.c_str ();
+
+ TAO_ExceptionDef_i impl (this->repo_,
+ key);
+
+ get_ed.type = impl.type_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (ad);
+
+ get_ed_seq[i] = get_ed;
+ }
+
+ ad.get_exceptions = get_ed_seq;
+ index = 0;
+
+ // 'put' exceptions
+
+ ACE_Configuration_Section_Key put_excepts_key;
+ status =
+ this->repo_->config ()->open_section (this->section_key_,
+ "put_excepts",
+ 0,
+ put_excepts_key);
+
+ // This section may not have been created.
+ if (status == 0)
+ {
+ while (this->repo_->config ()->enumerate_values (put_excepts_key,
+ index,
+ field_name,
+ type)
+ == 0)
+ {
+ ACE_TString put_except_path;
+ this->repo_->config ()->get_string_value (put_excepts_key,
+ field_name.c_str (),
+ put_except_path);
+
+ ACE_Configuration_Section_Key put_except_key;
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ put_except_path,
+ put_except_key,
+ 0);
+
+ key_queue.enqueue_tail (put_except_key);
+ ++index;
+ }
+ }
+
+ CORBA_ExcDescriptionSeq put_ed_seq (index);
+ put_ed_seq.length (index);
+
+ for (i = 0; i < (CORBA::ULong) index; ++i)
+ {
+ ACE_Configuration_Section_Key key;
+ key_queue.dequeue_head (key);
+
+ CORBA_ExceptionDescription put_ed;
+
+ ACE_TString name;
+ this->repo_->config ()->get_string_value (key,
+ "name",
+ name);
+
+ put_ed.name = name.c_str ();
+
+ ACE_TString id;
+ this->repo_->config ()->get_string_value (key,
+ "id",
+ id);
+
+ put_ed.id = id.c_str ();
+
+ ACE_TString container_id;
+ this->repo_->config ()->get_string_value (key,
+ "container_id",
+ container_id);
+
+ put_ed.defined_in = container_id.c_str ();
+
+ ACE_TString version;
+ this->repo_->config ()->get_string_value (key,
+ "version",
+ version);
+
+ put_ed.version = version.c_str ();
+
+ TAO_ExceptionDef_i impl (this->repo_,
+ key);
+
+ put_ed.type = impl.type_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (ad);
+
+ put_ed_seq[i] = put_ed;
+ }
+
+ ad.put_exceptions = put_ed_seq;
+*/
+ return ad;
+}
+
+CORBA_ExceptionDefSeq *
+TAO_AttributeDef_i::get_exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_Unbounded_Queue<ACE_TString> path_queue;
+ int index = 0;
+ ACE_Configuration::VALUETYPE type;
+ ACE_TString field_name;
+
+ ACE_Configuration_Section_Key get_excepts_key;
+ int status =
+ this->repo_->config ()->open_section (this->section_key_,
+ "get_excepts",
+ 0,
+ get_excepts_key);
+
+ // This section may not have been created.
+ if (status == 0)
+ {
+ ACE_TString get_except_path;
+ ACE_Configuration_Section_Key dummy;
+
+ while (this->repo_->config ()->enumerate_values (get_excepts_key,
+ index++,
+ field_name,
+ type)
+ == 0)
+ {
+ this->repo_->config ()->get_string_value (get_excepts_key,
+ field_name.c_str (),
+ get_except_path);
+
+ // This exception may have been destroyed
+ status =
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ get_except_path,
+ dummy,
+ 0);
+
+ if (status == 0)
+ {
+ path_queue.enqueue_tail (get_except_path);
+ }
+ }
+ }
+
+ size_t size = path_queue.size ();
+
+ CORBA_ExceptionDefSeq *get_ed_seq = 0;
+ ACE_NEW_THROW_EX (get_ed_seq,
+ CORBA_ExceptionDefSeq (size),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ get_ed_seq->length (size);
+
+ CORBA_ExceptionDefSeq_var retval = get_ed_seq;
+
+ for (CORBA::ULong i = 0; i < size; ++i)
+ {
+ ACE_TString path;
+ path_queue.dequeue_head (path);
+
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (CORBA::dk_Exception,
+ path.c_str ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ retval[i] = CORBA_ExceptionDef::_narrow (obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+ }
+
+ return retval._retn ();
+}
+
+CORBA_ExceptionDefSeq *
+TAO_AttributeDef_i::put_exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_Unbounded_Queue<ACE_TString> path_queue;
+ int index = 0;
+ ACE_Configuration::VALUETYPE type;
+ ACE_TString field_name;
+
+ ACE_Configuration_Section_Key put_excepts_key;
+ int status =
+ this->repo_->config ()->open_section (this->section_key_,
+ "put_excepts",
+ 0,
+ put_excepts_key);
+
+ // This section may not have been created.
+ if (status == 0)
+ {
+ ACE_TString put_except_path;
+ ACE_Configuration_Section_Key dummy;
+
+ while (this->repo_->config ()->enumerate_values (put_excepts_key,
+ index++,
+ field_name,
+ type)
+ == 0)
+ {
+ this->repo_->config ()->get_string_value (put_excepts_key,
+ field_name.c_str (),
+ put_except_path);
+
+ // This exception may have been destroyed
+ status =
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ put_except_path,
+ dummy,
+ 0);
+
+ if (status == 0)
+ {
+ path_queue.enqueue_tail (put_except_path);
+ }
+ }
+ }
+
+ size_t size = path_queue.size ();
+
+ CORBA_ExceptionDefSeq *put_ed_seq = 0;
+ ACE_NEW_THROW_EX (put_ed_seq,
+ CORBA_ExceptionDefSeq (size),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ put_ed_seq->length (size);
+
+ CORBA_ExceptionDefSeq_var retval = put_ed_seq;
+
+ for (CORBA::ULong i = 0; i < size; ++i)
+ {
+ ACE_TString path;
+ path_queue.dequeue_head (path);
+
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (CORBA::dk_Exception,
+ path.c_str ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ retval[i] = CORBA_ExceptionDef::_narrow (obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+ }
+
+ return retval._retn ();
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/AttributeDef_i.h b/TAO/orbsvcs/IFR_Service/AttributeDef_i.h
new file mode 100644
index 00000000000..dba8eb077c1
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/AttributeDef_i.h
@@ -0,0 +1,149 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// AttributeDef_i.h
+//
+// = DESCRIPTION
+// AttributeDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_ATTRIBUTEDEF_I_H
+#define TAO_ATTRIBUTEDEF_I_H
+
+#include "Contained_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_AttributeDef_i : public virtual TAO_Contained_i
+{
+ // = TITLE
+ // TAO_AttributeDef_i
+ //
+ // = DESCRIPTION
+ // Represents the information that describes an attribute
+ // of an interface.
+ //
+public:
+ TAO_AttributeDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_AttributeDef_i (void);
+ // Destructor
+
+ virtual CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual CORBA_Contained::Description *describe (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+
+ virtual CORBA_Contained::Description *describe_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+
+ virtual CORBA::TypeCode_ptr type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA::TypeCode_ptr type_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_IDLType_ptr type_def (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_IDLType_ptr type_def_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void type_def (
+ CORBA_IDLType_ptr type_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void type_def_i (
+ CORBA_IDLType_ptr type_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::AttributeMode mode (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA::AttributeMode mode_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void mode (
+ CORBA::AttributeMode mode
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void mode_i (
+ CORBA::AttributeMode mode
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_AttributeDescription make_description (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Common code for InterfaceDef to call in
+ // making its own description.
+
+ // These two are called by Contained::move().
+ CORBA_ExceptionDefSeq *get_exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_ExceptionDefSeq *put_exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_ATTRIBUTEDEF_I_H */
+
diff --git a/TAO/orbsvcs/IFR_Service/ComponentDef_i.cpp b/TAO/orbsvcs/IFR_Service/ComponentDef_i.cpp
new file mode 100644
index 00000000000..404cbceb9d2
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/ComponentDef_i.cpp
@@ -0,0 +1,383 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "Repository_i.h"
+#include "ComponentDef_i.h"
+
+ACE_RCSID(IFR_Service, ComponentDef_i, "$Id$")
+
+TAO_ComponentDef_i::TAO_ComponentDef_i (
+ TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key
+ )
+ : TAO_IRObject_i (repo, section_key),
+ TAO_Container_i (repo, section_key),
+ TAO_Contained_i (repo, section_key),
+ TAO_IDLType_i (repo, section_key),
+ TAO_InterfaceDef_i (repo, section_key)
+{
+}
+
+TAO_ComponentDef_i::~TAO_ComponentDef_i (void)
+{
+}
+
+CORBA::DefinitionKind
+TAO_ComponentDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return CORBA::dk_Component;
+}
+
+void
+TAO_ComponentDef_i::destroy (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+void
+TAO_ComponentDef_i::destroy_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+}
+
+CORBA_Contained::Description *
+TAO_ComponentDef_i::describe (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->describe_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA_Contained::Description *
+TAO_ComponentDef_i::describe_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+CORBA::TypeCode_ptr
+TAO_ComponentDef_i::type (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (CORBA::TypeCode::_nil ());
+
+ return this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA::TypeCode_ptr
+TAO_ComponentDef_i::type_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+CORBA_InterfaceDefSeq *
+TAO_ComponentDef_i::supported_interfaces (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->supported_interfaces_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA_InterfaceDefSeq *
+TAO_ComponentDef_i::supported_interfaces_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+void
+TAO_ComponentDef_i::supported_interfaces (
+ const CORBA_InterfaceDefSeq &supported_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->supported_interfaces_i (supported_interfaces
+ ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ComponentDef_i::supported_interfaces_i (
+ const CORBA_InterfaceDefSeq & /* supported_interfaces */
+ ACE_ENV_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+}
+
+IR::ComponentDef_ptr
+TAO_ComponentDef_i::base_component (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (IR::ComponentDef::_nil ());
+
+ return this->base_component_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+IR::ComponentDef_ptr
+TAO_ComponentDef_i::base_component_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+IR::ProvidesDefSeq *
+TAO_ComponentDef_i::provides_interfaces (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->provides_interfaces_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+IR::ProvidesDefSeq *
+TAO_ComponentDef_i::provides_interfaces_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+IR::UsesDefSeq *
+TAO_ComponentDef_i::uses_interfaces (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->uses_interfaces_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+IR::UsesDefSeq *
+TAO_ComponentDef_i::uses_interfaces_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+IR::EmitsDefSeq *
+TAO_ComponentDef_i::emits_events (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->emits_events_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+IR::EmitsDefSeq *
+TAO_ComponentDef_i::emits_events_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+IR::PublishesDefSeq *
+TAO_ComponentDef_i::publishes_events (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->publishes_events_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+IR::PublishesDefSeq *
+TAO_ComponentDef_i::publishes_events_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+IR::ConsumesDefSeq *
+TAO_ComponentDef_i::consumes_events (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->consumes_events_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+IR::ConsumesDefSeq *
+TAO_ComponentDef_i::consumes_events_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+CORBA::Boolean
+TAO_ComponentDef_i::is_basic (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+IR::ProvidesDef_ptr
+TAO_ComponentDef_i::create_provides (
+ const char *id,
+ const char *name,
+ const char *version,
+ CORBA_InterfaceDef_ptr interface_type
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD_RETURN (IR::ProvidesDef::_nil ());
+
+ return this->create_provides_i (id,
+ name,
+ version,
+ interface_type
+ ACE_ENV_ARG_PARAMETER);
+}
+
+IR::ProvidesDef_ptr
+TAO_ComponentDef_i::create_provides_i (
+ const char * /* id */,
+ const char * /* name */,
+ const char * /* version */,
+ CORBA_InterfaceDef_ptr /* interface_type */
+ ACE_ENV_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+IR::UsesDef_ptr
+TAO_ComponentDef_i::create_uses (const char *id,
+ const char *name,
+ const char *version,
+ CORBA_InterfaceDef_ptr interface_type,
+ CORBA::Boolean is_multiple
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD_RETURN (IR::UsesDef::_nil ());
+
+ return this->create_uses_i (id,
+ name,
+ version,
+ interface_type,
+ is_multiple
+ ACE_ENV_ARG_PARAMETER);
+}
+
+IR::UsesDef_ptr
+TAO_ComponentDef_i::create_uses_i (const char * /* id */,
+ const char * /* name */,
+ const char * /* version */,
+ CORBA_InterfaceDef_ptr /* interface_type */,
+ CORBA::Boolean /* is_multiple */
+ ACE_ENV_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+IR::EmitsDef_ptr
+TAO_ComponentDef_i::create_emits (const char *id,
+ const char *name,
+ const char *version,
+ CORBA_ValueDef_ptr value
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD_RETURN (IR::EmitsDef::_nil ());
+
+ return this->create_emits_i (id,
+ name,
+ version,
+ value
+ ACE_ENV_ARG_PARAMETER);
+}
+
+IR::EmitsDef_ptr
+TAO_ComponentDef_i::create_emits_i (const char * /* id */,
+ const char * /* name */,
+ const char * /* version */,
+ CORBA_ValueDef_ptr /* value */
+ ACE_ENV_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+IR::PublishesDef_ptr
+TAO_ComponentDef_i::create_publishes (const char *id,
+ const char *name,
+ const char *version,
+ CORBA_ValueDef_ptr value
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD_RETURN (IR::PublishesDef::_nil ());
+
+ return this->create_publishes_i (id,
+ name,
+ version,
+ value
+ ACE_ENV_ARG_PARAMETER);
+}
+
+IR::PublishesDef_ptr
+TAO_ComponentDef_i::create_publishes_i (const char * /* id */,
+ const char * /* name */,
+ const char * /* version */,
+ CORBA_ValueDef_ptr /* value */
+ ACE_ENV_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+IR::ConsumesDef_ptr
+TAO_ComponentDef_i::create_consumes (const char *id,
+ const char *name,
+ const char *version,
+ CORBA_ValueDef_ptr value
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD_RETURN (IR::ConsumesDef::_nil ());
+
+ return this->create_consumes_i (id,
+ name,
+ version,
+ value
+ ACE_ENV_ARG_PARAMETER);
+}
+
+IR::ConsumesDef_ptr
+TAO_ComponentDef_i::create_consumes_i (const char * /* id */,
+ const char * /* name */,
+ const char * /* version */,
+ CORBA_ValueDef_ptr /* value */
+ ACE_ENV_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/ComponentDef_i.h b/TAO/orbsvcs/IFR_Service/ComponentDef_i.h
new file mode 100644
index 00000000000..cd67aca14c1
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/ComponentDef_i.h
@@ -0,0 +1,287 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// ComponentDef_i.h
+//
+// = DESCRIPTION
+// ComponentDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_COMPONENTDEF_I_H
+#define TAO_COMPONENTDEF_I_H
+
+#include "InterfaceDef_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "IFR_ComponentsS.h"
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_ComponentDef_i : public virtual TAO_InterfaceDef_i
+{
+ // = TITLE
+ // TAO_ComponentDef_i
+ //
+ // = DESCRIPTION
+ // Represents a component definition.
+ //
+public:
+ TAO_ComponentDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_ComponentDef_i (void);
+ // Destructor
+
+ virtual CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Remove the repository entry.
+
+ virtual void destroy_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Remove the repository entry.
+
+ virtual CORBA_Contained::Description *describe (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+
+ virtual CORBA_Contained::Description *describe_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+
+ virtual CORBA::TypeCode_ptr type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From IDLType_i's pure virtual function.
+
+ virtual CORBA::TypeCode_ptr type_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From IDLType_i's pure virtual function.
+
+ virtual CORBA_InterfaceDefSeq *supported_interfaces (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_InterfaceDefSeq *supported_interfaces_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void supported_interfaces (
+ const CORBA_InterfaceDefSeq &supported_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void supported_interfaces_i (
+ const CORBA_InterfaceDefSeq &supported_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::ComponentDef_ptr base_component (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ IR::ComponentDef_ptr base_component_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::ProvidesDefSeq *provides_interfaces (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ IR::ProvidesDefSeq *provides_interfaces_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::UsesDefSeq *uses_interfaces (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ IR::UsesDefSeq *uses_interfaces_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::EmitsDefSeq *emits_events (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ IR::EmitsDefSeq *emits_events_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::PublishesDefSeq *publishes_events (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ IR::PublishesDefSeq *publishes_events_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::ConsumesDefSeq *consumes_events (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ IR::ConsumesDefSeq *consumes_events_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean is_basic (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA::Boolean is_basic_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::ProvidesDef_ptr create_provides (
+ const char *id,
+ const char *name,
+ const char *version,
+ CORBA_InterfaceDef_ptr interface_type
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ IR::ProvidesDef_ptr create_provides_i (
+ const char *id,
+ const char *name,
+ const char *version,
+ CORBA_InterfaceDef_ptr interface_type
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::UsesDef_ptr create_uses (
+ const char *id,
+ const char *name,
+ const char *version,
+ CORBA_InterfaceDef_ptr interface_type,
+ CORBA::Boolean is_multiple
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ IR::UsesDef_ptr create_uses_i (
+ const char *id,
+ const char *name,
+ const char *version,
+ CORBA_InterfaceDef_ptr interface_type,
+ CORBA::Boolean is_multiple
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::EmitsDef_ptr create_emits (
+ const char *id,
+ const char *name,
+ const char *version,
+ CORBA_ValueDef_ptr value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ IR::EmitsDef_ptr create_emits_i (
+ const char *id,
+ const char *name,
+ const char *version,
+ CORBA_ValueDef_ptr value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::PublishesDef_ptr create_publishes (
+ const char *id,
+ const char *name,
+ const char *version,
+ CORBA_ValueDef_ptr value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ IR::PublishesDef_ptr create_publishes_i (
+ const char *id,
+ const char *name,
+ const char *version,
+ CORBA_ValueDef_ptr value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::ConsumesDef_ptr create_consumes (
+ const char *id,
+ const char *name,
+ const char *version,
+ CORBA_ValueDef_ptr value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ IR::ConsumesDef_ptr create_consumes_i (
+ const char *id,
+ const char *name,
+ const char *version,
+ CORBA_ValueDef_ptr value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_COMPONENTDEF_I_H */
+
+
diff --git a/TAO/orbsvcs/IFR_Service/ComponentRepository_i.cpp b/TAO/orbsvcs/IFR_Service/ComponentRepository_i.cpp
new file mode 100644
index 00000000000..cbaeaae6da6
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/ComponentRepository_i.cpp
@@ -0,0 +1,97 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "ComponentRepository_i.h"
+
+ACE_RCSID(IFR_Service, ComponentRepository_i, "$Id$")
+
+TAO_ComponentRepository_i::TAO_ComponentRepository_i (
+ CORBA::ORB_ptr orb,
+ PortableServer::POA_ptr poa,
+ ACE_Configuration *config
+ )
+ : TAO_IRObject_i (0, ACE_Configuration_Section_Key ()),
+ TAO_Container_i (0, ACE_Configuration_Section_Key ()),
+ TAO_Repository_i (orb, poa, config)
+{
+}
+
+TAO_ComponentRepository_i::~TAO_ComponentRepository_i (void)
+{
+}
+
+IR::ComponentDef_ptr
+TAO_ComponentRepository_i::create_component (
+ const char *id,
+ const char *name,
+ const char *version,
+ IR::ComponentDef_ptr base_component,
+ const CORBA_InterfaceDefSeq & supports_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD_RETURN (IR::ComponentDef::_nil ());
+
+ return this->create_component_i (id,
+ name,
+ version,
+ base_component,
+ supports_interfaces
+ ACE_ENV_ARG_PARAMETER);
+}
+
+IR::ComponentDef_ptr
+TAO_ComponentRepository_i::create_component_i (
+ const char * /* id */,
+ const char * /* name */,
+ const char * /* version */,
+ IR::ComponentDef_ptr /* base_component */,
+ const CORBA_InterfaceDefSeq & /* supports_interfaces */
+ ACE_ENV_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+IR::HomeDef_ptr
+TAO_ComponentRepository_i::create_home (
+ const char *id,
+ const char *name,
+ const char *version,
+ IR::HomeDef_ptr base_component,
+ IR::ComponentDef_ptr managed_component,
+ CORBA_ValueDef_ptr primary_key
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD_RETURN (IR::HomeDef::_nil ());
+
+ return this->create_home_i (id,
+ name,
+ version,
+ base_component,
+ managed_component,
+ primary_key
+ ACE_ENV_ARG_PARAMETER);
+}
+
+IR::HomeDef_ptr
+TAO_ComponentRepository_i::create_home_i (
+ const char * /* id */,
+ const char * /* name */,
+ const char * /* version */,
+ IR::HomeDef_ptr /* base_component */,
+ IR::ComponentDef_ptr /* managed_component */,
+ CORBA_ValueDef_ptr /* primary_key */
+ ACE_ENV_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/ComponentRepository_i.h b/TAO/orbsvcs/IFR_Service/ComponentRepository_i.h
new file mode 100644
index 00000000000..304f4580544
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/ComponentRepository_i.h
@@ -0,0 +1,104 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// ComponentRepository_i.h
+//
+// = DESCRIPTION
+// ComponentRepository servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_COMPONENTREPOSITORY_I_H
+#define TAO_COMPONENTREPOSITORY_I_H
+
+#include "Repository_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "IFR_ComponentsS.h"
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_ComponentRepository_i : public TAO_Repository_i
+{
+ // = TITLE
+ // TAO_ComponentRepository_i
+ //
+ // = DESCRIPTION
+ // Provides global access to the Interface Repository,
+ // including access to information related to
+ // CORBA Components.
+ //
+public:
+ TAO_ComponentRepository_i (CORBA::ORB_ptr orb,
+ PortableServer::POA_ptr poa,
+ ACE_Configuration *config);
+ // Constructor.
+
+ virtual ~TAO_ComponentRepository_i (void);
+ // Destructor.
+
+ virtual IR::ComponentDef_ptr create_component (
+ const char *id,
+ const char *name,
+ const char *version,
+ IR::ComponentDef_ptr base_component,
+ const CORBA_InterfaceDefSeq & supports_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ IR::ComponentDef_ptr create_component_i (
+ const char *id,
+ const char *name,
+ const char *version,
+ IR::ComponentDef_ptr base_component,
+ const CORBA_InterfaceDefSeq & supports_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::HomeDef_ptr create_home (
+ const char *id,
+ const char *name,
+ const char *version,
+ IR::HomeDef_ptr base_home,
+ IR::ComponentDef_ptr managed_component,
+ CORBA_ValueDef_ptr primary_key
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ IR::HomeDef_ptr create_home_i (
+ const char *id,
+ const char *name,
+ const char *version,
+ IR::HomeDef_ptr base_home,
+ IR::ComponentDef_ptr managed_component,
+ CORBA_ValueDef_ptr primary_key
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_COMPONENTREPOSITORY_I_H */
diff --git a/TAO/orbsvcs/IFR_Service/ConstantDef_i.cpp b/TAO/orbsvcs/IFR_Service/ConstantDef_i.cpp
new file mode 100644
index 00000000000..0126fafe09d
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/ConstantDef_i.cpp
@@ -0,0 +1,290 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "ConstantDef_i.h"
+#include "Repository_i.h"
+#include "IDLType_i.h"
+#include "Servant_Factory.h"
+#include "ace/Auto_Ptr.h"
+
+ACE_RCSID(IFR_Service, ConstantDef_i, "$Id$")
+
+TAO_ConstantDef_i::TAO_ConstantDef_i (
+ TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key
+ )
+ : TAO_IRObject_i (repo, section_key),
+ TAO_Contained_i (repo, section_key)
+{
+}
+
+TAO_ConstantDef_i::~TAO_ConstantDef_i (void)
+{
+}
+
+CORBA::DefinitionKind
+TAO_ConstantDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return CORBA::dk_Constant;
+}
+
+CORBA_Contained::Description *
+TAO_ConstantDef_i::describe (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->describe_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA_Contained::Description *
+TAO_ConstantDef_i::describe_i (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA_Contained::Description *desc_ptr = 0;
+ ACE_NEW_THROW_EX (desc_ptr,
+ CORBA_Contained::Description,
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ CORBA_Contained::Description_var retval = desc_ptr;
+
+ retval->kind = this->def_kind (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA_ConstantDescription cd;
+
+ cd.name = this->name_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ cd.id = this->id_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ ACE_TString container_id;
+
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "container_id",
+ container_id);
+
+ cd.defined_in = container_id.c_str ();
+
+ cd.version = this->version_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ cd.type = this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var val = this->value_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ cd.value = val.in ();
+
+ retval->value <<= cd;
+
+ return retval._retn ();
+}
+
+CORBA::TypeCode_ptr
+TAO_ConstantDef_i::type (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (CORBA::TypeCode::_nil ());
+
+ return this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA::TypeCode_ptr
+TAO_ConstantDef_i::type_i (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString type_path;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "type_path",
+ type_path);
+
+ ACE_Configuration_Section_Key type_key;
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ type_path,
+ type_key,
+ 0);
+
+ TAO_IDLType_i *impl =
+ this->repo_->servant_factory ()->create_idltype (type_key
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ auto_ptr<TAO_IDLType_i> safety (impl);
+
+ return impl->type_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA_IDLType_ptr
+TAO_ConstantDef_i::type_def (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (CORBA_IDLType::_nil ());
+
+ return this->type_def_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA_IDLType_ptr
+TAO_ConstantDef_i::type_def_i (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString type_path;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "type_path",
+ type_path);
+
+ ACE_Configuration_Section_Key type_key;
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ type_path,
+ type_key,
+ 0);
+
+ u_int kind = 0;
+ this->repo_->config ()->get_integer_value (type_key,
+ "def_kind",
+ kind);
+
+ CORBA::DefinitionKind def_kind =
+ ACE_static_cast (CORBA::DefinitionKind, kind);
+
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (def_kind,
+ type_path.c_str ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_IDLType::_nil ());
+
+ return CORBA_IDLType::_narrow (obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ConstantDef_i::type_def (CORBA_IDLType_ptr type_def
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->type_def_i (type_def
+ ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ConstantDef_i::type_def_i (CORBA_IDLType_ptr type_def
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (type_def
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ CORBA::String_var type_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ this->repo_->config ()->set_string_value (this->section_key_,
+ "type_path",
+ type_path.in ());
+}
+
+CORBA::Any *
+TAO_ConstantDef_i::value (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->value_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA::Any *
+TAO_ConstantDef_i::value_i (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA::TypeCode_var tc = this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ void *ref = 0;
+ u_int length = 0;
+
+ this->repo_->config ()->get_binary_value (
+ this->section_key_,
+ "value",
+ ref,
+ length
+ );
+
+ char *data = ACE_static_cast (char *, ref);
+
+ ACE_Auto_Basic_Array_Ptr<char> safety (data);
+
+ ACE_Message_Block mb (data,
+ length);
+
+ mb.length (length);
+
+ CORBA::Any *retval = 0;
+ ACE_NEW_THROW_EX (retval,
+ CORBA::Any (tc.in (),
+ 0,
+ TAO_ENCAP_BYTE_ORDER,
+ &mb),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return retval;
+}
+
+void
+TAO_ConstantDef_i::value (const CORBA::Any &value
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->value_i (value
+ ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ConstantDef_i::value_i (const CORBA::Any &value
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA::TypeCode_var my_tc = this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ CORBA::TypeCode_var val_tc = value.type ();
+
+ if (!my_tc.in ()->equal (val_tc.in ()))
+ return;
+
+ ACE_Message_Block *mb = value._tao_get_cdr ();
+
+ CORBA::TCKind kind = val_tc->kind (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ switch (kind)
+ {
+ // The data for these types will be aligned to an 8-byte
+ // boundary, while the rd_ptr may not.
+ case CORBA::tk_double:
+ case CORBA::tk_ulonglong:
+ case CORBA::tk_longlong:
+ case CORBA::tk_longdouble:
+ mb->rd_ptr (ACE_ptr_align_binary (mb->rd_ptr (),
+ ACE_CDR::MAX_ALIGNMENT));
+ break;
+ default:
+ break;
+ }
+
+ mb->crunch ();
+
+ this->repo_->config ()->set_binary_value (this->section_key_,
+ "value",
+ mb->base (),
+ mb->length ());
+}
diff --git a/TAO/orbsvcs/IFR_Service/ConstantDef_i.h b/TAO/orbsvcs/IFR_Service/ConstantDef_i.h
new file mode 100644
index 00000000000..05b997877db
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/ConstantDef_i.h
@@ -0,0 +1,130 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// ConstantDef_i.h
+//
+// = DESCRIPTION
+// ConstantDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_CONSTANTDEF_I_H
+#define TAO_CONSTANTDEF_I_H
+
+#include "Contained_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_ConstantDef_i : public virtual TAO_Contained_i
+{
+ // = TITLE
+ // TAO_ConstantDef_i
+ //
+ // = DESCRIPTION
+ // Represents a named constant.
+ //
+public:
+ TAO_ConstantDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_ConstantDef_i (void);
+ // Destructor
+
+ virtual CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual CORBA_Contained::Description *describe (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+
+ virtual CORBA_Contained::Description *describe_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+
+ virtual CORBA::TypeCode_ptr type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA::TypeCode_ptr type_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_IDLType_ptr type_def (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_IDLType_ptr type_def_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void type_def (
+ CORBA_IDLType_ptr type_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void type_def_i (
+ CORBA_IDLType_ptr type_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any *value (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA::Any *value_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void value (
+ const CORBA::Any &value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void value_i (
+ const CORBA::Any &value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_CONSTANTDEF_I_H */
+
diff --git a/TAO/orbsvcs/IFR_Service/ConsumesDef_i.cpp b/TAO/orbsvcs/IFR_Service/ConsumesDef_i.cpp
new file mode 100644
index 00000000000..e03833001b3
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/ConsumesDef_i.cpp
@@ -0,0 +1,62 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "Repository_i.h"
+#include "ConsumesDef_i.h"
+
+ACE_RCSID(IFR_Service, ConsumesDef_i, "$Id$")
+
+TAO_ConsumesDef_i::TAO_ConsumesDef_i (
+ TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key
+ )
+ : TAO_IRObject_i (repo, section_key),
+ TAO_Contained_i (repo, section_key),
+ TAO_EventDef_i (repo, section_key)
+{
+}
+
+TAO_ConsumesDef_i::~TAO_ConsumesDef_i (void)
+{
+}
+
+CORBA::DefinitionKind
+TAO_ConsumesDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return CORBA::dk_Consumes;
+}
+
+void
+TAO_ConsumesDef_i::destroy (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+void
+TAO_ConsumesDef_i::destroy_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+}
+
+CORBA_Contained::Description *
+TAO_ConsumesDef_i::describe (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->describe_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA_Contained::Description *
+TAO_ConsumesDef_i::describe_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/ConsumesDef_i.h b/TAO/orbsvcs/IFR_Service/ConsumesDef_i.h
new file mode 100644
index 00000000000..854462108ed
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/ConsumesDef_i.h
@@ -0,0 +1,89 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// ConsumesDef_i.h
+//
+// = DESCRIPTION
+// ConsumesDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_CONSUMESDEF_I_H
+#define TAO_CONSUMESDEF_I_H
+
+#include "EventDef_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_ConsumesDef_i : public virtual TAO_EventDef_i
+{
+ // = TITLE
+ // TAO_ConsumesDef_i
+ //
+ // = DESCRIPTION
+ // Represents the definition of an event that is consumed
+ // by a component.
+ //
+public:
+ TAO_ConsumesDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_ConsumesDef_i (void);
+ // Destructor
+
+ virtual CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Remove the repository entry.
+
+ virtual void destroy_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_Contained::Description *describe (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+
+ virtual CORBA_Contained::Description *describe_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_CONSUMESDEF_I_H */
+
+
diff --git a/TAO/orbsvcs/IFR_Service/Contained_i.cpp b/TAO/orbsvcs/IFR_Service/Contained_i.cpp
new file mode 100644
index 00000000000..a4cf9266e73
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/Contained_i.cpp
@@ -0,0 +1,1182 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "concrete_classes.h"
+#include "Servant_Factory.h"
+#include "ace/Auto_Ptr.h"
+
+ACE_RCSID(IFR_Service, Contained_i, "$Id$")
+
+TAO_Contained_i::TAO_Contained_i (
+ TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key
+ )
+ : TAO_IRObject_i (repo, section_key)
+{
+}
+
+TAO_Contained_i::~TAO_Contained_i (void)
+{
+}
+
+void
+TAO_Contained_i::destroy (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+void
+TAO_Contained_i::destroy_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString id;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "id",
+ id);
+
+ // We'll get the last segment of this below.
+ ACE_TString path;
+ this->repo_->config ()->get_string_value (this->repo_->repo_ids_key (),
+ id.c_str (),
+ path);
+
+ // Remove the repo id.
+ this->repo_->config ()->remove_value (this->repo_->repo_ids_key (),
+ id.c_str ());
+
+ // Remove the database entry.
+ ACE_TString container_id;
+ ACE_Configuration_Section_Key parent_key;
+
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "container_id",
+ container_id);
+
+ if (container_id == "")
+ {
+ parent_key = this->repo_->root_key ();
+ }
+ else
+ {
+ ACE_TString parent_path;
+ this->repo_->config ()->get_string_value (this->repo_->repo_ids_key (),
+ container_id.c_str (),
+ parent_path);
+
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ parent_path,
+ parent_key,
+ 0);
+ }
+
+ ACE_Configuration_Section_Key defns_key;
+ this->repo_->config ()->open_section (parent_key,
+ "defns",
+ 0,
+ defns_key);
+
+ ACE_TString last_seg = path.substr (path.rfind ('\\') + 1);
+ this->repo_->config ()->remove_section (defns_key,
+ last_seg.c_str (),
+ 1);
+}
+
+char *
+TAO_Contained_i::id (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->id_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+char *
+TAO_Contained_i::id_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString retval;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "id",
+ retval);
+
+ return CORBA::string_dup (retval.c_str ());
+}
+
+void
+TAO_Contained_i::id (const char *id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->id_i (id
+ ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_Contained_i::id_i (const char *id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString tmp;
+ if (this->repo_->config ()->get_string_value (
+ this->repo_->repo_ids_key (),
+ id,
+ tmp
+ )
+ == 0)
+ {
+ // Repository id already exists.
+ ACE_THROW (CORBA::BAD_PARAM (2, CORBA::COMPLETED_NO));
+ }
+
+ // Get the old id.
+ ACE_TString old_id;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "id",
+ old_id);
+
+ ACE_TString path;
+
+ // Fetch our path.
+ this->repo_->config ()->get_string_value (this->repo_->repo_ids_key (),
+ old_id.c_str (),
+ path);
+
+ // Remove the old id.
+ this->repo_->config ()->remove_value (this->repo_->repo_ids_key (),
+ old_id.c_str ());
+
+ // Save our path under the new id.
+ this->repo_->config ()->set_string_value (this->repo_->repo_ids_key (),
+ id,
+ path.c_str ());
+
+ // Store the new id locally as well.
+ this->repo_->config ()->set_string_value (this->section_key_,
+ "id",
+ id);
+}
+
+char *
+TAO_Contained_i::name (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->name_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+char *
+TAO_Contained_i::name_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString retval;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "name",
+ retval);
+
+ return CORBA::string_dup (retval.c_str ());
+}
+
+char *
+TAO_Contained_i::version (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->version_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+char *
+TAO_Contained_i::version_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString retval;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "version",
+ retval);
+
+ return CORBA::string_dup (retval.c_str ());
+}
+
+void
+TAO_Contained_i::name (const char *name
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->name_i (name
+ ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_Contained_i::name_i (const char *name
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Check if name already exists in this container.
+ CORBA::Boolean exists = this->name_exists (name
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ if (exists)
+ {
+ ACE_THROW (CORBA::BAD_PARAM (3, CORBA::COMPLETED_NO));
+ }
+
+ // Reset the local name.
+ this->repo_->config ()->set_string_value (this->section_key_,
+ "name",
+ name);
+
+ // Update the absolute name.
+ ACE_TString absolute_name;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "absolute_name",
+ absolute_name);
+
+ absolute_name = absolute_name.substr (0, absolute_name.rfind (':') + 1);
+ absolute_name += name;
+
+ this->repo_->config ()->set_string_value (this->section_key_,
+ "absolute_name",
+ absolute_name);
+
+ this->contents_name_update (absolute_name,
+ this->section_key_);
+}
+
+void
+TAO_Contained_i::version (const char *version
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->version_i (version
+ ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_Contained_i::version_i (const char *version
+ ACE_ENV_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ this->repo_->config ()->set_string_value (this->section_key_,
+ "version",
+ version);
+}
+
+CORBA_Container_ptr
+TAO_Contained_i::defined_in (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (CORBA_Container::_nil ());
+
+ return this->defined_in_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA_Container_ptr
+TAO_Contained_i::defined_in_i (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString container_id;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "container_id",
+ container_id);
+
+ if (container_id == "")
+ // The repository itself it our container.
+ return this->repo_->repo_objref (); // already duplicated.
+
+ ACE_TString container_path;
+ this->repo_->config ()->get_string_value (this->repo_->repo_ids_key (),
+ container_id.c_str (),
+ container_path);
+
+ ACE_Configuration_Section_Key container_key;
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ container_path,
+ container_key);
+
+ u_int kind = 0;
+ this->repo_->config ()->get_integer_value (container_key,
+ "def_kind",
+ kind);
+
+ CORBA::DefinitionKind def_kind =
+ ACE_static_cast (CORBA::DefinitionKind, kind);
+
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (def_kind,
+ container_path.c_str ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_Container::_nil ());
+
+ CORBA_Container_var retval = CORBA_Container::_narrow (obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_Container::_nil ());
+
+ return retval._retn ();
+}
+
+char *
+TAO_Contained_i::absolute_name (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->absolute_name_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+char *
+TAO_Contained_i::absolute_name_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString absolute_name;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "absolute_name",
+ absolute_name);
+
+ return CORBA::string_dup (absolute_name.c_str ());
+}
+
+CORBA_Repository_ptr
+TAO_Contained_i::containing_repository (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (CORBA_Repository::_nil ());
+
+ return this->containing_repository_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA_Repository_ptr
+TAO_Contained_i::containing_repository_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->repo_->repo_objref ();
+}
+
+void
+TAO_Contained_i::move (CORBA_Container_ptr new_container,
+ const char *new_name,
+ const char *new_version
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->move_i (new_container,
+ new_name,
+ new_version,
+ 1
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA::Boolean
+TAO_Contained_i::name_exists (const char *name
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString container_id;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "container_id",
+ container_id);
+
+ if (container_id == "")
+ {
+ return this->repo_->name_exists (name
+ ACE_ENV_ARG_PARAMETER);
+ }
+
+ ACE_TString container_path;
+ this->repo_->config ()->get_string_value (this->repo_->repo_ids_key (),
+ container_id.c_str (),
+ container_path);
+
+ ACE_Configuration_Section_Key container_key;
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ container_path,
+ container_key,
+ 0);
+
+ ACE_Configuration_Section_Key defns_key;
+ this->repo_->config ()->open_section (container_key,
+ "defns",
+ 0,
+ defns_key);
+
+ ACE_TString section_name;
+ int index = 0;
+
+ while (this->repo_->config ()->enumerate_sections (defns_key,
+ index++,
+ section_name)
+ == 0)
+ {
+ ACE_Configuration_Section_Key defn_key;
+ this->repo_->config ()->open_section (defns_key,
+ section_name.c_str (),
+ 0,
+ defn_key);
+
+ ACE_TString defn_name;
+ this->repo_->config ()->get_string_value (defn_key,
+ "name",
+ defn_name);
+
+ if (defn_name == name)
+ return 1;
+ }
+
+ return 0;
+}
+
+void
+TAO_Contained_i::contents_name_update (ACE_TString stem,
+ ACE_Configuration_Section_Key key)
+{
+ ACE_Configuration_Section_Key defns_key;
+ if (this->repo_->config ()->open_section (key,
+ "defns",
+ 0,
+ defns_key)
+ != 0)
+ {
+ return;
+ }
+
+ int index = 0;
+ ACE_TString sub_section;
+ while (this->repo_->config ()->enumerate_sections (defns_key,
+ index++,
+ sub_section)
+ == 0)
+ {
+ ACE_Configuration_Section_Key defn_key;
+
+ this->repo_->config ()->open_section (defns_key,
+ sub_section.c_str (),
+ 0,
+ defn_key);
+
+ ACE_TString name;
+ this->repo_->config ()->get_string_value (defn_key,
+ "name",
+ name);
+
+ ACE_TString absolute_name = stem + "::" + name;
+ this->repo_->config ()->set_string_value (defn_key,
+ "absolute_name",
+ absolute_name);
+
+ this->contents_name_update (absolute_name,
+ defn_key);
+ }
+}
+
+void
+TAO_Contained_i::move_i (CORBA_Container_ptr new_container,
+ const char *new_name,
+ const char *new_version,
+ CORBA::Boolean cleanup
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA_Repository_var my_repo =
+ this->containing_repository_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ CORBA::DefinitionKind container_dk =
+ new_container->def_kind (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ ACE_Configuration_Section_Key container_key;
+ TAO_Container_i *container_impl = 0;
+
+ // Check that we're not trying to move to a different repository,
+ // and set the container impl, used in each switch case below.
+ if (container_dk == CORBA::dk_Repository)
+ {
+ if (my_repo.in () != new_container)
+ {
+ ACE_THROW (CORBA::BAD_PARAM (4, CORBA::COMPLETED_NO));
+ }
+
+ container_key = this->repo_->root_key ();
+
+ container_impl = this->repo_;
+ }
+ else
+ {
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (new_container
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ CORBA::String_var container_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ container_path.in (),
+ container_key,
+ 0);
+
+ TAO_Contained_i *impl =
+ this->repo_->servant_factory ()->create_contained (container_key
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ auto_ptr<TAO_Contained_i> safety (impl);
+
+ CORBA_Repository_var your_repo =
+ impl->containing_repository_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ if (my_repo.in () != your_repo.in ())
+ {
+ ACE_THROW (CORBA::BAD_PARAM (4, CORBA::COMPLETED_NO));
+ }
+
+ container_impl =
+ this->repo_->servant_factory ()->create_container (container_key
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+ }
+
+ CORBA::DefinitionKind my_dk = this->def_kind (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ CORBA::String_var id = this->id_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ // If an exception is thrown, this must be restored.
+ ACE_TString my_path;
+ this->repo_->config ()->get_string_value (this->repo_->repo_ids_key (),
+ id.in (),
+ my_path);
+
+ // Remove the repo id, because the create_* function call will add it
+ // again with a different path value.
+ this->repo_->config ()->remove_value (this->repo_->repo_ids_key (),
+ id.in ());
+
+ ACE_TRY
+ {
+ // Call the appropriate create function.
+ switch (my_dk)
+ {
+ case CORBA::dk_Enum:
+ {
+ TAO_EnumDef_i impl (this->repo_,
+ this->section_key_);
+
+ CORBA_EnumMemberSeq_var members = impl.members_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (container_dk == CORBA::dk_Struct
+ || container_dk == CORBA::dk_Union
+ || container_dk == CORBA::dk_Exception)
+ {
+ this->move_pre_process (new_container,
+ my_path.c_str (),
+ new_name
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+
+ CORBA_EnumDef_var new_defn =
+ container_impl->create_enum_i (id.in (),
+ new_name,
+ new_version,
+ members.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ break;
+ }
+ case CORBA::dk_Alias:
+ {
+ TAO_AliasDef_i impl (this->repo_,
+ this->section_key_);
+
+ CORBA_IDLType_var otype = impl.original_type_def_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ container_impl->create_alias_i (id.in (),
+ new_name,
+ new_version,
+ otype.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ break;
+ }
+ case CORBA::dk_Native:
+ {
+ container_impl->create_native_i (id.in (),
+ new_name,
+ new_version
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ break;
+ }
+ case CORBA::dk_ValueBox:
+ {
+ TAO_ValueBoxDef_i impl (this->repo_,
+ this->section_key_);
+
+ CORBA_IDLType_var otype = impl.original_type_def_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ container_impl->create_value_box_i (id.in (),
+ new_name,
+ new_version,
+ otype.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ break;
+ }
+ case CORBA::dk_Struct:
+ {
+ TAO_StructDef_i impl (this->repo_,
+ this->section_key_);
+
+ CORBA_StructMemberSeq_var members = impl.members_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (container_dk == CORBA::dk_Struct
+ || container_dk == CORBA::dk_Union
+ || container_dk == CORBA::dk_Exception)
+ {
+ this->move_pre_process (new_container,
+ my_path.c_str (),
+ new_name
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+
+ CORBA_StructDef_var new_defn =
+ container_impl->create_struct_i (id.in (),
+ new_name,
+ new_version,
+ members.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ this->move_contents (new_defn.in ()
+ ACE_ENV_ARG_PARAMETER);
+
+ break;
+ }
+ case CORBA::dk_Union:
+ {
+ TAO_UnionDef_i impl (this->repo_,
+ this->section_key_);
+
+ CORBA_IDLType_var disc_type =
+ impl.discriminator_type_def_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA_UnionMemberSeq_var members = impl.members_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (container_dk == CORBA::dk_Struct
+ || container_dk == CORBA::dk_Union
+ || container_dk == CORBA::dk_Exception)
+ {
+ this->move_pre_process (new_container,
+ my_path.c_str (),
+ new_name
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+
+ CORBA_UnionDef_var new_defn =
+ container_impl->create_union_i (id.in (),
+ new_name,
+ new_version,
+ disc_type.in (),
+ members.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ this->move_contents (new_defn.in ()
+ ACE_ENV_ARG_PARAMETER);
+
+ break;
+ }
+ case CORBA::dk_Module:
+ {
+ CORBA_ModuleDef_var new_defn =
+ container_impl->create_module_i (id.in (),
+ new_name,
+ new_version
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ this->move_contents (new_defn.in ()
+ ACE_ENV_ARG_PARAMETER);
+
+ break;
+ }
+ case CORBA::dk_Exception:
+ {
+ TAO_ExceptionDef_i impl (this->repo_,
+ this->section_key_);
+
+ CORBA_StructMemberSeq_var members = impl.members_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA_ExceptionDef_var new_defn =
+ container_impl->create_exception_i (id.in (),
+ new_name,
+ new_version,
+ members.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ this->move_contents (new_defn.in ()
+ ACE_ENV_ARG_PARAMETER);
+
+ break;
+ }
+ case CORBA::dk_Interface:
+ {
+ TAO_InterfaceDef_i impl (this->repo_,
+ this->section_key_);
+
+ CORBA_InterfaceDefSeq_var bases =
+ impl.base_interfaces_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA_InterfaceDef_var new_defn =
+ container_impl->create_interface_i (id.in (),
+ new_name,
+ new_version,
+ bases.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ this->move_contents (new_defn.in ()
+ ACE_ENV_ARG_PARAMETER);
+
+ break;
+ }
+ case CORBA::dk_Constant:
+ {
+ TAO_ConstantDef_i impl (this->repo_,
+ this->section_key_);
+
+ CORBA_IDLType_var type_def = impl.type_def_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA::Any_var value = impl.value_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ container_impl->create_constant_i (id.in (),
+ new_name,
+ new_version,
+ type_def.in (),
+ value.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ break;
+ }
+ case CORBA::dk_Attribute:
+ {
+ TAO_AttributeDef_i impl (this->repo_,
+ this->section_key_);
+
+ CORBA_IDLType_var type_def = impl.type_def_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA::AttributeMode mode = impl.mode_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (container_dk == CORBA::dk_Interface)
+ {
+ TAO_InterfaceDef_i idef (this->repo_,
+ container_key);
+
+ idef.create_attribute_i (id.in (),
+ new_name,
+ new_version,
+ type_def.in (),
+ mode
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ break;
+ }
+ else if (container_dk == CORBA::dk_Value)
+ {
+ TAO_ValueDef_i vdef (this->repo_,
+ container_key);
+
+ vdef.create_attribute_i (id.in (),
+ new_name,
+ new_version,
+ type_def.in (),
+ mode
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ break;
+ }
+ else
+ {
+ ACE_THROW (CORBA::BAD_PARAM (4, CORBA::COMPLETED_NO));
+ }
+ }
+ case CORBA::dk_Operation:
+ {
+ TAO_OperationDef_i impl (this->repo_,
+ this->section_key_);
+
+ CORBA_IDLType_var result = impl.result_def_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA::OperationMode mode = impl.mode_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA_ParDescriptionSeq_var params = impl.params_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA_ExceptionDefSeq_var exceptions =
+ impl.exceptions_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA_ContextIdSeq_var contexts = impl.contexts_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (container_dk == CORBA::dk_Interface)
+ {
+ TAO_InterfaceDef_i idef (this->repo_,
+ container_key);
+
+ idef.create_operation_i (id.in (),
+ new_name,
+ new_version,
+ result.in (),
+ mode,
+ params.in (),
+ exceptions.in (),
+ contexts.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ break;
+ }
+ else if (container_dk == CORBA::dk_Value)
+ {
+ TAO_ValueDef_i vdef (this->repo_,
+ container_key);
+
+ vdef.create_operation_i (id.in (),
+ new_name,
+ new_version,
+ result.in (),
+ mode,
+ params.in (),
+ exceptions.in (),
+ contexts.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ break;
+ }
+ else
+ {
+ ACE_THROW (CORBA::BAD_PARAM (4, CORBA::COMPLETED_NO));
+ }
+ }
+ case CORBA::dk_Value:
+ case CORBA::dk_Home:
+ case CORBA::dk_Component:
+ case CORBA::dk_Factory:
+ case CORBA::dk_Finder:
+ case CORBA::dk_PrimaryKey:
+ case CORBA::dk_Provides:
+ case CORBA::dk_Uses:
+ case CORBA::dk_Emits:
+ case CORBA::dk_Publishes:
+ case CORBA::dk_Consumes:
+ case CORBA::dk_ValueMember:
+ // TODO
+ default:
+ break;
+ }
+ }
+ ACE_CATCHANY
+ {
+ // If the move was not successful, we must restore this.
+ this->repo_->config ()->set_string_value (
+ this->repo_->repo_ids_key (),
+ id.in (),
+ my_path.c_str ()
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+
+ if (cleanup)
+ {
+ // Remove the old database entry.
+ ACE_TString container_id;
+ ACE_Configuration_Section_Key parent_key;
+
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "container_id",
+ container_id);
+
+ if (container_id == "")
+ {
+ parent_key = this->repo_->root_key ();
+ }
+ else
+ {
+ ACE_TString parent_path;
+ this->repo_->config ()->get_string_value (this->repo_->repo_ids_key (),
+ container_id.c_str (),
+ parent_path);
+
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ parent_path,
+ parent_key,
+ 0);
+ }
+
+ ACE_Configuration_Section_Key defns_key;
+ this->repo_->config ()->open_section (parent_key,
+ "defns",
+ 0,
+ defns_key);
+
+ ACE_TString last_seg = my_path.substr (my_path.rfind ('\\') + 1);
+ this->repo_->config ()->remove_section (defns_key,
+ last_seg.c_str (),
+ 1);
+ }
+
+ if (container_dk != CORBA::dk_Repository)
+ delete container_impl;
+}
+
+void
+TAO_Contained_i::move_pre_process (CORBA_Container_ptr container,
+ const char *contained_path,
+ const char *name
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ PortableServer::ObjectId_var container_oid =
+ this->repo_->ir_poa ()->reference_to_id (container
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ CORBA::String_var container_path =
+ PortableServer::ObjectId_to_string (container_oid.in ());
+
+ ACE_Configuration_Section_Key container_key;
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ container_path.in (),
+ container_key,
+ 0);
+
+ ACE_Configuration_Section_Key refs_key;
+ this->repo_->config ()->open_section (container_key,
+ "refs",
+ 0,
+ refs_key);
+
+ int index = 0;
+ ACE_TString section_name;
+ while (this->repo_->config ()->enumerate_sections (refs_key,
+ index++,
+ section_name)
+ == 0)
+ {
+ ACE_Configuration_Section_Key ref_key;
+ this->repo_->config ()->open_section (refs_key,
+ section_name.c_str (),
+ 0,
+ ref_key);
+
+ ACE_TString ref_name;
+ this->repo_->config ()->get_string_value (ref_key,
+ "name",
+ ref_name);
+
+ ACE_TString path;
+ this->repo_->config ()->get_string_value (ref_key,
+ "path",
+ path);
+
+ if (ref_name == name && path == contained_path)
+ {
+ ref_name += this->repo_->extension ();
+ this->repo_->config ()->set_string_value (ref_key,
+ "name",
+ ref_name);
+
+ break;
+ }
+ }
+}
+
+void
+TAO_Contained_i::move_contents (CORBA_Container_ptr new_container
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString name;
+ ACE_TString version;
+
+ ACE_Configuration_Section_Key defns_key;
+ int status =
+ this->repo_->config ()->open_section (this->section_key_,
+ "defns",
+ 0,
+ defns_key);
+
+ if (status == 0)
+ {
+ u_int count = 0;
+ this->repo_->config ()->get_integer_value (defns_key,
+ "count",
+ count);
+
+ for (u_int i = 0; i < count; ++i)
+ {
+ ACE_Configuration_Section_Key defn_key;
+ CORBA::String_var section_name = this->int_to_string (i);
+ status =
+ this->repo_->config ()->open_section (defns_key,
+ section_name.in (),
+ 0,
+ defn_key);
+
+ if (status == 0)
+ {
+ this->repo_->config ()->get_string_value (defn_key,
+ "name",
+ name);
+
+ this->repo_->config ()->get_string_value (defn_key,
+ "version",
+ version);
+
+ TAO_Contained_i *impl =
+ this->repo_->servant_factory ()->create_contained (
+ defn_key
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK;
+
+ auto_ptr<TAO_Contained_i> safety (impl);
+
+ impl->move_i (new_container,
+ name.c_str (),
+ version.c_str (),
+ 0
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+ }
+ }
+ }
+
+ CORBA::DefinitionKind kind = this->def_kind (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ // Specific to InterfaceDef_i and ValueDef_i
+ if (kind == CORBA::dk_Interface || kind == CORBA::dk_Value)
+ {
+ int index = 0;
+ ACE_TString section_name;
+
+ // Attributes
+ ACE_Configuration_Section_Key attrs_key;
+ int status =
+ this->repo_->config ()->open_section (this->section_key_,
+ "attrs",
+ 0,
+ attrs_key);
+
+ if (status == 0)
+ {
+ while (this->repo_->config ()->enumerate_sections (attrs_key,
+ index++,
+ section_name)
+ == 0)
+ {
+ ACE_Configuration_Section_Key attr_key;
+ this->repo_->config ()->open_section (attrs_key,
+ section_name.c_str (),
+ 0,
+ attr_key);
+
+ this->repo_->config ()->get_string_value (attr_key,
+ "name",
+ name);
+
+ this->repo_->config ()->get_string_value (attr_key,
+ "version",
+ version);
+
+ TAO_AttributeDef_i impl (this->repo_,
+ attr_key);
+
+ impl.move_i (new_container,
+ name.c_str (),
+ version.c_str (),
+ 0
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+ }
+ }
+
+ index = 0;
+
+ // Operations
+ ACE_Configuration_Section_Key ops_key;
+ status =
+ this->repo_->config ()->open_section (this->section_key_,
+ "ops",
+ 0,
+ ops_key);
+
+ if (status == 0)
+ {
+ while (this->repo_->config ()->enumerate_sections (ops_key,
+ index++,
+ section_name)
+ == 0)
+ {
+ ACE_Configuration_Section_Key op_key;
+ this->repo_->config ()->open_section (ops_key,
+ section_name.c_str (),
+ 0,
+ op_key);
+
+ this->repo_->config ()->get_string_value (op_key,
+ "name",
+ name);
+
+ this->repo_->config ()->get_string_value (op_key,
+ "version",
+ version);
+
+ TAO_OperationDef_i impl (this->repo_,
+ op_key);
+
+ impl.move_i (new_container,
+ name.c_str (),
+ version.c_str (),
+ 0
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+ }
+ }
+ }
+}
diff --git a/TAO/orbsvcs/IFR_Service/Contained_i.h b/TAO/orbsvcs/IFR_Service/Contained_i.h
new file mode 100644
index 00000000000..bcc023d9457
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/Contained_i.h
@@ -0,0 +1,234 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// Contained_i.h
+//
+// = DESCRIPTION
+// Contained servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_CONTAINED_I_H
+#define TAO_CONTAINED_I_H
+
+#include "IRObject_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_Contained_i : public virtual TAO_IRObject_i
+{
+ // = TITLE
+ // TAO_Contained_i
+ //
+ // = DESCRIPTION
+ // Abstract base class for all IR objects that are contained
+ // by other IR objects.
+ //
+public:
+ TAO_Contained_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor.
+
+ virtual ~TAO_Contained_i (void);
+ // Destructor.
+
+ virtual void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Remove the repository entry.
+
+ virtual void destroy_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char *id (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ char *id_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void id (
+ const char *id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void id_i (
+ const char *id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char *name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ char *name_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void name (
+ const char *name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void name_i (
+ const char *name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char *version (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ char *version_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void version (
+ const char *version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void version_i (
+ const char *version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_Container_ptr defined_in (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_Container_ptr defined_in_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char *absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ char *absolute_name_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_Repository_ptr containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_Repository_ptr containing_repository_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_Contained::Description *describe (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException)) = 0;
+ // Pure virtual.
+
+ virtual CORBA_Contained::Description *describe_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException)) = 0;
+ // Pure virtual.
+
+ virtual void move (
+ CORBA_Container_ptr new_container,
+ const char *new_name,
+ const char *new_version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+protected:
+ void move_i (
+ CORBA_Container_ptr new_container,
+ const char *new_name,
+ const char *new_version,
+ CORBA::Boolean cleanup
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Engine for move() with an extra 'cleanup'
+ // parameter. Since a section removal can be
+ // recursive, this need be done only at the top
+ // level.
+
+private:
+ CORBA::Boolean name_exists (
+ const char *name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Check if <name> already exists in our container
+
+ void contents_name_update (
+ ACE_TString stem,
+ ACE_Configuration_Section_Key key
+ );
+ // Recursively update the scoped name of our contents.
+
+ void move_pre_process (
+ CORBA_Container_ptr container,
+ const char *contained_path,
+ const char *name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Mangle the names of references that are also
+ // defined in the scope, so a name clash will
+ // not occur when create_* is called. Create_*
+ // unmangles the names.
+
+ void move_contents (
+ CORBA_Container_ptr new_container
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Recursively calls move_i for definitions,
+ // as well as operations and attributes if
+ // applicable.
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_CONTAINED_I_H */
diff --git a/TAO/orbsvcs/IFR_Service/Container_i.cpp b/TAO/orbsvcs/IFR_Service/Container_i.cpp
new file mode 100644
index 00000000000..88e98631ddf
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/Container_i.cpp
@@ -0,0 +1,2760 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "Repository_i.h"
+#include "InterfaceDef_i.h"
+#include "Servant_Factory.h"
+#include "ace/Auto_Ptr.h"
+
+ACE_RCSID(IFR_Service, Container_i, "$Id$")
+
+TAO_Container_i::TAO_Container_i (
+ TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key
+ )
+ : TAO_IRObject_i (repo, section_key)
+{
+}
+
+TAO_Container_i::~TAO_Container_i (void)
+{
+}
+
+void
+TAO_Container_i::destroy (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+void
+TAO_Container_i::destroy_i (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ int index = 0;
+ int status;
+ ACE_TString section_name;
+
+ // Destroy and/or remove references.
+
+ ACE_Configuration_Section_Key refs_key;
+ status =
+ this->repo_->config ()->open_section (this->section_key_,
+ "refs",
+ 0,
+ refs_key);
+
+ // This section may not have been created.
+ if (status == 0)
+ {
+ while (this->repo_->config ()->enumerate_sections (refs_key,
+ index++,
+ section_name)
+ == 0)
+ {
+ ACE_Configuration_Section_Key member_key;
+ this->repo_->config ()->open_section (refs_key,
+ section_name.c_str (),
+ 0,
+ member_key);
+
+ ACE_TString path;
+ this->repo_->config ()->get_string_value (member_key,
+ "path",
+ path);
+
+ ACE_Configuration_Section_Key entry_key;
+ status =
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ path,
+ entry_key,
+ 0);
+
+ // This entry may already have been destroyed.
+ if (status == 0)
+ {
+ TAO_IDLType_i *impl =
+ this->repo_->servant_factory ()->create_idltype (entry_key
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ auto_ptr<TAO_IDLType_i> safety (impl);
+
+ CORBA::DefinitionKind def_kind = impl->def_kind (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ switch (def_kind)
+ {
+ // These anonymous types were defined in IDL inside this
+ // struct and have no 'contained-in' info of their own,
+ // so they must be destroyed here.
+ case CORBA::dk_String:
+ case CORBA::dk_Wstring:
+ case CORBA::dk_Fixed:
+ case CORBA::dk_Array:
+ case CORBA::dk_Sequence:
+ impl->destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+ break;
+ default:
+ // No other types can be defined in this section of the struct.
+ break;
+ }
+ }
+ }
+
+ this->repo_->config ()->remove_section (this->section_key_,
+ "refs",
+ 1);
+ }
+
+ ACE_TString id;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "id",
+ id);
+
+ ACE_TString my_path;
+ this->repo_->config ()->get_string_value (this->repo_->repo_ids_key (),
+ id.c_str (),
+ my_path);
+
+ // Destroy definitions.
+
+ ACE_Configuration_Section_Key defns_key;
+ status =
+ this->repo_->config ()->open_section (this->section_key_,
+ "defns",
+ 0,
+ defns_key);
+
+ // This section may not have been created.
+ if (status == 0)
+ {
+ index = 0;
+ while (this->repo_->config ()->enumerate_sections (defns_key,
+ index++,
+ section_name)
+ == 0)
+ {
+ ACE_Configuration_Section_Key defn_key;
+ this->repo_->config ()->open_section (defns_key,
+ section_name.c_str (),
+ 0,
+ defn_key);
+
+ TAO_Contained_i *impl =
+ this->repo_->servant_factory ()->create_contained (defn_key
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ auto_ptr<TAO_Contained_i> safety (impl);
+
+ impl->destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+ }
+
+ this->repo_->config ()->remove_section (this->section_key_,
+ "defns",
+ 1);
+ }
+}
+
+CORBA_Contained_ptr
+TAO_Container_i::lookup (const char *search_name
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->lookup_i (search_name
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA_Contained_ptr
+TAO_Container_i::lookup_i (const char *search_name
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_Configuration_Section_Key iter_key;
+ ACE_Configuration_Section_Key work_key;
+ ACE_TString work_string;
+ ACE_TString section_name;
+ int status = 0;
+ int index = 0;
+ int pos = 0;
+ int so_far_so_good = 0;
+ u_int kind = 0;
+ CORBA::DefinitionKind def_kind = CORBA::dk_none;
+
+
+ if (ACE_OS::strncmp (search_name, "::", 2) == 0)
+ {
+ // We were given an absolute scoped name.
+ work_string = search_name + 2;
+ iter_key = this->repo_->root_key ();
+ }
+ else
+ {
+ // We were given a relative scoped name.
+ work_string = search_name;
+ iter_key = this->section_key_;
+ }
+
+ while (1)
+ {
+ pos = work_string.find ("::");
+ so_far_so_good = 0;
+
+ ACE_Configuration_Section_Key defns_key;
+ status =
+ this->repo_->config ()->open_section (iter_key,
+ "defns",
+ 0,
+ defns_key);
+ if (status == 0)
+ {
+ index = 0;
+ while (this->repo_->config ()->enumerate_sections (defns_key,
+ index++,
+ section_name)
+ == 0)
+ {
+ this->repo_->config ()->open_section (defns_key,
+ section_name.c_str (),
+ 0,
+ work_key);
+
+ ACE_TString defn_name;
+ this->repo_->config ()->get_string_value (work_key,
+ "name",
+ defn_name);
+
+ if (defn_name == work_string.substr (0, pos))
+ {
+ iter_key = work_key;
+ so_far_so_good = 1;
+ break;
+ }
+ }
+ }
+
+ if (so_far_so_good)
+ {
+ if (pos != ACE_TString::npos)
+ {
+ work_string = work_string.substr (pos + 2);
+ continue;
+ }
+ else
+ break;
+ }
+ else
+ {
+ // Check for attributes and operations, but only if we
+ // are on the last segment of the scoped name.
+ if (pos == ACE_TString::npos)
+ {
+ this->repo_->config ()->get_integer_value (iter_key,
+ "def_kind",
+ kind);
+
+ def_kind = ACE_static_cast (CORBA::DefinitionKind, kind);
+
+ if (def_kind == CORBA::dk_Interface
+ || def_kind == CORBA::dk_Value)
+ {
+ ACE_Configuration_Section_Key attrs_key;
+ status =
+ this->repo_->config ()->open_section (iter_key,
+ "attrs",
+ 0,
+ attrs_key);
+
+ if (status == 0)
+ {
+ index = 0;
+ while (this->repo_->config ()->enumerate_sections (
+ attrs_key,
+ index++,
+ section_name
+ )
+ == 0)
+ {
+ this->repo_->config ()->open_section (
+ attrs_key,
+ section_name.c_str (),
+ 0,
+ work_key
+ );
+
+ ACE_TString attr_name;
+ this->repo_->config ()->get_string_value (
+ work_key,
+ "name",
+ attr_name
+ );
+
+ // If we're here, working name has only one segment.
+ if (attr_name == work_string)
+ {
+ so_far_so_good = 1;
+ break;
+ }
+ }
+ }
+
+ if (so_far_so_good)
+ break;
+ else
+ {
+ ACE_Configuration_Section_Key ops_key;
+ status =
+ this->repo_->config ()->open_section (iter_key,
+ "ops",
+ 0,
+ ops_key);
+
+ if (status == 0)
+ {
+ index = 0;
+ while (this->repo_->config ()->enumerate_sections (
+ ops_key,
+ index++,
+ section_name
+ )
+ == 0)
+ {
+ this->repo_->config ()->open_section (
+ ops_key,
+ section_name.c_str (),
+ 0,
+ work_key
+ );
+
+ ACE_TString op_name;
+ this->repo_->config ()->get_string_value (
+ work_key,
+ "name",
+ op_name
+ );
+
+ // If we're here, name has only one segment.
+ if (op_name == work_string)
+ {
+ so_far_so_good = 1;
+ break;
+ }
+ }
+
+ if (so_far_so_good)
+ break;
+ }
+ }
+ }
+ }
+ }
+
+ return CORBA_Contained::_nil ();
+ }
+
+ this->repo_->config ()->get_integer_value (work_key,
+ "def_kind",
+ kind);
+
+ ACE_TString id;
+ this->repo_->config ()->get_string_value (work_key,
+ "id",
+ id);
+
+ ACE_TString path;
+ this->repo_->config ()->get_string_value (this->repo_->repo_ids_key (),
+ id.c_str (),
+ path);
+
+ def_kind = ACE_static_cast (CORBA::DefinitionKind, kind);
+
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (def_kind,
+ path.c_str ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_Contained::_nil ());
+
+ return CORBA_Contained::_narrow (obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA_ContainedSeq *
+TAO_Container_i::contents (CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->contents_i (limit_type,
+ exclude_inherited
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA_ContainedSeq *
+TAO_Container_i::contents_i (CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ if (limit_type == CORBA::dk_none)
+ return 0;
+
+ ACE_Unbounded_Queue<CORBA::DefinitionKind> kind_queue;
+ ACE_Unbounded_Queue<ACE_TString> path_queue;
+
+ // Definitions
+
+ ACE_Configuration_Section_Key defns_key;
+ this->repo_->config ()->open_section (this->section_key_,
+ "defns",
+ 0,
+ defns_key);
+
+ u_int count = 0;
+ this->repo_->config ()->get_integer_value (defns_key,
+ "count",
+ count);
+
+ for (u_int i = 0; i < count; ++i)
+ {
+ CORBA::String_var section_name = this->int_to_string (i);
+ ACE_Configuration_Section_Key defn_key;
+ int status =
+ this->repo_->config ()->open_section (defns_key,
+ section_name.in (),
+ 0,
+ defn_key);
+
+ if (status == 0)
+ {
+ u_int kind = 0;
+ this->repo_->config ()->get_integer_value (defn_key,
+ "def_kind",
+ kind);
+
+ CORBA::DefinitionKind def_kind =
+ ACE_static_cast (CORBA::DefinitionKind, kind);
+
+ if (limit_type == CORBA::dk_all
+ || limit_type == def_kind)
+ {
+ kind_queue.enqueue_tail (def_kind);
+
+ ACE_TString id;
+ this->repo_->config ()->get_string_value (defn_key,
+ "id",
+ id);
+
+ ACE_TString path;
+ this->repo_->config ()->get_string_value (
+ this->repo_->repo_ids_key (),
+ id.c_str (),
+ path
+ );
+
+ path_queue.enqueue_tail (path);
+ }
+ }
+ }
+
+ // Base interfaces
+
+ CORBA::DefinitionKind def_kind = this->def_kind (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ if (def_kind == CORBA::dk_Interface)
+ {
+ if (limit_type == CORBA::dk_Operation
+ || limit_type == CORBA::dk_Attribute
+ || limit_type == CORBA::dk_all)
+ {
+ TAO_InterfaceDef_i iface (this->repo_,
+ this->section_key_);
+
+ iface.interface_contents (kind_queue,
+ path_queue,
+ limit_type,
+ exclude_inherited
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+ }
+ }
+
+ size_t size = kind_queue.size ();
+
+ CORBA_ContainedSeq *contents = 0;
+ ACE_NEW_THROW_EX (contents,
+ CORBA_ContainedSeq (size),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ CORBA_ContainedSeq_var retval = contents;
+
+ retval->length (size);
+
+ for (size_t j = 0; j < size; j++)
+ {
+ CORBA::DefinitionKind next_kind;
+ kind_queue.dequeue_head (next_kind);
+
+ ACE_TString next_path;
+ path_queue.dequeue_head (next_path);
+
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (next_kind,
+ next_path.c_str ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA_Contained_var next_cont =
+ CORBA_Contained::_narrow (obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ retval[j] = next_cont._retn ();
+ }
+
+ return retval._retn ();
+}
+
+CORBA_ContainedSeq *
+TAO_Container_i::lookup_name (const char *search_name,
+ CORBA::Long levels_to_search,
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->lookup_name_i (search_name,
+ levels_to_search,
+ limit_type,
+ exclude_inherited
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA_ContainedSeq *
+TAO_Container_i::lookup_name_i (const char *search_name,
+ CORBA::Long levels_to_search,
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_Unbounded_Queue<CORBA::DefinitionKind> kind_queue;
+ ACE_Unbounded_Queue<ACE_TString> path_queue;
+
+ this->lookup_name_recursive (kind_queue,
+ path_queue,
+ search_name,
+ levels_to_search,
+ limit_type,
+ exclude_inherited
+ ACE_ENV_ARG_PARAMETER);
+
+ size_t size = kind_queue.size ();
+
+ CORBA_ContainedSeq *holder;
+ ACE_NEW_THROW_EX (holder,
+ CORBA_ContainedSeq (size),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ CORBA_ContainedSeq_var retval = holder;
+ retval->length (size);
+
+ for (size_t i = 0; i < size; i++)
+ {
+ CORBA::DefinitionKind next_kind;
+ kind_queue.dequeue_head (next_kind);
+
+ ACE_TString next_path;
+ path_queue.dequeue_head (next_path);
+
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (next_kind,
+ next_path.c_str ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA_Contained_var next_cont =
+ CORBA_Contained::_narrow (obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ retval[i] = next_cont._retn ();
+ }
+
+ return retval._retn ();
+}
+
+CORBA_Container::DescriptionSeq *
+TAO_Container_i::describe_contents (CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->describe_contents_i (limit_type,
+ exclude_inherited,
+ max_returned_objs
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA_Container::DescriptionSeq *
+TAO_Container_i::describe_contents_i (CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA_ContainedSeq_var contents = this->contents_i (limit_type,
+ exclude_inherited
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::ULong length = contents->length ();
+ CORBA::ULong ret_len = 0;
+
+ if (max_returned_objs == -1)
+ ret_len = length;
+ else
+ ret_len = length < ACE_static_cast (CORBA::ULong, max_returned_objs)
+ ? length
+ : max_returned_objs;
+
+ CORBA_Container::DescriptionSeq *desc_seq;
+ ACE_NEW_THROW_EX (desc_seq,
+ CORBA_Container::DescriptionSeq (ret_len),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ desc_seq->length (ret_len);
+
+ CORBA_Container::DescriptionSeq_var retval = desc_seq;
+
+ CORBA_Contained::Description_var desc;
+
+ ACE_Configuration_Section_Key contained_key;
+ PortableServer::ObjectId_var oid;
+ CORBA::String_var contained_path;
+ TAO_Contained_i *impl = 0;
+
+ for (CORBA::ULong i = 0; i < ret_len; i++)
+ {
+ oid = this->repo_->ir_poa ()->reference_to_id (contents[i]
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ contained_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ contained_path.in (),
+ contained_key,
+ 0);
+
+ impl =
+ this->repo_->servant_factory ()->create_contained (contained_key
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_Contained_i> safety (impl);
+
+ desc = impl->describe_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ retval[i].contained_object =
+ CORBA_Contained::_duplicate (contents[i]);
+
+ retval[i].kind = desc->kind;
+
+ retval[i].value = desc->value;
+ }
+
+ return retval._retn ();
+}
+
+CORBA_ModuleDef_ptr
+TAO_Container_i::create_module (const char *id,
+ const char *name,
+ const char *version
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD_RETURN (CORBA_ModuleDef::_nil ());
+
+ return this->create_module_i (id,
+ name,
+ version
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA_ModuleDef_ptr
+TAO_Container_i::create_module_i (const char *id,
+ const char *name,
+ const char *version
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA::Boolean legal_op = this->valid_container (CORBA::dk_Module
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_ModuleDef::_nil ());
+
+ if (!legal_op)
+ return CORBA_ModuleDef::_nil ();
+
+ CORBA::Boolean bad_params = this->pre_exist (id,
+ name
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_ModuleDef::_nil ());
+
+ if (bad_params)
+ return CORBA_ModuleDef::_nil ();
+
+ ACE_Configuration_Section_Key defns_key;
+
+ // Create/open section for members defined in this scope.
+ this->repo_->config ()->open_section (this->section_key_,
+ "defns",
+ 1,
+ defns_key);
+
+ // Common to all IR objects created in CORBA_Container.
+ ACE_Configuration_Section_Key new_key;
+ ACE_TString path = this->create_common (defns_key,
+ new_key,
+ id,
+ name,
+ version,
+ "defns\\",
+ CORBA::dk_Module);
+
+ // For anonymous members.
+ ACE_Configuration_Section_Key refs_key;
+ this->repo_->config ()->open_section (new_key,
+ "refs",
+ 1,
+ refs_key);
+
+ // Create the object reference.
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (CORBA::dk_Module,
+ path.c_str ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_ModuleDef::_nil ());
+
+ return CORBA_ModuleDef::_narrow (obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA_ConstantDef_ptr
+TAO_Container_i::create_constant (const char *id,
+ const char *name,
+ const char *version,
+ CORBA_IDLType_ptr type,
+ const CORBA::Any &value
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD_RETURN (CORBA_ConstantDef::_nil ());
+
+ return this->create_constant_i (id,
+ name,
+ version,
+ type,
+ value
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA_ConstantDef_ptr
+TAO_Container_i::create_constant_i (const char *id,
+ const char *name,
+ const char *version,
+ CORBA_IDLType_ptr type,
+ const CORBA::Any &value
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA::Boolean legal_op = this->valid_container (CORBA::dk_Constant
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_ConstantDef::_nil ());
+
+ if (!legal_op)
+ return CORBA_ConstantDef::_nil ();
+
+ CORBA::Boolean bad_params = this->pre_exist (id,
+ name
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_ConstantDef::_nil ());
+
+ if (bad_params)
+ return CORBA_ConstantDef::_nil ();
+
+ // Create/open section for members defined in this scope.
+ ACE_Configuration_Section_Key defns_key;
+ this->repo_->config ()->open_section (this->section_key_,
+ "defns",
+ 1,
+ defns_key);
+
+ // Common to all IR objects created in CORBA_Container.
+ ACE_Configuration_Section_Key new_key;
+ ACE_TString path = this->create_common (defns_key,
+ new_key,
+ id,
+ name,
+ version,
+ "defns\\",
+ CORBA::dk_Constant);
+
+
+ // Get the path to our type and store it.
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (type
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_ConstantDef::_nil ());
+
+ CORBA::String_var type_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ this->repo_->config ()->set_string_value (new_key,
+ "type_path",
+ type_path.in ());
+
+ // Store the value.
+ ACE_Message_Block *mb = value._tao_get_cdr ();
+
+ CORBA::TypeCode_var val_tc = value.type ();
+
+ CORBA::TCKind kind = val_tc->kind (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_ConstantDef::_nil ());
+
+ switch (kind)
+ {
+ // The data for these types will be aligned to an 8-byte
+ // boundary, while the rd_ptr may not.
+ case CORBA::tk_double:
+ case CORBA::tk_ulonglong:
+ case CORBA::tk_longlong:
+ case CORBA::tk_longdouble:
+ mb->rd_ptr (ACE_ptr_align_binary (mb->rd_ptr (),
+ ACE_CDR::MAX_ALIGNMENT));
+ break;
+ default:
+ break;
+ }
+
+ // Align the read pointer with the base, so mb->length()
+ // will be meaningful.
+ mb->crunch ();
+
+ this->repo_->config ()->set_binary_value (new_key,
+ "value",
+ mb->base (),
+ mb->length ());
+
+ // Create the object reference.
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (CORBA::dk_Constant,
+ path.c_str ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_ConstantDef::_nil ());
+
+ return CORBA_ConstantDef::_narrow (obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA_StructDef_ptr
+TAO_Container_i::create_struct (const char *id,
+ const char *name,
+ const char *version,
+ const CORBA_StructMemberSeq &members
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD_RETURN (CORBA_StructDef::_nil ());
+
+ return this->create_struct_i (id,
+ name,
+ version,
+ members
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA_StructDef_ptr
+TAO_Container_i::create_struct_i (const char *id,
+ const char *name,
+ const char *version,
+ const CORBA_StructMemberSeq &members
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA::Boolean legal_op = this->valid_container (CORBA::dk_Struct
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_StructDef::_nil ());
+
+ if (!legal_op)
+ return CORBA_StructDef::_nil ();
+
+ CORBA::Boolean bad_params = this->pre_exist (id,
+ name
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_StructDef::_nil ());
+
+ if (bad_params)
+ return CORBA_StructDef::_nil ();
+
+ // Create/open section for members defined in this scope.
+ ACE_Configuration_Section_Key defns_key;
+ this->repo_->config ()->open_section (this->section_key_,
+ "defns",
+ 1,
+ defns_key);
+
+ // Common to all IR objects created in CORBA_Container.
+ ACE_Configuration_Section_Key new_key;
+ ACE_TString path = this->create_common (defns_key,
+ new_key,
+ id,
+ name,
+ version,
+ "defns\\",
+ CORBA::dk_Struct);
+
+ // Open a section for the struct's members.
+ ACE_Configuration_Section_Key refs_key;
+ this->repo_->config ()->open_section (new_key,
+ "refs",
+ 1,
+ refs_key);
+
+ CORBA::ULong count = members.length ();
+ this->repo_->config ()->set_integer_value (refs_key,
+ "count",
+ count);
+
+ // Create a section for each member. We just store the
+ // member name and the path to its database entry.
+ for (CORBA::ULong i = 0; i < count; i++)
+ {
+ ACE_Configuration_Section_Key member_key;
+ CORBA::String_var section_name = this->int_to_string (i);
+
+ this->repo_->config ()->open_section (refs_key,
+ section_name.in (),
+ 1,
+ member_key);
+
+ this->repo_->config ()->set_string_value (member_key,
+ "name",
+ members[i].name.in ());
+
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (members[i].type_def.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_StructDef::_nil ());
+
+ CORBA::String_var member_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ this->repo_->config ()->set_string_value (member_key,
+ "path",
+ member_path.in ());
+ }
+
+ CORBA::DefinitionKind def_kind = this->def_kind (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_StructDef::_nil ());
+
+ if (def_kind == CORBA::dk_Struct
+ || def_kind == CORBA::dk_Union
+ || def_kind == CORBA::dk_Exception)
+ {
+ this->update_refs (path.c_str (),
+ name);
+ }
+
+ // Create the object reference.
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (CORBA::dk_Struct,
+ path.c_str ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_StructDef::_nil ());
+
+ return CORBA_StructDef::_narrow (obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA_UnionDef_ptr
+TAO_Container_i::create_union (const char *id,
+ const char *name,
+ const char *version,
+ CORBA_IDLType_ptr discriminator_type,
+ const CORBA_UnionMemberSeq &members
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD_RETURN (CORBA_UnionDef::_nil ());
+
+ return this->create_union_i (id,
+ name,
+ version,
+ discriminator_type,
+ members
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA_UnionDef_ptr
+TAO_Container_i::create_union_i (const char *id,
+ const char *name,
+ const char *version,
+ CORBA_IDLType_ptr discriminator_type,
+ const CORBA_UnionMemberSeq &members
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA::Boolean legal_op = this->valid_container (CORBA::dk_Union
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_UnionDef::_nil ());
+
+ if (!legal_op)
+ return CORBA_UnionDef::_nil ();
+
+ CORBA::Boolean bad_params = this->pre_exist (id,
+ name
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_UnionDef::_nil ());
+
+ if (bad_params)
+ return CORBA_UnionDef::_nil ();
+
+ // Create new section, or open if it already exists.
+ ACE_Configuration_Section_Key defns_key;
+ this->repo_->config ()->open_section (this->section_key_,
+ "defns",
+ 1,
+ defns_key);
+
+ // Common to all IR objects created in CORBA_Container.
+ ACE_Configuration_Section_Key new_key;
+ ACE_TString path = this->create_common (defns_key,
+ new_key,
+ id,
+ name,
+ version,
+ "defns\\",
+ CORBA::dk_Union);
+
+ // Add a field to hold the path to the discriminator type.
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (discriminator_type
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_UnionDef::_nil ());
+
+ CORBA::String_var disc_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ this->repo_->config ()->set_string_value (new_key,
+ "disc_path",
+ disc_path.in ());
+
+ ACE_Configuration_Section_Key refs_key;
+
+ // For the union's members.
+ this->repo_->config ()->open_section (new_key,
+ "refs",
+ 1,
+ refs_key);
+
+ CORBA::ULong count = members.length ();
+ this->repo_->config ()->set_integer_value (refs_key,
+ "count",
+ count);
+
+ // Create a section for each member. We store the member
+ // name, its label value, and the path to its database entry.
+ for (CORBA::ULong i = 0; i < count; i++)
+ {
+ ACE_Configuration_Section_Key member_key;
+ CORBA::String_var section_name = this->int_to_string (i);
+ this->repo_->config ()->open_section (refs_key,
+ section_name.in (),
+ 1,
+ member_key);
+
+ this->repo_->config ()->set_string_value (member_key,
+ "name",
+ members[i].name.in ());
+
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (members[i].type_def.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_UnionDef::_nil ());
+
+ CORBA::String_var member_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ this->repo_->config ()->set_string_value (member_key,
+ "path",
+ member_path.in ());
+
+ this->store_label (member_key,
+ members[i].label
+ ACE_ENV_ARG_PARAMETER);
+ }
+
+ CORBA::DefinitionKind def_kind = this->def_kind (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_UnionDef::_nil ());
+
+ if (def_kind == CORBA::dk_Struct
+ || def_kind == CORBA::dk_Union
+ || def_kind == CORBA::dk_Exception)
+ {
+ this->update_refs (path.c_str (),
+ name);
+ }
+
+ // Create the object reference.
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (CORBA::dk_Union,
+ path.c_str ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_UnionDef::_nil ());
+
+ return CORBA_UnionDef::_narrow (obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA_EnumDef_ptr
+TAO_Container_i::create_enum (const char *id,
+ const char *name,
+ const char *version,
+ const CORBA_EnumMemberSeq &members
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD_RETURN (CORBA_EnumDef::_nil ());
+
+ return this->create_enum_i (id,
+ name,
+ version,
+ members
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA_EnumDef_ptr
+TAO_Container_i::create_enum_i (const char *id,
+ const char *name,
+ const char *version,
+ const CORBA_EnumMemberSeq &members
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA::Boolean legal_op = this->valid_container (CORBA::dk_Enum
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_EnumDef::_nil ());
+
+ if (!legal_op)
+ return CORBA_EnumDef::_nil ();
+
+ CORBA::Boolean bad_params = this->pre_exist (id,
+ name
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_EnumDef::_nil ());
+
+ if (bad_params)
+ return CORBA_EnumDef::_nil ();
+
+ // Create new section, or open if it already exists.
+ ACE_Configuration_Section_Key defns_key;
+ this->repo_->config ()->open_section (this->section_key_,
+ "defns",
+ 1,
+ defns_key);
+
+ // Common to all IR objects created in CORBA_Container.
+ ACE_Configuration_Section_Key new_key;
+ ACE_TString path = this->create_common (defns_key,
+ new_key,
+ id,
+ name,
+ version,
+ "defns\\",
+ CORBA::dk_Enum);
+
+ // Store the member count of the enum.
+ CORBA::ULong count = members.length ();
+ this->repo_->config ()->set_integer_value (new_key,
+ "count",
+ count);
+
+ // Create a section for each member, named for
+ // its ordinal position in the enum,
+ for (CORBA::ULong i = 0; i < count; i++)
+ {
+ ACE_Configuration_Section_Key member_key;
+ CORBA::String_var section_name = this->int_to_string (i);
+ this->repo_->config ()->open_section (new_key,
+ section_name.in (),
+ 1,
+ member_key);
+
+ this->repo_->config ()->set_string_value (member_key,
+ "name",
+ members[i].in ());
+ }
+
+ CORBA::DefinitionKind def_kind = this->def_kind (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_EnumDef::_nil ());
+
+ if (def_kind == CORBA::dk_Struct
+ || def_kind == CORBA::dk_Union
+ || def_kind == CORBA::dk_Exception)
+ {
+ this->update_refs (path.c_str (),
+ name);
+ }
+
+ // Create the object reference.
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (CORBA::dk_Enum,
+ path.c_str ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_EnumDef::_nil ());
+
+ return CORBA_EnumDef::_narrow (obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA_AliasDef_ptr
+TAO_Container_i::create_alias (const char *id,
+ const char *name,
+ const char *version,
+ CORBA_IDLType_ptr original_type
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD_RETURN (CORBA_AliasDef::_nil ());
+
+ return this->create_alias_i (id,
+ name,
+ version,
+ original_type
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA_AliasDef_ptr
+TAO_Container_i::create_alias_i (const char *id,
+ const char *name,
+ const char *version,
+ CORBA_IDLType_ptr original_type
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA::Boolean legal_op = this->valid_container (CORBA::dk_Alias
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_AliasDef::_nil ());
+
+ if (!legal_op)
+ return CORBA_AliasDef::_nil ();
+
+ CORBA::Boolean bad_params = this->pre_exist (id,
+ name
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_AliasDef::_nil ());
+
+ if (bad_params)
+ return CORBA_AliasDef::_nil ();
+
+ // Create new section.
+ ACE_Configuration_Section_Key defns_key;
+ this->repo_->config ()->open_section (this->section_key_,
+ "defns",
+ 1,
+ defns_key);
+
+ // Common to all IR objects created in CORBA_Container.
+ ACE_Configuration_Section_Key new_key;
+ ACE_TString path = this->create_common (defns_key,
+ new_key,
+ id,
+ name,
+ version,
+ "defns\\",
+ CORBA::dk_Alias);
+
+ // Get the path to our original type and store it.
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (original_type
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_AliasDef::_nil ());
+
+ CORBA::String_var unalias_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ this->repo_->config ()->set_string_value (new_key,
+ "original_type",
+ unalias_path.in ());
+
+ // Create the object reference.
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (CORBA::dk_Alias,
+ path.c_str ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_AliasDef::_nil ());
+
+ return CORBA_AliasDef::_narrow (obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA_InterfaceDef_ptr
+TAO_Container_i::create_interface (const char *id,
+ const char *name,
+ const char *version,
+ const CORBA_InterfaceDefSeq &base_interfaces
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD_RETURN (CORBA_InterfaceDef::_nil ());
+
+ return this->create_interface_i (id,
+ name,
+ version,
+ base_interfaces
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA_InterfaceDef_ptr
+TAO_Container_i::create_interface_i (const char *id,
+ const char *name,
+ const char *version,
+ const CORBA_InterfaceDefSeq &base_interfaces
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA::Boolean legal_op = this->valid_container (CORBA::dk_Interface
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_InterfaceDef::_nil ());
+
+ if (!legal_op)
+ return CORBA_InterfaceDef::_nil ();
+
+ CORBA::Boolean bad_params = this->pre_exist (id,
+ name
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_InterfaceDef::_nil ());
+
+ if (bad_params)
+ return CORBA_InterfaceDef::_nil ();
+
+ // Create new section.
+ ACE_Configuration_Section_Key defns_key;
+ this->repo_->config ()->open_section (this->section_key_,
+ "defns",
+ 1,
+ defns_key);
+
+ // Common to all IR objects created in CORBA_Container.
+ ACE_Configuration_Section_Key new_key;
+ ACE_TString path = this->create_common (defns_key,
+ new_key,
+ id,
+ name,
+ version,
+ "defns\\",
+ CORBA::dk_Interface);
+
+ CORBA::ULong length = base_interfaces.length ();
+
+ if (length > 0)
+ {
+ // Open a section for the base interfaces.
+ ACE_Configuration_Section_Key inherited_key;
+
+ this->repo_->config ()->open_section (new_key,
+ "inherited",
+ 1,
+ inherited_key);
+
+ // Store the path to each base interface.
+ for (CORBA::ULong i = 0; i < length; i++)
+ {
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (base_interfaces[i]
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_InterfaceDef::_nil ());
+
+ CORBA::String_var inherited_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ CORBA::String_var section_name = this->int_to_string (i);
+
+ this->repo_->config ()->set_string_value (inherited_key,
+ section_name.in (),
+ inherited_path.in ());
+ }
+ }
+
+ // Create the object reference.
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (CORBA::dk_Interface,
+ path.c_str ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_InterfaceDef::_nil ());
+
+ return CORBA_InterfaceDef::_narrow (obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA_ValueDef_ptr
+TAO_Container_i::create_value (const char *id,
+ const char *name,
+ const char *version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ CORBA_ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const CORBA_ValueDefSeq &abstract_base_values,
+ const CORBA_InterfaceDefSeq &supported_interfaces,
+ const CORBA_InitializerSeq &initializers
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD_RETURN (CORBA_ValueDef::_nil ());
+
+ return this->create_value_i (id,
+ name,
+ version,
+ is_custom,
+ is_abstract,
+ base_value,
+ is_truncatable,
+ abstract_base_values,
+ supported_interfaces,
+ initializers
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA_ValueDef_ptr
+TAO_Container_i::create_value_i (const char * /* id */,
+ const char * /* name */,
+ const char * /* version */,
+ CORBA::Boolean /* is_custom */,
+ CORBA::Boolean /* is_abstract */,
+ CORBA_ValueDef_ptr /* base_value */,
+ CORBA::Boolean /* is_truncatable */,
+ const CORBA_ValueDefSeq & /* abstract_base_values */,
+ const CORBA_InterfaceDefSeq & /* supported_interfaces */,
+ const CORBA_InitializerSeq & /* initializers */
+ ACE_ENV_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+CORBA_ValueBoxDef_ptr
+TAO_Container_i::create_value_box (const char *id,
+ const char *name,
+ const char *version,
+ CORBA_IDLType_ptr original_type_def
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD_RETURN (CORBA_ValueBoxDef::_nil ());
+
+ return this->create_value_box_i (id,
+ name,
+ version,
+ original_type_def
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA_ValueBoxDef_ptr
+TAO_Container_i::create_value_box_i (const char *id,
+ const char *name,
+ const char *version,
+ CORBA_IDLType_ptr original_type_def
+ ACE_ENV_ARG_DECL )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA::Boolean legal_op = this->valid_container (CORBA::dk_ValueBox
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_ValueBoxDef::_nil ());
+
+ if (!legal_op)
+ return CORBA_ValueBoxDef::_nil ();
+
+ CORBA::Boolean bad_params = this->pre_exist (id,
+ name
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_ValueBoxDef::_nil ());
+
+ if (bad_params)
+ return CORBA_ValueBoxDef::_nil ();
+
+ // Create new section.
+ ACE_Configuration_Section_Key defns_key;
+ this->repo_->config ()->open_section (this->section_key_,
+ "defns",
+ 1,
+ defns_key);
+
+ // Common to all IR objects created in CORBA_Container.
+ ACE_Configuration_Section_Key new_key;
+ ACE_TString path = this->create_common (defns_key,
+ new_key,
+ id,
+ name,
+ version,
+ "defns\\",
+ CORBA::dk_ValueBox);
+
+ // Get the path to our original type and store it.
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (original_type_def
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_ValueBoxDef::_nil ());
+
+ CORBA::String_var boxed_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ this->repo_->config ()->set_string_value (new_key,
+ "boxed_type",
+ boxed_path.in ());
+
+ // Create the object reference.
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (CORBA::dk_ValueBox,
+ path.c_str ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_ValueBoxDef::_nil ());
+
+ return CORBA_ValueBoxDef::_narrow (obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA_ExceptionDef_ptr
+TAO_Container_i::create_exception (const char *id,
+ const char *name,
+ const char *version,
+ const CORBA_StructMemberSeq &members
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD_RETURN (CORBA_ExceptionDef::_nil ());
+
+ return this->create_exception_i (id,
+ name,
+ version,
+ members
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA_ExceptionDef_ptr
+TAO_Container_i::create_exception_i (const char *id,
+ const char *name,
+ const char *version,
+ const CORBA_StructMemberSeq &members
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA::Boolean legal_op = this->valid_container (CORBA::dk_Exception
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_ExceptionDef::_nil ());
+
+ if (!legal_op)
+ return CORBA_ExceptionDef::_nil ();
+
+ CORBA::Boolean bad_params = this->pre_exist (id,
+ name
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_ExceptionDef::_nil ());
+
+ if (bad_params)
+ return CORBA_ExceptionDef::_nil ();
+
+ // Create/open section for members defined in this scope.
+ ACE_Configuration_Section_Key defns_key;
+ this->repo_->config ()->open_section (this->section_key_,
+ "defns",
+ 1,
+ defns_key);
+
+ // Common to all IR objects created in CORBA_Container.
+ ACE_Configuration_Section_Key new_key;
+ ACE_TString path = this->create_common (defns_key,
+ new_key,
+ id,
+ name,
+ version,
+ "defns\\",
+ CORBA::dk_Exception);
+
+ ACE_Configuration_Section_Key refs_key;
+ this->repo_->config ()->open_section (new_key,
+ "refs",
+ 1,
+ refs_key);
+
+ CORBA::ULong count = members.length ();
+ this->repo_->config ()->set_integer_value (refs_key,
+ "count",
+ count);
+
+ // Create a section for each member. We just store the
+ // member name and the path to its database entry.
+ for (CORBA::ULong i = 0; i < count; i++)
+ {
+ ACE_Configuration_Section_Key member_key;
+ CORBA::String_var section_name = this->int_to_string (i);
+ this->repo_->config ()->open_section (refs_key,
+ section_name.in (),
+ 1,
+ member_key);
+
+ this->repo_->config ()->set_string_value (member_key,
+ "name",
+ members[i].name.in ());
+
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (members[i].type_def.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_ExceptionDef::_nil ());
+
+ CORBA::String_var member_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ this->repo_->config ()->set_string_value (member_key,
+ "path",
+ member_path.in ());
+ }
+
+ // Create the object reference.
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (CORBA::dk_Exception,
+ path.c_str ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_ExceptionDef::_nil ());
+
+ return CORBA_ExceptionDef::_narrow (obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA_NativeDef_ptr
+TAO_Container_i::create_native (const char *id,
+ const char *name,
+ const char *version
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD_RETURN (CORBA_NativeDef::_nil ());
+
+ return this->create_native_i (id,
+ name,
+ version
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA_NativeDef_ptr
+TAO_Container_i::create_native_i (const char *id,
+ const char *name,
+ const char *version
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA::Boolean legal_op = this->valid_container (CORBA::dk_Native
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_NativeDef::_nil ());
+
+ if (!legal_op)
+ return CORBA_NativeDef::_nil ();
+
+ CORBA::Boolean bad_params = this->pre_exist (id,
+ name
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_NativeDef::_nil ());
+
+ if (bad_params)
+ return CORBA_NativeDef::_nil ();
+
+ // Create new section.
+ ACE_Configuration_Section_Key defns_key;
+ this->repo_->config ()->open_section (this->section_key_,
+ "defns",
+ 1,
+ defns_key);
+
+ // Common to all IR objects created in CORBA_Container.
+ ACE_Configuration_Section_Key new_key;
+ ACE_TString path = this->create_common (defns_key,
+ new_key,
+ id,
+ name,
+ version,
+ "defns\\",
+ CORBA::dk_Native);
+
+ // Create the object reference.
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (CORBA::dk_Native,
+ path.c_str ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_NativeDef::_nil ());
+
+ return CORBA_NativeDef::_narrow (obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA_AbstractInterfaceDef_ptr
+TAO_Container_i::create_abstract_interface (
+ const char *id,
+ const char *name,
+ const char *version,
+ const CORBA_AbstractInterfaceDefSeq &base_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD_RETURN (CORBA_AbstractInterfaceDef::_nil ());
+
+ return this->create_abstract_interface_i (id,
+ name,
+ version,
+ base_interfaces
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA_AbstractInterfaceDef_ptr
+TAO_Container_i::create_abstract_interface_i (
+ const char *id,
+ const char *name,
+ const char *version,
+ const CORBA_AbstractInterfaceDefSeq &base_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA::Boolean legal_op = this->valid_container (
+ CORBA::dk_AbstractInterface
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (CORBA_AbstractInterfaceDef::_nil ());
+
+ if (!legal_op)
+ return CORBA_AbstractInterfaceDef::_nil ();
+
+ CORBA::Boolean bad_params = this->pre_exist (id,
+ name
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_AbstractInterfaceDef::_nil ());
+
+ if (bad_params)
+ return CORBA_AbstractInterfaceDef::_nil ();
+
+ // Create new section.
+ ACE_Configuration_Section_Key defns_key;
+ this->repo_->config ()->open_section (this->section_key_,
+ "defns",
+ 1,
+ defns_key);
+
+ // Common to all IR objects created in CORBA_Container.
+ ACE_Configuration_Section_Key new_key;
+ ACE_TString path = this->create_common (defns_key,
+ new_key,
+ id,
+ name,
+ version,
+ "defns\\",
+ CORBA::dk_AbstractInterface);
+
+ CORBA::ULong length = base_interfaces.length ();
+
+ if (length > 0)
+ {
+ // Open a section for the base interfaces.
+ ACE_Configuration_Section_Key inherited_key;
+
+ this->repo_->config ()->open_section (new_key,
+ "inherited",
+ 1,
+ inherited_key);
+
+ // Store the path to each base interface.
+ for (CORBA::ULong i = 0; i < length; i++)
+ {
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (base_interfaces[i]
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_AbstractInterfaceDef::_nil ());
+
+ CORBA::String_var inherited_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ CORBA::String_var section_name = this->int_to_string (i);
+
+ this->repo_->config ()->set_string_value (inherited_key,
+ section_name.in (),
+ inherited_path.in ());
+ }
+ }
+
+ // Create the object reference.
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (CORBA::dk_AbstractInterface,
+ path.c_str ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_AbstractInterfaceDef::_nil ());
+
+ return CORBA_AbstractInterfaceDef::_narrow (obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA_LocalInterfaceDef_ptr
+TAO_Container_i::create_local_interface (
+ const char *id,
+ const char *name,
+ const char *version,
+ const CORBA_InterfaceDefSeq &base_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD_RETURN (CORBA_LocalInterfaceDef::_nil ());
+
+ return this->create_local_interface_i (id,
+ name,
+ version,
+ base_interfaces
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA_LocalInterfaceDef_ptr
+TAO_Container_i::create_local_interface_i (
+ const char *id,
+ const char *name,
+ const char *version,
+ const CORBA_InterfaceDefSeq &base_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA::Boolean legal_op = this->valid_container (CORBA::dk_LocalInterface
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_LocalInterfaceDef::_nil ());
+
+ if (!legal_op)
+ return CORBA_LocalInterfaceDef::_nil ();
+
+ CORBA::Boolean bad_params = this->pre_exist (id,
+ name
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_LocalInterfaceDef::_nil ());
+
+ if (bad_params)
+ return CORBA_LocalInterfaceDef::_nil ();
+
+ // Create new section.
+ ACE_Configuration_Section_Key defns_key;
+ this->repo_->config ()->open_section (this->section_key_,
+ "defns",
+ 1,
+ defns_key);
+
+ // Common to all IR objects created in CORBA_Container.
+ ACE_Configuration_Section_Key new_key;
+ ACE_TString path = this->create_common (defns_key,
+ new_key,
+ id,
+ name,
+ version,
+ "defns\\",
+ CORBA::dk_LocalInterface);
+
+ CORBA::ULong length = base_interfaces.length ();
+
+ if (length > 0)
+ {
+ // Open a section for the base interfaces.
+ ACE_Configuration_Section_Key inherited_key;
+
+ this->repo_->config ()->open_section (new_key,
+ "inherited",
+ 1,
+ inherited_key);
+
+ // Store the path to each base interface.
+ for (CORBA::ULong i = 0; i < length; i++)
+ {
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (base_interfaces[i]
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_LocalInterfaceDef::_nil ());
+
+ CORBA::String_var inherited_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ CORBA::String_var section_name = this->int_to_string (i);
+
+ this->repo_->config ()->set_string_value (inherited_key,
+ section_name.in (),
+ inherited_path.in ());
+ }
+ }
+
+ // Create the object reference.
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (CORBA::dk_LocalInterface,
+ path.c_str ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_LocalInterfaceDef::_nil ());
+
+ return CORBA_LocalInterfaceDef::_narrow (obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA::Boolean
+TAO_Container_i::name_exists (const char *name
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ int index = 0;
+ ACE_TString section_name;
+
+ // Check the members defined elsewhere.
+ ACE_Configuration_Section_Key refs_key;
+
+ if (this->repo_->config ()->open_section (this->section_key_,
+ "refs",
+ 0,
+ refs_key)
+ == 0)
+ {
+ while (this->repo_->config ()->enumerate_sections (refs_key,
+ index++,
+ section_name)
+ == 0)
+ {
+ ACE_Configuration_Section_Key member_key;
+ this->repo_->config ()->open_section (refs_key,
+ section_name.c_str (),
+ 0,
+ member_key);
+
+ ACE_TString member_name;
+ this->repo_->config ()->get_string_value (member_key,
+ "name",
+ member_name);
+
+ if (member_name == name)
+ {
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (3,
+ CORBA::COMPLETED_NO),
+ 1);
+ }
+ }
+ }
+
+ // Check the members defined in this scope.
+ ACE_Configuration_Section_Key defns_key;
+ if (this->repo_->config ()->open_section (this->section_key_,
+ "defns",
+ 0,
+ defns_key)
+ == 0)
+ {
+ index = 0;
+
+ while (this->repo_->config ()->enumerate_sections (defns_key,
+ index++,
+ section_name)
+ == 0)
+ {
+ ACE_Configuration_Section_Key defn_key;
+ this->repo_->config ()->open_section (defns_key,
+ section_name.c_str (),
+ 0,
+ defn_key);
+
+ ACE_TString defn_name;
+ this->repo_->config ()->get_string_value (defn_key,
+ "name",
+ defn_name);
+
+ if (defn_name == name)
+ {
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (3,
+ CORBA::COMPLETED_NO),
+ 1);
+ }
+ }
+ }
+
+ // If we are an interface, check the inherited members.
+ CORBA::DefinitionKind def_kind = this->def_kind (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (1);
+
+ if (def_kind == CORBA::dk_Interface)
+ {
+ ACE_Configuration_Section_Key inherited_key;
+ int status =
+ this->repo_->config ()->open_section (this->section_key_,
+ "inherited",
+ 0,
+ inherited_key);
+
+ // This section may not have been created.
+ if (status == 0)
+ {
+ int index = 0;
+ ACE_TString path;
+ ACE_Configuration::VALUETYPE type;
+
+ while (this->repo_->config ()->enumerate_values (inherited_key,
+ index++,
+ path,
+ type)
+ == 0)
+ {
+ ACE_Configuration_Section_Key base_key;
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ path,
+ base_key,
+ 0);
+
+ ACE_TString base_name;
+ this->repo_->config ()->get_string_value (base_key,
+ "name",
+ base_name);
+
+ if (base_name == name)
+ {
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (5,
+ CORBA::COMPLETED_NO),
+ 1);
+ }
+ }
+ }
+ }
+
+ return 0;
+}
+
+void
+TAO_Container_i::lookup_name_recursive (
+ ACE_Unbounded_Queue<CORBA::DefinitionKind> &kind_queue,
+ ACE_Unbounded_Queue<ACE_TString> &path_queue,
+ const char *search_name,
+ CORBA::Long levels_to_search,
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL
+ )
+{
+ ACE_Configuration_Section_Key defns_key;
+ int status =
+ this->repo_->config ()->open_section (this->section_key_,
+ "defns",
+ 0,
+ defns_key);
+
+ if (status == 0)
+ {
+ int index = 0;
+ ACE_TString section_name;
+ while (this->repo_->config ()->enumerate_sections (defns_key,
+ index++,
+ section_name)
+ == 0)
+ {
+ ACE_Configuration_Section_Key defn_key;
+ this->repo_->config ()->open_section (defns_key,
+ section_name.c_str (),
+ 0,
+ defn_key);
+
+ u_int kind = 0;
+ this->repo_->config ()->get_integer_value (defn_key,
+ "def_kind",
+ kind);
+
+ CORBA::DefinitionKind def_kind =
+ ACE_static_cast (CORBA::DefinitionKind, kind);
+
+ if (limit_type == CORBA::dk_all || limit_type == def_kind)
+ {
+ ACE_TString name;
+ this->repo_->config ()->get_string_value (defn_key,
+ "name",
+ name);
+
+ if (!ACE_OS::strcmp (name.c_str (), search_name))
+ {
+ kind_queue.enqueue_tail (def_kind);
+
+ ACE_TString id;
+ this->repo_->config ()->get_string_value (defn_key,
+ "id",
+ id);
+
+ ACE_TString path;
+ this->repo_->config ()->get_string_value (
+ this->repo_->repo_ids_key (),
+ id.c_str (),
+ path
+ );
+
+ path_queue.enqueue_tail (path);
+ }
+ }
+
+ if (levels_to_search == -1 || levels_to_search > 1)
+ {
+ TAO_Container_i *impl =
+ this->repo_->servant_factory ()->create_container (
+ defn_key
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK;
+
+ // This member may not be a container.
+ if (impl == 0)
+ continue;
+
+ auto_ptr<TAO_Container_i> safety (impl);
+
+ impl->lookup_name_recursive (kind_queue,
+ path_queue,
+ search_name,
+ levels_to_search == -1
+ ? -1
+ : levels_to_search - 1,
+ limit_type,
+ exclude_inherited
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+ }
+ }
+ }
+
+ CORBA::DefinitionKind kind = this->def_kind (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ if (kind == CORBA::dk_Interface || kind == CORBA::dk_Value)
+ {
+ if (limit_type == CORBA::dk_all || limit_type == CORBA::dk_Attribute)
+ {
+ this->lookup_attr (kind_queue,
+ path_queue,
+ search_name,
+ exclude_inherited);
+ }
+
+ if (limit_type == CORBA::dk_all || limit_type == CORBA::dk_Operation)
+ {
+ this->lookup_op (kind_queue,
+ path_queue,
+ search_name,
+ exclude_inherited);
+ }
+ }
+}
+
+void
+TAO_Container_i:: lookup_attr (
+ ACE_Unbounded_Queue<CORBA::DefinitionKind> &kind_queue,
+ ACE_Unbounded_Queue<ACE_TString> &path_queue,
+ const char *search_name,
+ CORBA::Boolean exclude_inherited
+ )
+{
+ int index = 0;
+ ACE_TString section_name;
+
+ ACE_Configuration_Section_Key sub_key;
+ int status =
+ this->repo_->config ()->open_section (this->section_key_,
+ "attrs",
+ 0,
+ sub_key);
+
+ if (status == 0)
+ {
+ while (this->repo_->config ()->enumerate_sections (sub_key,
+ index++,
+ section_name)
+ == 0)
+ {
+ ACE_Configuration_Section_Key member_key;
+ this->repo_->config ()->open_section (sub_key,
+ section_name.c_str (),
+ 0,
+ member_key);
+
+ ACE_TString name;
+ this->repo_->config ()->get_string_value (member_key,
+ "name",
+ name);
+
+ if (name == search_name)
+ {
+ kind_queue.enqueue_tail (CORBA::dk_Attribute);
+
+ ACE_TString id;
+ this->repo_->config ()->get_string_value (member_key,
+ "id",
+ id);
+
+ ACE_TString path;
+ this->repo_->config ()->get_string_value (
+ this->repo_->repo_ids_key (),
+ id.c_str (),
+ path
+ );
+
+ path_queue.enqueue_tail (path);
+ }
+ }
+ }
+
+ if (exclude_inherited == 0)
+ {
+ ACE_Configuration_Section_Key bases_key;
+ status =
+ this->repo_->config ()->open_section (this->section_key_,
+ "inherited",
+ 0,
+ bases_key);
+
+ if (status == 0)
+ {
+ ACE_Configuration::VALUETYPE type;
+ index = 0;
+ while (this->repo_->config ()->enumerate_values (
+ bases_key,
+ index++,
+ section_name,
+ type
+ )
+ == 0)
+ {
+ ACE_TString path;
+ this->repo_->config ()->get_string_value (
+ bases_key,
+ section_name.c_str (),
+ path);
+
+ ACE_Configuration_Section_Key base_key;
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ path,
+ base_key,
+ 0);
+
+ TAO_InterfaceDef_i impl (this->repo_,
+ base_key);
+
+ impl.lookup_attr (kind_queue,
+ path_queue,
+ search_name,
+ exclude_inherited);
+ }
+ }
+ }
+}
+
+void
+TAO_Container_i::lookup_op (
+ ACE_Unbounded_Queue<CORBA::DefinitionKind> &kind_queue,
+ ACE_Unbounded_Queue<ACE_TString> &path_queue,
+ const char *search_name,
+ CORBA::Boolean exclude_inherited
+ )
+{
+ int index = 0;
+ ACE_TString section_name;
+
+ ACE_Configuration_Section_Key sub_key;
+ int status =
+ this->repo_->config ()->open_section (this->section_key_,
+ "ops",
+ 0,
+ sub_key);
+
+ if (status == 0)
+ {
+ while (this->repo_->config ()->enumerate_sections (sub_key,
+ index++,
+ section_name)
+ == 0)
+ {
+ ACE_Configuration_Section_Key member_key;
+ this->repo_->config ()->open_section (sub_key,
+ section_name.c_str (),
+ 0,
+ member_key);
+
+ ACE_TString name;
+ this->repo_->config ()->get_string_value (member_key,
+ "name",
+ name);
+
+ if (name == search_name)
+ {
+ kind_queue.enqueue_tail (CORBA::dk_Operation);
+
+ ACE_TString id;
+ this->repo_->config ()->get_string_value (member_key,
+ "id",
+ id);
+
+ ACE_TString path;
+ this->repo_->config ()->get_string_value (
+ this->repo_->repo_ids_key (),
+ id.c_str (),
+ path
+ );
+
+ path_queue.enqueue_tail (path);
+ }
+ }
+ }
+
+ if (exclude_inherited == 0)
+ {
+ ACE_Configuration_Section_Key bases_key;
+ status =
+ this->repo_->config ()->open_section (this->section_key_,
+ "inherited",
+ 0,
+ bases_key);
+
+ if (status == 0)
+ {
+ ACE_Configuration::VALUETYPE type;
+ index = 0;
+ while (this->repo_->config ()->enumerate_values (
+ bases_key,
+ index++,
+ section_name,
+ type
+ )
+ == 0)
+ {
+ ACE_TString path;
+ this->repo_->config ()->get_string_value (
+ bases_key,
+ section_name.c_str (),
+ path);
+
+ ACE_Configuration_Section_Key base_key;
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ path,
+ base_key,
+ 0);
+
+ TAO_InterfaceDef_i impl (this->repo_,
+ base_key);
+
+ impl.lookup_attr (kind_queue,
+ path_queue,
+ search_name,
+ exclude_inherited);
+ }
+ }
+ }
+}
+
+CORBA::Boolean
+TAO_Container_i::id_exists (const char *id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // The repo id must not already exist.
+ ACE_TString holder;
+ if (this->repo_->config ()->get_string_value (this->repo_->repo_ids_key (),
+ id,
+ holder)
+ == 0)
+ {
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (2,
+ CORBA::COMPLETED_NO),
+ 1);
+ }
+
+ return 0;
+}
+
+
+CORBA::Boolean
+TAO_Container_i::pre_exist (const char *id,
+ const char *name
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA::Boolean exist = this->id_exists (id ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (1);
+
+ if (exist)
+ return 1;
+
+ return name_exists (name ACE_ENV_ARG_PARAMETER);
+}
+
+ACE_TString
+TAO_Container_i::create_common (
+ ACE_Configuration_Section_Key sub_key,
+ ACE_Configuration_Section_Key &new_key,
+ const char *id,
+ const char *name,
+ const char *version,
+ const char *sub_section,
+ CORBA::DefinitionKind def_kind
+ )
+{
+ u_int defn_count = 0;
+
+ // If we have a count, it gets set, if not, it stays 0.
+ this->repo_->config ()->get_integer_value (sub_key,
+ "count",
+ defn_count);
+
+ CORBA::String_var section_name = this->int_to_string (defn_count);
+ this->repo_->config ()->open_section (sub_key,
+ section_name.in (),
+ 1,
+ new_key);
+
+ // Increment the count.
+ this->repo_->config ()->set_integer_value (sub_key,
+ "count",
+ defn_count + 1);
+
+ this->repo_->config ()->get_integer_value (sub_key,
+ "count",
+ defn_count);
+
+ // Set the name attribute.
+ this->repo_->config ()->set_string_value (new_key,
+ "name",
+ name);
+
+ // Set the id attribute.
+ this->repo_->config ()->set_string_value (new_key,
+ "id",
+ id);
+
+ // Set the version attribute.
+ this->repo_->config ()->set_string_value (new_key,
+ "version",
+ version);
+
+ // Set the definition kind.
+ this->repo_->config ()->set_integer_value (new_key,
+ "def_kind",
+ def_kind);
+
+ // Get the container's absolute name, append the new name,
+ // and set it in the new section.
+ ACE_TString absolute_name;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "absolute_name",
+ absolute_name);
+
+ absolute_name += "::";
+ absolute_name += name;
+
+ this->repo_->config ()->set_string_value (new_key,
+ "absolute_name",
+ absolute_name);
+
+ // Get the container's path.
+ ACE_TString container_id;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "id",
+ container_id);
+
+ this->repo_->config ()->set_string_value (new_key,
+ "container_id",
+ container_id);
+
+ ACE_TString path;
+ if (container_id == "") // This Container is the Repository.
+ {
+ path = "";
+ }
+ else
+ {
+ this->repo_->config ()->get_string_value (this->repo_->repo_ids_key (),
+ container_id.c_str (),
+ path);
+
+ path += '\\';
+ }
+
+ path += sub_section;
+ path += section_name.in ();
+
+ // Store our path under our global repo id for fast lookup.
+ this->repo_->config ()->set_string_value (this->repo_->repo_ids_key (),
+ id,
+ path);
+
+ return path;
+}
+
+CORBA::Boolean
+TAO_Container_i::valid_container (const CORBA::DefinitionKind op_kind
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA::DefinitionKind my_kind = this->def_kind (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ int error_flag = 0;
+
+ switch (my_kind)
+ {
+ case CORBA::dk_Repository:
+ case CORBA::dk_Module:
+ break;
+ case CORBA::dk_Exception:
+ case CORBA::dk_Struct:
+ case CORBA::dk_Union:
+ switch (op_kind)
+ {
+ case CORBA::dk_Struct:
+ case CORBA::dk_Union:
+ case CORBA::dk_Enum:
+ break;
+ default:
+ error_flag = 1;
+ break;
+ }
+ break;
+ case CORBA::dk_Value:
+ case CORBA::dk_Interface:
+ case CORBA::dk_AbstractInterface:
+ case CORBA::dk_LocalInterface:
+ case CORBA::dk_Home:
+ switch (op_kind)
+ {
+ case CORBA::dk_Module:
+ case CORBA::dk_Interface:
+ case CORBA::dk_Value:
+ error_flag = 1;
+ break;
+ default:
+ break;
+ }
+ break;
+ case CORBA::dk_Component:
+ error_flag = 1;
+ break;
+ default:
+ break;
+ }
+
+ if (error_flag == 1)
+ {
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (4,
+ CORBA::COMPLETED_NO),
+ 0);
+ }
+
+ return 1;
+}
+
+void
+TAO_Container_i::store_label (ACE_Configuration_Section_Key key,
+ const CORBA::Any &value
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA::TypeCode_var tc = value.type ();
+
+ CORBA::TCKind kind = tc->kind (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ TAO_InputCDR cdr (value._tao_get_cdr (),
+ value._tao_byte_order ());
+
+ u_int result = 0;
+ int default_label = 0;
+
+ switch (kind)
+ {
+ case CORBA::tk_octet:
+ default_label = 1;
+ break;
+ case CORBA::tk_char:
+ {
+ CORBA::Char x;
+ cdr.read_char (x);
+ result = ACE_static_cast (u_int, x);
+ break;
+ }
+ case CORBA::tk_wchar:
+ {
+ CORBA::WChar x;
+ cdr.read_wchar (x);
+ result = ACE_static_cast (u_int, x);
+ break;
+ }
+ case CORBA::tk_boolean:
+ {
+ CORBA::Boolean x;
+ cdr.read_boolean (x);
+ result = ACE_static_cast (u_int, x);
+ break;
+ }
+ case CORBA::tk_short:
+ {
+ CORBA::Short x;
+ cdr.read_short (x);
+ result = ACE_static_cast (u_int, x);
+ break;
+ }
+ case CORBA::tk_ushort:
+ {
+ CORBA::UShort x;
+ cdr.read_ushort (x);
+ result = ACE_static_cast (u_int, x);
+ break;
+ }
+ case CORBA::tk_long:
+ {
+ CORBA::Long x;
+ cdr.read_long (x);
+ result = ACE_static_cast (u_int, x);
+ break;
+ }
+ case CORBA::tk_ulong:
+ {
+ CORBA::ULong x;
+ cdr.read_ulong (x);
+ result = ACE_static_cast (u_int, x);
+ break;
+ }
+#if !defined (ACE_LACKS_LONGLONG_T)
+ case CORBA::tk_longlong:
+ {
+ CORBA::LongLong x;
+ cdr.read_longlong (x);
+ // We could lose data here.
+ result = ACE_static_cast (u_int, x);
+ break;
+ }
+#endif /* ACE_LACKS_LONGLONG_T */
+ case CORBA::tk_ulonglong:
+ {
+ CORBA::ULongLong x;
+ cdr.read_ulonglong (x);
+ // We could lose data here.
+ result = ACE_static_cast (u_int, x);
+ break;
+ }
+ case CORBA::tk_enum:
+ {
+ CORBA::ULong x;
+ cdr.read_ulong (x);
+ result = ACE_static_cast (u_int, x);
+ break;
+ }
+ default:
+ break;
+ }
+
+ if (default_label == 1)
+ {
+ this->repo_->config ()->set_string_value (key,
+ "label",
+ "default");
+ }
+ else
+ {
+ this->repo_->config ()->set_integer_value (key,
+ "label",
+ result);
+ }
+}
+
+void
+TAO_Container_i::update_refs (const char *path,
+ const char *name)
+{
+ ACE_Configuration_Section_Key refs_key;
+ this->repo_->config ()->open_section (this->section_key_,
+ "refs",
+ 1,
+ refs_key);
+
+ u_int count = 0;
+ this->repo_->config ()->get_integer_value (refs_key,
+ "count",
+ count);
+
+ int index = 0;
+ ACE_TString section_name;
+ while (this->repo_->config ()->enumerate_sections (refs_key,
+ index++,
+ section_name)
+ == 0)
+ {
+ ACE_Configuration_Section_Key ref_key;
+ this->repo_->config ()->open_section (refs_key,
+ section_name.c_str (),
+ 0,
+ ref_key);
+
+ ACE_TString ref_name;
+ this->repo_->config ()->get_string_value (ref_key,
+ "name",
+ ref_name);
+
+ // If one of the names has been mangled by move(), fix it.
+ if (ref_name.find (this->repo_->extension ()) != ACE_TString::npos)
+ {
+ this->repo_->config ()->set_string_value (ref_key,
+ "name",
+ name);
+
+ this->repo_->config ()->set_string_value (ref_key,
+ "path",
+ path);
+
+ return;
+ }
+ }
+
+ // Add a new reference.
+ ACE_Configuration_Section_Key new_key;
+ CORBA::String_var new_section_name = this->int_to_string (count);
+ this->repo_->config ()->open_section (refs_key,
+ new_section_name.in (),
+ 1,
+ new_key);
+
+ this->repo_->config ()->set_string_value (new_key,
+ "name",
+ name);
+
+ this->repo_->config ()->set_string_value (new_key,
+ "path",
+ path);
+
+ this->repo_->config ()->set_integer_value (refs_key,
+ "count",
+ count + 1);
+}
diff --git a/TAO/orbsvcs/IFR_Service/Container_i.h b/TAO/orbsvcs/IFR_Service/Container_i.h
new file mode 100644
index 00000000000..e3435b72c31
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/Container_i.h
@@ -0,0 +1,458 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// Container_i.h
+//
+// = DESCRIPTION
+// Container servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_CONTAINER_I_H
+#define TAO_CONTAINER_I_H
+
+#include "IRObject_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_Repository_i;
+
+class TAO_Container_i : public virtual TAO_IRObject_i
+{
+ // = TITLE
+ // TAO_Container_i
+ //
+ // = DESCRIPTION
+ // Abstract base class used to form a containment hierarchy
+ // in the Interface Repository, by containing objects
+ // derived from the Contained interface.
+ //
+public:
+ TAO_Container_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor.
+
+ virtual ~TAO_Container_i (void);
+ // Destructor.
+
+ virtual void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Remove our contents.
+
+ virtual void destroy_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_Contained_ptr lookup (
+ const char *search_name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_Contained_ptr lookup_i (
+ const char *search_name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_ContainedSeq *contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_ContainedSeq *contents_i (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_ContainedSeq *lookup_name (
+ const char *search_name,
+ CORBA::Long levels_to_search,
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_ContainedSeq *lookup_name_i (
+ const char *search_name,
+ CORBA::Long levels_to_search,
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_Container::DescriptionSeq *describe_contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_Container::DescriptionSeq *describe_contents_i (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_ModuleDef_ptr create_module (
+ const char *id,
+ const char *name,
+ const char *version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_ModuleDef_ptr create_module_i (
+ const char *id,
+ const char *name,
+ const char *version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_ConstantDef_ptr create_constant (
+ const char *id,
+ const char *name,
+ const char *version,
+ CORBA_IDLType_ptr type,
+ const CORBA::Any & value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_ConstantDef_ptr create_constant_i (
+ const char *id,
+ const char *name,
+ const char *version,
+ CORBA_IDLType_ptr type,
+ const CORBA::Any & value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_StructDef_ptr create_struct (
+ const char *id,
+ const char *name,
+ const char *version,
+ const CORBA_StructMemberSeq &members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_StructDef_ptr create_struct_i (
+ const char *id,
+ const char *name,
+ const char *version,
+ const CORBA_StructMemberSeq &members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_UnionDef_ptr create_union (
+ const char *id,
+ const char *name,
+ const char *version,
+ CORBA_IDLType_ptr discriminator_type,
+ const CORBA_UnionMemberSeq &members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_UnionDef_ptr create_union_i (
+ const char *id,
+ const char *name,
+ const char *version,
+ CORBA_IDLType_ptr discriminator_type,
+ const CORBA_UnionMemberSeq &members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_EnumDef_ptr create_enum (
+ const char *id,
+ const char *name,
+ const char *version,
+ const CORBA_EnumMemberSeq &members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_EnumDef_ptr create_enum_i (
+ const char *id,
+ const char *name,
+ const char *version,
+ const CORBA_EnumMemberSeq &members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_AliasDef_ptr create_alias (
+ const char *id,
+ const char *name,
+ const char *version,
+ CORBA_IDLType_ptr original_type
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_AliasDef_ptr create_alias_i (
+ const char *id,
+ const char *name,
+ const char *version,
+ CORBA_IDLType_ptr original_type
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_InterfaceDef_ptr create_interface (
+ const char *id,
+ const char *name,
+ const char *version,
+ const CORBA_InterfaceDefSeq &base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_InterfaceDef_ptr create_interface_i (
+ const char *id,
+ const char *name,
+ const char *version,
+ const CORBA_InterfaceDefSeq &base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_ValueDef_ptr create_value (
+ const char *id,
+ const char *name,
+ const char *version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ CORBA_ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const CORBA_ValueDefSeq &abstract_base_values,
+ const CORBA_InterfaceDefSeq & supported_interfaces,
+ const CORBA_InitializerSeq &initializers
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_ValueDef_ptr create_value_i (
+ const char *id,
+ const char *name,
+ const char *version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ CORBA_ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const CORBA_ValueDefSeq &abstract_base_values,
+ const CORBA_InterfaceDefSeq & supported_interfaces,
+ const CORBA_InitializerSeq &initializers
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_ValueBoxDef_ptr create_value_box (
+ const char *id,
+ const char *name,
+ const char *version,
+ CORBA_IDLType_ptr original_type_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_ValueBoxDef_ptr create_value_box_i (
+ const char *id,
+ const char *name,
+ const char *version,
+ CORBA_IDLType_ptr original_type_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_ExceptionDef_ptr create_exception (
+ const char *id,
+ const char *name,
+ const char *version,
+ const CORBA_StructMemberSeq &members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_ExceptionDef_ptr create_exception_i (
+ const char *id,
+ const char *name,
+ const char *version,
+ const CORBA_StructMemberSeq &members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_NativeDef_ptr create_native (
+ const char *id,
+ const char *name,
+ const char *version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_NativeDef_ptr create_native_i (
+ const char *id,
+ const char *name,
+ const char *version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_AbstractInterfaceDef_ptr create_abstract_interface (
+ const char *id,
+ const char *name,
+ const char *version,
+ const CORBA_AbstractInterfaceDefSeq &base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_AbstractInterfaceDef_ptr create_abstract_interface_i (
+ const char *id,
+ const char *name,
+ const char *version,
+ const CORBA_AbstractInterfaceDefSeq &base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_LocalInterfaceDef_ptr create_local_interface (
+ const char *id,
+ const char *name,
+ const char *version,
+ const CORBA_InterfaceDefSeq &base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_LocalInterfaceDef_ptr create_local_interface_i (
+ const char *id,
+ const char *name,
+ const char *version,
+ const CORBA_InterfaceDefSeq &base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA::Boolean name_exists (
+ const char *name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Checks for local existence of <name>.
+
+protected:
+ void store_label (
+ ACE_Configuration_Section_Key key,
+ const CORBA::Any &value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Store a union member's label value.
+
+ CORBA::Boolean pre_exist (
+ const char *id,
+ const char *name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Bundles id_exists and name_exists together.
+
+ ACE_TString create_common (
+ ACE_Configuration_Section_Key sub_key,
+ ACE_Configuration_Section_Key &new_key,
+ const char *id,
+ const char *name,
+ const char *version,
+ const char *sub_section,
+ CORBA::DefinitionKind def_kind
+ );
+ // Code common to all the create_* methods.
+
+ void lookup_attr (
+ ACE_Unbounded_Queue<CORBA::DefinitionKind> &kind_queue,
+ ACE_Unbounded_Queue<ACE_TString> &path_queue,
+ const char *search_name,
+ CORBA::Boolean exclude_inherited
+ );
+
+ void lookup_op (
+ ACE_Unbounded_Queue<CORBA::DefinitionKind> &kind_queue,
+ ACE_Unbounded_Queue<ACE_TString> &path_queue,
+ const char *search_name,
+ CORBA::Boolean exclude_inherited
+ );
+
+private:
+ void lookup_name_recursive (
+ ACE_Unbounded_Queue<CORBA::DefinitionKind> &kind_queue,
+ ACE_Unbounded_Queue<ACE_TString> &path_queue,
+ const char *search_name,
+ CORBA::Long levels_to_search,
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ CORBA::Boolean id_exists (
+ const char *id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Checks for global existence of the repo id.
+
+ CORBA::Boolean valid_container (
+ const CORBA::DefinitionKind op_kind
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Is this operation valid for this container type?
+
+ void update_refs (
+ const char *path,
+ const char *name
+ );
+ // Used with structs, unions and exceptions.
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_CONTAINER_I_H */
diff --git a/TAO/orbsvcs/IFR_Service/EmitsDef_i.cpp b/TAO/orbsvcs/IFR_Service/EmitsDef_i.cpp
new file mode 100644
index 00000000000..97ad175d7ad
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/EmitsDef_i.cpp
@@ -0,0 +1,60 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "Repository_i.h"
+#include "EmitsDef_i.h"
+
+ACE_RCSID(IFR_Service, EmitsDef_i, "$Id$")
+
+TAO_EmitsDef_i::TAO_EmitsDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key)
+ : TAO_IRObject_i (repo, section_key),
+ TAO_Contained_i (repo, section_key),
+ TAO_EventDef_i (repo, section_key)
+{
+}
+
+TAO_EmitsDef_i::~TAO_EmitsDef_i (void)
+{
+}
+
+CORBA::DefinitionKind
+TAO_EmitsDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return CORBA::dk_Emits;
+}
+
+void
+TAO_EmitsDef_i::destroy (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+void
+TAO_EmitsDef_i::destroy_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+}
+
+CORBA_Contained::Description *
+TAO_EmitsDef_i::describe (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->describe_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA_Contained::Description *
+TAO_EmitsDef_i::describe_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/EmitsDef_i.h b/TAO/orbsvcs/IFR_Service/EmitsDef_i.h
new file mode 100644
index 00000000000..5b7141e3ee8
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/EmitsDef_i.h
@@ -0,0 +1,89 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// EmitsDef_i.h
+//
+// = DESCRIPTION
+// EmitsDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_EMITSDEF_I_H
+#define TAO_EMITSDEF_I_H
+
+#include "EventDef_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_EmitsDef_i : public virtual TAO_EventDef_i
+{
+ // = TITLE
+ // TAO_EmitsDef_i
+ //
+ // = DESCRIPTION
+ // Represents the definition of an event that is emitted
+ // by a component.
+ //
+public:
+ TAO_EmitsDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_EmitsDef_i (void);
+ // Destructor
+
+ virtual CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Remove the repository entry.
+
+ virtual void destroy_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_Contained::Description *describe (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+
+ virtual CORBA_Contained::Description *describe_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_EMITSDEF_I_H */
+
+
diff --git a/TAO/orbsvcs/IFR_Service/EnumDef_i.cpp b/TAO/orbsvcs/IFR_Service/EnumDef_i.cpp
new file mode 100644
index 00000000000..288a13fdd66
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/EnumDef_i.cpp
@@ -0,0 +1,148 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "EnumDef_i.h"
+#include "Repository_i.h"
+#include "Servant_Factory.h"
+
+ACE_RCSID(IFR_Service, EnumDef_i, "$Id$")
+
+TAO_EnumDef_i::TAO_EnumDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key)
+ : TAO_IRObject_i (repo, section_key),
+ TAO_Contained_i (repo, section_key),
+ TAO_IDLType_i (repo, section_key),
+ TAO_TypedefDef_i (repo, section_key)
+{
+}
+
+TAO_EnumDef_i::~TAO_EnumDef_i (void)
+{
+}
+
+CORBA::DefinitionKind
+TAO_EnumDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return CORBA::dk_Enum;
+}
+
+CORBA::TypeCode_ptr
+TAO_EnumDef_i::type (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (CORBA::TypeCode::_nil ());
+
+ return this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA::TypeCode_ptr
+TAO_EnumDef_i::type_i (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString id;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "id",
+ id);
+
+ ACE_TString name;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "name",
+ name);
+
+ CORBA_EnumMemberSeq_var members = this->members_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ return this->repo_->tc_factory ()->create_enum_tc (id.c_str (),
+ name.c_str (),
+ members.in ()
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA_EnumMemberSeq *
+TAO_EnumDef_i::members (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->members_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA_EnumMemberSeq *
+TAO_EnumDef_i::members_i (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ u_int count = 0;
+ this->repo_->config ()->get_integer_value (this->section_key_,
+ "count",
+ count);
+
+ CORBA_EnumMemberSeq *retval = 0;
+ ACE_NEW_THROW_EX (retval,
+ CORBA_EnumMemberSeq (count),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ retval->length (count);
+
+ for (u_int i = 0; i < count; i++)
+ {
+ ACE_Configuration_Section_Key member_key;
+ CORBA::String_var section_name = this->int_to_string (i);
+ this->repo_->config ()->open_section (this->section_key_,
+ section_name.in (),
+ 0,
+ member_key);
+
+ ACE_TString member_name;
+ this->repo_->config ()->get_string_value (member_key,
+ "name",
+ member_name);
+
+ (*retval)[i] = member_name.c_str ();
+ }
+
+ return retval;
+}
+
+void
+TAO_EnumDef_i::members (const CORBA_EnumMemberSeq &members
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->members_i (members
+ ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_EnumDef_i::members_i (const CORBA_EnumMemberSeq &members
+ ACE_ENV_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ this->repo_->config ()->remove_section (this->section_key_,
+ "members",
+ 1);
+
+ CORBA::ULong count = members.length ();
+ this->repo_->config ()->set_integer_value (this->section_key_,
+ "count",
+ count);
+
+ for (CORBA::ULong i = 0; i < count; i ++)
+ {
+ ACE_Configuration_Section_Key member_key;
+ CORBA::String_var section_name = this->int_to_string (i);
+ this->repo_->config ()->open_section (this->section_key_,
+ section_name.in (),
+ 1,
+ member_key);
+
+ ACE_TString member_name (members[i]);
+ this->repo_->config ()->set_string_value (member_key,
+ "name",
+ member_name);
+ }
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/EnumDef_i.h b/TAO/orbsvcs/IFR_Service/EnumDef_i.h
new file mode 100644
index 00000000000..202696fe9e0
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/EnumDef_i.h
@@ -0,0 +1,99 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// EnumDef_i.h
+//
+// = DESCRIPTION
+// EnumDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_ENUMDEF_I_H
+#define TAO_ENUMDEF_I_H
+
+#include "TypedefDef_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_EnumDef_i : public virtual TAO_TypedefDef_i
+{
+public:
+ // = TITLE
+ // TAO_EnumDef_i
+ //
+ // = DESCRIPTION
+ // Represents an OMG IDL enumeration definition.
+ //
+public:
+ TAO_EnumDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_EnumDef_i (void);
+ // Destructor
+
+ virtual CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual CORBA::TypeCode_ptr type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From IDLType_i's pure virtual function.
+
+ virtual CORBA::TypeCode_ptr type_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From IDLType_i's pure virtual function.
+
+ virtual CORBA_EnumMemberSeq *members (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_EnumMemberSeq *members_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void members (
+ const CORBA_EnumMemberSeq &members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void members_i (
+ const CORBA_EnumMemberSeq &members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_ENUMDEF_I_H */
+
diff --git a/TAO/orbsvcs/IFR_Service/EventDef_i.cpp b/TAO/orbsvcs/IFR_Service/EventDef_i.cpp
new file mode 100644
index 00000000000..92500cea21e
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/EventDef_i.cpp
@@ -0,0 +1,89 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "Repository_i.h"
+#include "EventDef_i.h"
+
+ACE_RCSID(IFR_Service, EventDef_i, "$Id$")
+
+TAO_EventDef_i::TAO_EventDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key)
+ : TAO_IRObject_i (repo, section_key),
+ TAO_Contained_i (repo, section_key)
+{
+}
+
+TAO_EventDef_i::~TAO_EventDef_i (void)
+{
+}
+
+void
+TAO_EventDef_i::destroy (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+void
+TAO_EventDef_i::destroy_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+}
+
+CORBA_Contained::Description *
+TAO_EventDef_i::describe (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->describe_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA_Contained::Description *
+TAO_EventDef_i::describe_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+CORBA::Boolean
+TAO_EventDef_i::is_a (const char *event_id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->is_a_i (event_id
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA::Boolean
+TAO_EventDef_i::is_a_i (const char * /* event_id */
+ ACE_ENV_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+CORBA_ValueDef_ptr
+TAO_EventDef_i::event (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (CORBA_ValueDef::_nil ());
+
+ return this->event_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA_ValueDef_ptr
+TAO_EventDef_i::event_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/EventDef_i.h b/TAO/orbsvcs/IFR_Service/EventDef_i.h
new file mode 100644
index 00000000000..67b0fe1884f
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/EventDef_i.h
@@ -0,0 +1,105 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// EventDef_i.h
+//
+// = DESCRIPTION
+// EventDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_EVENTDEF_I_H
+#define TAO_EVENTDEF_I_H
+
+#include "Contained_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_EventDef_i : public virtual TAO_Contained_i
+{
+ // = TITLE
+ // TAO_EventDef_i
+ //
+ // = DESCRIPTION
+ // Represents an event definition. It refers to a ValueDef
+ // object that contains information about the event.
+ //
+public:
+ TAO_EventDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_EventDef_i (void);
+ // Destructor
+
+ virtual void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Remove the repository entry.
+
+ virtual void destroy_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_Contained::Description *describe (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+
+ virtual CORBA_Contained::Description *describe_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+
+ virtual CORBA::Boolean is_a (
+ const char *event_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA::Boolean is_a_i (
+ const char *event_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_ValueDef_ptr event (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_ValueDef_ptr event_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_EVENTDEF_I_H */
+
+
diff --git a/TAO/orbsvcs/IFR_Service/ExceptionDef_i.cpp b/TAO/orbsvcs/IFR_Service/ExceptionDef_i.cpp
new file mode 100644
index 00000000000..6dc98d5c663
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/ExceptionDef_i.cpp
@@ -0,0 +1,335 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "ExceptionDef_i.h"
+#include "Repository_i.h"
+#include "IDLType_i.h"
+#include "Servant_Factory.h"
+#include "ace/Auto_Ptr.h"
+
+ACE_RCSID(IFR_Service, ExceptionDef_i, "$Id$")
+
+TAO_ExceptionDef_i::TAO_ExceptionDef_i (
+ TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key
+ )
+ : TAO_IRObject_i (repo, section_key),
+ TAO_Container_i (repo, section_key),
+ TAO_Contained_i (repo, section_key)
+{
+}
+
+TAO_ExceptionDef_i::~TAO_ExceptionDef_i (void)
+{
+}
+
+CORBA::DefinitionKind
+TAO_ExceptionDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return CORBA::dk_Exception;
+}
+
+void
+TAO_ExceptionDef_i::destroy (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+void
+TAO_ExceptionDef_i::destroy_i (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Destroy our members.
+ TAO_Container_i::destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ // Destroy ourself.
+ TAO_Contained_i::destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+}
+
+CORBA_Contained::Description *
+TAO_ExceptionDef_i::describe (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->describe_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA_Contained::Description *
+TAO_ExceptionDef_i::describe_i (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA_Contained::Description *desc_ptr = 0;
+ ACE_NEW_THROW_EX (desc_ptr,
+ CORBA_Contained::Description,
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ CORBA_Contained::Description_var retval = desc_ptr;
+
+ retval->kind = this->def_kind (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA_ExceptionDescription ed;
+
+ ed.name = this->name_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ ed.id = this->id_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ ACE_TString container_id;
+
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "container_id",
+ container_id);
+
+ ed.defined_in = container_id.c_str ();
+
+ ed.version = this->version_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ ed.type = this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ retval->value <<= ed;
+
+ return retval._retn ();
+}
+
+CORBA::TypeCode_ptr
+TAO_ExceptionDef_i::type (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (CORBA::TypeCode::_nil ());
+
+ return this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA::TypeCode_ptr
+TAO_ExceptionDef_i::type_i (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString id;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "id",
+ id);
+
+ ACE_TString name;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "name",
+ name);
+
+ CORBA_StructMemberSeq_var members = this->members_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ return this->repo_->tc_factory ()->create_exception_tc (id.c_str (),
+ name.c_str (),
+ members.in ()
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA_StructMemberSeq *
+TAO_ExceptionDef_i::members (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->members_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA_StructMemberSeq *
+TAO_ExceptionDef_i::members_i (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_Unbounded_Queue<CORBA::DefinitionKind> kind_queue;
+ ACE_Unbounded_Queue<ACE_TString> path_queue;
+ ACE_Unbounded_Queue<ACE_TString> name_queue;
+
+ ACE_Configuration_Section_Key refs_key;
+ this->repo_->config ()->open_section (this->section_key_,
+ "refs",
+ 0,
+ refs_key);
+
+ u_int count = 0;
+ this->repo_->config ()->get_integer_value (refs_key,
+ "count",
+ count);
+
+ for (u_int i = 0; i < count; ++i)
+ {
+ ACE_Configuration_Section_Key member_key;
+ CORBA::String_var section_name = this->int_to_string (i);
+ this->repo_->config ()->open_section (refs_key,
+ section_name.in (),
+ 0,
+ member_key);
+
+ ACE_TString path;
+ this->repo_->config ()->get_string_value (member_key,
+ "path",
+ path);
+
+ ACE_Configuration_Section_Key entry_key;
+ int status =
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ path,
+ entry_key,
+ 0);
+
+ // This entry may have been removed.
+ if (status == 0)
+ {
+ path_queue.enqueue_tail (path);
+
+ ACE_TString name;
+ this->repo_->config ()->get_string_value (member_key,
+ "name",
+ name);
+
+ name_queue.enqueue_tail (name);
+
+ u_int kind = 0;
+ this->repo_->config ()->get_integer_value (entry_key,
+ "def_kind",
+ kind);
+
+ CORBA::DefinitionKind def_kind =
+ ACE_static_cast (CORBA::DefinitionKind, kind);
+
+ kind_queue.enqueue_tail (def_kind);
+ }
+ }
+
+ size_t size = kind_queue.size ();
+
+ CORBA_StructMemberSeq *members = 0;
+ ACE_NEW_THROW_EX (members,
+ CORBA_StructMemberSeq (size),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ members->length (size);
+
+ CORBA_StructMemberSeq_var retval = members;
+
+ ACE_TString name;
+ ACE_TString path;
+ CORBA::DefinitionKind kind = CORBA::dk_none;
+ CORBA::Object_var obj;
+ ACE_Configuration_Section_Key member_key;
+ TAO_IDLType_i *impl = 0;
+
+ for (size_t k = 0; k < size; k++)
+ {
+ name_queue.dequeue_head (name);
+
+ retval[k].name = name.c_str ();
+
+ kind_queue.dequeue_head (kind);
+
+ path_queue.dequeue_head (path);
+
+ obj =
+ this->repo_->servant_factory ()->create_objref (kind,
+ path.c_str ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ retval[k].type_def = CORBA_IDLType::_narrow (obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ path,
+ member_key,
+ 0);
+
+ impl =
+ this->repo_->servant_factory ()->create_idltype (member_key
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_IDLType_i> safety (impl);
+
+ retval[k].type = impl->type_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+ }
+
+ return retval._retn ();
+}
+
+void
+TAO_ExceptionDef_i::members (const CORBA_StructMemberSeq &members
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->members_i (members
+ ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ExceptionDef_i::members_i (const CORBA_StructMemberSeq &members
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Destroy our old members, both refs and defns.
+ TAO_Container_i::destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ CORBA::ULong count = members.length ();
+
+ // Exceptions can be empty.
+ if (count > 0)
+ {
+ ACE_TString section_name;
+ ACE_Configuration_Section_Key refs_key;
+
+ this->repo_->config ()->open_section (this->section_key_,
+ "refs",
+ 1,
+ refs_key);
+
+ // Create a section for each new member. We just store the
+ // member name and the path to its database entry.
+ for (CORBA::ULong i = 0; i < count; i++)
+ {
+ ACE_Configuration_Section_Key member_key;
+ CORBA::String_var section_name = this->int_to_string (i);
+ this->repo_->config ()->open_section (refs_key,
+ section_name.in (),
+ 1,
+ member_key);
+
+ ACE_TString name (members[i].name);
+ this->repo_->config ()->set_string_value (member_key,
+ "name",
+ name);
+
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (members[i].type_def.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ CORBA::String_var path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ this->repo_->config ()->set_string_value (member_key,
+ "path",
+ path.in ());
+ }
+
+ this->repo_->config ()->set_integer_value (refs_key,
+ "count",
+ count);
+ }
+}
diff --git a/TAO/orbsvcs/IFR_Service/ExceptionDef_i.h b/TAO/orbsvcs/IFR_Service/ExceptionDef_i.h
new file mode 100644
index 00000000000..d2f882f1a8a
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/ExceptionDef_i.h
@@ -0,0 +1,122 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// ExceptionDef_i.h
+//
+// = DESCRIPTION
+// ExceptionDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_EXCEPTIONDEF_I_H
+#define TAO_EXCEPTIONDEF_I_H
+
+#include "Contained_i.h"
+#include "Container_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_ExceptionDef_i : public virtual TAO_Contained_i,
+ public virtual TAO_Container_i
+{
+ // = TITLE
+ // TAO_ExceptionDef_i
+ //
+ // = DESCRIPTION
+ // Represents an exception definition.
+ //
+public:
+ TAO_ExceptionDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_ExceptionDef_i (void);
+ // Destructor
+
+ virtual CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Remove the repository entry.
+
+ virtual void destroy_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Remove the repository entry.
+
+ virtual CORBA_Contained::Description *describe (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+
+ virtual CORBA_Contained::Description *describe_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+
+ virtual CORBA::TypeCode_ptr type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA::TypeCode_ptr type_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_StructMemberSeq *members (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_StructMemberSeq *members_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void members (
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void members_i (
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_EXCEPTIONDEF_I_H */
+
diff --git a/TAO/orbsvcs/IFR_Service/FactoryDef_i.cpp b/TAO/orbsvcs/IFR_Service/FactoryDef_i.cpp
new file mode 100644
index 00000000000..aa04971500c
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/FactoryDef_i.cpp
@@ -0,0 +1,62 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "Repository_i.h"
+#include "FactoryDef_i.h"
+
+ACE_RCSID(IFR_Service, FactoryDef_i, "$Id$")
+
+TAO_FactoryDef_i::TAO_FactoryDef_i (
+ TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key
+ )
+ : TAO_IRObject_i (repo, section_key),
+ TAO_Contained_i (repo, section_key),
+ TAO_OperationDef_i (repo, section_key)
+{
+}
+
+TAO_FactoryDef_i::~TAO_FactoryDef_i (void)
+{
+}
+
+CORBA::DefinitionKind
+TAO_FactoryDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return CORBA::dk_Factory;
+}
+
+void
+TAO_FactoryDef_i::destroy (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+void
+TAO_FactoryDef_i::destroy_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+}
+
+CORBA_Contained::Description *
+TAO_FactoryDef_i::describe (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->describe_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA_Contained::Description *
+TAO_FactoryDef_i::describe_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/FactoryDef_i.h b/TAO/orbsvcs/IFR_Service/FactoryDef_i.h
new file mode 100644
index 00000000000..6e5efac51a8
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/FactoryDef_i.h
@@ -0,0 +1,89 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// FactoryDef_i.h
+//
+// = DESCRIPTION
+// FactoryDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_FACTORYDEF_I_H
+#define TAO_FACTORYDEF_I_H
+
+#include "OperationDef_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_FactoryDef_i : public virtual TAO_OperationDef_i
+{
+ // = TITLE
+ // TAO_FactoryDef_i
+ //
+ // = DESCRIPTION
+ // Represents the definition of a factory operation in a home.
+ //
+public:
+ TAO_FactoryDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_FactoryDef_i (void);
+ // Destructor
+
+ virtual CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Remove the repository entry.
+
+ virtual void destroy_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_Contained::Description *describe (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+
+ virtual CORBA_Contained::Description *describe_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_FACTORYDEF_I_H */
+
+
+
diff --git a/TAO/orbsvcs/IFR_Service/FinderDef_i.cpp b/TAO/orbsvcs/IFR_Service/FinderDef_i.cpp
new file mode 100644
index 00000000000..833621ce7e1
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/FinderDef_i.cpp
@@ -0,0 +1,60 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "Repository_i.h"
+#include "FinderDef_i.h"
+
+ACE_RCSID(IFR_Service, FinderDef_i, "$Id$")
+
+TAO_FinderDef_i::TAO_FinderDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key)
+ : TAO_IRObject_i (repo, section_key),
+ TAO_Contained_i (repo, section_key),
+ TAO_OperationDef_i (repo, section_key)
+{
+}
+
+TAO_FinderDef_i::~TAO_FinderDef_i (void)
+{
+}
+
+CORBA::DefinitionKind
+TAO_FinderDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return CORBA::dk_Finder;
+}
+
+void
+TAO_FinderDef_i::destroy (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+void
+TAO_FinderDef_i::destroy_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+}
+
+CORBA_Contained::Description *
+TAO_FinderDef_i::describe (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->describe_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA_Contained::Description *
+TAO_FinderDef_i::describe_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/FinderDef_i.h b/TAO/orbsvcs/IFR_Service/FinderDef_i.h
new file mode 100644
index 00000000000..a8cd01fe2c4
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/FinderDef_i.h
@@ -0,0 +1,89 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// FinderDef_i.h
+//
+// = DESCRIPTION
+// FinderDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_FINDERDEF_I_H
+#define TAO_FINDERDEF_I_H
+
+#include "OperationDef_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_FinderDef_i : public virtual TAO_OperationDef_i
+{
+ // = TITLE
+ // TAO_FinderDef_i
+ //
+ // = DESCRIPTION
+ // Represents the definition of a finder operation in a home.
+ //
+public:
+ TAO_FinderDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_FinderDef_i (void);
+ // Destructor
+
+ virtual CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Remove the repository entry.
+
+ virtual void destroy_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_Contained::Description *describe (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+
+ virtual CORBA_Contained::Description *describe_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_FINDERDEF_I_H */
+
+
+
diff --git a/TAO/orbsvcs/IFR_Service/FixedDef_i.cpp b/TAO/orbsvcs/IFR_Service/FixedDef_i.cpp
new file mode 100644
index 00000000000..fcf7f2e05f0
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/FixedDef_i.cpp
@@ -0,0 +1,131 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "Repository_i.h"
+#include "FixedDef_i.h"
+
+ACE_RCSID(IFR_Service, FixedDef_i, "$Id$")
+
+TAO_FixedDef_i::TAO_FixedDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key)
+ : TAO_IRObject_i (repo, section_key),
+ TAO_IDLType_i (repo, section_key)
+{
+}
+
+TAO_FixedDef_i::~TAO_FixedDef_i (void)
+{
+}
+
+CORBA::DefinitionKind
+TAO_FixedDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return CORBA::dk_Fixed;
+}
+
+void
+TAO_FixedDef_i::destroy (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+void
+TAO_FixedDef_i::destroy_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+}
+
+CORBA::TypeCode_ptr
+TAO_FixedDef_i::type (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (CORBA::TypeCode::_nil ());
+
+ return this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA::TypeCode_ptr
+TAO_FixedDef_i::type_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+CORBA::UShort
+TAO_FixedDef_i::digits (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->digits_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA::UShort
+TAO_FixedDef_i::digits_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+void
+TAO_FixedDef_i::digits (CORBA::UShort digits
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->digits_i (digits
+ ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_FixedDef_i::digits_i (CORBA::UShort /* digits */
+ ACE_ENV_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+}
+
+CORBA::Short
+TAO_FixedDef_i::scale (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->scale_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA::Short
+TAO_FixedDef_i::scale_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+void
+TAO_FixedDef_i::scale (CORBA::Short scale
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->scale_i (scale
+ ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_FixedDef_i::scale_i (CORBA::Short /* scale */
+ ACE_ENV_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/FixedDef_i.h b/TAO/orbsvcs/IFR_Service/FixedDef_i.h
new file mode 100644
index 00000000000..7c264dc2f5f
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/FixedDef_i.h
@@ -0,0 +1,131 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// FixedDef_i.h
+//
+// = DESCRIPTION
+// FixedDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_FIXEDDEF_I_H
+#define TAO_FIXEDDEF_I_H
+
+#include "IDLType_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_FixedDef_i : public virtual TAO_IDLType_i
+{
+ // = TITLE
+ // TAO_FixedDef_i
+ //
+ // = DESCRIPTION
+ // Represents an IDL fixed type.
+ //
+public:
+ TAO_FixedDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_FixedDef_i (void);
+ // Destructor
+
+ virtual CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Remove the repository entry.
+
+ virtual void destroy_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::TypeCode_ptr type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From IDLType_i's pure virtual function.
+
+ virtual CORBA::TypeCode_ptr type_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From IDLType_i's pure virtual function.
+
+ virtual CORBA::UShort digits (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA::UShort digits_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void digits (
+ CORBA::UShort digits
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void digits_i (
+ CORBA::UShort digits
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Short scale (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA::Short scale_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void scale (
+ CORBA::Short scale
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void scale_i (
+ CORBA::Short scale
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_FIXEDDEF_I_H */
+
diff --git a/TAO/orbsvcs/IFR_Service/HomeDef_i.cpp b/TAO/orbsvcs/IFR_Service/HomeDef_i.cpp
new file mode 100644
index 00000000000..966b10f2168
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/HomeDef_i.cpp
@@ -0,0 +1,277 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "Repository_i.h"
+#include "HomeDef_i.h"
+
+ACE_RCSID(IFR_Service, HomeDef_i, "$Id$")
+
+TAO_HomeDef_i::TAO_HomeDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key)
+ : TAO_IRObject_i (repo, section_key),
+ TAO_Container_i (repo, section_key),
+ TAO_Contained_i (repo, section_key),
+ TAO_IDLType_i (repo, section_key),
+ TAO_InterfaceDef_i (repo, section_key)
+{
+}
+
+TAO_HomeDef_i::~TAO_HomeDef_i (void)
+{
+}
+
+CORBA::DefinitionKind
+TAO_HomeDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return CORBA::dk_Home;
+}
+
+void
+TAO_HomeDef_i::destroy (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+void
+TAO_HomeDef_i::destroy_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+}
+
+CORBA_Contained::Description *
+TAO_HomeDef_i::describe (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->describe_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA_Contained::Description *
+TAO_HomeDef_i::describe_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+CORBA::TypeCode_ptr
+TAO_HomeDef_i::type (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (CORBA::TypeCode::_nil ());
+
+ return this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA::TypeCode_ptr
+TAO_HomeDef_i::type_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+IR::HomeDef_ptr
+TAO_HomeDef_i::base_home (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (IR::HomeDef::_nil ());
+
+ return this->base_home_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+IR::HomeDef_ptr
+TAO_HomeDef_i::base_home_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+IR::ComponentDef_ptr
+TAO_HomeDef_i::managed_component (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (IR::ComponentDef::_nil ());
+
+ return this->managed_component_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+IR::ComponentDef_ptr
+TAO_HomeDef_i::managed_component_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+IR::PrimaryKeyDef_ptr
+TAO_HomeDef_i::primary_key (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (IR::PrimaryKeyDef::_nil ());
+
+ return this->primary_key_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+IR::PrimaryKeyDef_ptr
+TAO_HomeDef_i::primary_key_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+IR::FactoryDefSeq *
+TAO_HomeDef_i::factories (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->factories_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+IR::FactoryDefSeq *
+TAO_HomeDef_i::factories_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+IR::FinderDefSeq *
+TAO_HomeDef_i::finders (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->finders_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+IR::FinderDefSeq *
+TAO_HomeDef_i::finders_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+CORBA::Boolean
+TAO_HomeDef_i::is_basic (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->is_basic_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA::Boolean
+TAO_HomeDef_i::is_basic_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+IR::PrimaryKeyDef_ptr
+TAO_HomeDef_i::create_primary_key (const char *id,
+ const char *name,
+ const char *version,
+ CORBA_ValueDef_ptr primary_key
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD_RETURN (IR::PrimaryKeyDef::_nil ());
+
+ return this->create_primary_key_i (id,
+ name,
+ version,
+ primary_key
+ ACE_ENV_ARG_PARAMETER);
+}
+
+IR::PrimaryKeyDef_ptr
+TAO_HomeDef_i::create_primary_key_i (const char * /* id */,
+ const char * /* name */,
+ const char * /* version */,
+ CORBA_ValueDef_ptr /* primary_key */
+ ACE_ENV_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+IR::FactoryDef_ptr
+TAO_HomeDef_i::create_factory (const char *id,
+ const char *name,
+ const char *version,
+ const CORBA_ParDescriptionSeq &params,
+ const CORBA_ExceptionDefSeq &exceptions
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD_RETURN (IR::FactoryDef::_nil ());
+
+ return this->create_factory_i (id,
+ name,
+ version,
+ params,
+ exceptions
+ ACE_ENV_ARG_PARAMETER);
+}
+
+IR::FactoryDef_ptr
+TAO_HomeDef_i::create_factory_i (
+ const char * /* id */,
+ const char * /* name */,
+ const char * /* version */,
+ const CORBA_ParDescriptionSeq & /* params */,
+ const CORBA_ExceptionDefSeq & /* exceptions */
+ ACE_ENV_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+IR::FinderDef_ptr
+TAO_HomeDef_i::create_finder (const char *id,
+ const char *name,
+ const char *version,
+ const CORBA_ParDescriptionSeq &params,
+ const CORBA_ExceptionDefSeq &exceptions
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD_RETURN (IR::FinderDef::_nil ());
+
+ return this->create_finder_i (id,
+ name,
+ version,
+ params,
+ exceptions
+ ACE_ENV_ARG_PARAMETER);
+}
+
+IR::FinderDef_ptr
+TAO_HomeDef_i::create_finder_i (
+ const char * /* id */,
+ const char * /* name */,
+ const char * /* version */,
+ const CORBA_ParDescriptionSeq & /* params */,
+ const CORBA_ExceptionDefSeq & /* exceptions */
+ ACE_ENV_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
diff --git a/TAO/orbsvcs/IFR_Service/HomeDef_i.h b/TAO/orbsvcs/IFR_Service/HomeDef_i.h
new file mode 100644
index 00000000000..d204facf67e
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/HomeDef_i.h
@@ -0,0 +1,221 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// HomeDef_i.h
+//
+// = DESCRIPTION
+// HomeDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_HOMEDEF_I_H
+#define TAO_HOMEDEF_I_H
+
+#include "InterfaceDef_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "IFR_ComponentsS.h"
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_HomeDef_i : public virtual TAO_InterfaceDef_i
+{
+ // = TITLE
+ // HomTAO_HomeDef_ieDef_i
+ //
+ // = DESCRIPTION
+ // Represents a home definition, containing factory and finder.
+ //
+public:
+ TAO_HomeDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_HomeDef_i (void);
+ // Destructor
+
+ virtual CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Remove the repository entry.
+
+ virtual void destroy_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_Contained::Description *describe (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+
+ virtual CORBA_Contained::Description *describe_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+
+ virtual CORBA::TypeCode_ptr type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From IDLType_i's pure virtual function.
+
+ virtual CORBA::TypeCode_ptr type_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From IDLType_i's pure virtual function.
+
+ virtual IR::HomeDef_ptr base_home (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ IR::HomeDef_ptr base_home_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::ComponentDef_ptr managed_component (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ IR::ComponentDef_ptr managed_component_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::PrimaryKeyDef_ptr primary_key (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ IR::PrimaryKeyDef_ptr primary_key_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::FactoryDefSeq *factories (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ IR::FactoryDefSeq *factories_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::FinderDefSeq *finders (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ IR::FinderDefSeq *finders_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean is_basic (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA::Boolean is_basic_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::PrimaryKeyDef_ptr create_primary_key (
+ const char *id,
+ const char *name,
+ const char *version,
+ CORBA_ValueDef_ptr primary_key
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ IR::PrimaryKeyDef_ptr create_primary_key_i (
+ const char *id,
+ const char *name,
+ const char *version,
+ CORBA_ValueDef_ptr primary_key
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::FactoryDef_ptr create_factory (
+ const char *id,
+ const char *name,
+ const char *version,
+ const CORBA_ParDescriptionSeq &params,
+ const CORBA_ExceptionDefSeq &exceptions
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ IR::FactoryDef_ptr create_factory_i (
+ const char *id,
+ const char *name,
+ const char *version,
+ const CORBA_ParDescriptionSeq &params,
+ const CORBA_ExceptionDefSeq &exceptions
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual IR::FinderDef_ptr create_finder (
+ const char *id,
+ const char *name,
+ const char *version,
+ const CORBA_ParDescriptionSeq &params,
+ const CORBA_ExceptionDefSeq &exceptions
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ IR::FinderDef_ptr create_finder_i (
+ const char *id,
+ const char *name,
+ const char *version,
+ const CORBA_ParDescriptionSeq &params,
+ const CORBA_ExceptionDefSeq &exceptions
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_HOMEDEF_I_H */
+
+
+
diff --git a/TAO/orbsvcs/IFR_Service/IDLType_i.cpp b/TAO/orbsvcs/IFR_Service/IDLType_i.cpp
new file mode 100644
index 00000000000..d81ca96cae0
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/IDLType_i.cpp
@@ -0,0 +1,17 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "IDLType_i.h"
+
+ACE_RCSID(IFR_Service, IDLType_i, "$Id$")
+
+TAO_IDLType_i::TAO_IDLType_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key)
+ : TAO_IRObject_i (repo, section_key)
+{
+}
+
+TAO_IDLType_i::~TAO_IDLType_i (void)
+{
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/IDLType_i.h b/TAO/orbsvcs/IFR_Service/IDLType_i.h
new file mode 100644
index 00000000000..faac04d8072
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/IDLType_i.h
@@ -0,0 +1,74 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// IDLType_i.h
+//
+// = DESCRIPTION
+// IDLType servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_IDLTYPE_I_H
+#define TAO_IDLTYPE_I_H
+
+#include "IRObject_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_Repository_i;
+
+class TAO_IDLType_i : public virtual TAO_IRObject_i
+{
+ // = TITLE
+ // TAO_IDLType_i
+ //
+ // = DESCRIPTION
+ // Abstract base class for all IR objects that represent
+ // OMG IDL types. Provides access to the TypeCode describing
+ // the type.
+ //
+public:
+ TAO_IDLType_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor.
+
+ virtual ~TAO_IDLType_i (void);
+ // Destructor.
+
+ virtual CORBA::TypeCode_ptr type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException)) = 0;
+ // Defined in concrete classes.
+
+ virtual CORBA::TypeCode_ptr type_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException)) = 0;
+ // Defined in concrete classes.
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_IDLTYPE_I_H */
+
diff --git a/TAO/orbsvcs/IFR_Service/IFR_BaseS.cpp b/TAO/orbsvcs/IFR_Service/IFR_BaseS.cpp
new file mode 100644
index 00000000000..c45f8003fce
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/IFR_BaseS.cpp
@@ -0,0 +1,10497 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+#ifndef _TAO_IDL__________ORBSVCS_IFR_SERVICE_ORIG_IFR_BASES_CPP_
+#define _TAO_IDL__________ORBSVCS_IFR_SERVICE_ORIG_IFR_BASES_CPP_
+
+#include "IFR_BaseS.h"
+
+#include "tao/PortableServer/Object_Adapter.h"
+#include "tao/PortableServer/Operation_Table.h"
+#include "tao/TAO_Server_Request.h"
+#include "tao/ORB_Core.h"
+#include "tao/Stub.h"
+#include "tao/IFR_Client_Adapter.h"
+#include "tao/PortableInterceptor.h"
+
+#if TAO_HAS_INTERCEPTORS == 1
+#include "tao/RequestInfo_Util.h"
+#include "tao/PortableServer/ServerRequestInfo.h"
+#include "tao/PortableServer/ServerInterceptorAdapter.h"
+#endif /* TAO_HAS_INTERCEPTORS == 1 */
+
+#include "ace/Dynamic_Service.h"
+
+#if defined (__BORLANDC__)
+#pragma option -w-rvl -w-rch -w-ccc -w-aus
+#endif /* __BORLANDC__ */
+
+#if !defined (__ACE_INLINE__)
+#include "IFR_BaseS.i"
+#endif /* !defined INLINE */
+
+class TAO_CORBA_IRObject_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 22:18:35 */
+/* C++ code produced by gperf version 2.8 (ACE version) */
+/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0 -a -o -t -p -K opname_ -L C++ -Z TAO_CORBA_IRObject_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_CORBA_IRObject_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 0,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 0,
+ 19, 19, 0, 0, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 5, 19, 19, 19, 19, 0, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19,
+#else
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 0, 19, 0, 19, 19,
+ 0, 0, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 5, 19, 19, 19,
+ 19, 0, 19, 19, 19, 19, 19, 19,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_CORBA_IRObject_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 5,
+ MIN_WORD_LENGTH = 5,
+ MAX_WORD_LENGTH = 13,
+ MIN_HASH_VALUE = 5,
+ MAX_HASH_VALUE = 18,
+ HASH_VALUE_RANGE = 14,
+ DUPLICATES = 0,
+ WORDLIST_SIZE = 10
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},{"",0},
+ {"_is_a", &POA_CORBA_IRObject::_is_a_skel},
+ {"",0},
+ {"destroy", &POA_CORBA_IRObject::destroy_skel},
+ {"",0},{"",0},
+ {"_interface", &POA_CORBA_IRObject::_interface_skel},
+ {"",0},{"",0},
+ {"_get_def_kind", &POA_CORBA_IRObject::_get_def_kind_skel},
+ {"",0},{"",0},{"",0},{"",0},
+ {"_non_existent", &POA_CORBA_IRObject::_non_existent_skel},
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ const char *s = wordlist[key].opname_;
+
+ if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
+ return &wordlist[key];
+ }
+ }
+ return 0;
+}
+/* ending time is 22:18:35 */
+static TAO_CORBA_IRObject_Perfect_Hash_OpTable tao_CORBA_IRObject_optable;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+class TAO_ServerRequestInfo_CORBA_IRObject_def_kind_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_IRObject_def_kind_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_IRObject *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA::DefinitionKind result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_IRObject_def_kind_get (const TAO_ServerRequestInfo_CORBA_IRObject_def_kind_get &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_IRObject_def_kind_get &);
+
+private:
+ POA_CORBA_IRObject *_tao_impl;
+ CORBA::DefinitionKind _result;
+};
+
+TAO_ServerRequestInfo_CORBA_IRObject_def_kind_get::TAO_ServerRequestInfo_CORBA_IRObject_def_kind_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_IRObject *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_IRObject_def_kind_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_IRObject_def_kind_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_IRObject_def_kind_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_IRObject_def_kind_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_IRObject_def_kind_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_IRObject_def_kind_get::result (CORBA::DefinitionKind result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_IRObject_destroy : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_IRObject_destroy (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_IRObject *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+
+private:
+ TAO_ServerRequestInfo_CORBA_IRObject_destroy (const TAO_ServerRequestInfo_CORBA_IRObject_destroy &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_IRObject_destroy &);
+
+private:
+ POA_CORBA_IRObject *_tao_impl;
+
+};
+
+TAO_ServerRequestInfo_CORBA_IRObject_destroy::TAO_ServerRequestInfo_CORBA_IRObject_destroy (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_IRObject *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_IRObject_destroy::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_IRObject_destroy::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_IRObject_destroy::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 1;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return result_any;
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_IRObject_destroy::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_IRObject_destroy::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Implementation
+//
+
+// Factory function Implementation.
+_TAO_CORBA_IRObject_Strategized_Proxy_Broker *_TAO_CORBA_IRObject_Strategized_Proxy_Broker::the_TAO_CORBA_IRObject_Strategized_Proxy_Broker (void)
+{
+ static _TAO_CORBA_IRObject_Strategized_Proxy_Broker strategized_proxy_broker;
+ return &strategized_proxy_broker;
+}
+
+_TAO_CORBA_IRObject_Strategized_Proxy_Broker::_TAO_CORBA_IRObject_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ this->proxy_cache_[i] = 0;
+
+}
+
+_TAO_CORBA_IRObject_Strategized_Proxy_Broker::~_TAO_CORBA_IRObject_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ delete this->proxy_cache_[i];
+
+}
+
+_TAO_CORBA_IRObject_Proxy_Impl&
+_TAO_CORBA_IRObject_Strategized_Proxy_Broker::select_proxy (
+ ::CORBA_IRObject *object
+ ACE_ENV_ARG_DECL
+ )
+{
+ int strategy =
+ TAO_ORB_Core::collocation_strategy (object ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ if (this->proxy_cache_[strategy] != 0)
+ return *this->proxy_cache_[strategy];
+
+ this->create_proxy (strategy ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ return *this->proxy_cache_[strategy];
+
+}
+
+void
+_TAO_CORBA_IRObject_Strategized_Proxy_Broker::create_proxy (
+ int strategy
+ ACE_ENV_ARG_DECL
+ )
+{
+ ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_);
+
+ if (this->proxy_cache_[strategy] == 0)
+ {
+ switch (strategy)
+ {
+ case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ _TAO_CORBA_IRObject_ThruPOA_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY:
+ default:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ ::_TAO_CORBA_IRObject_Remote_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ }
+
+ }
+}
+
+
+//
+// End Strategized Proxy Broker Implementation
+///////////////////////////////////////////////////////////////////////
+
+
+_TAO_CORBA_IRObject_Proxy_Broker *
+_TAO_CORBA_IRObject_Proxy_Broker_Factory_function (CORBA::Object_ptr obj)
+{
+ ACE_UNUSED_ARG (obj);
+ return ::_TAO_CORBA_IRObject_Strategized_Proxy_Broker::the_TAO_CORBA_IRObject_Strategized_Proxy_Broker();
+}
+
+int
+_TAO_CORBA_IRObject_Proxy_Broker_Factory_Initializer (long)
+{
+ _TAO_CORBA_IRObject_Proxy_Broker_Factory_function_pointer =
+ _TAO_CORBA_IRObject_Proxy_Broker_Factory_function;
+
+ return 0;
+}
+
+static int _TAO_CORBA_IRObject_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
+ _TAO_CORBA_IRObject_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_CORBA_IRObject_Proxy_Broker_Factory_Initializer));
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Proxy Implementation
+//
+
+_TAO_CORBA_IRObject_ThruPOA_Proxy_Impl::_TAO_CORBA_IRObject_ThruPOA_Proxy_Impl (void)
+{}
+
+// ThruPOA Implementation of the IDL interface methods
+
+CORBA::DefinitionKind _TAO_CORBA_IRObject_ThruPOA_Proxy_Impl::def_kind (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::DefinitionKind _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "def_kind",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (_tao_retval);
+ return ACE_reinterpret_cast (
+ POA_CORBA_IRObject_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/IRObject:1.0"
+ )
+ )->def_kind (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+void _TAO_CORBA_IRObject_ThruPOA_Proxy_Impl::destroy (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "destroy",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_CORBA_IRObject_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/IRObject:1.0"
+ )
+ )->destroy (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ return;
+}
+
+//
+// End ThruPOA Proxy Implementation
+///////////////////////////////////////////////////////////////////////
+
+// skeleton constructor
+POA_CORBA_IRObject::POA_CORBA_IRObject (void)
+{
+ this->optable_ = &tao_CORBA_IRObject_optable;
+}
+
+// copy ctor
+POA_CORBA_IRObject::POA_CORBA_IRObject (const POA_CORBA_IRObject& rhs)
+ : TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_CORBA_IRObject::~POA_CORBA_IRObject (void)
+{
+}
+
+void POA_CORBA_IRObject::_get_def_kind_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject *_tao_impl =
+ ACE_static_cast (POA_CORBA_IRObject *, _tao_object_reference);
+
+ CORBA::DefinitionKind _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_IRObject_def_kind_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->def_kind (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA::DefinitionKind _tao_retval_info = _tao_retval;
+ ri.result (_tao_retval_info);
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval)
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_IRObject::destroy_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject *_tao_impl =
+ ACE_static_cast (POA_CORBA_IRObject *, _tao_object_reference);
+
+ _tao_server_request.argument_flag (0);
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_IRObject_destroy ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->destroy (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_IRObject::_is_a_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_IRObject *_tao_impl = (POA_CORBA_IRObject *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!(_tao_in >> value.out ()))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_CORBA_IRObject::_non_existent_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject *_tao_impl = (POA_CORBA_IRObject *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_CORBA_IRObject::_interface_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject *_tao_impl = (POA_CORBA_IRObject *) _tao_object_reference;
+ CORBA_InterfaceDef_ptr _tao_retval = 0;
+ CORBA::Boolean _tao_result = 0;
+
+ TAO_IFR_Client_Adapter *_tao_adapter =
+ ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
+ TAO_ORB_Core::ifr_client_adapter_name ()
+ );
+
+ if (_tao_adapter == 0)
+ {
+ ACE_THROW (CORBA::INTF_REPOS ());
+ }
+
+ ACE_TRY
+ {
+ _tao_retval = _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ _tao_result =
+ _tao_adapter->interfacedef_cdr_insert (
+ _tao_out,
+ _tao_retval
+ );
+ }
+ ACE_CATCHALL
+ {
+ _tao_adapter->dispose (_tao_retval);
+ }
+ ACE_ENDTRY;
+
+ if (_tao_result == 0)
+ {
+ ACE_THROW (CORBA::MARSHAL ());
+ }
+}
+
+CORBA::Boolean POA_CORBA_IRObject::_is_a (
+ const char* value
+ ACE_ENV_ARG_DECL
+ )
+{
+ const char *base_id = CORBA::_tc_Object->id (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, base_id)))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_CORBA_IRObject::_downcast (
+ const char* logical_type_id
+ )
+{
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_CORBA_IRObject::_dispatch (TAO_ServerRequest &req, void *servant_upcall ACE_ENV_ARG_DECL)
+{
+ this->synchronous_upcall_dispatch (req,
+ servant_upcall,
+ this
+ ACE_ENV_ARG_PARAMETER);
+}
+
+
+const char* POA_CORBA_IRObject::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/CORBA/IRObject:1.0";
+}
+
+CORBA_IRObject*
+POA_CORBA_IRObject::_this (ACE_ENV_SINGLE_ARG_DECL)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ TAO_Stub_Auto_Ptr safe_stub (stub);
+
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0);
+ else
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0);
+
+ CORBA::Object_var obj = tmp;
+
+ (void) safe_stub.release ();
+
+ return ::CORBA_IRObject::_unchecked_narrow (obj.in ());
+}
+
+
+class TAO_CORBA_Contained_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 22:18:36 */
+/* 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_Contained_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_CORBA_Contained_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 0, 0, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 0, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 10, 37, 37, 37, 37, 10, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37,
+#else
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 0, 37, 0, 37, 37,
+ 0, 0, 37, 37, 37, 37, 37, 37, 37, 0,
+ 0, 37, 37, 37, 37, 37, 10, 37, 37, 37,
+ 37, 10, 37, 37, 37, 37, 37, 37,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_CORBA_Contained_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 16,
+ MIN_WORD_LENGTH = 4,
+ MAX_WORD_LENGTH = 26,
+ MIN_HASH_VALUE = 4,
+ MAX_HASH_VALUE = 36,
+ HASH_VALUE_RANGE = 33,
+ DUPLICATES = 4,
+ WORDLIST_SIZE = 20
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},
+ {"move", &POA_CORBA_Contained::move_skel},
+ {"_is_a", &POA_CORBA_Contained::_is_a_skel},
+ {"_get_id", &POA_CORBA_Contained::_get_id_skel},
+ {"_set_id", &POA_CORBA_Contained::_set_id_skel},
+ {"describe", &POA_CORBA_Contained::describe_skel},
+ {"_get_name", &POA_CORBA_Contained::_get_name_skel},
+ {"_set_name", &POA_CORBA_Contained::_set_name_skel},
+ {"_interface", &POA_CORBA_Contained::_interface_skel},
+ {"_get_version", &POA_CORBA_Contained::_get_version_skel},
+ {"_set_version", &POA_CORBA_Contained::_set_version_skel},
+ {"_get_def_kind", &POA_CORBA_Contained::_get_def_kind_skel},
+ {"_get_defined_in", &POA_CORBA_Contained::_get_defined_in_skel},
+ {"destroy", &POA_CORBA_Contained::destroy_skel},
+ {"_get_absolute_name", &POA_CORBA_Contained::_get_absolute_name_skel},
+ {"_non_existent", &POA_CORBA_Contained::_non_existent_skel},
+ {"_get_containing_repository", &POA_CORBA_Contained::_get_containing_repository_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -9, -2, -12, -2, 4, 5, -1, 48, 8, -45, 11, -1, -46, 14,
+ -1, 15, -1, 16, 17, -6, -2, -1, -1, 18, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 19,
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ int slot = lookup[key];
+
+ if (slot >= 0 && slot < WORDLIST_SIZE)
+ {
+ 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 22:18:36 */
+static TAO_CORBA_Contained_Perfect_Hash_OpTable tao_CORBA_Contained_optable;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+class TAO_ServerRequestInfo_CORBA_Contained_id_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_Contained_id_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_Contained *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (char * result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_Contained_id_get (const TAO_ServerRequestInfo_CORBA_Contained_id_get &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_Contained_id_get &);
+
+private:
+ POA_CORBA_Contained *_tao_impl;
+ char * _result;
+};
+
+TAO_ServerRequestInfo_CORBA_Contained_id_get::TAO_ServerRequestInfo_CORBA_Contained_id_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_Contained *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_Contained_id_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_Contained_id_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_Contained_id_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_Contained_id_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_Contained_id_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_Contained_id_get::result (char * result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_Contained_id_set : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_Contained_id_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_Contained *tao_impl
+ ,
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+
+private:
+ TAO_ServerRequestInfo_CORBA_Contained_id_set (const TAO_ServerRequestInfo_CORBA_Contained_id_set &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_Contained_id_set &);
+
+private:
+ POA_CORBA_Contained *_tao_impl;
+ const char * id_;
+
+};
+
+TAO_ServerRequestInfo_CORBA_Contained_id_set::TAO_ServerRequestInfo_CORBA_Contained_id_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_Contained *tao_impl,
+ const char * id
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ id_ (id)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_Contained_id_set::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (1);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= id_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_Contained_id_set::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_Contained_id_set::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 1;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return result_any;
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_Contained_id_set::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_Contained_id_set::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+class TAO_ServerRequestInfo_CORBA_Contained_name_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_Contained_name_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_Contained *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (char * result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_Contained_name_get (const TAO_ServerRequestInfo_CORBA_Contained_name_get &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_Contained_name_get &);
+
+private:
+ POA_CORBA_Contained *_tao_impl;
+ char * _result;
+};
+
+TAO_ServerRequestInfo_CORBA_Contained_name_get::TAO_ServerRequestInfo_CORBA_Contained_name_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_Contained *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_Contained_name_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_Contained_name_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_Contained_name_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_Contained_name_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_Contained_name_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_Contained_name_get::result (char * result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_Contained_name_set : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_Contained_name_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_Contained *tao_impl
+ ,
+ const char * name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+
+private:
+ TAO_ServerRequestInfo_CORBA_Contained_name_set (const TAO_ServerRequestInfo_CORBA_Contained_name_set &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_Contained_name_set &);
+
+private:
+ POA_CORBA_Contained *_tao_impl;
+ const char * name_;
+
+};
+
+TAO_ServerRequestInfo_CORBA_Contained_name_set::TAO_ServerRequestInfo_CORBA_Contained_name_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_Contained *tao_impl,
+ const char * name
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ name_ (name)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_Contained_name_set::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (1);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= name_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_Contained_name_set::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_Contained_name_set::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 1;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return result_any;
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_Contained_name_set::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_Contained_name_set::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+class TAO_ServerRequestInfo_CORBA_Contained_version_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_Contained_version_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_Contained *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (char * result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_Contained_version_get (const TAO_ServerRequestInfo_CORBA_Contained_version_get &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_Contained_version_get &);
+
+private:
+ POA_CORBA_Contained *_tao_impl;
+ char * _result;
+};
+
+TAO_ServerRequestInfo_CORBA_Contained_version_get::TAO_ServerRequestInfo_CORBA_Contained_version_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_Contained *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_Contained_version_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_Contained_version_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_Contained_version_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_Contained_version_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_Contained_version_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_Contained_version_get::result (char * result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_Contained_version_set : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_Contained_version_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_Contained *tao_impl
+ ,
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+
+private:
+ TAO_ServerRequestInfo_CORBA_Contained_version_set (const TAO_ServerRequestInfo_CORBA_Contained_version_set &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_Contained_version_set &);
+
+private:
+ POA_CORBA_Contained *_tao_impl;
+ const char * version_;
+
+};
+
+TAO_ServerRequestInfo_CORBA_Contained_version_set::TAO_ServerRequestInfo_CORBA_Contained_version_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_Contained *tao_impl,
+ const char * version
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ version_ (version)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_Contained_version_set::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (1);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= version_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_Contained_version_set::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_Contained_version_set::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 1;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return result_any;
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_Contained_version_set::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_Contained_version_set::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+class TAO_ServerRequestInfo_CORBA_Contained_defined_in_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_Contained_defined_in_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_Contained *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_Container_ptr result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_Contained_defined_in_get (const TAO_ServerRequestInfo_CORBA_Contained_defined_in_get &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_Contained_defined_in_get &);
+
+private:
+ POA_CORBA_Contained *_tao_impl;
+ CORBA_Container_ptr _result;
+};
+
+TAO_ServerRequestInfo_CORBA_Contained_defined_in_get::TAO_ServerRequestInfo_CORBA_Contained_defined_in_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_Contained *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_Contained_defined_in_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_Contained_defined_in_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_Contained_defined_in_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_Contained_defined_in_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_Contained_defined_in_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_Contained_defined_in_get::result (CORBA_Container_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_Contained_absolute_name_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_Contained_absolute_name_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_Contained *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (char * result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_Contained_absolute_name_get (const TAO_ServerRequestInfo_CORBA_Contained_absolute_name_get &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_Contained_absolute_name_get &);
+
+private:
+ POA_CORBA_Contained *_tao_impl;
+ char * _result;
+};
+
+TAO_ServerRequestInfo_CORBA_Contained_absolute_name_get::TAO_ServerRequestInfo_CORBA_Contained_absolute_name_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_Contained *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_Contained_absolute_name_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_Contained_absolute_name_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_Contained_absolute_name_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_Contained_absolute_name_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_Contained_absolute_name_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_Contained_absolute_name_get::result (char * result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_Contained_containing_repository_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_Contained_containing_repository_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_Contained *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_Repository_ptr result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_Contained_containing_repository_get (const TAO_ServerRequestInfo_CORBA_Contained_containing_repository_get &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_Contained_containing_repository_get &);
+
+private:
+ POA_CORBA_Contained *_tao_impl;
+ CORBA_Repository_ptr _result;
+};
+
+TAO_ServerRequestInfo_CORBA_Contained_containing_repository_get::TAO_ServerRequestInfo_CORBA_Contained_containing_repository_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_Contained *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_Contained_containing_repository_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_Contained_containing_repository_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_Contained_containing_repository_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_Contained_containing_repository_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_Contained_containing_repository_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_Contained_containing_repository_get::result (CORBA_Repository_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_Contained_describe : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_Contained_describe (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_Contained *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_Contained::Description * result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_Contained_describe (const TAO_ServerRequestInfo_CORBA_Contained_describe &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_Contained_describe &);
+
+private:
+ POA_CORBA_Contained *_tao_impl;
+ CORBA_Contained::Description * _result;
+};
+
+TAO_ServerRequestInfo_CORBA_Contained_describe::TAO_ServerRequestInfo_CORBA_Contained_describe (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_Contained *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_Contained_describe::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_Contained_describe::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_Contained_describe::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_Contained_describe::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_Contained_describe::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_Contained_describe::result (CORBA_Contained::Description * result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_Contained_move : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_Contained_move (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_Contained *tao_impl
+ ,
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+
+private:
+ TAO_ServerRequestInfo_CORBA_Contained_move (const TAO_ServerRequestInfo_CORBA_Contained_move &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_Contained_move &);
+
+private:
+ POA_CORBA_Contained *_tao_impl;
+ CORBA_Container_ptr new_container_;
+ const char * new_name_;
+ const char * new_version_;
+
+};
+
+TAO_ServerRequestInfo_CORBA_Contained_move::TAO_ServerRequestInfo_CORBA_Contained_move (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_Contained *tao_impl,
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ new_container_ (new_container),
+ new_name_ (new_name),
+ new_version_ (new_version)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_Contained_move::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (3);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= this->new_container_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= new_name_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= new_version_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_Contained_move::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_Contained_move::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 1;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return result_any;
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_Contained_move::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_Contained_move::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Implementation
+//
+
+// Factory function Implementation.
+_TAO_CORBA_Contained_Strategized_Proxy_Broker *_TAO_CORBA_Contained_Strategized_Proxy_Broker::the_TAO_CORBA_Contained_Strategized_Proxy_Broker (void)
+{
+ static _TAO_CORBA_Contained_Strategized_Proxy_Broker strategized_proxy_broker;
+ return &strategized_proxy_broker;
+}
+
+_TAO_CORBA_Contained_Strategized_Proxy_Broker::_TAO_CORBA_Contained_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ this->proxy_cache_[i] = 0;
+
+}
+
+_TAO_CORBA_Contained_Strategized_Proxy_Broker::~_TAO_CORBA_Contained_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ delete this->proxy_cache_[i];
+
+}
+
+_TAO_CORBA_Contained_Proxy_Impl&
+_TAO_CORBA_Contained_Strategized_Proxy_Broker::select_proxy (
+ ::CORBA_Contained *object
+ ACE_ENV_ARG_DECL
+ )
+{
+ int strategy =
+ TAO_ORB_Core::collocation_strategy (object ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ if (this->proxy_cache_[strategy] != 0)
+ return *this->proxy_cache_[strategy];
+
+ this->create_proxy (strategy ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ return *this->proxy_cache_[strategy];
+
+}
+
+void
+_TAO_CORBA_Contained_Strategized_Proxy_Broker::create_proxy (
+ int strategy
+ ACE_ENV_ARG_DECL
+ )
+{
+ ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_);
+
+ if (this->proxy_cache_[strategy] == 0)
+ {
+ switch (strategy)
+ {
+ case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ _TAO_CORBA_Contained_ThruPOA_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY:
+ default:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ ::_TAO_CORBA_Contained_Remote_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ }
+
+ }
+}
+
+
+//
+// End Strategized Proxy Broker Implementation
+///////////////////////////////////////////////////////////////////////
+
+
+_TAO_CORBA_Contained_Proxy_Broker *
+_TAO_CORBA_Contained_Proxy_Broker_Factory_function (CORBA::Object_ptr obj)
+{
+ ACE_UNUSED_ARG (obj);
+ return ::_TAO_CORBA_Contained_Strategized_Proxy_Broker::the_TAO_CORBA_Contained_Strategized_Proxy_Broker();
+}
+
+int
+_TAO_CORBA_Contained_Proxy_Broker_Factory_Initializer (long)
+{
+ _TAO_CORBA_Contained_Proxy_Broker_Factory_function_pointer =
+ _TAO_CORBA_Contained_Proxy_Broker_Factory_function;
+
+ return 0;
+}
+
+static int _TAO_CORBA_Contained_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
+ _TAO_CORBA_Contained_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_CORBA_Contained_Proxy_Broker_Factory_Initializer));
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Proxy Implementation
+//
+
+_TAO_CORBA_Contained_ThruPOA_Proxy_Impl::_TAO_CORBA_Contained_ThruPOA_Proxy_Impl (void)
+{}
+
+// ThruPOA Implementation of the IDL interface methods
+
+char * _TAO_CORBA_Contained_ThruPOA_Proxy_Impl::id (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::String_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "id",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_Contained_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/Contained:1.0"
+ )
+ )->id (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+void _TAO_CORBA_Contained_ThruPOA_Proxy_Impl::id (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "id",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_CORBA_Contained_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/Contained:1.0"
+ )
+ )->id (
+ id
+ ACE_ENV_ARG_PARAMETER
+ );
+ return;
+}
+
+char * _TAO_CORBA_Contained_ThruPOA_Proxy_Impl::name (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::String_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "name",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_Contained_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/Contained:1.0"
+ )
+ )->name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+void _TAO_CORBA_Contained_ThruPOA_Proxy_Impl::name (
+ CORBA_Object *_collocated_tao_target_,
+ const char * name
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "name",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_CORBA_Contained_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/Contained:1.0"
+ )
+ )->name (
+ name
+ ACE_ENV_ARG_PARAMETER
+ );
+ return;
+}
+
+char * _TAO_CORBA_Contained_ThruPOA_Proxy_Impl::version (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::String_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "version",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_Contained_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/Contained:1.0"
+ )
+ )->version (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+void _TAO_CORBA_Contained_ThruPOA_Proxy_Impl::version (
+ CORBA_Object *_collocated_tao_target_,
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "version",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_CORBA_Contained_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/Contained:1.0"
+ )
+ )->version (
+ version
+ ACE_ENV_ARG_PARAMETER
+ );
+ return;
+}
+
+CORBA_Container_ptr _TAO_CORBA_Contained_ThruPOA_Proxy_Impl::defined_in (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_Container_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "defined_in",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_Contained_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/Contained:1.0"
+ )
+ )->defined_in (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+char * _TAO_CORBA_Contained_ThruPOA_Proxy_Impl::absolute_name (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::String_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "absolute_name",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_Contained_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/Contained:1.0"
+ )
+ )->absolute_name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+CORBA_Repository_ptr _TAO_CORBA_Contained_ThruPOA_Proxy_Impl::containing_repository (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_Repository_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "containing_repository",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_Contained_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/Contained:1.0"
+ )
+ )->containing_repository (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+CORBA_Contained::Description * _TAO_CORBA_Contained_ThruPOA_Proxy_Impl::describe (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_Contained::Description_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "describe",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_Contained_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/Contained:1.0"
+ )
+ )->describe (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+void _TAO_CORBA_Contained_ThruPOA_Proxy_Impl::move (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "move",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_CORBA_Contained_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/Contained:1.0"
+ )
+ )->move (
+ new_container,
+ new_name,
+ new_version
+ ACE_ENV_ARG_PARAMETER
+ );
+ return;
+}
+
+//
+// End ThruPOA Proxy Implementation
+///////////////////////////////////////////////////////////////////////
+
+// skeleton constructor
+POA_CORBA_Contained::POA_CORBA_Contained (void)
+{
+ this->optable_ = &tao_CORBA_Contained_optable;
+}
+
+// copy ctor
+POA_CORBA_Contained::POA_CORBA_Contained (const POA_CORBA_Contained& rhs)
+ : POA_CORBA_IRObject (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_CORBA_Contained::~POA_CORBA_Contained (void)
+{
+}
+
+void POA_CORBA_Contained::_get_id_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained *_tao_impl =
+ ACE_static_cast (POA_CORBA_Contained *, _tao_object_reference);
+
+ CORBA::String_var _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_Contained_id_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->id (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ char * _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_Contained::_set_id_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_Contained *_tao_impl =
+ ACE_static_cast (POA_CORBA_Contained *, _tao_object_reference);
+
+ _tao_server_request.argument_flag (0);
+ CORBA::String_var id;
+ if (!(
+ (_tao_in >> id.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_Contained_id_set ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ id.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->id (
+ id.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_Contained::_get_name_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained *_tao_impl =
+ ACE_static_cast (POA_CORBA_Contained *, _tao_object_reference);
+
+ CORBA::String_var _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_Contained_name_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ char * _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_Contained::_set_name_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_Contained *_tao_impl =
+ ACE_static_cast (POA_CORBA_Contained *, _tao_object_reference);
+
+ _tao_server_request.argument_flag (0);
+ CORBA::String_var name;
+ if (!(
+ (_tao_in >> name.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_Contained_name_set ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ name.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->name (
+ name.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_Contained::_get_version_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained *_tao_impl =
+ ACE_static_cast (POA_CORBA_Contained *, _tao_object_reference);
+
+ CORBA::String_var _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_Contained_version_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->version (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ char * _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_Contained::_set_version_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_Contained *_tao_impl =
+ ACE_static_cast (POA_CORBA_Contained *, _tao_object_reference);
+
+ _tao_server_request.argument_flag (0);
+ CORBA::String_var version;
+ if (!(
+ (_tao_in >> version.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_Contained_version_set ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ version.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->version (
+ version.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_Contained::_get_defined_in_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained *_tao_impl =
+ ACE_static_cast (POA_CORBA_Contained *, _tao_object_reference);
+
+ CORBA_Container_var _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_Contained_defined_in_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->defined_in (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_Container_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_Contained::_get_absolute_name_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained *_tao_impl =
+ ACE_static_cast (POA_CORBA_Contained *, _tao_object_reference);
+
+ CORBA::String_var _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_Contained_absolute_name_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->absolute_name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ char * _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_Contained::_get_containing_repository_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained *_tao_impl =
+ ACE_static_cast (POA_CORBA_Contained *, _tao_object_reference);
+
+ CORBA_Repository_var _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_Contained_containing_repository_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->containing_repository (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_Repository_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_Contained::describe_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained *_tao_impl =
+ ACE_static_cast (POA_CORBA_Contained *, _tao_object_reference);
+
+ CORBA_Contained::Description_var _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_Contained_describe ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->describe (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_Contained::Description * _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_Contained::move_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_Contained *_tao_impl =
+ ACE_static_cast (POA_CORBA_Contained *, _tao_object_reference);
+
+ _tao_server_request.argument_flag (0);
+ CORBA_Container_var new_container;
+ CORBA::String_var new_name;
+ CORBA::String_var new_version;
+ if (!(
+ (_tao_in >> new_container.out ()) &&
+ (_tao_in >> new_name.out ()) &&
+ (_tao_in >> new_version.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_Contained_move ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ new_container.in (),
+ new_name.in (),
+ new_version.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->move (
+ new_container.in (),
+ new_name.in (),
+ new_version.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_Contained::_is_a_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_Contained *_tao_impl = (POA_CORBA_Contained *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!(_tao_in >> value.out ()))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_CORBA_Contained::_non_existent_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained *_tao_impl = (POA_CORBA_Contained *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_CORBA_Contained::_interface_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained *_tao_impl = (POA_CORBA_Contained *) _tao_object_reference;
+ CORBA_InterfaceDef_ptr _tao_retval = 0;
+ CORBA::Boolean _tao_result = 0;
+
+ TAO_IFR_Client_Adapter *_tao_adapter =
+ ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
+ TAO_ORB_Core::ifr_client_adapter_name ()
+ );
+
+ if (_tao_adapter == 0)
+ {
+ ACE_THROW (CORBA::INTF_REPOS ());
+ }
+
+ ACE_TRY
+ {
+ _tao_retval = _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ _tao_result =
+ _tao_adapter->interfacedef_cdr_insert (
+ _tao_out,
+ _tao_retval
+ );
+ }
+ ACE_CATCHALL
+ {
+ _tao_adapter->dispose (_tao_retval);
+ }
+ ACE_ENDTRY;
+
+ if (_tao_result == 0)
+ {
+ ACE_THROW (CORBA::MARSHAL ());
+ }
+}
+
+CORBA::Boolean POA_CORBA_Contained::_is_a (
+ const char* value
+ ACE_ENV_ARG_DECL
+ )
+{
+ const char *base_id = CORBA::_tc_Object->id (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Contained:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, base_id)))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_CORBA_Contained::_downcast (
+ const char* logical_type_id
+ )
+{
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Contained:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_Contained_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_CORBA_Contained::_dispatch (TAO_ServerRequest &req, void *servant_upcall ACE_ENV_ARG_DECL)
+{
+ this->synchronous_upcall_dispatch (req,
+ servant_upcall,
+ this
+ ACE_ENV_ARG_PARAMETER);
+}
+
+
+const char* POA_CORBA_Contained::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/CORBA/Contained:1.0";
+}
+
+CORBA_Contained*
+POA_CORBA_Contained::_this (ACE_ENV_SINGLE_ARG_DECL)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ TAO_Stub_Auto_Ptr safe_stub (stub);
+
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0);
+ else
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0);
+
+ CORBA::Object_var obj = tmp;
+
+ (void) safe_stub.release ();
+
+ return ::CORBA_Contained::_unchecked_narrow (obj.in ());
+}
+
+
+class TAO_CORBA_Container_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 22:18:38 */
+/* 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_Container_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_CORBA_Container_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 20,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 10,
+ 39, 0, 0, 0, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 0, 20, 5,
+ 39, 0, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 15, 5, 39, 39, 39, 10, 0, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39,
+#else
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 20, 39, 10, 39, 0,
+ 0, 0, 39, 39, 39, 39, 39, 39, 0, 20,
+ 5, 39, 0, 39, 39, 15, 5, 39, 39, 39,
+ 10, 0, 39, 39, 39, 39, 39, 39,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_CORBA_Container_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 22,
+ MIN_WORD_LENGTH = 5,
+ MAX_WORD_LENGTH = 25,
+ MIN_HASH_VALUE = 6,
+ MAX_HASH_VALUE = 38,
+ HASH_VALUE_RANGE = 33,
+ DUPLICATES = 2,
+ WORDLIST_SIZE = 28
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},{"",0},{"",0},
+ {"lookup", &POA_CORBA_Container::lookup_skel},
+ {"destroy", &POA_CORBA_Container::destroy_skel},
+ {"lookup_name", &POA_CORBA_Container::lookup_name_skel},
+ {"create_value", &POA_CORBA_Container::create_value_skel},
+ {"create_module", &POA_CORBA_Container::create_module_skel},
+ {"create_native", &POA_CORBA_Container::create_native_skel},
+ {"create_interface", &POA_CORBA_Container::create_interface_skel},
+ {"create_union", &POA_CORBA_Container::create_union_skel},
+ {"create_struct", &POA_CORBA_Container::create_struct_skel},
+ {"create_constant", &POA_CORBA_Container::create_constant_skel},
+ {"create_exception", &POA_CORBA_Container::create_exception_skel},
+ {"create_local_interface", &POA_CORBA_Container::create_local_interface_skel},
+ {"contents", &POA_CORBA_Container::contents_skel},
+ {"create_abstract_interface", &POA_CORBA_Container::create_abstract_interface_skel},
+ {"create_value_box", &POA_CORBA_Container::create_value_box_skel},
+ {"create_alias", &POA_CORBA_Container::create_alias_skel},
+ {"_interface", &POA_CORBA_Container::_interface_skel},
+ {"create_enum", &POA_CORBA_Container::create_enum_skel},
+ {"describe_contents", &POA_CORBA_Container::describe_contents_skel},
+ {"_get_def_kind", &POA_CORBA_Container::_get_def_kind_skel},
+ {"_is_a", &POA_CORBA_Container::_is_a_skel},
+ {"_non_existent", &POA_CORBA_Container::_non_existent_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -1, -1, -1, -1, -1, -1, 6, 7, -1, -10, -2, 8, 9, -42,
+ -1, -1, 12, 13, 14, -1, 15, 16, 17, 18, -1, 19, 20, 21,
+ -1, -1, 22, 23, 24, 25, -1, 26, -1, -1, 27,
+ };
+
+ 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 < WORDLIST_SIZE)
+ {
+ 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 22:18:38 */
+static TAO_CORBA_Container_Perfect_Hash_OpTable tao_CORBA_Container_optable;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+class TAO_ServerRequestInfo_CORBA_Container_lookup : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_Container_lookup (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_Container *tao_impl
+ ,
+ const char * search_name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_Contained_ptr result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_Container_lookup (const TAO_ServerRequestInfo_CORBA_Container_lookup &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_Container_lookup &);
+
+private:
+ POA_CORBA_Container *_tao_impl;
+ const char * search_name_;
+ CORBA_Contained_ptr _result;
+};
+
+TAO_ServerRequestInfo_CORBA_Container_lookup::TAO_ServerRequestInfo_CORBA_Container_lookup (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_Container *tao_impl,
+ const char * search_name
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ search_name_ (search_name)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_Container_lookup::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (1);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= search_name_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_Container_lookup::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_Container_lookup::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_Container_lookup::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_Container_lookup::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_Container_lookup::result (CORBA_Contained_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_Container_contents : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_Container_contents (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_Container *tao_impl
+ ,
+ CORBA::DefinitionKind & limit_type,
+ const CORBA::Boolean & exclude_inherited
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_ContainedSeq * result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_Container_contents (const TAO_ServerRequestInfo_CORBA_Container_contents &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_Container_contents &);
+
+private:
+ POA_CORBA_Container *_tao_impl;
+ const CORBA::DefinitionKind & limit_type_;
+ const CORBA::Boolean & exclude_inherited_;
+ CORBA_ContainedSeq * _result;
+};
+
+TAO_ServerRequestInfo_CORBA_Container_contents::TAO_ServerRequestInfo_CORBA_Container_contents (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_Container *tao_impl,
+ CORBA::DefinitionKind & limit_type,
+ const CORBA::Boolean & exclude_inherited
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ limit_type_ (limit_type),
+ exclude_inherited_ (exclude_inherited)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_Container_contents::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (2);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= this->limit_type_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= CORBA::Any::from_boolean (this->exclude_inherited_);
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_Container_contents::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_Container_contents::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_Container_contents::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_Container_contents::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_Container_contents::result (CORBA_ContainedSeq * result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_Container_lookup_name : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_Container_lookup_name (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_Container *tao_impl
+ ,
+ const char * search_name,
+ const CORBA::Long & levels_to_search,
+ CORBA::DefinitionKind & limit_type,
+ const CORBA::Boolean & exclude_inherited
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_ContainedSeq * result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_Container_lookup_name (const TAO_ServerRequestInfo_CORBA_Container_lookup_name &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_Container_lookup_name &);
+
+private:
+ POA_CORBA_Container *_tao_impl;
+ const char * search_name_;
+ const CORBA::Long & levels_to_search_;
+ const CORBA::DefinitionKind & limit_type_;
+ const CORBA::Boolean & exclude_inherited_;
+ CORBA_ContainedSeq * _result;
+};
+
+TAO_ServerRequestInfo_CORBA_Container_lookup_name::TAO_ServerRequestInfo_CORBA_Container_lookup_name (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_Container *tao_impl,
+ const char * search_name,
+ const CORBA::Long & levels_to_search,
+ CORBA::DefinitionKind & limit_type,
+ const CORBA::Boolean & exclude_inherited
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ search_name_ (search_name),
+ levels_to_search_ (levels_to_search),
+ limit_type_ (limit_type),
+ exclude_inherited_ (exclude_inherited)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_Container_lookup_name::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (4);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= search_name_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= levels_to_search_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= this->limit_type_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= CORBA::Any::from_boolean (this->exclude_inherited_);
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_Container_lookup_name::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_Container_lookup_name::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_Container_lookup_name::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_Container_lookup_name::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_Container_lookup_name::result (CORBA_ContainedSeq * result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_Container_describe_contents : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_Container_describe_contents (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_Container *tao_impl
+ ,
+ CORBA::DefinitionKind & limit_type,
+ const CORBA::Boolean & exclude_inherited,
+ const CORBA::Long & max_returned_objs
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_Container::DescriptionSeq * result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_Container_describe_contents (const TAO_ServerRequestInfo_CORBA_Container_describe_contents &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_Container_describe_contents &);
+
+private:
+ POA_CORBA_Container *_tao_impl;
+ const CORBA::DefinitionKind & limit_type_;
+ const CORBA::Boolean & exclude_inherited_;
+ const CORBA::Long & max_returned_objs_;
+ CORBA_Container::DescriptionSeq * _result;
+};
+
+TAO_ServerRequestInfo_CORBA_Container_describe_contents::TAO_ServerRequestInfo_CORBA_Container_describe_contents (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_Container *tao_impl,
+ CORBA::DefinitionKind & limit_type,
+ const CORBA::Boolean & exclude_inherited,
+ const CORBA::Long & max_returned_objs
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ limit_type_ (limit_type),
+ exclude_inherited_ (exclude_inherited),
+ max_returned_objs_ (max_returned_objs)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_Container_describe_contents::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (3);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= this->limit_type_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= CORBA::Any::from_boolean (this->exclude_inherited_);
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= max_returned_objs_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_Container_describe_contents::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_Container_describe_contents::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_Container_describe_contents::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_Container_describe_contents::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_Container_describe_contents::result (CORBA_Container::DescriptionSeq * result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_Container_create_module : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_Container_create_module (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_Container *tao_impl
+ ,
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_ModuleDef_ptr result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_Container_create_module (const TAO_ServerRequestInfo_CORBA_Container_create_module &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_Container_create_module &);
+
+private:
+ POA_CORBA_Container *_tao_impl;
+ const char * id_;
+ const char * name_;
+ const char * version_;
+ CORBA_ModuleDef_ptr _result;
+};
+
+TAO_ServerRequestInfo_CORBA_Container_create_module::TAO_ServerRequestInfo_CORBA_Container_create_module (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_Container *tao_impl,
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ id_ (id),
+ name_ (name),
+ version_ (version)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_Container_create_module::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (3);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= id_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= name_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= version_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_Container_create_module::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_Container_create_module::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_Container_create_module::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_Container_create_module::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_Container_create_module::result (CORBA_ModuleDef_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_Container_create_constant : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_Container_create_constant (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_Container *tao_impl
+ ,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ const CORBA::Any & value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_ConstantDef_ptr result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_Container_create_constant (const TAO_ServerRequestInfo_CORBA_Container_create_constant &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_Container_create_constant &);
+
+private:
+ POA_CORBA_Container *_tao_impl;
+ const char * id_;
+ const char * name_;
+ const char * version_;
+ CORBA_IDLType_ptr type_;
+ const CORBA::Any & value_;
+ CORBA_ConstantDef_ptr _result;
+};
+
+TAO_ServerRequestInfo_CORBA_Container_create_constant::TAO_ServerRequestInfo_CORBA_Container_create_constant (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_Container *tao_impl,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ const CORBA::Any & value
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ id_ (id),
+ name_ (name),
+ version_ (version),
+ type_ (type),
+ value_ (value)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_Container_create_constant::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (5);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= id_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= name_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= version_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= this->type_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= value_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_Container_create_constant::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_Container_create_constant::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_Container_create_constant::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_Container_create_constant::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_Container_create_constant::result (CORBA_ConstantDef_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_Container_create_struct : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_Container_create_struct (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_Container *tao_impl
+ ,
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_StructDef_ptr result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_Container_create_struct (const TAO_ServerRequestInfo_CORBA_Container_create_struct &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_Container_create_struct &);
+
+private:
+ POA_CORBA_Container *_tao_impl;
+ const char * id_;
+ const char * name_;
+ const char * version_;
+ const CORBA_StructMemberSeq & members_;
+ CORBA_StructDef_ptr _result;
+};
+
+TAO_ServerRequestInfo_CORBA_Container_create_struct::TAO_ServerRequestInfo_CORBA_Container_create_struct (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_Container *tao_impl,
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ id_ (id),
+ name_ (name),
+ version_ (version),
+ members_ (members)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_Container_create_struct::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (4);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= id_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= name_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= version_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= this->members_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_Container_create_struct::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_Container_create_struct::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_Container_create_struct::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_Container_create_struct::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_Container_create_struct::result (CORBA_StructDef_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_Container_create_union : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_Container_create_union (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_Container *tao_impl
+ ,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr discriminator_type,
+ const CORBA_UnionMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_UnionDef_ptr result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_Container_create_union (const TAO_ServerRequestInfo_CORBA_Container_create_union &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_Container_create_union &);
+
+private:
+ POA_CORBA_Container *_tao_impl;
+ const char * id_;
+ const char * name_;
+ const char * version_;
+ CORBA_IDLType_ptr discriminator_type_;
+ const CORBA_UnionMemberSeq & members_;
+ CORBA_UnionDef_ptr _result;
+};
+
+TAO_ServerRequestInfo_CORBA_Container_create_union::TAO_ServerRequestInfo_CORBA_Container_create_union (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_Container *tao_impl,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr discriminator_type,
+ const CORBA_UnionMemberSeq & members
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ id_ (id),
+ name_ (name),
+ version_ (version),
+ discriminator_type_ (discriminator_type),
+ members_ (members)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_Container_create_union::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (5);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= id_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= name_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= version_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= this->discriminator_type_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= this->members_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_Container_create_union::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_Container_create_union::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_Container_create_union::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_Container_create_union::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_Container_create_union::result (CORBA_UnionDef_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_Container_create_enum : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_Container_create_enum (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_Container *tao_impl
+ ,
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_EnumMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_EnumDef_ptr result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_Container_create_enum (const TAO_ServerRequestInfo_CORBA_Container_create_enum &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_Container_create_enum &);
+
+private:
+ POA_CORBA_Container *_tao_impl;
+ const char * id_;
+ const char * name_;
+ const char * version_;
+ const CORBA_EnumMemberSeq & members_;
+ CORBA_EnumDef_ptr _result;
+};
+
+TAO_ServerRequestInfo_CORBA_Container_create_enum::TAO_ServerRequestInfo_CORBA_Container_create_enum (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_Container *tao_impl,
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_EnumMemberSeq & members
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ id_ (id),
+ name_ (name),
+ version_ (version),
+ members_ (members)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_Container_create_enum::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (4);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= id_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= name_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= version_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= this->members_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_Container_create_enum::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_Container_create_enum::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_Container_create_enum::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_Container_create_enum::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_Container_create_enum::result (CORBA_EnumDef_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_Container_create_alias : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_Container_create_alias (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_Container *tao_impl
+ ,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_AliasDef_ptr result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_Container_create_alias (const TAO_ServerRequestInfo_CORBA_Container_create_alias &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_Container_create_alias &);
+
+private:
+ POA_CORBA_Container *_tao_impl;
+ const char * id_;
+ const char * name_;
+ const char * version_;
+ CORBA_IDLType_ptr original_type_;
+ CORBA_AliasDef_ptr _result;
+};
+
+TAO_ServerRequestInfo_CORBA_Container_create_alias::TAO_ServerRequestInfo_CORBA_Container_create_alias (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_Container *tao_impl,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ id_ (id),
+ name_ (name),
+ version_ (version),
+ original_type_ (original_type)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_Container_create_alias::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (4);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= id_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= name_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= version_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= this->original_type_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_Container_create_alias::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_Container_create_alias::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_Container_create_alias::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_Container_create_alias::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_Container_create_alias::result (CORBA_AliasDef_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_Container_create_interface : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_Container_create_interface (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_Container *tao_impl
+ ,
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_InterfaceDef_ptr result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_Container_create_interface (const TAO_ServerRequestInfo_CORBA_Container_create_interface &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_Container_create_interface &);
+
+private:
+ POA_CORBA_Container *_tao_impl;
+ const char * id_;
+ const char * name_;
+ const char * version_;
+ const CORBA_InterfaceDefSeq & base_interfaces_;
+ CORBA_InterfaceDef_ptr _result;
+};
+
+TAO_ServerRequestInfo_CORBA_Container_create_interface::TAO_ServerRequestInfo_CORBA_Container_create_interface (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_Container *tao_impl,
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ id_ (id),
+ name_ (name),
+ version_ (version),
+ base_interfaces_ (base_interfaces)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_Container_create_interface::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (4);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= id_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= name_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= version_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= this->base_interfaces_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_Container_create_interface::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_Container_create_interface::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_Container_create_interface::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_Container_create_interface::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_Container_create_interface::result (CORBA_InterfaceDef_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_Container_create_value : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_Container_create_value (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_Container *tao_impl
+ ,
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA::Boolean & is_custom,
+ const CORBA::Boolean & is_abstract,
+ CORBA_ValueDef_ptr base_value,
+ const CORBA::Boolean & is_truncatable,
+ const CORBA_ValueDefSeq & abstract_base_values,
+ const CORBA_InterfaceDefSeq & supported_interfaces,
+ const CORBA_InitializerSeq & initializers
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_ValueDef_ptr result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_Container_create_value (const TAO_ServerRequestInfo_CORBA_Container_create_value &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_Container_create_value &);
+
+private:
+ POA_CORBA_Container *_tao_impl;
+ const char * id_;
+ const char * name_;
+ const char * version_;
+ const CORBA::Boolean & is_custom_;
+ const CORBA::Boolean & is_abstract_;
+ CORBA_ValueDef_ptr base_value_;
+ const CORBA::Boolean & is_truncatable_;
+ const CORBA_ValueDefSeq & abstract_base_values_;
+ const CORBA_InterfaceDefSeq & supported_interfaces_;
+ const CORBA_InitializerSeq & initializers_;
+ CORBA_ValueDef_ptr _result;
+};
+
+TAO_ServerRequestInfo_CORBA_Container_create_value::TAO_ServerRequestInfo_CORBA_Container_create_value (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_Container *tao_impl,
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA::Boolean & is_custom,
+ const CORBA::Boolean & is_abstract,
+ CORBA_ValueDef_ptr base_value,
+ const CORBA::Boolean & is_truncatable,
+ const CORBA_ValueDefSeq & abstract_base_values,
+ const CORBA_InterfaceDefSeq & supported_interfaces,
+ const CORBA_InitializerSeq & initializers
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ id_ (id),
+ name_ (name),
+ version_ (version),
+ is_custom_ (is_custom),
+ is_abstract_ (is_abstract),
+ base_value_ (base_value),
+ is_truncatable_ (is_truncatable),
+ abstract_base_values_ (abstract_base_values),
+ supported_interfaces_ (supported_interfaces),
+ initializers_ (initializers)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_Container_create_value::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (10);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= id_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= name_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= version_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= CORBA::Any::from_boolean (this->is_custom_);
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= CORBA::Any::from_boolean (this->is_abstract_);
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= this->base_value_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= CORBA::Any::from_boolean (this->is_truncatable_);
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= this->abstract_base_values_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= this->supported_interfaces_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= this->initializers_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_Container_create_value::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_Container_create_value::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_Container_create_value::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_Container_create_value::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_Container_create_value::result (CORBA_ValueDef_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_Container_create_value_box : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_Container_create_value_box (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_Container *tao_impl
+ ,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_ValueBoxDef_ptr result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_Container_create_value_box (const TAO_ServerRequestInfo_CORBA_Container_create_value_box &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_Container_create_value_box &);
+
+private:
+ POA_CORBA_Container *_tao_impl;
+ const char * id_;
+ const char * name_;
+ const char * version_;
+ CORBA_IDLType_ptr original_type_def_;
+ CORBA_ValueBoxDef_ptr _result;
+};
+
+TAO_ServerRequestInfo_CORBA_Container_create_value_box::TAO_ServerRequestInfo_CORBA_Container_create_value_box (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_Container *tao_impl,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type_def
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ id_ (id),
+ name_ (name),
+ version_ (version),
+ original_type_def_ (original_type_def)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_Container_create_value_box::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (4);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= id_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= name_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= version_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= this->original_type_def_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_Container_create_value_box::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_Container_create_value_box::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_Container_create_value_box::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_Container_create_value_box::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_Container_create_value_box::result (CORBA_ValueBoxDef_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_Container_create_exception : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_Container_create_exception (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_Container *tao_impl
+ ,
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_ExceptionDef_ptr result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_Container_create_exception (const TAO_ServerRequestInfo_CORBA_Container_create_exception &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_Container_create_exception &);
+
+private:
+ POA_CORBA_Container *_tao_impl;
+ const char * id_;
+ const char * name_;
+ const char * version_;
+ const CORBA_StructMemberSeq & members_;
+ CORBA_ExceptionDef_ptr _result;
+};
+
+TAO_ServerRequestInfo_CORBA_Container_create_exception::TAO_ServerRequestInfo_CORBA_Container_create_exception (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_Container *tao_impl,
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ id_ (id),
+ name_ (name),
+ version_ (version),
+ members_ (members)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_Container_create_exception::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (4);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= id_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= name_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= version_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= this->members_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_Container_create_exception::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_Container_create_exception::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_Container_create_exception::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_Container_create_exception::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_Container_create_exception::result (CORBA_ExceptionDef_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_Container_create_native : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_Container_create_native (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_Container *tao_impl
+ ,
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_NativeDef_ptr result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_Container_create_native (const TAO_ServerRequestInfo_CORBA_Container_create_native &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_Container_create_native &);
+
+private:
+ POA_CORBA_Container *_tao_impl;
+ const char * id_;
+ const char * name_;
+ const char * version_;
+ CORBA_NativeDef_ptr _result;
+};
+
+TAO_ServerRequestInfo_CORBA_Container_create_native::TAO_ServerRequestInfo_CORBA_Container_create_native (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_Container *tao_impl,
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ id_ (id),
+ name_ (name),
+ version_ (version)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_Container_create_native::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (3);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= id_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= name_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= version_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_Container_create_native::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_Container_create_native::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_Container_create_native::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_Container_create_native::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_Container_create_native::result (CORBA_NativeDef_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_Container_create_abstract_interface : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_Container_create_abstract_interface (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_Container *tao_impl
+ ,
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_AbstractInterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_AbstractInterfaceDef_ptr result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_Container_create_abstract_interface (const TAO_ServerRequestInfo_CORBA_Container_create_abstract_interface &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_Container_create_abstract_interface &);
+
+private:
+ POA_CORBA_Container *_tao_impl;
+ const char * id_;
+ const char * name_;
+ const char * version_;
+ const CORBA_AbstractInterfaceDefSeq & base_interfaces_;
+ CORBA_AbstractInterfaceDef_ptr _result;
+};
+
+TAO_ServerRequestInfo_CORBA_Container_create_abstract_interface::TAO_ServerRequestInfo_CORBA_Container_create_abstract_interface (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_Container *tao_impl,
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_AbstractInterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ id_ (id),
+ name_ (name),
+ version_ (version),
+ base_interfaces_ (base_interfaces)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_Container_create_abstract_interface::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (4);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= id_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= name_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= version_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= this->base_interfaces_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_Container_create_abstract_interface::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_Container_create_abstract_interface::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_Container_create_abstract_interface::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_Container_create_abstract_interface::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_Container_create_abstract_interface::result (CORBA_AbstractInterfaceDef_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_Container_create_local_interface : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_Container_create_local_interface (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_Container *tao_impl
+ ,
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_LocalInterfaceDef_ptr result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_Container_create_local_interface (const TAO_ServerRequestInfo_CORBA_Container_create_local_interface &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_Container_create_local_interface &);
+
+private:
+ POA_CORBA_Container *_tao_impl;
+ const char * id_;
+ const char * name_;
+ const char * version_;
+ const CORBA_InterfaceDefSeq & base_interfaces_;
+ CORBA_LocalInterfaceDef_ptr _result;
+};
+
+TAO_ServerRequestInfo_CORBA_Container_create_local_interface::TAO_ServerRequestInfo_CORBA_Container_create_local_interface (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_Container *tao_impl,
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ id_ (id),
+ name_ (name),
+ version_ (version),
+ base_interfaces_ (base_interfaces)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_Container_create_local_interface::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (4);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= id_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= name_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= version_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= this->base_interfaces_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_Container_create_local_interface::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_Container_create_local_interface::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_Container_create_local_interface::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_Container_create_local_interface::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_Container_create_local_interface::result (CORBA_LocalInterfaceDef_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Implementation
+//
+
+// Factory function Implementation.
+_TAO_CORBA_Container_Strategized_Proxy_Broker *_TAO_CORBA_Container_Strategized_Proxy_Broker::the_TAO_CORBA_Container_Strategized_Proxy_Broker (void)
+{
+ static _TAO_CORBA_Container_Strategized_Proxy_Broker strategized_proxy_broker;
+ return &strategized_proxy_broker;
+}
+
+_TAO_CORBA_Container_Strategized_Proxy_Broker::_TAO_CORBA_Container_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ this->proxy_cache_[i] = 0;
+
+}
+
+_TAO_CORBA_Container_Strategized_Proxy_Broker::~_TAO_CORBA_Container_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ delete this->proxy_cache_[i];
+
+}
+
+_TAO_CORBA_Container_Proxy_Impl&
+_TAO_CORBA_Container_Strategized_Proxy_Broker::select_proxy (
+ ::CORBA_Container *object
+ ACE_ENV_ARG_DECL
+ )
+{
+ int strategy =
+ TAO_ORB_Core::collocation_strategy (object ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ if (this->proxy_cache_[strategy] != 0)
+ return *this->proxy_cache_[strategy];
+
+ this->create_proxy (strategy ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ return *this->proxy_cache_[strategy];
+
+}
+
+void
+_TAO_CORBA_Container_Strategized_Proxy_Broker::create_proxy (
+ int strategy
+ ACE_ENV_ARG_DECL
+ )
+{
+ ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_);
+
+ if (this->proxy_cache_[strategy] == 0)
+ {
+ switch (strategy)
+ {
+ case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ _TAO_CORBA_Container_ThruPOA_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY:
+ default:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ ::_TAO_CORBA_Container_Remote_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ }
+
+ }
+}
+
+
+//
+// End Strategized Proxy Broker Implementation
+///////////////////////////////////////////////////////////////////////
+
+
+_TAO_CORBA_Container_Proxy_Broker *
+_TAO_CORBA_Container_Proxy_Broker_Factory_function (CORBA::Object_ptr obj)
+{
+ ACE_UNUSED_ARG (obj);
+ return ::_TAO_CORBA_Container_Strategized_Proxy_Broker::the_TAO_CORBA_Container_Strategized_Proxy_Broker();
+}
+
+int
+_TAO_CORBA_Container_Proxy_Broker_Factory_Initializer (long)
+{
+ _TAO_CORBA_Container_Proxy_Broker_Factory_function_pointer =
+ _TAO_CORBA_Container_Proxy_Broker_Factory_function;
+
+ return 0;
+}
+
+static int _TAO_CORBA_Container_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
+ _TAO_CORBA_Container_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_CORBA_Container_Proxy_Broker_Factory_Initializer));
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Proxy Implementation
+//
+
+_TAO_CORBA_Container_ThruPOA_Proxy_Impl::_TAO_CORBA_Container_ThruPOA_Proxy_Impl (void)
+{}
+
+// ThruPOA Implementation of the IDL interface methods
+
+CORBA_Contained_ptr _TAO_CORBA_Container_ThruPOA_Proxy_Impl::lookup (
+ CORBA_Object *_collocated_tao_target_,
+ const char * search_name
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_Contained_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "lookup",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_Container_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/Container:1.0"
+ )
+ )->lookup (
+ search_name
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+CORBA_ContainedSeq * _TAO_CORBA_Container_ThruPOA_Proxy_Impl::contents (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_ContainedSeq_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "contents",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_Container_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/Container:1.0"
+ )
+ )->contents (
+ limit_type,
+ exclude_inherited
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+CORBA_ContainedSeq * _TAO_CORBA_Container_ThruPOA_Proxy_Impl::lookup_name (
+ CORBA_Object *_collocated_tao_target_,
+ const char * search_name,
+ CORBA::Long levels_to_search,
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_ContainedSeq_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "lookup_name",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_Container_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/Container:1.0"
+ )
+ )->lookup_name (
+ search_name,
+ levels_to_search,
+ limit_type,
+ exclude_inherited
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+CORBA_Container::DescriptionSeq * _TAO_CORBA_Container_ThruPOA_Proxy_Impl::describe_contents (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_Container::DescriptionSeq_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "describe_contents",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_Container_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/Container:1.0"
+ )
+ )->describe_contents (
+ limit_type,
+ exclude_inherited,
+ max_returned_objs
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+CORBA_ModuleDef_ptr _TAO_CORBA_Container_ThruPOA_Proxy_Impl::create_module (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_ModuleDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "create_module",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_Container_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/Container:1.0"
+ )
+ )->create_module (
+ id,
+ name,
+ version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+CORBA_ConstantDef_ptr _TAO_CORBA_Container_ThruPOA_Proxy_Impl::create_constant (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ const CORBA::Any & value
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_ConstantDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "create_constant",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_Container_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/Container:1.0"
+ )
+ )->create_constant (
+ id,
+ name,
+ version,
+ type,
+ value
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+CORBA_StructDef_ptr _TAO_CORBA_Container_ThruPOA_Proxy_Impl::create_struct (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_StructDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "create_struct",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_Container_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/Container:1.0"
+ )
+ )->create_struct (
+ id,
+ name,
+ version,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+CORBA_UnionDef_ptr _TAO_CORBA_Container_ThruPOA_Proxy_Impl::create_union (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr discriminator_type,
+ const CORBA_UnionMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_UnionDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "create_union",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_Container_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/Container:1.0"
+ )
+ )->create_union (
+ id,
+ name,
+ version,
+ discriminator_type,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+CORBA_EnumDef_ptr _TAO_CORBA_Container_ThruPOA_Proxy_Impl::create_enum (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_EnumMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_EnumDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "create_enum",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_Container_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/Container:1.0"
+ )
+ )->create_enum (
+ id,
+ name,
+ version,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+CORBA_AliasDef_ptr _TAO_CORBA_Container_ThruPOA_Proxy_Impl::create_alias (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_AliasDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "create_alias",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_Container_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/Container:1.0"
+ )
+ )->create_alias (
+ id,
+ name,
+ version,
+ original_type
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+CORBA_InterfaceDef_ptr _TAO_CORBA_Container_ThruPOA_Proxy_Impl::create_interface (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_InterfaceDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "create_interface",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_Container_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/Container:1.0"
+ )
+ )->create_interface (
+ id,
+ name,
+ version,
+ base_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+CORBA_ValueDef_ptr _TAO_CORBA_Container_ThruPOA_Proxy_Impl::create_value (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ CORBA_ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const CORBA_ValueDefSeq & abstract_base_values,
+ const CORBA_InterfaceDefSeq & supported_interfaces,
+ const CORBA_InitializerSeq & initializers
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_ValueDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "create_value",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_Container_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/Container:1.0"
+ )
+ )->create_value (
+ id,
+ name,
+ version,
+ is_custom,
+ is_abstract,
+ base_value,
+ is_truncatable,
+ abstract_base_values,
+ supported_interfaces,
+ initializers
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+CORBA_ValueBoxDef_ptr _TAO_CORBA_Container_ThruPOA_Proxy_Impl::create_value_box (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type_def
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_ValueBoxDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "create_value_box",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_Container_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/Container:1.0"
+ )
+ )->create_value_box (
+ id,
+ name,
+ version,
+ original_type_def
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+CORBA_ExceptionDef_ptr _TAO_CORBA_Container_ThruPOA_Proxy_Impl::create_exception (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_ExceptionDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "create_exception",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_Container_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/Container:1.0"
+ )
+ )->create_exception (
+ id,
+ name,
+ version,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+CORBA_NativeDef_ptr _TAO_CORBA_Container_ThruPOA_Proxy_Impl::create_native (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_NativeDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "create_native",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_Container_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/Container:1.0"
+ )
+ )->create_native (
+ id,
+ name,
+ version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+CORBA_AbstractInterfaceDef_ptr _TAO_CORBA_Container_ThruPOA_Proxy_Impl::create_abstract_interface (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_AbstractInterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_AbstractInterfaceDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "create_abstract_interface",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_Container_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/Container:1.0"
+ )
+ )->create_abstract_interface (
+ id,
+ name,
+ version,
+ base_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+CORBA_LocalInterfaceDef_ptr _TAO_CORBA_Container_ThruPOA_Proxy_Impl::create_local_interface (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_LocalInterfaceDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "create_local_interface",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_Container_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/Container:1.0"
+ )
+ )->create_local_interface (
+ id,
+ name,
+ version,
+ base_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+//
+// End ThruPOA Proxy Implementation
+///////////////////////////////////////////////////////////////////////
+
+// skeleton constructor
+POA_CORBA_Container::POA_CORBA_Container (void)
+{
+ this->optable_ = &tao_CORBA_Container_optable;
+}
+
+// copy ctor
+POA_CORBA_Container::POA_CORBA_Container (const POA_CORBA_Container& rhs)
+ : POA_CORBA_IRObject (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_CORBA_Container::~POA_CORBA_Container (void)
+{
+}
+
+void POA_CORBA_Container::lookup_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_Container *_tao_impl =
+ ACE_static_cast (POA_CORBA_Container *, _tao_object_reference);
+
+ CORBA_Contained_var _tao_retval;
+ CORBA::String_var search_name;
+ if (!(
+ (_tao_in >> search_name.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_Container_lookup ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ search_name.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->lookup (
+ search_name.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_Contained_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_Container::contents_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_Container *_tao_impl =
+ ACE_static_cast (POA_CORBA_Container *, _tao_object_reference);
+
+ CORBA_ContainedSeq_var _tao_retval;
+ CORBA::DefinitionKind limit_type;
+ CORBA::Boolean exclude_inherited;
+ if (!(
+ (_tao_in >> limit_type) &&
+ (_tao_in >> CORBA::Any::to_boolean (exclude_inherited))
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_Container_contents ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ limit_type,
+ exclude_inherited
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->contents (
+ limit_type,
+ exclude_inherited
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_ContainedSeq * _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_Container::lookup_name_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_Container *_tao_impl =
+ ACE_static_cast (POA_CORBA_Container *, _tao_object_reference);
+
+ CORBA_ContainedSeq_var _tao_retval;
+ CORBA::String_var search_name;
+ CORBA::Long levels_to_search;
+ CORBA::DefinitionKind limit_type;
+ CORBA::Boolean exclude_inherited;
+ if (!(
+ (_tao_in >> search_name.out ()) &&
+ (_tao_in >> levels_to_search) &&
+ (_tao_in >> limit_type) &&
+ (_tao_in >> CORBA::Any::to_boolean (exclude_inherited))
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_Container_lookup_name ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ search_name.in (),
+ levels_to_search,
+ limit_type,
+ exclude_inherited
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->lookup_name (
+ search_name.in (),
+ levels_to_search,
+ limit_type,
+ exclude_inherited
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_ContainedSeq * _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_Container::describe_contents_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_Container *_tao_impl =
+ ACE_static_cast (POA_CORBA_Container *, _tao_object_reference);
+
+ CORBA_Container::DescriptionSeq_var _tao_retval;
+ CORBA::DefinitionKind limit_type;
+ CORBA::Boolean exclude_inherited;
+ CORBA::Long max_returned_objs;
+ if (!(
+ (_tao_in >> limit_type) &&
+ (_tao_in >> CORBA::Any::to_boolean (exclude_inherited)) &&
+ (_tao_in >> max_returned_objs)
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_Container_describe_contents ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ limit_type,
+ exclude_inherited,
+ max_returned_objs
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->describe_contents (
+ limit_type,
+ exclude_inherited,
+ max_returned_objs
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_Container::DescriptionSeq * _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_Container::create_module_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_Container *_tao_impl =
+ ACE_static_cast (POA_CORBA_Container *, _tao_object_reference);
+
+ CORBA_ModuleDef_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::String_var version;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.out ()) &&
+ (_tao_in >> version.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_Container_create_module ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ id.in (),
+ name.in (),
+ version.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->create_module (
+ id.in (),
+ name.in (),
+ version.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_ModuleDef_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_Container::create_constant_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_Container *_tao_impl =
+ ACE_static_cast (POA_CORBA_Container *, _tao_object_reference);
+
+ CORBA_ConstantDef_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::String_var version;
+ CORBA_IDLType_var type;
+ CORBA::Any value;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.out ()) &&
+ (_tao_in >> version.out ()) &&
+ (_tao_in >> type.out ()) &&
+ (_tao_in >> value)
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_Container_create_constant ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ id.in (),
+ name.in (),
+ version.in (),
+ type.in (),
+ value
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->create_constant (
+ id.in (),
+ name.in (),
+ version.in (),
+ type.in (),
+ value
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_ConstantDef_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_Container::create_struct_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_Container *_tao_impl =
+ ACE_static_cast (POA_CORBA_Container *, _tao_object_reference);
+
+ CORBA_StructDef_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::String_var version;
+ CORBA_StructMemberSeq members;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.out ()) &&
+ (_tao_in >> version.out ()) &&
+ (_tao_in >> members)
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_Container_create_struct ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ id.in (),
+ name.in (),
+ version.in (),
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->create_struct (
+ id.in (),
+ name.in (),
+ version.in (),
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_StructDef_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_Container::create_union_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_Container *_tao_impl =
+ ACE_static_cast (POA_CORBA_Container *, _tao_object_reference);
+
+ CORBA_UnionDef_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::String_var version;
+ CORBA_IDLType_var discriminator_type;
+ CORBA_UnionMemberSeq members;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.out ()) &&
+ (_tao_in >> version.out ()) &&
+ (_tao_in >> discriminator_type.out ()) &&
+ (_tao_in >> members)
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_Container_create_union ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ id.in (),
+ name.in (),
+ version.in (),
+ discriminator_type.in (),
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->create_union (
+ id.in (),
+ name.in (),
+ version.in (),
+ discriminator_type.in (),
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_UnionDef_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_Container::create_enum_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_Container *_tao_impl =
+ ACE_static_cast (POA_CORBA_Container *, _tao_object_reference);
+
+ CORBA_EnumDef_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::String_var version;
+ CORBA_EnumMemberSeq members;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.out ()) &&
+ (_tao_in >> version.out ()) &&
+ (_tao_in >> members)
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_Container_create_enum ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ id.in (),
+ name.in (),
+ version.in (),
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->create_enum (
+ id.in (),
+ name.in (),
+ version.in (),
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_EnumDef_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_Container::create_alias_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_Container *_tao_impl =
+ ACE_static_cast (POA_CORBA_Container *, _tao_object_reference);
+
+ CORBA_AliasDef_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::String_var version;
+ CORBA_IDLType_var original_type;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.out ()) &&
+ (_tao_in >> version.out ()) &&
+ (_tao_in >> original_type.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_Container_create_alias ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ id.in (),
+ name.in (),
+ version.in (),
+ original_type.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->create_alias (
+ id.in (),
+ name.in (),
+ version.in (),
+ original_type.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_AliasDef_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_Container::create_interface_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_Container *_tao_impl =
+ ACE_static_cast (POA_CORBA_Container *, _tao_object_reference);
+
+ CORBA_InterfaceDef_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::String_var version;
+ CORBA_InterfaceDefSeq base_interfaces;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.out ()) &&
+ (_tao_in >> version.out ()) &&
+ (_tao_in >> base_interfaces)
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_Container_create_interface ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ id.in (),
+ name.in (),
+ version.in (),
+ base_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->create_interface (
+ id.in (),
+ name.in (),
+ version.in (),
+ base_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_InterfaceDef_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_Container::create_value_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_Container *_tao_impl =
+ ACE_static_cast (POA_CORBA_Container *, _tao_object_reference);
+
+ CORBA_ValueDef_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::String_var version;
+ CORBA::Boolean is_custom;
+ CORBA::Boolean is_abstract;
+ CORBA_ValueDef_var base_value;
+ CORBA::Boolean is_truncatable;
+ CORBA_ValueDefSeq abstract_base_values;
+ CORBA_InterfaceDefSeq supported_interfaces;
+ CORBA_InitializerSeq initializers;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.out ()) &&
+ (_tao_in >> version.out ()) &&
+ (_tao_in >> CORBA::Any::to_boolean (is_custom)) &&
+ (_tao_in >> CORBA::Any::to_boolean (is_abstract)) &&
+ (_tao_in >> base_value.out ()) &&
+ (_tao_in >> CORBA::Any::to_boolean (is_truncatable)) &&
+ (_tao_in >> abstract_base_values) &&
+ (_tao_in >> supported_interfaces) &&
+ (_tao_in >> initializers)
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_Container_create_value ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ id.in (),
+ name.in (),
+ version.in (),
+ is_custom,
+ is_abstract,
+ base_value.in (),
+ is_truncatable,
+ abstract_base_values,
+ supported_interfaces,
+ initializers
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->create_value (
+ id.in (),
+ name.in (),
+ version.in (),
+ is_custom,
+ is_abstract,
+ base_value.in (),
+ is_truncatable,
+ abstract_base_values,
+ supported_interfaces,
+ initializers
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_ValueDef_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_Container::create_value_box_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_Container *_tao_impl =
+ ACE_static_cast (POA_CORBA_Container *, _tao_object_reference);
+
+ CORBA_ValueBoxDef_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::String_var version;
+ CORBA_IDLType_var original_type_def;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.out ()) &&
+ (_tao_in >> version.out ()) &&
+ (_tao_in >> original_type_def.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_Container_create_value_box ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ id.in (),
+ name.in (),
+ version.in (),
+ original_type_def.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->create_value_box (
+ id.in (),
+ name.in (),
+ version.in (),
+ original_type_def.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_ValueBoxDef_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_Container::create_exception_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_Container *_tao_impl =
+ ACE_static_cast (POA_CORBA_Container *, _tao_object_reference);
+
+ CORBA_ExceptionDef_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::String_var version;
+ CORBA_StructMemberSeq members;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.out ()) &&
+ (_tao_in >> version.out ()) &&
+ (_tao_in >> members)
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_Container_create_exception ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ id.in (),
+ name.in (),
+ version.in (),
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->create_exception (
+ id.in (),
+ name.in (),
+ version.in (),
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_ExceptionDef_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_Container::create_native_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_Container *_tao_impl =
+ ACE_static_cast (POA_CORBA_Container *, _tao_object_reference);
+
+ CORBA_NativeDef_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::String_var version;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.out ()) &&
+ (_tao_in >> version.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_Container_create_native ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ id.in (),
+ name.in (),
+ version.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->create_native (
+ id.in (),
+ name.in (),
+ version.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_NativeDef_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_Container::create_abstract_interface_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_Container *_tao_impl =
+ ACE_static_cast (POA_CORBA_Container *, _tao_object_reference);
+
+ CORBA_AbstractInterfaceDef_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::String_var version;
+ CORBA_AbstractInterfaceDefSeq base_interfaces;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.out ()) &&
+ (_tao_in >> version.out ()) &&
+ (_tao_in >> base_interfaces)
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_Container_create_abstract_interface ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ id.in (),
+ name.in (),
+ version.in (),
+ base_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->create_abstract_interface (
+ id.in (),
+ name.in (),
+ version.in (),
+ base_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_AbstractInterfaceDef_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_Container::create_local_interface_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_Container *_tao_impl =
+ ACE_static_cast (POA_CORBA_Container *, _tao_object_reference);
+
+ CORBA_LocalInterfaceDef_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::String_var version;
+ CORBA_InterfaceDefSeq base_interfaces;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.out ()) &&
+ (_tao_in >> version.out ()) &&
+ (_tao_in >> base_interfaces)
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_Container_create_local_interface ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ id.in (),
+ name.in (),
+ version.in (),
+ base_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->create_local_interface (
+ id.in (),
+ name.in (),
+ version.in (),
+ base_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_LocalInterfaceDef_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_Container::_is_a_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_Container *_tao_impl = (POA_CORBA_Container *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!(_tao_in >> value.out ()))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_CORBA_Container::_non_existent_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container *_tao_impl = (POA_CORBA_Container *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_CORBA_Container::_interface_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container *_tao_impl = (POA_CORBA_Container *) _tao_object_reference;
+ CORBA_InterfaceDef_ptr _tao_retval = 0;
+ CORBA::Boolean _tao_result = 0;
+
+ TAO_IFR_Client_Adapter *_tao_adapter =
+ ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
+ TAO_ORB_Core::ifr_client_adapter_name ()
+ );
+
+ if (_tao_adapter == 0)
+ {
+ ACE_THROW (CORBA::INTF_REPOS ());
+ }
+
+ ACE_TRY
+ {
+ _tao_retval = _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ _tao_result =
+ _tao_adapter->interfacedef_cdr_insert (
+ _tao_out,
+ _tao_retval
+ );
+ }
+ ACE_CATCHALL
+ {
+ _tao_adapter->dispose (_tao_retval);
+ }
+ ACE_ENDTRY;
+
+ if (_tao_result == 0)
+ {
+ ACE_THROW (CORBA::MARSHAL ());
+ }
+}
+
+CORBA::Boolean POA_CORBA_Container::_is_a (
+ const char* value
+ ACE_ENV_ARG_DECL
+ )
+{
+ const char *base_id = CORBA::_tc_Object->id (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Container:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, base_id)))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_CORBA_Container::_downcast (
+ const char* logical_type_id
+ )
+{
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Container:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_Container_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_CORBA_Container::_dispatch (TAO_ServerRequest &req, void *servant_upcall ACE_ENV_ARG_DECL)
+{
+ this->synchronous_upcall_dispatch (req,
+ servant_upcall,
+ this
+ ACE_ENV_ARG_PARAMETER);
+}
+
+
+const char* POA_CORBA_Container::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/CORBA/Container:1.0";
+}
+
+CORBA_Container*
+POA_CORBA_Container::_this (ACE_ENV_SINGLE_ARG_DECL)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ TAO_Stub_Auto_Ptr safe_stub (stub);
+
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0);
+ else
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0);
+
+ CORBA::Object_var obj = tmp;
+
+ (void) safe_stub.release ();
+
+ return ::CORBA_Container::_unchecked_narrow (obj.in ());
+}
+
+
+class TAO_CORBA_IDLType_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 22:18:41 */
+/* 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_IDLType_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_CORBA_IDLType_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 0,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 0,
+ 19, 19, 0, 0, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 5, 19, 19, 19, 19, 0, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19,
+#else
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 0, 19, 0, 19, 19,
+ 0, 0, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 5, 19, 19, 19,
+ 19, 0, 19, 19, 19, 19, 19, 19,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_CORBA_IDLType_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 6,
+ MIN_WORD_LENGTH = 5,
+ MAX_WORD_LENGTH = 13,
+ MIN_HASH_VALUE = 5,
+ MAX_HASH_VALUE = 18,
+ HASH_VALUE_RANGE = 14,
+ DUPLICATES = 0,
+ WORDLIST_SIZE = 11
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},{"",0},
+ {"_is_a", &POA_CORBA_IDLType::_is_a_skel},
+ {"",0},
+ {"destroy", &POA_CORBA_IDLType::destroy_skel},
+ {"",0},
+ {"_get_type", &POA_CORBA_IDLType::_get_type_skel},
+ {"_interface", &POA_CORBA_IDLType::_interface_skel},
+ {"",0},{"",0},
+ {"_get_def_kind", &POA_CORBA_IDLType::_get_def_kind_skel},
+ {"",0},{"",0},{"",0},{"",0},
+ {"_non_existent", &POA_CORBA_IDLType::_non_existent_skel},
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ const char *s = wordlist[key].opname_;
+
+ if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
+ return &wordlist[key];
+ }
+ }
+ return 0;
+}
+/* ending time is 22:18:41 */
+static TAO_CORBA_IDLType_Perfect_Hash_OpTable tao_CORBA_IDLType_optable;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+class TAO_ServerRequestInfo_CORBA_IDLType_type_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_IDLType_type_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_IDLType *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA::TypeCode_ptr result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_IDLType_type_get (const TAO_ServerRequestInfo_CORBA_IDLType_type_get &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_IDLType_type_get &);
+
+private:
+ POA_CORBA_IDLType *_tao_impl;
+ CORBA::TypeCode_ptr _result;
+};
+
+TAO_ServerRequestInfo_CORBA_IDLType_type_get::TAO_ServerRequestInfo_CORBA_IDLType_type_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_IDLType *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_IDLType_type_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_IDLType_type_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_IDLType_type_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_IDLType_type_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_IDLType_type_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_IDLType_type_get::result (CORBA::TypeCode_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Implementation
+//
+
+// Factory function Implementation.
+_TAO_CORBA_IDLType_Strategized_Proxy_Broker *_TAO_CORBA_IDLType_Strategized_Proxy_Broker::the_TAO_CORBA_IDLType_Strategized_Proxy_Broker (void)
+{
+ static _TAO_CORBA_IDLType_Strategized_Proxy_Broker strategized_proxy_broker;
+ return &strategized_proxy_broker;
+}
+
+_TAO_CORBA_IDLType_Strategized_Proxy_Broker::_TAO_CORBA_IDLType_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ this->proxy_cache_[i] = 0;
+
+}
+
+_TAO_CORBA_IDLType_Strategized_Proxy_Broker::~_TAO_CORBA_IDLType_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ delete this->proxy_cache_[i];
+
+}
+
+_TAO_CORBA_IDLType_Proxy_Impl&
+_TAO_CORBA_IDLType_Strategized_Proxy_Broker::select_proxy (
+ ::CORBA_IDLType *object
+ ACE_ENV_ARG_DECL
+ )
+{
+ int strategy =
+ TAO_ORB_Core::collocation_strategy (object ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ if (this->proxy_cache_[strategy] != 0)
+ return *this->proxy_cache_[strategy];
+
+ this->create_proxy (strategy ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ return *this->proxy_cache_[strategy];
+
+}
+
+void
+_TAO_CORBA_IDLType_Strategized_Proxy_Broker::create_proxy (
+ int strategy
+ ACE_ENV_ARG_DECL
+ )
+{
+ ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_);
+
+ if (this->proxy_cache_[strategy] == 0)
+ {
+ switch (strategy)
+ {
+ case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ _TAO_CORBA_IDLType_ThruPOA_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY:
+ default:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ ::_TAO_CORBA_IDLType_Remote_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ }
+
+ }
+}
+
+
+//
+// End Strategized Proxy Broker Implementation
+///////////////////////////////////////////////////////////////////////
+
+
+_TAO_CORBA_IDLType_Proxy_Broker *
+_TAO_CORBA_IDLType_Proxy_Broker_Factory_function (CORBA::Object_ptr obj)
+{
+ ACE_UNUSED_ARG (obj);
+ return ::_TAO_CORBA_IDLType_Strategized_Proxy_Broker::the_TAO_CORBA_IDLType_Strategized_Proxy_Broker();
+}
+
+int
+_TAO_CORBA_IDLType_Proxy_Broker_Factory_Initializer (long)
+{
+ _TAO_CORBA_IDLType_Proxy_Broker_Factory_function_pointer =
+ _TAO_CORBA_IDLType_Proxy_Broker_Factory_function;
+
+ return 0;
+}
+
+static int _TAO_CORBA_IDLType_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
+ _TAO_CORBA_IDLType_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_CORBA_IDLType_Proxy_Broker_Factory_Initializer));
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Proxy Implementation
+//
+
+_TAO_CORBA_IDLType_ThruPOA_Proxy_Impl::_TAO_CORBA_IDLType_ThruPOA_Proxy_Impl (void)
+{}
+
+// ThruPOA Implementation of the IDL interface methods
+
+CORBA::TypeCode_ptr _TAO_CORBA_IDLType_ThruPOA_Proxy_Impl::type (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::TypeCode_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "type",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_IDLType_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/IDLType:1.0"
+ )
+ )->type (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+//
+// End ThruPOA Proxy Implementation
+///////////////////////////////////////////////////////////////////////
+
+// skeleton constructor
+POA_CORBA_IDLType::POA_CORBA_IDLType (void)
+{
+ this->optable_ = &tao_CORBA_IDLType_optable;
+}
+
+// copy ctor
+POA_CORBA_IDLType::POA_CORBA_IDLType (const POA_CORBA_IDLType& rhs)
+ : POA_CORBA_IRObject (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_CORBA_IDLType::~POA_CORBA_IDLType (void)
+{
+}
+
+void POA_CORBA_IDLType::_get_type_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IDLType *_tao_impl =
+ ACE_static_cast (POA_CORBA_IDLType *, _tao_object_reference);
+
+ CORBA::TypeCode_var _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_IDLType_type_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->type (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA::TypeCode_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_IDLType::_is_a_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_IDLType *_tao_impl = (POA_CORBA_IDLType *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!(_tao_in >> value.out ()))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_CORBA_IDLType::_non_existent_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IDLType *_tao_impl = (POA_CORBA_IDLType *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_CORBA_IDLType::_interface_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IDLType *_tao_impl = (POA_CORBA_IDLType *) _tao_object_reference;
+ CORBA_InterfaceDef_ptr _tao_retval = 0;
+ CORBA::Boolean _tao_result = 0;
+
+ TAO_IFR_Client_Adapter *_tao_adapter =
+ ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
+ TAO_ORB_Core::ifr_client_adapter_name ()
+ );
+
+ if (_tao_adapter == 0)
+ {
+ ACE_THROW (CORBA::INTF_REPOS ());
+ }
+
+ ACE_TRY
+ {
+ _tao_retval = _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ _tao_result =
+ _tao_adapter->interfacedef_cdr_insert (
+ _tao_out,
+ _tao_retval
+ );
+ }
+ ACE_CATCHALL
+ {
+ _tao_adapter->dispose (_tao_retval);
+ }
+ ACE_ENDTRY;
+
+ if (_tao_result == 0)
+ {
+ ACE_THROW (CORBA::MARSHAL ());
+ }
+}
+
+CORBA::Boolean POA_CORBA_IDLType::_is_a (
+ const char* value
+ ACE_ENV_ARG_DECL
+ )
+{
+ const char *base_id = CORBA::_tc_Object->id (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IDLType:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, base_id)))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_CORBA_IDLType::_downcast (
+ const char* logical_type_id
+ )
+{
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IDLType:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IDLType_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_CORBA_IDLType::_dispatch (TAO_ServerRequest &req, void *servant_upcall ACE_ENV_ARG_DECL)
+{
+ this->synchronous_upcall_dispatch (req,
+ servant_upcall,
+ this
+ ACE_ENV_ARG_PARAMETER);
+}
+
+
+const char* POA_CORBA_IDLType::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/CORBA/IDLType:1.0";
+}
+
+CORBA_IDLType*
+POA_CORBA_IDLType::_this (ACE_ENV_SINGLE_ARG_DECL)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ TAO_Stub_Auto_Ptr safe_stub (stub);
+
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0);
+ else
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0);
+
+ CORBA::Object_var obj = tmp;
+
+ (void) safe_stub.release ();
+
+ return ::CORBA_IDLType::_unchecked_narrow (obj.in ());
+}
+
+
+class TAO_CORBA_TypedefDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 22:18:42 */
+/* 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_TypedefDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_CORBA_TypedefDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 0, 0, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 0, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 10, 37, 37, 37, 37, 10, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37,
+#else
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 0, 37, 0, 37, 37,
+ 0, 0, 37, 37, 37, 37, 37, 37, 37, 0,
+ 0, 37, 37, 37, 37, 37, 10, 37, 37, 37,
+ 37, 10, 37, 37, 37, 37, 37, 37,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_CORBA_TypedefDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 17,
+ MIN_WORD_LENGTH = 4,
+ MAX_WORD_LENGTH = 26,
+ MIN_HASH_VALUE = 4,
+ MAX_HASH_VALUE = 36,
+ HASH_VALUE_RANGE = 33,
+ DUPLICATES = 5
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},
+ {"move", &POA_CORBA_TypedefDef::move_skel},
+ {"_is_a", &POA_CORBA_TypedefDef::_is_a_skel},
+ {"_get_id", &POA_CORBA_TypedefDef::_get_id_skel},
+ {"_set_id", &POA_CORBA_TypedefDef::_set_id_skel},
+ {"describe", &POA_CORBA_TypedefDef::describe_skel},
+ {"_get_name", &POA_CORBA_TypedefDef::_get_name_skel},
+ {"_get_type", &POA_CORBA_TypedefDef::_get_type_skel},
+ {"_set_name", &POA_CORBA_TypedefDef::_set_name_skel},
+ {"_interface", &POA_CORBA_TypedefDef::_interface_skel},
+ {"_get_version", &POA_CORBA_TypedefDef::_get_version_skel},
+ {"_set_version", &POA_CORBA_TypedefDef::_set_version_skel},
+ {"_get_def_kind", &POA_CORBA_TypedefDef::_get_def_kind_skel},
+ {"_get_defined_in", &POA_CORBA_TypedefDef::_get_defined_in_skel},
+ {"destroy", &POA_CORBA_TypedefDef::destroy_skel},
+ {"_get_absolute_name", &POA_CORBA_TypedefDef::_get_absolute_name_skel},
+ {"_non_existent", &POA_CORBA_TypedefDef::_non_existent_skel},
+ {"_get_containing_repository", &POA_CORBA_TypedefDef::_get_containing_repository_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -9, -3, -13, -2, 4, 5, -1, 48, 8, -45, 12, -1, -46, 15,
+ -1, 16, -1, 17, 18, -6, -2, -1, -1, 19, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 20,
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ int slot = lookup[key];
+
+ if (slot >= 0 && slot < MAX_HASH_VALUE)
+ {
+ const char *s = wordlist[slot].opname_;
+
+ if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
+ return &wordlist[slot];
+ }
+ else if (slot < 0 && slot >= -MAX_HASH_VALUE)
+ return 0;
+ else
+ {
+ unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE);
+ const class TAO_operation_db_entry *base = &wordlist[-lookup[offset]];
+ const class TAO_operation_db_entry *ptr = base + -lookup[offset + 1];
+
+ while (--ptr >= base)
+ if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1))
+ return ptr;
+ }
+ }
+ }
+ return 0;
+}
+/* ending time is 22:18:42 */
+static TAO_CORBA_TypedefDef_Perfect_Hash_OpTable tao_CORBA_TypedefDef_optable;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+#endif /* TAO_HAS_INTERCEPTORS */
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Implementation
+//
+
+// Factory function Implementation.
+_TAO_CORBA_TypedefDef_Strategized_Proxy_Broker *_TAO_CORBA_TypedefDef_Strategized_Proxy_Broker::the_TAO_CORBA_TypedefDef_Strategized_Proxy_Broker (void)
+{
+ static _TAO_CORBA_TypedefDef_Strategized_Proxy_Broker strategized_proxy_broker;
+ return &strategized_proxy_broker;
+}
+
+_TAO_CORBA_TypedefDef_Strategized_Proxy_Broker::_TAO_CORBA_TypedefDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ this->proxy_cache_[i] = 0;
+
+}
+
+_TAO_CORBA_TypedefDef_Strategized_Proxy_Broker::~_TAO_CORBA_TypedefDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ delete this->proxy_cache_[i];
+
+}
+
+_TAO_CORBA_TypedefDef_Proxy_Impl&
+_TAO_CORBA_TypedefDef_Strategized_Proxy_Broker::select_proxy (
+ ::CORBA_TypedefDef *object
+ ACE_ENV_ARG_DECL
+ )
+{
+ int strategy =
+ TAO_ORB_Core::collocation_strategy (object ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ if (this->proxy_cache_[strategy] != 0)
+ return *this->proxy_cache_[strategy];
+
+ this->create_proxy (strategy ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ return *this->proxy_cache_[strategy];
+
+}
+
+void
+_TAO_CORBA_TypedefDef_Strategized_Proxy_Broker::create_proxy (
+ int strategy
+ ACE_ENV_ARG_DECL
+ )
+{
+ ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_);
+
+ if (this->proxy_cache_[strategy] == 0)
+ {
+ switch (strategy)
+ {
+ case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ _TAO_CORBA_TypedefDef_ThruPOA_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY:
+ default:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ ::_TAO_CORBA_TypedefDef_Remote_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ }
+
+ }
+}
+
+
+//
+// End Strategized Proxy Broker Implementation
+///////////////////////////////////////////////////////////////////////
+
+
+_TAO_CORBA_TypedefDef_Proxy_Broker *
+_TAO_CORBA_TypedefDef_Proxy_Broker_Factory_function (CORBA::Object_ptr obj)
+{
+ ACE_UNUSED_ARG (obj);
+ return ::_TAO_CORBA_TypedefDef_Strategized_Proxy_Broker::the_TAO_CORBA_TypedefDef_Strategized_Proxy_Broker();
+}
+
+int
+_TAO_CORBA_TypedefDef_Proxy_Broker_Factory_Initializer (long)
+{
+ _TAO_CORBA_TypedefDef_Proxy_Broker_Factory_function_pointer =
+ _TAO_CORBA_TypedefDef_Proxy_Broker_Factory_function;
+
+ return 0;
+}
+
+static int _TAO_CORBA_TypedefDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
+ _TAO_CORBA_TypedefDef_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_CORBA_TypedefDef_Proxy_Broker_Factory_Initializer));
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Proxy Implementation
+//
+
+_TAO_CORBA_TypedefDef_ThruPOA_Proxy_Impl::_TAO_CORBA_TypedefDef_ThruPOA_Proxy_Impl (void)
+{}
+
+// ThruPOA Implementation of the IDL interface methods
+
+//
+// End ThruPOA Proxy Implementation
+///////////////////////////////////////////////////////////////////////
+
+// skeleton constructor
+POA_CORBA_TypedefDef::POA_CORBA_TypedefDef (void)
+{
+ this->optable_ = &tao_CORBA_TypedefDef_optable;
+}
+
+// copy ctor
+POA_CORBA_TypedefDef::POA_CORBA_TypedefDef (const POA_CORBA_TypedefDef& rhs)
+ : POA_CORBA_Contained (rhs),
+ POA_CORBA_IDLType (rhs),
+ POA_CORBA_IRObject (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_CORBA_TypedefDef::~POA_CORBA_TypedefDef (void)
+{
+}
+
+void POA_CORBA_TypedefDef::_is_a_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_TypedefDef *_tao_impl = (POA_CORBA_TypedefDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!(_tao_in >> value.out ()))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_CORBA_TypedefDef::_non_existent_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_TypedefDef *_tao_impl = (POA_CORBA_TypedefDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_CORBA_TypedefDef::_interface_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_TypedefDef *_tao_impl = (POA_CORBA_TypedefDef *) _tao_object_reference;
+ CORBA_InterfaceDef_ptr _tao_retval = 0;
+ CORBA::Boolean _tao_result = 0;
+
+ TAO_IFR_Client_Adapter *_tao_adapter =
+ ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
+ TAO_ORB_Core::ifr_client_adapter_name ()
+ );
+
+ if (_tao_adapter == 0)
+ {
+ ACE_THROW (CORBA::INTF_REPOS ());
+ }
+
+ ACE_TRY
+ {
+ _tao_retval = _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ _tao_result =
+ _tao_adapter->interfacedef_cdr_insert (
+ _tao_out,
+ _tao_retval
+ );
+ }
+ ACE_CATCHALL
+ {
+ _tao_adapter->dispose (_tao_retval);
+ }
+ ACE_ENDTRY;
+
+ if (_tao_result == 0)
+ {
+ ACE_THROW (CORBA::MARSHAL ());
+ }
+}
+
+CORBA::Boolean POA_CORBA_TypedefDef::_is_a (
+ const char* value
+ ACE_ENV_ARG_DECL
+ )
+{
+ const char *base_id = CORBA::_tc_Object->id (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/TypedefDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Contained:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IDLType:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, base_id)))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_CORBA_TypedefDef::_downcast (
+ const char* logical_type_id
+ )
+{
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/TypedefDef:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_TypedefDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Contained:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_Contained_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IDLType:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IDLType_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_CORBA_TypedefDef::_dispatch (TAO_ServerRequest &req, void *servant_upcall ACE_ENV_ARG_DECL)
+{
+ this->synchronous_upcall_dispatch (req,
+ servant_upcall,
+ this
+ ACE_ENV_ARG_PARAMETER);
+}
+
+
+const char* POA_CORBA_TypedefDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/CORBA/TypedefDef:1.0";
+}
+
+CORBA_TypedefDef*
+POA_CORBA_TypedefDef::_this (ACE_ENV_SINGLE_ARG_DECL)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ TAO_Stub_Auto_Ptr safe_stub (stub);
+
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0);
+ else
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0);
+
+ CORBA::Object_var obj = tmp;
+
+ (void) safe_stub.release ();
+
+ return ::CORBA_TypedefDef::_unchecked_narrow (obj.in ());
+}
+
+
+
+#endif /* ifndef */
diff --git a/TAO/orbsvcs/IFR_Service/IFR_BaseS.h b/TAO/orbsvcs/IFR_Service/IFR_BaseS.h
new file mode 100644
index 00000000000..e1077f9c8d8
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/IFR_BaseS.h
@@ -0,0 +1,1697 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+#ifndef _TAO_IDL__________ORBSVCS_IFR_SERVICE_ORIG_IFR_BASES_H_
+#define _TAO_IDL__________ORBSVCS_IFR_SERVICE_ORIG_IFR_BASES_H_
+
+#include "ace/pre.h"
+#include "tao/IFR_Client/IFR_BaseC.h"
+
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "tao/PortableServer/PortableServer.h"
+#include "tao/PortableServer/Servant_Base.h"
+#include "tao/PortableServer/Collocated_Object.h"
+#include "tao/PortableServer/ThruPOA_Object_Proxy_Impl.h"
+#include "tao/PortableServer/Direct_Object_Proxy_Impl.h"
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+#if defined (__BORLANDC__)
+#pragma option push -w-rvl -w-rch -w-ccc -w-inl
+#endif /* __BORLANDC__ */
+
+class POA_CORBA_IRObject;
+typedef POA_CORBA_IRObject *POA_CORBA_IRObject_ptr;
+// Forward Classes Declaration
+class _TAO_CORBA_IRObject_ThruPOA_Proxy_Impl;
+class _TAO_CORBA_IRObject_Strategized_Proxy_Broker;
+
+class POA_CORBA_IRObject : public virtual PortableServer::ServantBase
+{
+protected:
+ POA_CORBA_IRObject (void);
+
+public:
+ POA_CORBA_IRObject (const POA_CORBA_IRObject& rhs);
+ virtual ~POA_CORBA_IRObject (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _non_existent_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void _dispatch (
+ TAO_ServerRequest &req,
+ void *_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ ::CORBA_IRObject *_this (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_def_kind_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void destroy_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+
+};
+
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Declaration
+//
+
+class _TAO_CORBA_IRObject_Strategized_Proxy_Broker : public virtual ::_TAO_CORBA_IRObject_Proxy_Broker
+{
+public:
+ _TAO_CORBA_IRObject_Strategized_Proxy_Broker (void);
+
+ virtual ~_TAO_CORBA_IRObject_Strategized_Proxy_Broker (void);
+
+ virtual ::_TAO_CORBA_IRObject_Proxy_Impl &select_proxy (
+ ::CORBA_IRObject *object
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Helper methods that takes care to create the proxy
+ // as soon as their use is necessary.
+ void create_proxy (
+ int collocation_strategy
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Caches the proxy implementations. The proxy implementation
+ // are totally stateless, and those can be shared by all the
+ // instances of a given IDL interface type.
+ ::_TAO_CORBA_IRObject_Proxy_Impl
+ *proxy_cache_[TAO_Collocation_Strategies::CS_LAST];
+
+ TAO_SYNCH_MUTEX mutex_;
+ // This funxtion is used to get an handle to the unique instance
+ // of the Strategized Proxy Broker that is available for a given
+ // interface.
+
+public:
+ static _TAO_CORBA_IRObject_Strategized_Proxy_Broker *the_TAO_CORBA_IRObject_Strategized_Proxy_Broker (void);
+};
+
+
+//
+// End Strategized Proxy Broker Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Impl. Declaration
+//
+
+class _TAO_CORBA_IRObject_ThruPOA_Proxy_Impl :
+ public virtual ::_TAO_CORBA_IRObject_Proxy_Impl,
+ public virtual TAO_ThruPOA_Object_Proxy_Impl
+{
+public:
+ _TAO_CORBA_IRObject_ThruPOA_Proxy_Impl (void);
+
+ virtual ~_TAO_CORBA_IRObject_ThruPOA_Proxy_Impl (void) { }
+
+ virtual CORBA::DefinitionKind def_kind (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void destroy (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+
+};
+
+//
+// ThruPOA Proxy Impl. Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+class POA_CORBA_Contained;
+typedef POA_CORBA_Contained *POA_CORBA_Contained_ptr;
+// Forward Classes Declaration
+class _TAO_CORBA_Contained_ThruPOA_Proxy_Impl;
+class _TAO_CORBA_Contained_Strategized_Proxy_Broker;
+
+class POA_CORBA_Contained : public virtual POA_CORBA_IRObject
+{
+protected:
+ POA_CORBA_Contained (void);
+
+public:
+ POA_CORBA_Contained (const POA_CORBA_Contained& rhs);
+ virtual ~POA_CORBA_Contained (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _non_existent_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void _dispatch (
+ TAO_ServerRequest &req,
+ void *_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ ::CORBA_Contained *_this (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual char * id (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_id_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void id (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_id_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual char * name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_name_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void name (
+ const char * name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_name_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual char * version (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_version_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void version (
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_version_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA_Container_ptr defined_in (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_defined_in_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual char * absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_absolute_name_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA_Repository_ptr containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_containing_repository_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA_Contained::Description * describe (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void describe_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void move_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+
+};
+
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Declaration
+//
+
+class _TAO_CORBA_Contained_Strategized_Proxy_Broker : public virtual ::_TAO_CORBA_Contained_Proxy_Broker
+{
+public:
+ _TAO_CORBA_Contained_Strategized_Proxy_Broker (void);
+
+ virtual ~_TAO_CORBA_Contained_Strategized_Proxy_Broker (void);
+
+ virtual ::_TAO_CORBA_Contained_Proxy_Impl &select_proxy (
+ ::CORBA_Contained *object
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Helper methods that takes care to create the proxy
+ // as soon as their use is necessary.
+ void create_proxy (
+ int collocation_strategy
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Caches the proxy implementations. The proxy implementation
+ // are totally stateless, and those can be shared by all the
+ // instances of a given IDL interface type.
+ ::_TAO_CORBA_Contained_Proxy_Impl
+ *proxy_cache_[TAO_Collocation_Strategies::CS_LAST];
+
+ TAO_SYNCH_MUTEX mutex_;
+ // This funxtion is used to get an handle to the unique instance
+ // of the Strategized Proxy Broker that is available for a given
+ // interface.
+
+public:
+ static _TAO_CORBA_Contained_Strategized_Proxy_Broker *the_TAO_CORBA_Contained_Strategized_Proxy_Broker (void);
+};
+
+
+//
+// End Strategized Proxy Broker Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Impl. Declaration
+//
+
+class _TAO_CORBA_Contained_ThruPOA_Proxy_Impl :
+ public virtual ::_TAO_CORBA_Contained_Proxy_Impl,
+ public virtual TAO_ThruPOA_Object_Proxy_Impl,
+ public virtual ::_TAO_CORBA_IRObject_ThruPOA_Proxy_Impl
+
+{
+public:
+ _TAO_CORBA_Contained_ThruPOA_Proxy_Impl (void);
+
+ virtual ~_TAO_CORBA_Contained_ThruPOA_Proxy_Impl (void) { }
+
+ virtual char * id (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void id (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual char * name (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void name (
+ CORBA_Object *_collocated_tao_target_,
+ const char * name
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual char * version (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void version (
+ CORBA_Object *_collocated_tao_target_,
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA_Container_ptr defined_in (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual char * absolute_name (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA_Repository_ptr containing_repository (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA_Contained::Description * describe (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void move (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+
+};
+
+//
+// ThruPOA Proxy Impl. Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+class POA_CORBA_Container;
+typedef POA_CORBA_Container *POA_CORBA_Container_ptr;
+// Forward Classes Declaration
+class _TAO_CORBA_Container_ThruPOA_Proxy_Impl;
+class _TAO_CORBA_Container_Strategized_Proxy_Broker;
+
+class POA_CORBA_Container : public virtual POA_CORBA_IRObject
+{
+protected:
+ POA_CORBA_Container (void);
+
+public:
+ POA_CORBA_Container (const POA_CORBA_Container& rhs);
+ virtual ~POA_CORBA_Container (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _non_existent_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void _dispatch (
+ TAO_ServerRequest &req,
+ void *_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ ::CORBA_Container *_this (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual CORBA_Contained_ptr lookup (
+ const char * search_name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void lookup_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA_ContainedSeq * contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void contents_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA_ContainedSeq * lookup_name (
+ const char * search_name,
+ CORBA::Long levels_to_search,
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void lookup_name_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA_Container::DescriptionSeq * describe_contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void describe_contents_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA_ModuleDef_ptr create_module (
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_module_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA_ConstantDef_ptr create_constant (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ const CORBA::Any & value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_constant_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA_StructDef_ptr create_struct (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_struct_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA_UnionDef_ptr create_union (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr discriminator_type,
+ const CORBA_UnionMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_union_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA_EnumDef_ptr create_enum (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_EnumMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_enum_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA_AliasDef_ptr create_alias (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_alias_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA_InterfaceDef_ptr create_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_interface_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA_ValueDef_ptr create_value (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ CORBA_ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const CORBA_ValueDefSeq & abstract_base_values,
+ const CORBA_InterfaceDefSeq & supported_interfaces,
+ const CORBA_InitializerSeq & initializers
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_value_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA_ValueBoxDef_ptr create_value_box (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_value_box_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA_ExceptionDef_ptr create_exception (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_exception_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA_NativeDef_ptr create_native (
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_native_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA_AbstractInterfaceDef_ptr create_abstract_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_AbstractInterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_abstract_interface_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA_LocalInterfaceDef_ptr create_local_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_local_interface_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+
+};
+
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Declaration
+//
+
+class _TAO_CORBA_Container_Strategized_Proxy_Broker : public virtual ::_TAO_CORBA_Container_Proxy_Broker
+{
+public:
+ _TAO_CORBA_Container_Strategized_Proxy_Broker (void);
+
+ virtual ~_TAO_CORBA_Container_Strategized_Proxy_Broker (void);
+
+ virtual ::_TAO_CORBA_Container_Proxy_Impl &select_proxy (
+ ::CORBA_Container *object
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Helper methods that takes care to create the proxy
+ // as soon as their use is necessary.
+ void create_proxy (
+ int collocation_strategy
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Caches the proxy implementations. The proxy implementation
+ // are totally stateless, and those can be shared by all the
+ // instances of a given IDL interface type.
+ ::_TAO_CORBA_Container_Proxy_Impl
+ *proxy_cache_[TAO_Collocation_Strategies::CS_LAST];
+
+ TAO_SYNCH_MUTEX mutex_;
+ // This funxtion is used to get an handle to the unique instance
+ // of the Strategized Proxy Broker that is available for a given
+ // interface.
+
+public:
+ static _TAO_CORBA_Container_Strategized_Proxy_Broker *the_TAO_CORBA_Container_Strategized_Proxy_Broker (void);
+};
+
+
+//
+// End Strategized Proxy Broker Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Impl. Declaration
+//
+
+class _TAO_CORBA_Container_ThruPOA_Proxy_Impl :
+ public virtual ::_TAO_CORBA_Container_Proxy_Impl,
+ public virtual TAO_ThruPOA_Object_Proxy_Impl,
+ public virtual ::_TAO_CORBA_IRObject_ThruPOA_Proxy_Impl
+
+{
+public:
+ _TAO_CORBA_Container_ThruPOA_Proxy_Impl (void);
+
+ virtual ~_TAO_CORBA_Container_ThruPOA_Proxy_Impl (void) { }
+
+ virtual CORBA_Contained_ptr lookup (
+ CORBA_Object *_collocated_tao_target_,
+ const char * search_name
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA_ContainedSeq * contents (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA_ContainedSeq * lookup_name (
+ CORBA_Object *_collocated_tao_target_,
+ const char * search_name,
+ CORBA::Long levels_to_search,
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA_Container::DescriptionSeq * describe_contents (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA_ModuleDef_ptr create_module (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA_ConstantDef_ptr create_constant (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ const CORBA::Any & value
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA_StructDef_ptr create_struct (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA_UnionDef_ptr create_union (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr discriminator_type,
+ const CORBA_UnionMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA_EnumDef_ptr create_enum (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_EnumMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA_AliasDef_ptr create_alias (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA_InterfaceDef_ptr create_interface (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA_ValueDef_ptr create_value (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ CORBA_ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const CORBA_ValueDefSeq & abstract_base_values,
+ const CORBA_InterfaceDefSeq & supported_interfaces,
+ const CORBA_InitializerSeq & initializers
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA_ValueBoxDef_ptr create_value_box (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type_def
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA_ExceptionDef_ptr create_exception (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA_NativeDef_ptr create_native (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA_AbstractInterfaceDef_ptr create_abstract_interface (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_AbstractInterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA_LocalInterfaceDef_ptr create_local_interface (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+
+};
+
+//
+// ThruPOA Proxy Impl. Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+class POA_CORBA_IDLType;
+typedef POA_CORBA_IDLType *POA_CORBA_IDLType_ptr;
+// Forward Classes Declaration
+class _TAO_CORBA_IDLType_ThruPOA_Proxy_Impl;
+class _TAO_CORBA_IDLType_Strategized_Proxy_Broker;
+
+class POA_CORBA_IDLType : public virtual POA_CORBA_IRObject
+{
+protected:
+ POA_CORBA_IDLType (void);
+
+public:
+ POA_CORBA_IDLType (const POA_CORBA_IDLType& rhs);
+ virtual ~POA_CORBA_IDLType (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _non_existent_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void _dispatch (
+ TAO_ServerRequest &req,
+ void *_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ ::CORBA_IDLType *_this (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual CORBA::TypeCode_ptr type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_type_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+
+};
+
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Declaration
+//
+
+class _TAO_CORBA_IDLType_Strategized_Proxy_Broker : public virtual ::_TAO_CORBA_IDLType_Proxy_Broker
+{
+public:
+ _TAO_CORBA_IDLType_Strategized_Proxy_Broker (void);
+
+ virtual ~_TAO_CORBA_IDLType_Strategized_Proxy_Broker (void);
+
+ virtual ::_TAO_CORBA_IDLType_Proxy_Impl &select_proxy (
+ ::CORBA_IDLType *object
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Helper methods that takes care to create the proxy
+ // as soon as their use is necessary.
+ void create_proxy (
+ int collocation_strategy
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Caches the proxy implementations. The proxy implementation
+ // are totally stateless, and those can be shared by all the
+ // instances of a given IDL interface type.
+ ::_TAO_CORBA_IDLType_Proxy_Impl
+ *proxy_cache_[TAO_Collocation_Strategies::CS_LAST];
+
+ TAO_SYNCH_MUTEX mutex_;
+ // This funxtion is used to get an handle to the unique instance
+ // of the Strategized Proxy Broker that is available for a given
+ // interface.
+
+public:
+ static _TAO_CORBA_IDLType_Strategized_Proxy_Broker *the_TAO_CORBA_IDLType_Strategized_Proxy_Broker (void);
+};
+
+
+//
+// End Strategized Proxy Broker Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Impl. Declaration
+//
+
+class _TAO_CORBA_IDLType_ThruPOA_Proxy_Impl :
+ public virtual ::_TAO_CORBA_IDLType_Proxy_Impl,
+ public virtual TAO_ThruPOA_Object_Proxy_Impl,
+ public virtual ::_TAO_CORBA_IRObject_ThruPOA_Proxy_Impl
+
+{
+public:
+ _TAO_CORBA_IDLType_ThruPOA_Proxy_Impl (void);
+
+ virtual ~_TAO_CORBA_IDLType_ThruPOA_Proxy_Impl (void) { }
+
+ virtual CORBA::TypeCode_ptr type (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+
+};
+
+//
+// ThruPOA Proxy Impl. Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+class POA_CORBA_TypedefDef;
+typedef POA_CORBA_TypedefDef *POA_CORBA_TypedefDef_ptr;
+// Forward Classes Declaration
+class _TAO_CORBA_TypedefDef_ThruPOA_Proxy_Impl;
+class _TAO_CORBA_TypedefDef_Strategized_Proxy_Broker;
+
+class POA_CORBA_TypedefDef : public virtual POA_CORBA_Contained, public virtual POA_CORBA_IDLType
+{
+protected:
+ POA_CORBA_TypedefDef (void);
+
+public:
+ POA_CORBA_TypedefDef (const POA_CORBA_TypedefDef& rhs);
+ virtual ~POA_CORBA_TypedefDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _non_existent_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void _dispatch (
+ TAO_ServerRequest &req,
+ void *_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ ::CORBA_TypedefDef *_this (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual const char* _interface_repository_id (void) const;
+
+ static void _get_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_defined_in_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_absolute_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_containing_repository_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void describe_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void move_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_type_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+
+};
+
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Declaration
+//
+
+class _TAO_CORBA_TypedefDef_Strategized_Proxy_Broker : public virtual ::_TAO_CORBA_TypedefDef_Proxy_Broker
+{
+public:
+ _TAO_CORBA_TypedefDef_Strategized_Proxy_Broker (void);
+
+ virtual ~_TAO_CORBA_TypedefDef_Strategized_Proxy_Broker (void);
+
+ virtual ::_TAO_CORBA_TypedefDef_Proxy_Impl &select_proxy (
+ ::CORBA_TypedefDef *object
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Helper methods that takes care to create the proxy
+ // as soon as their use is necessary.
+ void create_proxy (
+ int collocation_strategy
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Caches the proxy implementations. The proxy implementation
+ // are totally stateless, and those can be shared by all the
+ // instances of a given IDL interface type.
+ ::_TAO_CORBA_TypedefDef_Proxy_Impl
+ *proxy_cache_[TAO_Collocation_Strategies::CS_LAST];
+
+ TAO_SYNCH_MUTEX mutex_;
+ // This funxtion is used to get an handle to the unique instance
+ // of the Strategized Proxy Broker that is available for a given
+ // interface.
+
+public:
+ static _TAO_CORBA_TypedefDef_Strategized_Proxy_Broker *the_TAO_CORBA_TypedefDef_Strategized_Proxy_Broker (void);
+};
+
+
+//
+// End Strategized Proxy Broker Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Impl. Declaration
+//
+
+class _TAO_CORBA_TypedefDef_ThruPOA_Proxy_Impl :
+ public virtual ::_TAO_CORBA_TypedefDef_Proxy_Impl,
+ public virtual TAO_ThruPOA_Object_Proxy_Impl,
+ public virtual ::_TAO_CORBA_Contained_ThruPOA_Proxy_Impl,
+ public virtual ::_TAO_CORBA_IDLType_ThruPOA_Proxy_Impl
+
+{
+public:
+ _TAO_CORBA_TypedefDef_ThruPOA_Proxy_Impl (void);
+
+ virtual ~_TAO_CORBA_TypedefDef_ThruPOA_Proxy_Impl (void) { }
+
+};
+
+
+//
+// ThruPOA Proxy Impl. Declaration
+///////////////////////////////////////////////////////////////////////
+
+#include "IFR_BaseS_T.h"
+
+#if defined (__ACE_INLINE__)
+#include "IFR_BaseS.i"
+#endif /* defined INLINE */
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#if defined (__BORLANDC__)
+#pragma option pop
+#endif /* __BORLANDC__ */
+
+#include "ace/post.h"
+#endif /* ifndef */
diff --git a/TAO/orbsvcs/IFR_Service/IFR_BaseS.i b/TAO/orbsvcs/IFR_Service/IFR_BaseS.i
new file mode 100644
index 00000000000..8224fd18394
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/IFR_BaseS.i
@@ -0,0 +1,321 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+ACE_INLINE void POA_CORBA_Contained::_get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_CORBA_Contained_ptr) obj;
+ POA_CORBA_IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_Contained::destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_CORBA_Contained_ptr) obj;
+ POA_CORBA_IRObject::destroy_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_Container::_get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_CORBA_Container_ptr) obj;
+ POA_CORBA_IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_Container::destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_CORBA_Container_ptr) obj;
+ POA_CORBA_IRObject::destroy_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_IDLType::_get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_CORBA_IDLType_ptr) obj;
+ POA_CORBA_IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_IDLType::destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_CORBA_IDLType_ptr) obj;
+ POA_CORBA_IRObject::destroy_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_TypedefDef::_get_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_TypedefDef_ptr) obj;
+ POA_CORBA_Contained::_get_id_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_TypedefDef::_set_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_TypedefDef_ptr) obj;
+ POA_CORBA_Contained::_set_id_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_TypedefDef::_get_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_TypedefDef_ptr) obj;
+ POA_CORBA_Contained::_get_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_TypedefDef::_set_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_TypedefDef_ptr) obj;
+ POA_CORBA_Contained::_set_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_TypedefDef::_get_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_TypedefDef_ptr) obj;
+ POA_CORBA_Contained::_get_version_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_TypedefDef::_set_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_TypedefDef_ptr) obj;
+ POA_CORBA_Contained::_set_version_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_TypedefDef::_get_defined_in_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_TypedefDef_ptr) obj;
+ POA_CORBA_Contained::_get_defined_in_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_TypedefDef::_get_absolute_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_TypedefDef_ptr) obj;
+ POA_CORBA_Contained::_get_absolute_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_TypedefDef::_get_containing_repository_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_TypedefDef_ptr) obj;
+ POA_CORBA_Contained::_get_containing_repository_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_TypedefDef::describe_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_TypedefDef_ptr) obj;
+ POA_CORBA_Contained::describe_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_TypedefDef::move_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_TypedefDef_ptr) obj;
+ POA_CORBA_Contained::move_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_TypedefDef::_get_type_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IDLType_ptr impl = (POA_CORBA_TypedefDef_ptr) obj;
+ POA_CORBA_IDLType::_get_type_skel (
+ req,
+ (POA_CORBA_IDLType_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_TypedefDef::_get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_CORBA_TypedefDef_ptr) obj;
+ POA_CORBA_IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_TypedefDef::destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_CORBA_TypedefDef_ptr) obj;
+ POA_CORBA_IRObject::destroy_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
diff --git a/TAO/orbsvcs/IFR_Service/IFR_BaseS_T.cpp b/TAO/orbsvcs/IFR_Service/IFR_BaseS_T.cpp
new file mode 100644
index 00000000000..a58f77a1343
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/IFR_BaseS_T.cpp
@@ -0,0 +1,32 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+#ifndef _TAO_IDL_IFR_BASES_T_CPP_
+#define _TAO_IDL_IFR_BASES_T_CPP_
+
+#include "IFR_BaseS_T.h"
+
+#if !defined (__ACE_INLINE__)
+#include "IFR_BaseS_T.i"
+#endif /* !defined INLINE */
+
+
+#endif /* ifndef */
diff --git a/TAO/orbsvcs/IFR_Service/IFR_BaseS_T.h b/TAO/orbsvcs/IFR_Service/IFR_BaseS_T.h
new file mode 100644
index 00000000000..0d9c58482b6
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/IFR_BaseS_T.h
@@ -0,0 +1,708 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+#ifndef _TAO_IDL_IFR_BASES_T_H_
+#define _TAO_IDL_IFR_BASES_T_H_
+
+#include "ace/pre.h"
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+#if defined (ACE_HAS_USING_KEYWORD)
+
+TAO_NAMESPACE POA_CORBA
+{
+}
+TAO_NAMESPACE_CLOSE // module CORBA
+
+// TIE class: Refer to CORBA v2.2, Section 20.34.4
+template <class T>
+class POA_CORBA_IRObject_tie : public POA_CORBA_IRObject
+{
+public:
+ POA_CORBA_IRObject_tie (T &t);
+ // the T& ctor
+ POA_CORBA_IRObject_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ POA_CORBA_IRObject_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ POA_CORBA_IRObject_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~POA_CORBA_IRObject_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+ CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ POA_CORBA_IRObject_tie (const POA_CORBA_IRObject_tie &);
+ void operator= (const POA_CORBA_IRObject_tie &);
+};
+
+// TIE class: Refer to CORBA v2.2, Section 20.34.4
+template <class T>
+class POA_CORBA_Contained_tie : public POA_CORBA_Contained
+{
+public:
+ POA_CORBA_Contained_tie (T &t);
+ // the T& ctor
+ POA_CORBA_Contained_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ POA_CORBA_Contained_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ POA_CORBA_Contained_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~POA_CORBA_Contained_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+ char * id (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void id (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void name (
+ const char * name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * version (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void version (
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Container_ptr defined_in (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Repository_ptr containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Contained::Description * describe (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ POA_CORBA_Contained_tie (const POA_CORBA_Contained_tie &);
+ void operator= (const POA_CORBA_Contained_tie &);
+};
+
+// TIE class: Refer to CORBA v2.2, Section 20.34.4
+template <class T>
+class POA_CORBA_Container_tie : public POA_CORBA_Container
+{
+public:
+ POA_CORBA_Container_tie (T &t);
+ // the T& ctor
+ POA_CORBA_Container_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ POA_CORBA_Container_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ POA_CORBA_Container_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~POA_CORBA_Container_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+ CORBA_Contained_ptr lookup (
+ const char * search_name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ContainedSeq * contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ContainedSeq * lookup_name (
+ const char * search_name,
+ CORBA::Long levels_to_search,
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Container::DescriptionSeq * describe_contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ModuleDef_ptr create_module (
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ConstantDef_ptr create_constant (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ const CORBA::Any & value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_StructDef_ptr create_struct (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_UnionDef_ptr create_union (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr discriminator_type,
+ const CORBA_UnionMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_EnumDef_ptr create_enum (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_EnumMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_AliasDef_ptr create_alias (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_InterfaceDef_ptr create_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ValueDef_ptr create_value (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ CORBA_ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const CORBA_ValueDefSeq & abstract_base_values,
+ const CORBA_InterfaceDefSeq & supported_interfaces,
+ const CORBA_InitializerSeq & initializers
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ValueBoxDef_ptr create_value_box (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ExceptionDef_ptr create_exception (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_NativeDef_ptr create_native (
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_AbstractInterfaceDef_ptr create_abstract_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_AbstractInterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_LocalInterfaceDef_ptr create_local_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ POA_CORBA_Container_tie (const POA_CORBA_Container_tie &);
+ void operator= (const POA_CORBA_Container_tie &);
+};
+
+// TIE class: Refer to CORBA v2.2, Section 20.34.4
+template <class T>
+class POA_CORBA_IDLType_tie : public POA_CORBA_IDLType
+{
+public:
+ POA_CORBA_IDLType_tie (T &t);
+ // the T& ctor
+ POA_CORBA_IDLType_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ POA_CORBA_IDLType_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ POA_CORBA_IDLType_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~POA_CORBA_IDLType_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+ CORBA::TypeCode_ptr type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ POA_CORBA_IDLType_tie (const POA_CORBA_IDLType_tie &);
+ void operator= (const POA_CORBA_IDLType_tie &);
+};
+
+// TIE class: Refer to CORBA v2.2, Section 20.34.4
+template <class T>
+class POA_CORBA_TypedefDef_tie : public POA_CORBA_TypedefDef
+{
+public:
+ POA_CORBA_TypedefDef_tie (T &t);
+ // the T& ctor
+ POA_CORBA_TypedefDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ POA_CORBA_TypedefDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ POA_CORBA_TypedefDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~POA_CORBA_TypedefDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+ char * id (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void id (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void name (
+ const char * name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * version (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void version (
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Container_ptr defined_in (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Repository_ptr containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Contained::Description * describe (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::TypeCode_ptr type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ POA_CORBA_TypedefDef_tie (const POA_CORBA_TypedefDef_tie &);
+ void operator= (const POA_CORBA_TypedefDef_tie &);
+};
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+#if defined (__ACE_INLINE__)
+#include "IFR_BaseS_T.i"
+#endif /* defined INLINE */
+
+
+#if defined (ACE_TEMPLATES_REQUIRE_SOURCE)
+#include "IFR_BaseS_T.cpp"
+#endif /* defined REQUIRED SOURCE */
+
+
+#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA)
+#pragma implementation ("IFR_BaseS_T.cpp")
+#endif /* defined REQUIRED PRAGMA */
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#include "ace/post.h"
+#endif /* ifndef */
diff --git a/TAO/orbsvcs/IFR_Service/IFR_BaseS_T.i b/TAO/orbsvcs/IFR_Service/IFR_BaseS_T.i
new file mode 100644
index 00000000000..2dd1632a3b6
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/IFR_BaseS_T.i
@@ -0,0 +1,1232 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+#if defined (ACE_HAS_USING_KEYWORD)
+
+template <class T> ACE_INLINE
+POA_CORBA_IRObject_tie<T>::POA_CORBA_IRObject_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_IRObject_tie<T>::POA_CORBA_IRObject_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_IRObject_tie<T>::POA_CORBA_IRObject_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_IRObject_tie<T>::POA_CORBA_IRObject_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_IRObject_tie<T>::~POA_CORBA_IRObject_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_CORBA_IRObject_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_IRObject_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_IRObject_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_CORBA_IRObject_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_IRObject_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_CORBA_IRObject_tie<T>::_default_POA (ACE_ENV_SINGLE_ARG_DECL)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->POA_CORBA_IRObject::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+template <class T> ACE_INLINE
+CORBA::DefinitionKind POA_CORBA_IRObject_tie<T>::def_kind (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_IRObject_tie<T>::destroy (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+POA_CORBA_Contained_tie<T>::POA_CORBA_Contained_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_Contained_tie<T>::POA_CORBA_Contained_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_Contained_tie<T>::POA_CORBA_Contained_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_Contained_tie<T>::POA_CORBA_Contained_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_Contained_tie<T>::~POA_CORBA_Contained_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_CORBA_Contained_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_Contained_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_Contained_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_CORBA_Contained_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_Contained_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_CORBA_Contained_tie<T>::_default_POA (ACE_ENV_SINGLE_ARG_DECL)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->POA_CORBA_Contained::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_Contained_tie<T>::id (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->id (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_Contained_tie<T>::id (
+ const char * id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->id (
+id
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_Contained_tie<T>::name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_Contained_tie<T>::name (
+ const char * name
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->name (
+name
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_Contained_tie<T>::version (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->version (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_Contained_tie<T>::version (
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->version (
+version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Container_ptr POA_CORBA_Contained_tie<T>::defined_in (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->defined_in (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_Contained_tie<T>::absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->absolute_name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Repository_ptr POA_CORBA_Contained_tie<T>::containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->containing_repository (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Contained::Description * POA_CORBA_Contained_tie<T>::describe (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_Contained_tie<T>::move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->move (
+new_container,
+ new_name,
+ new_version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::DefinitionKind POA_CORBA_Contained_tie<T>::def_kind (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_Contained_tie<T>::destroy (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+POA_CORBA_Container_tie<T>::POA_CORBA_Container_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_Container_tie<T>::POA_CORBA_Container_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_Container_tie<T>::POA_CORBA_Container_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_Container_tie<T>::POA_CORBA_Container_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_Container_tie<T>::~POA_CORBA_Container_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_CORBA_Container_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_Container_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_Container_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_CORBA_Container_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_Container_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_CORBA_Container_tie<T>::_default_POA (ACE_ENV_SINGLE_ARG_DECL)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->POA_CORBA_Container::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+template <class T> ACE_INLINE
+CORBA_Contained_ptr POA_CORBA_Container_tie<T>::lookup (
+ const char * search_name
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->lookup (
+search_name
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ContainedSeq * POA_CORBA_Container_tie<T>::contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->contents (
+limit_type,
+ exclude_inherited
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ContainedSeq * POA_CORBA_Container_tie<T>::lookup_name (
+ const char * search_name,
+ CORBA::Long levels_to_search,
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->lookup_name (
+search_name,
+ levels_to_search,
+ limit_type,
+ exclude_inherited
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Container::DescriptionSeq * POA_CORBA_Container_tie<T>::describe_contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe_contents (
+limit_type,
+ exclude_inherited,
+ max_returned_objs
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ModuleDef_ptr POA_CORBA_Container_tie<T>::create_module (
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_module (
+id,
+ name,
+ version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ConstantDef_ptr POA_CORBA_Container_tie<T>::create_constant (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ const CORBA::Any & value
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_constant (
+id,
+ name,
+ version,
+ type,
+ value
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_StructDef_ptr POA_CORBA_Container_tie<T>::create_struct (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_struct (
+id,
+ name,
+ version,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_UnionDef_ptr POA_CORBA_Container_tie<T>::create_union (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr discriminator_type,
+ const CORBA_UnionMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_union (
+id,
+ name,
+ version,
+ discriminator_type,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_EnumDef_ptr POA_CORBA_Container_tie<T>::create_enum (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_EnumMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_enum (
+id,
+ name,
+ version,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_AliasDef_ptr POA_CORBA_Container_tie<T>::create_alias (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_alias (
+id,
+ name,
+ version,
+ original_type
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_InterfaceDef_ptr POA_CORBA_Container_tie<T>::create_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_interface (
+id,
+ name,
+ version,
+ base_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ValueDef_ptr POA_CORBA_Container_tie<T>::create_value (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ CORBA_ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const CORBA_ValueDefSeq & abstract_base_values,
+ const CORBA_InterfaceDefSeq & supported_interfaces,
+ const CORBA_InitializerSeq & initializers
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_value (
+id,
+ name,
+ version,
+ is_custom,
+ is_abstract,
+ base_value,
+ is_truncatable,
+ abstract_base_values,
+ supported_interfaces,
+ initializers
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ValueBoxDef_ptr POA_CORBA_Container_tie<T>::create_value_box (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type_def
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_value_box (
+id,
+ name,
+ version,
+ original_type_def
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ExceptionDef_ptr POA_CORBA_Container_tie<T>::create_exception (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_exception (
+id,
+ name,
+ version,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_NativeDef_ptr POA_CORBA_Container_tie<T>::create_native (
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_native (
+id,
+ name,
+ version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_AbstractInterfaceDef_ptr POA_CORBA_Container_tie<T>::create_abstract_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_AbstractInterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_abstract_interface (
+id,
+ name,
+ version,
+ base_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_LocalInterfaceDef_ptr POA_CORBA_Container_tie<T>::create_local_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_local_interface (
+id,
+ name,
+ version,
+ base_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::DefinitionKind POA_CORBA_Container_tie<T>::def_kind (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_Container_tie<T>::destroy (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+POA_CORBA_IDLType_tie<T>::POA_CORBA_IDLType_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_IDLType_tie<T>::POA_CORBA_IDLType_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_IDLType_tie<T>::POA_CORBA_IDLType_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_IDLType_tie<T>::POA_CORBA_IDLType_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_IDLType_tie<T>::~POA_CORBA_IDLType_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_CORBA_IDLType_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_IDLType_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_IDLType_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_CORBA_IDLType_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_IDLType_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_CORBA_IDLType_tie<T>::_default_POA (ACE_ENV_SINGLE_ARG_DECL)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->POA_CORBA_IDLType::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_CORBA_IDLType_tie<T>::type (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->type (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::DefinitionKind POA_CORBA_IDLType_tie<T>::def_kind (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_IDLType_tie<T>::destroy (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+POA_CORBA_TypedefDef_tie<T>::POA_CORBA_TypedefDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_TypedefDef_tie<T>::POA_CORBA_TypedefDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_TypedefDef_tie<T>::POA_CORBA_TypedefDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_TypedefDef_tie<T>::POA_CORBA_TypedefDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_TypedefDef_tie<T>::~POA_CORBA_TypedefDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_CORBA_TypedefDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_TypedefDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_TypedefDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_CORBA_TypedefDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_TypedefDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_CORBA_TypedefDef_tie<T>::_default_POA (ACE_ENV_SINGLE_ARG_DECL)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->POA_CORBA_TypedefDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_TypedefDef_tie<T>::id (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->id (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_TypedefDef_tie<T>::id (
+ const char * id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->id (
+id
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_TypedefDef_tie<T>::name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_TypedefDef_tie<T>::name (
+ const char * name
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->name (
+name
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_TypedefDef_tie<T>::version (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->version (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_TypedefDef_tie<T>::version (
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->version (
+version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Container_ptr POA_CORBA_TypedefDef_tie<T>::defined_in (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->defined_in (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_TypedefDef_tie<T>::absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->absolute_name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Repository_ptr POA_CORBA_TypedefDef_tie<T>::containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->containing_repository (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Contained::Description * POA_CORBA_TypedefDef_tie<T>::describe (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_TypedefDef_tie<T>::move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->move (
+new_container,
+ new_name,
+ new_version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_CORBA_TypedefDef_tie<T>::type (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->type (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::DefinitionKind POA_CORBA_TypedefDef_tie<T>::def_kind (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_TypedefDef_tie<T>::destroy (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+#endif /* ACE_HAS_USING_KEYWORD */
diff --git a/TAO/orbsvcs/IFR_Service/IFR_BasicS.cpp b/TAO/orbsvcs/IFR_Service/IFR_BasicS.cpp
new file mode 100644
index 00000000000..f50c0f1c3be
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/IFR_BasicS.cpp
@@ -0,0 +1,24083 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+#ifndef _TAO_IDL__________ORBSVCS_IFR_SERVICE_ORIG_IFR_BASICS_CPP_
+#define _TAO_IDL__________ORBSVCS_IFR_SERVICE_ORIG_IFR_BASICS_CPP_
+
+#include "IFR_BasicS.h"
+
+#include "tao/PortableServer/Object_Adapter.h"
+#include "tao/PortableServer/Operation_Table.h"
+#include "tao/TAO_Server_Request.h"
+#include "tao/ORB_Core.h"
+#include "tao/Stub.h"
+#include "tao/IFR_Client_Adapter.h"
+#include "tao/PortableInterceptor.h"
+
+#if TAO_HAS_INTERCEPTORS == 1
+#include "tao/RequestInfo_Util.h"
+#include "tao/PortableServer/ServerRequestInfo.h"
+#include "tao/PortableServer/ServerInterceptorAdapter.h"
+#endif /* TAO_HAS_INTERCEPTORS == 1 */
+
+#include "ace/Dynamic_Service.h"
+#if defined (__BORLANDC__)
+#pragma option -w-rvl -w-rch -w-ccc -w-aus
+#endif /* __BORLANDC__ */
+
+#if !defined (__ACE_INLINE__)
+#include "IFR_BasicS.i"
+#endif /* !defined INLINE */
+
+class TAO_CORBA_Repository_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 22:45:25 */
+/* 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_Repository_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_CORBA_Repository_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 30,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 5,
+ 52, 0, 4, 10, 52, 5, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 8, 25, 15,
+ 52, 0, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 30, 0, 52, 52, 52, 25, 0, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52,
+#else
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 30, 52, 5, 52, 0,
+ 4, 10, 52, 5, 52, 52, 52, 52, 8, 25,
+ 15, 52, 0, 52, 52, 30, 0, 52, 52, 52,
+ 25, 0, 52, 52, 52, 52, 52, 52,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_CORBA_Repository_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 30,
+ MIN_WORD_LENGTH = 5,
+ MAX_WORD_LENGTH = 25,
+ MIN_HASH_VALUE = 11,
+ MAX_HASH_VALUE = 51,
+ HASH_VALUE_RANGE = 41,
+ DUPLICATES = 2,
+ WORDLIST_SIZE = 41
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},{"",0},{"",0},{"",0},{"",0},{"",0},
+ {"",0},{"",0},
+ {"destroy", &POA_CORBA_Repository::destroy_skel},
+ {"create_array", &POA_CORBA_Repository::create_array_skel},
+ {"create_struct", &POA_CORBA_Repository::create_struct_skel},
+ {"lookup", &POA_CORBA_Repository::lookup_skel},
+ {"create_constant", &POA_CORBA_Repository::create_constant_skel},
+ {"create_fixed", &POA_CORBA_Repository::create_fixed_skel},
+ {"create_string", &POA_CORBA_Repository::create_string_skel},
+ {"create_wstring", &POA_CORBA_Repository::create_wstring_skel},
+ {"lookup_id", &POA_CORBA_Repository::lookup_id_skel},
+ {"create_value", &POA_CORBA_Repository::create_value_skel},
+ {"create_module", &POA_CORBA_Repository::create_module_skel},
+ {"create_native", &POA_CORBA_Repository::create_native_skel},
+ {"create_sequence", &POA_CORBA_Repository::create_sequence_skel},
+ {"create_interface", &POA_CORBA_Repository::create_interface_skel},
+ {"create_union", &POA_CORBA_Repository::create_union_skel},
+ {"get_primitive", &POA_CORBA_Repository::get_primitive_skel},
+ {"lookup_name", &POA_CORBA_Repository::lookup_name_skel},
+ {"create_exception", &POA_CORBA_Repository::create_exception_skel},
+ {"create_local_interface", &POA_CORBA_Repository::create_local_interface_skel},
+ {"create_abstract_interface", &POA_CORBA_Repository::create_abstract_interface_skel},
+ {"create_enum", &POA_CORBA_Repository::create_enum_skel},
+ {"get_canonical_typecode", &POA_CORBA_Repository::get_canonical_typecode_skel},
+ {"contents", &POA_CORBA_Repository::contents_skel},
+ {"_is_a", &POA_CORBA_Repository::_is_a_skel},
+ {"create_value_box", &POA_CORBA_Repository::create_value_box_skel},
+ {"create_alias", &POA_CORBA_Repository::create_alias_skel},
+ {"_non_existent", &POA_CORBA_Repository::_non_existent_skel},
+ {"_get_def_kind", &POA_CORBA_Repository::_get_def_kind_skel},
+ {"_interface", &POA_CORBA_Repository::_interface_skel},
+ {"describe_contents", &POA_CORBA_Repository::describe_contents_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -21, -2, 11, 12, 13,
+ 14, 15, 16, -1, 17, 18, -1, 19, 20, -65, -1, 23, 24, 25,
+ 26, 27, -1, 28, 29, -1, -1, 30, 31, 32, 33, -1, 34, 35,
+ 36, 37, -1, -1, -1, 38, -1, -1, 39, 40,
+ };
+
+ 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 < WORDLIST_SIZE)
+ {
+ 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 22:45:25 */
+static TAO_CORBA_Repository_Perfect_Hash_OpTable tao_CORBA_Repository_optable;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+class TAO_ServerRequestInfo_CORBA_Repository_lookup_id : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_Repository_lookup_id (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_Repository *tao_impl
+ ,
+ const char * search_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_Contained_ptr result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_Repository_lookup_id (const TAO_ServerRequestInfo_CORBA_Repository_lookup_id &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_Repository_lookup_id &);
+
+private:
+ POA_CORBA_Repository *_tao_impl;
+ const char * search_id_;
+ CORBA_Contained_ptr _result;
+};
+
+TAO_ServerRequestInfo_CORBA_Repository_lookup_id::TAO_ServerRequestInfo_CORBA_Repository_lookup_id (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_Repository *tao_impl,
+ const char * search_id
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ search_id_ (search_id)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_Repository_lookup_id::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (1);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= search_id_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_Repository_lookup_id::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_Repository_lookup_id::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_Repository_lookup_id::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_Repository_lookup_id::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_Repository_lookup_id::result (CORBA_Contained_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_Repository_get_canonical_typecode : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_Repository_get_canonical_typecode (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_Repository *tao_impl
+ ,
+ CORBA::TypeCode_ptr tc
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA::TypeCode_ptr result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_Repository_get_canonical_typecode (const TAO_ServerRequestInfo_CORBA_Repository_get_canonical_typecode &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_Repository_get_canonical_typecode &);
+
+private:
+ POA_CORBA_Repository *_tao_impl;
+ CORBA::TypeCode_ptr tc_;
+ CORBA::TypeCode_ptr _result;
+};
+
+TAO_ServerRequestInfo_CORBA_Repository_get_canonical_typecode::TAO_ServerRequestInfo_CORBA_Repository_get_canonical_typecode (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_Repository *tao_impl,
+ CORBA::TypeCode_ptr tc
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ tc_ (tc)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_Repository_get_canonical_typecode::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (1);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= tc_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_Repository_get_canonical_typecode::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_Repository_get_canonical_typecode::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_Repository_get_canonical_typecode::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_Repository_get_canonical_typecode::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_Repository_get_canonical_typecode::result (CORBA::TypeCode_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_Repository_get_primitive : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_Repository_get_primitive (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_Repository *tao_impl
+ ,
+ CORBA::PrimitiveKind & kind
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_PrimitiveDef_ptr result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_Repository_get_primitive (const TAO_ServerRequestInfo_CORBA_Repository_get_primitive &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_Repository_get_primitive &);
+
+private:
+ POA_CORBA_Repository *_tao_impl;
+ const CORBA::PrimitiveKind & kind_;
+ CORBA_PrimitiveDef_ptr _result;
+};
+
+TAO_ServerRequestInfo_CORBA_Repository_get_primitive::TAO_ServerRequestInfo_CORBA_Repository_get_primitive (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_Repository *tao_impl,
+ CORBA::PrimitiveKind & kind
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ kind_ (kind)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_Repository_get_primitive::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (1);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= this->kind_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_Repository_get_primitive::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_Repository_get_primitive::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_Repository_get_primitive::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_Repository_get_primitive::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_Repository_get_primitive::result (CORBA_PrimitiveDef_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_Repository_create_string : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_Repository_create_string (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_Repository *tao_impl
+ ,
+ const CORBA::ULong & bound
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_StringDef_ptr result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_Repository_create_string (const TAO_ServerRequestInfo_CORBA_Repository_create_string &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_Repository_create_string &);
+
+private:
+ POA_CORBA_Repository *_tao_impl;
+ const CORBA::ULong & bound_;
+ CORBA_StringDef_ptr _result;
+};
+
+TAO_ServerRequestInfo_CORBA_Repository_create_string::TAO_ServerRequestInfo_CORBA_Repository_create_string (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_Repository *tao_impl,
+ const CORBA::ULong & bound
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ bound_ (bound)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_Repository_create_string::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (1);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= bound_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_Repository_create_string::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_Repository_create_string::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_Repository_create_string::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_Repository_create_string::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_Repository_create_string::result (CORBA_StringDef_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_Repository_create_wstring : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_Repository_create_wstring (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_Repository *tao_impl
+ ,
+ const CORBA::ULong & bound
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_WstringDef_ptr result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_Repository_create_wstring (const TAO_ServerRequestInfo_CORBA_Repository_create_wstring &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_Repository_create_wstring &);
+
+private:
+ POA_CORBA_Repository *_tao_impl;
+ const CORBA::ULong & bound_;
+ CORBA_WstringDef_ptr _result;
+};
+
+TAO_ServerRequestInfo_CORBA_Repository_create_wstring::TAO_ServerRequestInfo_CORBA_Repository_create_wstring (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_Repository *tao_impl,
+ const CORBA::ULong & bound
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ bound_ (bound)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_Repository_create_wstring::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (1);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= bound_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_Repository_create_wstring::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_Repository_create_wstring::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_Repository_create_wstring::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_Repository_create_wstring::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_Repository_create_wstring::result (CORBA_WstringDef_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_Repository_create_sequence : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_Repository_create_sequence (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_Repository *tao_impl
+ ,
+ const CORBA::ULong & bound,
+ CORBA_IDLType_ptr element_type
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_SequenceDef_ptr result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_Repository_create_sequence (const TAO_ServerRequestInfo_CORBA_Repository_create_sequence &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_Repository_create_sequence &);
+
+private:
+ POA_CORBA_Repository *_tao_impl;
+ const CORBA::ULong & bound_;
+ CORBA_IDLType_ptr element_type_;
+ CORBA_SequenceDef_ptr _result;
+};
+
+TAO_ServerRequestInfo_CORBA_Repository_create_sequence::TAO_ServerRequestInfo_CORBA_Repository_create_sequence (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_Repository *tao_impl,
+ const CORBA::ULong & bound,
+ CORBA_IDLType_ptr element_type
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ bound_ (bound),
+ element_type_ (element_type)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_Repository_create_sequence::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (2);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= bound_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= this->element_type_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_Repository_create_sequence::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_Repository_create_sequence::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_Repository_create_sequence::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_Repository_create_sequence::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_Repository_create_sequence::result (CORBA_SequenceDef_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_Repository_create_array : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_Repository_create_array (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_Repository *tao_impl
+ ,
+ const CORBA::ULong & length,
+ CORBA_IDLType_ptr element_type
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_ArrayDef_ptr result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_Repository_create_array (const TAO_ServerRequestInfo_CORBA_Repository_create_array &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_Repository_create_array &);
+
+private:
+ POA_CORBA_Repository *_tao_impl;
+ const CORBA::ULong & length_;
+ CORBA_IDLType_ptr element_type_;
+ CORBA_ArrayDef_ptr _result;
+};
+
+TAO_ServerRequestInfo_CORBA_Repository_create_array::TAO_ServerRequestInfo_CORBA_Repository_create_array (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_Repository *tao_impl,
+ const CORBA::ULong & length,
+ CORBA_IDLType_ptr element_type
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ length_ (length),
+ element_type_ (element_type)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_Repository_create_array::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (2);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= length_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= this->element_type_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_Repository_create_array::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_Repository_create_array::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_Repository_create_array::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_Repository_create_array::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_Repository_create_array::result (CORBA_ArrayDef_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_Repository_create_fixed : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_Repository_create_fixed (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_Repository *tao_impl
+ ,
+ const CORBA::UShort & digits,
+ const CORBA::Short & scale
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_FixedDef_ptr result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_Repository_create_fixed (const TAO_ServerRequestInfo_CORBA_Repository_create_fixed &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_Repository_create_fixed &);
+
+private:
+ POA_CORBA_Repository *_tao_impl;
+ const CORBA::UShort & digits_;
+ const CORBA::Short & scale_;
+ CORBA_FixedDef_ptr _result;
+};
+
+TAO_ServerRequestInfo_CORBA_Repository_create_fixed::TAO_ServerRequestInfo_CORBA_Repository_create_fixed (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_Repository *tao_impl,
+ const CORBA::UShort & digits,
+ const CORBA::Short & scale
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ digits_ (digits),
+ scale_ (scale)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_Repository_create_fixed::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (2);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= digits_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= scale_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_Repository_create_fixed::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_Repository_create_fixed::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_Repository_create_fixed::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_Repository_create_fixed::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_Repository_create_fixed::result (CORBA_FixedDef_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Implementation
+//
+
+// Factory function Implementation.
+_TAO_CORBA_Repository_Strategized_Proxy_Broker *_TAO_CORBA_Repository_Strategized_Proxy_Broker::the_TAO_CORBA_Repository_Strategized_Proxy_Broker (void)
+{
+ static _TAO_CORBA_Repository_Strategized_Proxy_Broker strategized_proxy_broker;
+ return &strategized_proxy_broker;
+}
+
+_TAO_CORBA_Repository_Strategized_Proxy_Broker::_TAO_CORBA_Repository_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ this->proxy_cache_[i] = 0;
+
+}
+
+_TAO_CORBA_Repository_Strategized_Proxy_Broker::~_TAO_CORBA_Repository_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ delete this->proxy_cache_[i];
+
+}
+
+_TAO_CORBA_Repository_Proxy_Impl&
+_TAO_CORBA_Repository_Strategized_Proxy_Broker::select_proxy (
+ ::CORBA_Repository *object
+ ACE_ENV_ARG_DECL
+ )
+{
+ int strategy =
+ TAO_ORB_Core::collocation_strategy (object ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ if (this->proxy_cache_[strategy] != 0)
+ return *this->proxy_cache_[strategy];
+
+ this->create_proxy (strategy ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ return *this->proxy_cache_[strategy];
+
+}
+
+void
+_TAO_CORBA_Repository_Strategized_Proxy_Broker::create_proxy (
+ int strategy
+ ACE_ENV_ARG_DECL
+ )
+{
+ ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_);
+
+ if (this->proxy_cache_[strategy] == 0)
+ {
+ switch (strategy)
+ {
+ case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ _TAO_CORBA_Repository_ThruPOA_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY:
+ default:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ ::_TAO_CORBA_Repository_Remote_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ }
+
+ }
+}
+
+
+//
+// End Strategized Proxy Broker Implementation
+///////////////////////////////////////////////////////////////////////
+
+
+_TAO_CORBA_Repository_Proxy_Broker *
+_TAO_CORBA_Repository_Proxy_Broker_Factory_function (CORBA::Object_ptr obj)
+{
+ ACE_UNUSED_ARG (obj);
+ return ::_TAO_CORBA_Repository_Strategized_Proxy_Broker::the_TAO_CORBA_Repository_Strategized_Proxy_Broker();
+}
+
+int
+_TAO_CORBA_Repository_Proxy_Broker_Factory_Initializer (long)
+{
+ _TAO_CORBA_Repository_Proxy_Broker_Factory_function_pointer =
+ _TAO_CORBA_Repository_Proxy_Broker_Factory_function;
+
+ return 0;
+}
+
+static int _TAO_CORBA_Repository_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
+ _TAO_CORBA_Repository_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_CORBA_Repository_Proxy_Broker_Factory_Initializer));
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Proxy Implementation
+//
+
+_TAO_CORBA_Repository_ThruPOA_Proxy_Impl::_TAO_CORBA_Repository_ThruPOA_Proxy_Impl (void)
+{}
+
+// ThruPOA Implementation of the IDL interface methods
+
+CORBA_Contained_ptr _TAO_CORBA_Repository_ThruPOA_Proxy_Impl::lookup_id (
+ CORBA_Object *_collocated_tao_target_,
+ const char * search_id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_Contained_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "lookup_id",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_Repository_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/Repository:1.0"
+ )
+ )->lookup_id (
+ search_id
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+CORBA::TypeCode_ptr _TAO_CORBA_Repository_ThruPOA_Proxy_Impl::get_canonical_typecode (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::TypeCode_ptr tc
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::TypeCode_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "get_canonical_typecode",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_Repository_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/Repository:1.0"
+ )
+ )->get_canonical_typecode (
+ tc
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+CORBA_PrimitiveDef_ptr _TAO_CORBA_Repository_ThruPOA_Proxy_Impl::get_primitive (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::PrimitiveKind kind
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_PrimitiveDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "get_primitive",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_Repository_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/Repository:1.0"
+ )
+ )->get_primitive (
+ kind
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+CORBA_StringDef_ptr _TAO_CORBA_Repository_ThruPOA_Proxy_Impl::create_string (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::ULong bound
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_StringDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "create_string",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_Repository_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/Repository:1.0"
+ )
+ )->create_string (
+ bound
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+CORBA_WstringDef_ptr _TAO_CORBA_Repository_ThruPOA_Proxy_Impl::create_wstring (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::ULong bound
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_WstringDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "create_wstring",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_Repository_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/Repository:1.0"
+ )
+ )->create_wstring (
+ bound
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+CORBA_SequenceDef_ptr _TAO_CORBA_Repository_ThruPOA_Proxy_Impl::create_sequence (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::ULong bound,
+ CORBA_IDLType_ptr element_type
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_SequenceDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "create_sequence",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_Repository_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/Repository:1.0"
+ )
+ )->create_sequence (
+ bound,
+ element_type
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+CORBA_ArrayDef_ptr _TAO_CORBA_Repository_ThruPOA_Proxy_Impl::create_array (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::ULong length,
+ CORBA_IDLType_ptr element_type
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_ArrayDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "create_array",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_Repository_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/Repository:1.0"
+ )
+ )->create_array (
+ length,
+ element_type
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+CORBA_FixedDef_ptr _TAO_CORBA_Repository_ThruPOA_Proxy_Impl::create_fixed (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::UShort digits,
+ CORBA::Short scale
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_FixedDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "create_fixed",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_Repository_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/Repository:1.0"
+ )
+ )->create_fixed (
+ digits,
+ scale
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+//
+// End ThruPOA Proxy Implementation
+///////////////////////////////////////////////////////////////////////
+
+// skeleton constructor
+POA_CORBA_Repository::POA_CORBA_Repository (void)
+{
+ this->optable_ = &tao_CORBA_Repository_optable;
+}
+
+// copy ctor
+POA_CORBA_Repository::POA_CORBA_Repository (const POA_CORBA_Repository& rhs)
+ : POA_CORBA_Container (rhs),
+ POA_CORBA_IRObject (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_CORBA_Repository::~POA_CORBA_Repository (void)
+{
+}
+
+void POA_CORBA_Repository::lookup_id_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_Repository *_tao_impl =
+ ACE_static_cast (POA_CORBA_Repository *, _tao_object_reference);
+
+ CORBA_Contained_var _tao_retval;
+ CORBA::String_var search_id;
+ if (!(
+ (_tao_in >> search_id.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_Repository_lookup_id ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ search_id.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->lookup_id (
+ search_id.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_Contained_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_Repository::get_canonical_typecode_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_Repository *_tao_impl =
+ ACE_static_cast (POA_CORBA_Repository *, _tao_object_reference);
+
+ CORBA::TypeCode_var _tao_retval;
+ CORBA::TypeCode_var tc;
+ if (!(
+ (_tao_in >> tc.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_Repository_get_canonical_typecode ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ tc.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->get_canonical_typecode (
+ tc.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA::TypeCode_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_Repository::get_primitive_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_Repository *_tao_impl =
+ ACE_static_cast (POA_CORBA_Repository *, _tao_object_reference);
+
+ CORBA_PrimitiveDef_var _tao_retval;
+ CORBA::PrimitiveKind kind;
+ if (!(
+ (_tao_in >> kind)
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_Repository_get_primitive ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ kind
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->get_primitive (
+ kind
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_PrimitiveDef_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_Repository::create_string_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_Repository *_tao_impl =
+ ACE_static_cast (POA_CORBA_Repository *, _tao_object_reference);
+
+ CORBA_StringDef_var _tao_retval;
+ CORBA::ULong bound;
+ if (!(
+ (_tao_in >> bound)
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_Repository_create_string ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ bound
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->create_string (
+ bound
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_StringDef_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_Repository::create_wstring_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_Repository *_tao_impl =
+ ACE_static_cast (POA_CORBA_Repository *, _tao_object_reference);
+
+ CORBA_WstringDef_var _tao_retval;
+ CORBA::ULong bound;
+ if (!(
+ (_tao_in >> bound)
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_Repository_create_wstring ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ bound
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->create_wstring (
+ bound
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_WstringDef_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_Repository::create_sequence_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_Repository *_tao_impl =
+ ACE_static_cast (POA_CORBA_Repository *, _tao_object_reference);
+
+ CORBA_SequenceDef_var _tao_retval;
+ CORBA::ULong bound;
+ CORBA_IDLType_var element_type;
+ if (!(
+ (_tao_in >> bound) &&
+ (_tao_in >> element_type.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_Repository_create_sequence ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ bound,
+ element_type.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->create_sequence (
+ bound,
+ element_type.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_SequenceDef_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_Repository::create_array_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_Repository *_tao_impl =
+ ACE_static_cast (POA_CORBA_Repository *, _tao_object_reference);
+
+ CORBA_ArrayDef_var _tao_retval;
+ CORBA::ULong length;
+ CORBA_IDLType_var element_type;
+ if (!(
+ (_tao_in >> length) &&
+ (_tao_in >> element_type.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_Repository_create_array ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ length,
+ element_type.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->create_array (
+ length,
+ element_type.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_ArrayDef_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_Repository::create_fixed_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_Repository *_tao_impl =
+ ACE_static_cast (POA_CORBA_Repository *, _tao_object_reference);
+
+ CORBA_FixedDef_var _tao_retval;
+ CORBA::UShort digits;
+ CORBA::Short scale;
+ if (!(
+ (_tao_in >> digits) &&
+ (_tao_in >> scale)
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_Repository_create_fixed ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ digits,
+ scale
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->create_fixed (
+ digits,
+ scale
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_FixedDef_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_Repository::_is_a_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_Repository *_tao_impl = (POA_CORBA_Repository *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!(_tao_in >> value.out ()))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_CORBA_Repository::_non_existent_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Repository *_tao_impl = (POA_CORBA_Repository *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_CORBA_Repository::_interface_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Repository *_tao_impl = (POA_CORBA_Repository *) _tao_object_reference;
+ CORBA_InterfaceDef_ptr _tao_retval = 0;
+ CORBA::Boolean _tao_result = 0;
+
+ TAO_IFR_Client_Adapter *_tao_adapter =
+ ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
+ TAO_ORB_Core::ifr_client_adapter_name ()
+ );
+
+ if (_tao_adapter == 0)
+ {
+ ACE_THROW (CORBA::INTF_REPOS ());
+ }
+
+ ACE_TRY
+ {
+ _tao_retval = _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ _tao_result =
+ _tao_adapter->interfacedef_cdr_insert (
+ _tao_out,
+ _tao_retval
+ );
+ }
+ ACE_CATCHALL
+ {
+ _tao_adapter->dispose (_tao_retval);
+ }
+ ACE_ENDTRY;
+
+ if (_tao_result == 0)
+ {
+ ACE_THROW (CORBA::MARSHAL ());
+ }
+}
+
+CORBA::Boolean POA_CORBA_Repository::_is_a (
+ const char* value
+ ACE_ENV_ARG_DECL
+ )
+{
+ const char *base_id = CORBA::_tc_Object->id (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Repository:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Container:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, base_id)))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_CORBA_Repository::_downcast (
+ const char* logical_type_id
+ )
+{
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Repository:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_Repository_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Container:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_Container_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_CORBA_Repository::_dispatch (TAO_ServerRequest &req, void *servant_upcall ACE_ENV_ARG_DECL)
+{
+ this->synchronous_upcall_dispatch (req,
+ servant_upcall,
+ this
+ ACE_ENV_ARG_PARAMETER);
+}
+
+
+const char* POA_CORBA_Repository::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/CORBA/Repository:1.0";
+}
+
+CORBA_Repository*
+POA_CORBA_Repository::_this (ACE_ENV_SINGLE_ARG_DECL)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ TAO_Stub_Auto_Ptr safe_stub (stub);
+
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0);
+ else
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0);
+
+ CORBA::Object_var obj = tmp;
+
+ (void) safe_stub.release ();
+
+ return ::CORBA_Repository::_unchecked_narrow (obj.in ());
+}
+
+
+class TAO_CORBA_ModuleDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 22:45:26 */
+/* 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_ModuleDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_CORBA_ModuleDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 20,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 10,
+ 64, 0, 20, 0, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 20, 0, 5,
+ 64, 10, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 15, 30, 64, 64, 64, 10, 5, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64,
+#else
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 20, 64, 10, 64, 0,
+ 20, 0, 64, 64, 64, 64, 64, 64, 20, 0,
+ 5, 64, 10, 64, 64, 15, 30, 64, 64, 64,
+ 10, 5, 64, 64, 64, 64, 64, 64,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_CORBA_ModuleDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 33,
+ MIN_WORD_LENGTH = 4,
+ MAX_WORD_LENGTH = 26,
+ MIN_HASH_VALUE = 4,
+ MAX_HASH_VALUE = 63,
+ HASH_VALUE_RANGE = 60,
+ DUPLICATES = 5,
+ WORDLIST_SIZE = 37
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},
+ {"move", &POA_CORBA_ModuleDef::move_skel},
+ {"create_enum", &POA_CORBA_ModuleDef::create_enum_skel},
+ {"create_value", &POA_CORBA_ModuleDef::create_value_skel},
+ {"create_module", &POA_CORBA_ModuleDef::create_module_skel},
+ {"create_native", &POA_CORBA_ModuleDef::create_native_skel},
+ {"create_interface", &POA_CORBA_ModuleDef::create_interface_skel},
+ {"create_union", &POA_CORBA_ModuleDef::create_union_skel},
+ {"create_exception", &POA_CORBA_ModuleDef::create_exception_skel},
+ {"create_local_interface", &POA_CORBA_ModuleDef::create_local_interface_skel},
+ {"contents", &POA_CORBA_ModuleDef::contents_skel},
+ {"create_abstract_interface", &POA_CORBA_ModuleDef::create_abstract_interface_skel},
+ {"create_value_box", &POA_CORBA_ModuleDef::create_value_box_skel},
+ {"create_alias", &POA_CORBA_ModuleDef::create_alias_skel},
+ {"describe", &POA_CORBA_ModuleDef::describe_skel},
+ {"_get_name", &POA_CORBA_ModuleDef::_get_name_skel},
+ {"_set_name", &POA_CORBA_ModuleDef::_set_name_skel},
+ {"_interface", &POA_CORBA_ModuleDef::_interface_skel},
+ {"lookup_name", &POA_CORBA_ModuleDef::lookup_name_skel},
+ {"destroy", &POA_CORBA_ModuleDef::destroy_skel},
+ {"_is_a", &POA_CORBA_ModuleDef::_is_a_skel},
+ {"lookup", &POA_CORBA_ModuleDef::lookup_skel},
+ {"_get_version", &POA_CORBA_ModuleDef::_get_version_skel},
+ {"_set_version", &POA_CORBA_ModuleDef::_set_version_skel},
+ {"_get_absolute_name", &POA_CORBA_ModuleDef::_get_absolute_name_skel},
+ {"_get_defined_in", &POA_CORBA_ModuleDef::_get_defined_in_skel},
+ {"create_struct", &POA_CORBA_ModuleDef::create_struct_skel},
+ {"create_constant", &POA_CORBA_ModuleDef::create_constant_skel},
+ {"_get_id", &POA_CORBA_ModuleDef::_get_id_skel},
+ {"_set_id", &POA_CORBA_ModuleDef::_set_id_skel},
+ {"_get_containing_repository", &POA_CORBA_ModuleDef::_get_containing_repository_skel},
+ {"describe_contents", &POA_CORBA_ModuleDef::describe_contents_skel},
+ {"_get_def_kind", &POA_CORBA_ModuleDef::_get_def_kind_skel},
+ {"_non_existent", &POA_CORBA_ModuleDef::_non_existent_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -1, -1, -1, -1, 4, -1, -1, -1, -1, -7, -2, 5, 6, -67,
+ -1, -1, 9, 10, -1, -18, -2, 11, 12, 13, -1, 14, 15, 16,
+ 17, -73, 20, 21, 22, -25, -2, 23, 24, -67, 27, -1, 28, -31,
+ -2, 29, -1, 30, -1, -69, -1, -1, -1, 33, 34, 35, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 36,
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ int slot = lookup[key];
+
+ if (slot >= 0 && slot < WORDLIST_SIZE)
+ {
+ 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 22:45:26 */
+static TAO_CORBA_ModuleDef_Perfect_Hash_OpTable tao_CORBA_ModuleDef_optable;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+#endif /* TAO_HAS_INTERCEPTORS */
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Implementation
+//
+
+// Factory function Implementation.
+_TAO_CORBA_ModuleDef_Strategized_Proxy_Broker *_TAO_CORBA_ModuleDef_Strategized_Proxy_Broker::the_TAO_CORBA_ModuleDef_Strategized_Proxy_Broker (void)
+{
+ static _TAO_CORBA_ModuleDef_Strategized_Proxy_Broker strategized_proxy_broker;
+ return &strategized_proxy_broker;
+}
+
+_TAO_CORBA_ModuleDef_Strategized_Proxy_Broker::_TAO_CORBA_ModuleDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ this->proxy_cache_[i] = 0;
+
+}
+
+_TAO_CORBA_ModuleDef_Strategized_Proxy_Broker::~_TAO_CORBA_ModuleDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ delete this->proxy_cache_[i];
+
+}
+
+_TAO_CORBA_ModuleDef_Proxy_Impl&
+_TAO_CORBA_ModuleDef_Strategized_Proxy_Broker::select_proxy (
+ ::CORBA_ModuleDef *object
+ ACE_ENV_ARG_DECL
+ )
+{
+ int strategy =
+ TAO_ORB_Core::collocation_strategy (object ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ if (this->proxy_cache_[strategy] != 0)
+ return *this->proxy_cache_[strategy];
+
+ this->create_proxy (strategy ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ return *this->proxy_cache_[strategy];
+
+}
+
+void
+_TAO_CORBA_ModuleDef_Strategized_Proxy_Broker::create_proxy (
+ int strategy
+ ACE_ENV_ARG_DECL
+ )
+{
+ ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_);
+
+ if (this->proxy_cache_[strategy] == 0)
+ {
+ switch (strategy)
+ {
+ case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ _TAO_CORBA_ModuleDef_ThruPOA_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY:
+ default:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ ::_TAO_CORBA_ModuleDef_Remote_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ }
+
+ }
+}
+
+
+//
+// End Strategized Proxy Broker Implementation
+///////////////////////////////////////////////////////////////////////
+
+
+_TAO_CORBA_ModuleDef_Proxy_Broker *
+_TAO_CORBA_ModuleDef_Proxy_Broker_Factory_function (CORBA::Object_ptr obj)
+{
+ ACE_UNUSED_ARG (obj);
+ return ::_TAO_CORBA_ModuleDef_Strategized_Proxy_Broker::the_TAO_CORBA_ModuleDef_Strategized_Proxy_Broker();
+}
+
+int
+_TAO_CORBA_ModuleDef_Proxy_Broker_Factory_Initializer (long)
+{
+ _TAO_CORBA_ModuleDef_Proxy_Broker_Factory_function_pointer =
+ _TAO_CORBA_ModuleDef_Proxy_Broker_Factory_function;
+
+ return 0;
+}
+
+static int _TAO_CORBA_ModuleDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
+ _TAO_CORBA_ModuleDef_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_CORBA_ModuleDef_Proxy_Broker_Factory_Initializer));
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Proxy Implementation
+//
+
+_TAO_CORBA_ModuleDef_ThruPOA_Proxy_Impl::_TAO_CORBA_ModuleDef_ThruPOA_Proxy_Impl (void)
+{}
+
+// ThruPOA Implementation of the IDL interface methods
+
+//
+// End ThruPOA Proxy Implementation
+///////////////////////////////////////////////////////////////////////
+
+// skeleton constructor
+POA_CORBA_ModuleDef::POA_CORBA_ModuleDef (void)
+{
+ this->optable_ = &tao_CORBA_ModuleDef_optable;
+}
+
+// copy ctor
+POA_CORBA_ModuleDef::POA_CORBA_ModuleDef (const POA_CORBA_ModuleDef& rhs)
+ : POA_CORBA_Container (rhs),
+ POA_CORBA_Contained (rhs),
+ POA_CORBA_IRObject (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_CORBA_ModuleDef::~POA_CORBA_ModuleDef (void)
+{
+}
+
+void POA_CORBA_ModuleDef::_is_a_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_ModuleDef *_tao_impl = (POA_CORBA_ModuleDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!(_tao_in >> value.out ()))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_CORBA_ModuleDef::_non_existent_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_ModuleDef *_tao_impl = (POA_CORBA_ModuleDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_CORBA_ModuleDef::_interface_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_ModuleDef *_tao_impl = (POA_CORBA_ModuleDef *) _tao_object_reference;
+ CORBA_InterfaceDef_ptr _tao_retval = 0;
+ CORBA::Boolean _tao_result = 0;
+
+ TAO_IFR_Client_Adapter *_tao_adapter =
+ ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
+ TAO_ORB_Core::ifr_client_adapter_name ()
+ );
+
+ if (_tao_adapter == 0)
+ {
+ ACE_THROW (CORBA::INTF_REPOS ());
+ }
+
+ ACE_TRY
+ {
+ _tao_retval = _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ _tao_result =
+ _tao_adapter->interfacedef_cdr_insert (
+ _tao_out,
+ _tao_retval
+ );
+ }
+ ACE_CATCHALL
+ {
+ _tao_adapter->dispose (_tao_retval);
+ }
+ ACE_ENDTRY;
+
+ if (_tao_result == 0)
+ {
+ ACE_THROW (CORBA::MARSHAL ());
+ }
+}
+
+CORBA::Boolean POA_CORBA_ModuleDef::_is_a (
+ const char* value
+ ACE_ENV_ARG_DECL
+ )
+{
+ const char *base_id = CORBA::_tc_Object->id (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/ModuleDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Container:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Contained:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, base_id)))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_CORBA_ModuleDef::_downcast (
+ const char* logical_type_id
+ )
+{
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/ModuleDef:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_ModuleDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Container:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_Container_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Contained:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_Contained_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_CORBA_ModuleDef::_dispatch (TAO_ServerRequest &req, void *servant_upcall ACE_ENV_ARG_DECL)
+{
+ this->synchronous_upcall_dispatch (req,
+ servant_upcall,
+ this
+ ACE_ENV_ARG_PARAMETER);
+}
+
+
+const char* POA_CORBA_ModuleDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/CORBA/ModuleDef:1.0";
+}
+
+CORBA_ModuleDef*
+POA_CORBA_ModuleDef::_this (ACE_ENV_SINGLE_ARG_DECL)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ TAO_Stub_Auto_Ptr safe_stub (stub);
+
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0);
+ else
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0);
+
+ CORBA::Object_var obj = tmp;
+
+ (void) safe_stub.release ();
+
+ return ::CORBA_ModuleDef::_unchecked_narrow (obj.in ());
+}
+
+
+class TAO_CORBA_ConstantDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 22:45:27 */
+/* 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_ConstantDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_CORBA_ConstantDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 0, 0, 10, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 0, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 15, 37, 37, 37, 37, 10, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37,
+#else
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 0, 37, 0, 37, 37,
+ 0, 0, 10, 37, 37, 37, 37, 37, 37, 0,
+ 0, 37, 37, 37, 37, 37, 15, 37, 37, 37,
+ 37, 10, 37, 37, 37, 37, 37, 37,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_CORBA_ConstantDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 21,
+ MIN_WORD_LENGTH = 4,
+ MAX_WORD_LENGTH = 26,
+ MIN_HASH_VALUE = 4,
+ MAX_HASH_VALUE = 36,
+ HASH_VALUE_RANGE = 33,
+ DUPLICATES = 8,
+ WORDLIST_SIZE = 25
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},
+ {"move", &POA_CORBA_ConstantDef::move_skel},
+ {"_is_a", &POA_CORBA_ConstantDef::_is_a_skel},
+ {"_get_id", &POA_CORBA_ConstantDef::_get_id_skel},
+ {"_set_id", &POA_CORBA_ConstantDef::_set_id_skel},
+ {"describe", &POA_CORBA_ConstantDef::describe_skel},
+ {"_get_type", &POA_CORBA_ConstantDef::_get_type_skel},
+ {"_set_name", &POA_CORBA_ConstantDef::_set_name_skel},
+ {"_get_name", &POA_CORBA_ConstantDef::_get_name_skel},
+ {"_get_value", &POA_CORBA_ConstantDef::_get_value_skel},
+ {"_interface", &POA_CORBA_ConstantDef::_interface_skel},
+ {"_set_value", &POA_CORBA_ConstantDef::_set_value_skel},
+ {"_get_version", &POA_CORBA_ConstantDef::_get_version_skel},
+ {"_set_version", &POA_CORBA_ConstantDef::_set_version_skel},
+ {"_get_def_kind", &POA_CORBA_ConstantDef::_get_def_kind_skel},
+ {"_get_defined_in", &POA_CORBA_ConstantDef::_get_defined_in_skel},
+ {"destroy", &POA_CORBA_ConstantDef::destroy_skel},
+ {"_get_absolute_name", &POA_CORBA_ConstantDef::_get_absolute_name_skel},
+ {"_get_type_def", &POA_CORBA_ConstantDef::_get_type_def_skel},
+ {"_set_type_def", &POA_CORBA_ConstantDef::_set_type_def_skel},
+ {"_non_existent", &POA_CORBA_ConstantDef::_non_existent_skel},
+ {"_get_containing_repository", &POA_CORBA_ConstantDef::_get_containing_repository_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -12, -3, -15, -2, 4, 5, -1, 53, 8, 46, -46, -1, -46, 17,
+ -1, 18, -1, 19, 20, -9, -3, -21, -2, -38, -6, -2, -1, -1,
+ 23, -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 < WORDLIST_SIZE)
+ {
+ 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 22:45:27 */
+static TAO_CORBA_ConstantDef_Perfect_Hash_OpTable tao_CORBA_ConstantDef_optable;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+class TAO_ServerRequestInfo_CORBA_ConstantDef_type_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_ConstantDef_type_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_ConstantDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA::TypeCode_ptr result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_ConstantDef_type_get (const TAO_ServerRequestInfo_CORBA_ConstantDef_type_get &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_ConstantDef_type_get &);
+
+private:
+ POA_CORBA_ConstantDef *_tao_impl;
+ CORBA::TypeCode_ptr _result;
+};
+
+TAO_ServerRequestInfo_CORBA_ConstantDef_type_get::TAO_ServerRequestInfo_CORBA_ConstantDef_type_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_ConstantDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_ConstantDef_type_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_ConstantDef_type_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_ConstantDef_type_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_ConstantDef_type_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_ConstantDef_type_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_ConstantDef_type_get::result (CORBA::TypeCode_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_ConstantDef_type_def_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_ConstantDef_type_def_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_ConstantDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_IDLType_ptr result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_ConstantDef_type_def_get (const TAO_ServerRequestInfo_CORBA_ConstantDef_type_def_get &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_ConstantDef_type_def_get &);
+
+private:
+ POA_CORBA_ConstantDef *_tao_impl;
+ CORBA_IDLType_ptr _result;
+};
+
+TAO_ServerRequestInfo_CORBA_ConstantDef_type_def_get::TAO_ServerRequestInfo_CORBA_ConstantDef_type_def_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_ConstantDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_ConstantDef_type_def_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_ConstantDef_type_def_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_ConstantDef_type_def_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_ConstantDef_type_def_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_ConstantDef_type_def_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_ConstantDef_type_def_get::result (CORBA_IDLType_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_ConstantDef_type_def_set : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_ConstantDef_type_def_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_ConstantDef *tao_impl
+ ,
+ CORBA_IDLType_ptr type_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+
+private:
+ TAO_ServerRequestInfo_CORBA_ConstantDef_type_def_set (const TAO_ServerRequestInfo_CORBA_ConstantDef_type_def_set &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_ConstantDef_type_def_set &);
+
+private:
+ POA_CORBA_ConstantDef *_tao_impl;
+ CORBA_IDLType_ptr type_def_;
+
+};
+
+TAO_ServerRequestInfo_CORBA_ConstantDef_type_def_set::TAO_ServerRequestInfo_CORBA_ConstantDef_type_def_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_ConstantDef *tao_impl,
+ CORBA_IDLType_ptr type_def
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ type_def_ (type_def)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_ConstantDef_type_def_set::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (1);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= this->type_def_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_ConstantDef_type_def_set::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_ConstantDef_type_def_set::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 1;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return result_any;
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_ConstantDef_type_def_set::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_ConstantDef_type_def_set::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+class TAO_ServerRequestInfo_CORBA_ConstantDef_value_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_ConstantDef_value_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_ConstantDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA::Any * result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_ConstantDef_value_get (const TAO_ServerRequestInfo_CORBA_ConstantDef_value_get &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_ConstantDef_value_get &);
+
+private:
+ POA_CORBA_ConstantDef *_tao_impl;
+ CORBA::Any * _result;
+};
+
+TAO_ServerRequestInfo_CORBA_ConstantDef_value_get::TAO_ServerRequestInfo_CORBA_ConstantDef_value_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_ConstantDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_ConstantDef_value_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_ConstantDef_value_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_ConstantDef_value_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_ConstantDef_value_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_ConstantDef_value_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_ConstantDef_value_get::result (CORBA::Any * result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_ConstantDef_value_set : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_ConstantDef_value_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_ConstantDef *tao_impl
+ ,
+ const CORBA::Any & value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+
+private:
+ TAO_ServerRequestInfo_CORBA_ConstantDef_value_set (const TAO_ServerRequestInfo_CORBA_ConstantDef_value_set &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_ConstantDef_value_set &);
+
+private:
+ POA_CORBA_ConstantDef *_tao_impl;
+ const CORBA::Any & value_;
+
+};
+
+TAO_ServerRequestInfo_CORBA_ConstantDef_value_set::TAO_ServerRequestInfo_CORBA_ConstantDef_value_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_ConstantDef *tao_impl,
+ const CORBA::Any & value
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ value_ (value)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_ConstantDef_value_set::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (1);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= value_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_ConstantDef_value_set::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_ConstantDef_value_set::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 1;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return result_any;
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_ConstantDef_value_set::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_ConstantDef_value_set::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Implementation
+//
+
+// Factory function Implementation.
+_TAO_CORBA_ConstantDef_Strategized_Proxy_Broker *_TAO_CORBA_ConstantDef_Strategized_Proxy_Broker::the_TAO_CORBA_ConstantDef_Strategized_Proxy_Broker (void)
+{
+ static _TAO_CORBA_ConstantDef_Strategized_Proxy_Broker strategized_proxy_broker;
+ return &strategized_proxy_broker;
+}
+
+_TAO_CORBA_ConstantDef_Strategized_Proxy_Broker::_TAO_CORBA_ConstantDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ this->proxy_cache_[i] = 0;
+
+}
+
+_TAO_CORBA_ConstantDef_Strategized_Proxy_Broker::~_TAO_CORBA_ConstantDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ delete this->proxy_cache_[i];
+
+}
+
+_TAO_CORBA_ConstantDef_Proxy_Impl&
+_TAO_CORBA_ConstantDef_Strategized_Proxy_Broker::select_proxy (
+ ::CORBA_ConstantDef *object
+ ACE_ENV_ARG_DECL
+ )
+{
+ int strategy =
+ TAO_ORB_Core::collocation_strategy (object ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ if (this->proxy_cache_[strategy] != 0)
+ return *this->proxy_cache_[strategy];
+
+ this->create_proxy (strategy ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ return *this->proxy_cache_[strategy];
+
+}
+
+void
+_TAO_CORBA_ConstantDef_Strategized_Proxy_Broker::create_proxy (
+ int strategy
+ ACE_ENV_ARG_DECL
+ )
+{
+ ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_);
+
+ if (this->proxy_cache_[strategy] == 0)
+ {
+ switch (strategy)
+ {
+ case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ _TAO_CORBA_ConstantDef_ThruPOA_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY:
+ default:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ ::_TAO_CORBA_ConstantDef_Remote_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ }
+
+ }
+}
+
+
+//
+// End Strategized Proxy Broker Implementation
+///////////////////////////////////////////////////////////////////////
+
+
+_TAO_CORBA_ConstantDef_Proxy_Broker *
+_TAO_CORBA_ConstantDef_Proxy_Broker_Factory_function (CORBA::Object_ptr obj)
+{
+ ACE_UNUSED_ARG (obj);
+ return ::_TAO_CORBA_ConstantDef_Strategized_Proxy_Broker::the_TAO_CORBA_ConstantDef_Strategized_Proxy_Broker();
+}
+
+int
+_TAO_CORBA_ConstantDef_Proxy_Broker_Factory_Initializer (long)
+{
+ _TAO_CORBA_ConstantDef_Proxy_Broker_Factory_function_pointer =
+ _TAO_CORBA_ConstantDef_Proxy_Broker_Factory_function;
+
+ return 0;
+}
+
+static int _TAO_CORBA_ConstantDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
+ _TAO_CORBA_ConstantDef_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_CORBA_ConstantDef_Proxy_Broker_Factory_Initializer));
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Proxy Implementation
+//
+
+_TAO_CORBA_ConstantDef_ThruPOA_Proxy_Impl::_TAO_CORBA_ConstantDef_ThruPOA_Proxy_Impl (void)
+{}
+
+// ThruPOA Implementation of the IDL interface methods
+
+CORBA::TypeCode_ptr _TAO_CORBA_ConstantDef_ThruPOA_Proxy_Impl::type (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::TypeCode_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "type",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_ConstantDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/ConstantDef:1.0"
+ )
+ )->type (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+CORBA_IDLType_ptr _TAO_CORBA_ConstantDef_ThruPOA_Proxy_Impl::type_def (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_IDLType_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "type_def",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_ConstantDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/ConstantDef:1.0"
+ )
+ )->type_def (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+void _TAO_CORBA_ConstantDef_ThruPOA_Proxy_Impl::type_def (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA_IDLType_ptr type_def
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "type_def",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_CORBA_ConstantDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/ConstantDef:1.0"
+ )
+ )->type_def (
+ type_def
+ ACE_ENV_ARG_PARAMETER
+ );
+ return;
+}
+
+CORBA::Any * _TAO_CORBA_ConstantDef_ThruPOA_Proxy_Impl::value (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::Any_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "value",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_ConstantDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/ConstantDef:1.0"
+ )
+ )->value (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+void _TAO_CORBA_ConstantDef_ThruPOA_Proxy_Impl::value (
+ CORBA_Object *_collocated_tao_target_,
+ const CORBA::Any & value
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "value",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_CORBA_ConstantDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/ConstantDef:1.0"
+ )
+ )->value (
+ value
+ ACE_ENV_ARG_PARAMETER
+ );
+ return;
+}
+
+//
+// End ThruPOA Proxy Implementation
+///////////////////////////////////////////////////////////////////////
+
+// skeleton constructor
+POA_CORBA_ConstantDef::POA_CORBA_ConstantDef (void)
+{
+ this->optable_ = &tao_CORBA_ConstantDef_optable;
+}
+
+// copy ctor
+POA_CORBA_ConstantDef::POA_CORBA_ConstantDef (const POA_CORBA_ConstantDef& rhs)
+ : POA_CORBA_Contained (rhs),
+ POA_CORBA_IRObject (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_CORBA_ConstantDef::~POA_CORBA_ConstantDef (void)
+{
+}
+
+void POA_CORBA_ConstantDef::_get_type_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_ConstantDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_ConstantDef *, _tao_object_reference);
+
+ CORBA::TypeCode_var _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_ConstantDef_type_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->type (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA::TypeCode_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_ConstantDef::_get_type_def_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_ConstantDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_ConstantDef *, _tao_object_reference);
+
+ CORBA_IDLType_var _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_ConstantDef_type_def_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->type_def (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_IDLType_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_ConstantDef::_set_type_def_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_ConstantDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_ConstantDef *, _tao_object_reference);
+
+ _tao_server_request.argument_flag (0);
+ CORBA_IDLType_var type_def;
+ if (!(
+ (_tao_in >> type_def.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_ConstantDef_type_def_set ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ type_def.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->type_def (
+ type_def.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_ConstantDef::_get_value_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_ConstantDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_ConstantDef *, _tao_object_reference);
+
+ CORBA::Any_var _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_ConstantDef_value_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->value (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA::Any * _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_ConstantDef::_set_value_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_ConstantDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_ConstantDef *, _tao_object_reference);
+
+ _tao_server_request.argument_flag (0);
+ CORBA::Any value;
+ if (!(
+ (_tao_in >> value)
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_ConstantDef_value_set ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ value
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->value (
+ value
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_ConstantDef::_is_a_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_ConstantDef *_tao_impl = (POA_CORBA_ConstantDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!(_tao_in >> value.out ()))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_CORBA_ConstantDef::_non_existent_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_ConstantDef *_tao_impl = (POA_CORBA_ConstantDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_CORBA_ConstantDef::_interface_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_ConstantDef *_tao_impl = (POA_CORBA_ConstantDef *) _tao_object_reference;
+ CORBA_InterfaceDef_ptr _tao_retval = 0;
+ CORBA::Boolean _tao_result = 0;
+
+ TAO_IFR_Client_Adapter *_tao_adapter =
+ ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
+ TAO_ORB_Core::ifr_client_adapter_name ()
+ );
+
+ if (_tao_adapter == 0)
+ {
+ ACE_THROW (CORBA::INTF_REPOS ());
+ }
+
+ ACE_TRY
+ {
+ _tao_retval = _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ _tao_result =
+ _tao_adapter->interfacedef_cdr_insert (
+ _tao_out,
+ _tao_retval
+ );
+ }
+ ACE_CATCHALL
+ {
+ _tao_adapter->dispose (_tao_retval);
+ }
+ ACE_ENDTRY;
+
+ if (_tao_result == 0)
+ {
+ ACE_THROW (CORBA::MARSHAL ());
+ }
+}
+
+CORBA::Boolean POA_CORBA_ConstantDef::_is_a (
+ const char* value
+ ACE_ENV_ARG_DECL
+ )
+{
+ const char *base_id = CORBA::_tc_Object->id (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/ConstantDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Contained:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, base_id)))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_CORBA_ConstantDef::_downcast (
+ const char* logical_type_id
+ )
+{
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/ConstantDef:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_ConstantDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Contained:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_Contained_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_CORBA_ConstantDef::_dispatch (TAO_ServerRequest &req, void *servant_upcall ACE_ENV_ARG_DECL)
+{
+ this->synchronous_upcall_dispatch (req,
+ servant_upcall,
+ this
+ ACE_ENV_ARG_PARAMETER);
+}
+
+
+const char* POA_CORBA_ConstantDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/CORBA/ConstantDef:1.0";
+}
+
+CORBA_ConstantDef*
+POA_CORBA_ConstantDef::_this (ACE_ENV_SINGLE_ARG_DECL)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ TAO_Stub_Auto_Ptr safe_stub (stub);
+
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0);
+ else
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0);
+
+ CORBA::Object_var obj = tmp;
+
+ (void) safe_stub.release ();
+
+ return ::CORBA_ConstantDef::_unchecked_narrow (obj.in ());
+}
+
+
+class TAO_CORBA_StructDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 22:45:28 */
+/* 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_StructDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_CORBA_StructDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 0,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 0,
+ 61, 25, 8, 0, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 0, 15, 5,
+ 61, 0, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 20, 20, 61, 61, 61, 15, 10, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61,
+#else
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 0, 61, 0, 61, 25,
+ 8, 0, 61, 61, 61, 61, 61, 61, 0, 15,
+ 5, 61, 0, 61, 61, 20, 20, 61, 61, 61,
+ 15, 10, 61, 61, 61, 61, 61, 61,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_CORBA_StructDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 36,
+ MIN_WORD_LENGTH = 4,
+ MAX_WORD_LENGTH = 26,
+ MIN_HASH_VALUE = 5,
+ MAX_HASH_VALUE = 60,
+ HASH_VALUE_RANGE = 56,
+ DUPLICATES = 7,
+ WORDLIST_SIZE = 41
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},{"",0},
+ {"_is_a", &POA_CORBA_StructDef::_is_a_skel},
+ {"lookup", &POA_CORBA_StructDef::lookup_skel},
+ {"_get_name", &POA_CORBA_StructDef::_get_name_skel},
+ {"_get_type", &POA_CORBA_StructDef::_get_type_skel},
+ {"_set_name", &POA_CORBA_StructDef::_set_name_skel},
+ {"_interface", &POA_CORBA_StructDef::_interface_skel},
+ {"lookup_name", &POA_CORBA_StructDef::lookup_name_skel},
+ {"_get_id", &POA_CORBA_StructDef::_get_id_skel},
+ {"_set_id", &POA_CORBA_StructDef::_set_id_skel},
+ {"describe", &POA_CORBA_StructDef::describe_skel},
+ {"_get_version", &POA_CORBA_StructDef::_get_version_skel},
+ {"_set_version", &POA_CORBA_StructDef::_set_version_skel},
+ {"_get_absolute_name", &POA_CORBA_StructDef::_get_absolute_name_skel},
+ {"move", &POA_CORBA_StructDef::move_skel},
+ {"_get_defined_in", &POA_CORBA_StructDef::_get_defined_in_skel},
+ {"_get_def_kind", &POA_CORBA_StructDef::_get_def_kind_skel},
+ {"destroy", &POA_CORBA_StructDef::destroy_skel},
+ {"_get_members", &POA_CORBA_StructDef::_get_members_skel},
+ {"_set_members", &POA_CORBA_StructDef::_set_members_skel},
+ {"_non_existent", &POA_CORBA_StructDef::_non_existent_skel},
+ {"_get_containing_repository", &POA_CORBA_StructDef::_get_containing_repository_skel},
+ {"create_value", &POA_CORBA_StructDef::create_value_skel},
+ {"create_module", &POA_CORBA_StructDef::create_module_skel},
+ {"create_native", &POA_CORBA_StructDef::create_native_skel},
+ {"create_interface", &POA_CORBA_StructDef::create_interface_skel},
+ {"create_union", &POA_CORBA_StructDef::create_union_skel},
+ {"describe_contents", &POA_CORBA_StructDef::describe_contents_skel},
+ {"create_exception", &POA_CORBA_StructDef::create_exception_skel},
+ {"create_local_interface", &POA_CORBA_StructDef::create_local_interface_skel},
+ {"create_abstract_interface", &POA_CORBA_StructDef::create_abstract_interface_skel},
+ {"create_enum", &POA_CORBA_StructDef::create_enum_skel},
+ {"contents", &POA_CORBA_StructDef::contents_skel},
+ {"create_value_box", &POA_CORBA_StructDef::create_value_box_skel},
+ {"create_alias", &POA_CORBA_StructDef::create_alias_skel},
+ {"create_struct", &POA_CORBA_StructDef::create_struct_skel},
+ {"create_constant", &POA_CORBA_StructDef::create_constant_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -1, -1, -1, -7, -3, 5, 6, -12, -2, -66, 10, 11, -1, -15,
+ -2, -68, 14, -64, 17, 18, 19, 20, -1, -1, -1, 21, -1, -1,
+ -1, -1, -22, -2, -62, 24, -27, -2, 25, 26, -64, -1, -1, 29,
+ 30, -1, -1, 31, 32, 33, -1, -1, 34, 35, -1, 36, -1, -1,
+ 37, 38, 39, -1, 40,
+ };
+
+ 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 < WORDLIST_SIZE)
+ {
+ 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 22:45:28 */
+static TAO_CORBA_StructDef_Perfect_Hash_OpTable tao_CORBA_StructDef_optable;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+class TAO_ServerRequestInfo_CORBA_StructDef_members_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_StructDef_members_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_StructDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_StructMemberSeq * result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_StructDef_members_get (const TAO_ServerRequestInfo_CORBA_StructDef_members_get &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_StructDef_members_get &);
+
+private:
+ POA_CORBA_StructDef *_tao_impl;
+ CORBA_StructMemberSeq * _result;
+};
+
+TAO_ServerRequestInfo_CORBA_StructDef_members_get::TAO_ServerRequestInfo_CORBA_StructDef_members_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_StructDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_StructDef_members_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_StructDef_members_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_StructDef_members_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_StructDef_members_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_StructDef_members_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_StructDef_members_get::result (CORBA_StructMemberSeq * result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_StructDef_members_set : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_StructDef_members_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_StructDef *tao_impl
+ ,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+
+private:
+ TAO_ServerRequestInfo_CORBA_StructDef_members_set (const TAO_ServerRequestInfo_CORBA_StructDef_members_set &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_StructDef_members_set &);
+
+private:
+ POA_CORBA_StructDef *_tao_impl;
+ const CORBA_StructMemberSeq & members_;
+
+};
+
+TAO_ServerRequestInfo_CORBA_StructDef_members_set::TAO_ServerRequestInfo_CORBA_StructDef_members_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_StructDef *tao_impl,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ members_ (members)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_StructDef_members_set::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (1);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= this->members_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_StructDef_members_set::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_StructDef_members_set::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 1;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return result_any;
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_StructDef_members_set::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_StructDef_members_set::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Implementation
+//
+
+// Factory function Implementation.
+_TAO_CORBA_StructDef_Strategized_Proxy_Broker *_TAO_CORBA_StructDef_Strategized_Proxy_Broker::the_TAO_CORBA_StructDef_Strategized_Proxy_Broker (void)
+{
+ static _TAO_CORBA_StructDef_Strategized_Proxy_Broker strategized_proxy_broker;
+ return &strategized_proxy_broker;
+}
+
+_TAO_CORBA_StructDef_Strategized_Proxy_Broker::_TAO_CORBA_StructDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ this->proxy_cache_[i] = 0;
+
+}
+
+_TAO_CORBA_StructDef_Strategized_Proxy_Broker::~_TAO_CORBA_StructDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ delete this->proxy_cache_[i];
+
+}
+
+_TAO_CORBA_StructDef_Proxy_Impl&
+_TAO_CORBA_StructDef_Strategized_Proxy_Broker::select_proxy (
+ ::CORBA_StructDef *object
+ ACE_ENV_ARG_DECL
+ )
+{
+ int strategy =
+ TAO_ORB_Core::collocation_strategy (object ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ if (this->proxy_cache_[strategy] != 0)
+ return *this->proxy_cache_[strategy];
+
+ this->create_proxy (strategy ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ return *this->proxy_cache_[strategy];
+
+}
+
+void
+_TAO_CORBA_StructDef_Strategized_Proxy_Broker::create_proxy (
+ int strategy
+ ACE_ENV_ARG_DECL
+ )
+{
+ ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_);
+
+ if (this->proxy_cache_[strategy] == 0)
+ {
+ switch (strategy)
+ {
+ case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ _TAO_CORBA_StructDef_ThruPOA_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY:
+ default:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ ::_TAO_CORBA_StructDef_Remote_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ }
+
+ }
+}
+
+
+//
+// End Strategized Proxy Broker Implementation
+///////////////////////////////////////////////////////////////////////
+
+
+_TAO_CORBA_StructDef_Proxy_Broker *
+_TAO_CORBA_StructDef_Proxy_Broker_Factory_function (CORBA::Object_ptr obj)
+{
+ ACE_UNUSED_ARG (obj);
+ return ::_TAO_CORBA_StructDef_Strategized_Proxy_Broker::the_TAO_CORBA_StructDef_Strategized_Proxy_Broker();
+}
+
+int
+_TAO_CORBA_StructDef_Proxy_Broker_Factory_Initializer (long)
+{
+ _TAO_CORBA_StructDef_Proxy_Broker_Factory_function_pointer =
+ _TAO_CORBA_StructDef_Proxy_Broker_Factory_function;
+
+ return 0;
+}
+
+static int _TAO_CORBA_StructDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
+ _TAO_CORBA_StructDef_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_CORBA_StructDef_Proxy_Broker_Factory_Initializer));
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Proxy Implementation
+//
+
+_TAO_CORBA_StructDef_ThruPOA_Proxy_Impl::_TAO_CORBA_StructDef_ThruPOA_Proxy_Impl (void)
+{}
+
+// ThruPOA Implementation of the IDL interface methods
+
+CORBA_StructMemberSeq * _TAO_CORBA_StructDef_ThruPOA_Proxy_Impl::members (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_StructMemberSeq_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "members",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_StructDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/StructDef:1.0"
+ )
+ )->members (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+void _TAO_CORBA_StructDef_ThruPOA_Proxy_Impl::members (
+ CORBA_Object *_collocated_tao_target_,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "members",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_CORBA_StructDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/StructDef:1.0"
+ )
+ )->members (
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+ return;
+}
+
+//
+// End ThruPOA Proxy Implementation
+///////////////////////////////////////////////////////////////////////
+
+// skeleton constructor
+POA_CORBA_StructDef::POA_CORBA_StructDef (void)
+{
+ this->optable_ = &tao_CORBA_StructDef_optable;
+}
+
+// copy ctor
+POA_CORBA_StructDef::POA_CORBA_StructDef (const POA_CORBA_StructDef& rhs)
+ : POA_CORBA_TypedefDef (rhs),
+ POA_CORBA_Container (rhs),
+ POA_CORBA_Contained (rhs),
+ POA_CORBA_IDLType (rhs),
+ POA_CORBA_IRObject (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_CORBA_StructDef::~POA_CORBA_StructDef (void)
+{
+}
+
+void POA_CORBA_StructDef::_get_members_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_StructDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_StructDef *, _tao_object_reference);
+
+ CORBA_StructMemberSeq_var _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_StructDef_members_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->members (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_StructMemberSeq * _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_StructDef::_set_members_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_StructDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_StructDef *, _tao_object_reference);
+
+ _tao_server_request.argument_flag (0);
+ CORBA_StructMemberSeq members;
+ if (!(
+ (_tao_in >> members)
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_StructDef_members_set ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->members (
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_StructDef::_is_a_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_StructDef *_tao_impl = (POA_CORBA_StructDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!(_tao_in >> value.out ()))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_CORBA_StructDef::_non_existent_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_StructDef *_tao_impl = (POA_CORBA_StructDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_CORBA_StructDef::_interface_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_StructDef *_tao_impl = (POA_CORBA_StructDef *) _tao_object_reference;
+ CORBA_InterfaceDef_ptr _tao_retval = 0;
+ CORBA::Boolean _tao_result = 0;
+
+ TAO_IFR_Client_Adapter *_tao_adapter =
+ ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
+ TAO_ORB_Core::ifr_client_adapter_name ()
+ );
+
+ if (_tao_adapter == 0)
+ {
+ ACE_THROW (CORBA::INTF_REPOS ());
+ }
+
+ ACE_TRY
+ {
+ _tao_retval = _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ _tao_result =
+ _tao_adapter->interfacedef_cdr_insert (
+ _tao_out,
+ _tao_retval
+ );
+ }
+ ACE_CATCHALL
+ {
+ _tao_adapter->dispose (_tao_retval);
+ }
+ ACE_ENDTRY;
+
+ if (_tao_result == 0)
+ {
+ ACE_THROW (CORBA::MARSHAL ());
+ }
+}
+
+CORBA::Boolean POA_CORBA_StructDef::_is_a (
+ const char* value
+ ACE_ENV_ARG_DECL
+ )
+{
+ const char *base_id = CORBA::_tc_Object->id (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/StructDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/TypedefDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Container:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Contained:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IDLType:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, base_id)))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_CORBA_StructDef::_downcast (
+ const char* logical_type_id
+ )
+{
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/StructDef:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_StructDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/TypedefDef:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_TypedefDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Container:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_Container_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Contained:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_Contained_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IDLType:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IDLType_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_CORBA_StructDef::_dispatch (TAO_ServerRequest &req, void *servant_upcall ACE_ENV_ARG_DECL)
+{
+ this->synchronous_upcall_dispatch (req,
+ servant_upcall,
+ this
+ ACE_ENV_ARG_PARAMETER);
+}
+
+
+const char* POA_CORBA_StructDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/CORBA/StructDef:1.0";
+}
+
+CORBA_StructDef*
+POA_CORBA_StructDef::_this (ACE_ENV_SINGLE_ARG_DECL)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ TAO_Stub_Auto_Ptr safe_stub (stub);
+
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0);
+ else
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0);
+
+ CORBA::Object_var obj = tmp;
+
+ (void) safe_stub.release ();
+
+ return ::CORBA_StructDef::_unchecked_narrow (obj.in ());
+}
+
+
+class TAO_CORBA_UnionDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 22:45:29 */
+/* 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_UnionDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_CORBA_UnionDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 0,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 0,
+ 61, 25, 8, 0, 0, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 0, 15, 5,
+ 61, 0, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 20, 20, 61, 61, 61, 15, 10, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61,
+#else
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 0, 61, 0, 61, 25,
+ 8, 0, 0, 61, 61, 61, 61, 61, 0, 15,
+ 5, 61, 0, 61, 61, 20, 20, 61, 61, 61,
+ 15, 10, 61, 61, 61, 61, 61, 61,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_CORBA_UnionDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 39,
+ MIN_WORD_LENGTH = 4,
+ MAX_WORD_LENGTH = 27,
+ MIN_HASH_VALUE = 5,
+ MAX_HASH_VALUE = 60,
+ HASH_VALUE_RANGE = 56,
+ DUPLICATES = 8,
+ WORDLIST_SIZE = 44
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},{"",0},
+ {"_is_a", &POA_CORBA_UnionDef::_is_a_skel},
+ {"lookup", &POA_CORBA_UnionDef::lookup_skel},
+ {"_get_name", &POA_CORBA_UnionDef::_get_name_skel},
+ {"_get_type", &POA_CORBA_UnionDef::_get_type_skel},
+ {"_set_name", &POA_CORBA_UnionDef::_set_name_skel},
+ {"_interface", &POA_CORBA_UnionDef::_interface_skel},
+ {"lookup_name", &POA_CORBA_UnionDef::lookup_name_skel},
+ {"_get_id", &POA_CORBA_UnionDef::_get_id_skel},
+ {"_set_id", &POA_CORBA_UnionDef::_set_id_skel},
+ {"describe", &POA_CORBA_UnionDef::describe_skel},
+ {"_get_version", &POA_CORBA_UnionDef::_get_version_skel},
+ {"_set_version", &POA_CORBA_UnionDef::_set_version_skel},
+ {"_get_absolute_name", &POA_CORBA_UnionDef::_get_absolute_name_skel},
+ {"move", &POA_CORBA_UnionDef::move_skel},
+ {"_get_defined_in", &POA_CORBA_UnionDef::_get_defined_in_skel},
+ {"_get_def_kind", &POA_CORBA_UnionDef::_get_def_kind_skel},
+ {"_get_discriminator_type", &POA_CORBA_UnionDef::_get_discriminator_type_skel},
+ {"destroy", &POA_CORBA_UnionDef::destroy_skel},
+ {"_get_discriminator_type_def", &POA_CORBA_UnionDef::_get_discriminator_type_def_skel},
+ {"_set_discriminator_type_def", &POA_CORBA_UnionDef::_set_discriminator_type_def_skel},
+ {"_get_members", &POA_CORBA_UnionDef::_get_members_skel},
+ {"_set_members", &POA_CORBA_UnionDef::_set_members_skel},
+ {"_non_existent", &POA_CORBA_UnionDef::_non_existent_skel},
+ {"_get_containing_repository", &POA_CORBA_UnionDef::_get_containing_repository_skel},
+ {"create_value", &POA_CORBA_UnionDef::create_value_skel},
+ {"create_module", &POA_CORBA_UnionDef::create_module_skel},
+ {"create_native", &POA_CORBA_UnionDef::create_native_skel},
+ {"create_interface", &POA_CORBA_UnionDef::create_interface_skel},
+ {"create_union", &POA_CORBA_UnionDef::create_union_skel},
+ {"describe_contents", &POA_CORBA_UnionDef::describe_contents_skel},
+ {"create_exception", &POA_CORBA_UnionDef::create_exception_skel},
+ {"create_local_interface", &POA_CORBA_UnionDef::create_local_interface_skel},
+ {"create_abstract_interface", &POA_CORBA_UnionDef::create_abstract_interface_skel},
+ {"create_enum", &POA_CORBA_UnionDef::create_enum_skel},
+ {"contents", &POA_CORBA_UnionDef::contents_skel},
+ {"create_value_box", &POA_CORBA_UnionDef::create_value_box_skel},
+ {"create_alias", &POA_CORBA_UnionDef::create_alias_skel},
+ {"create_struct", &POA_CORBA_UnionDef::create_struct_skel},
+ {"create_constant", &POA_CORBA_UnionDef::create_constant_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -1, -7, -3, -12, -2, 5, 6, -15, -2, -68, 10, 11, -1, -23,
+ -2, -72, 14, -70, 17, 18, 19, 20, -1, 21, -1, 22, -1, -74,
+ -1, -1, -25, -2, -62, 27, -30, -2, 28, 29, -64, -1, -1, 32,
+ 33, -1, -1, 34, 35, 36, -1, -1, 37, 38, -1, 39, -1, -1,
+ 40, 41, 42, -1, 43,
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ int slot = lookup[key];
+
+ if (slot >= 0 && slot < WORDLIST_SIZE)
+ {
+ 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 22:45:29 */
+static TAO_CORBA_UnionDef_Perfect_Hash_OpTable tao_CORBA_UnionDef_optable;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+class TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_UnionDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA::TypeCode_ptr result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_get (const TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_get &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_get &);
+
+private:
+ POA_CORBA_UnionDef *_tao_impl;
+ CORBA::TypeCode_ptr _result;
+};
+
+TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_get::TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_UnionDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_get::result (CORBA::TypeCode_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_def_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_def_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_UnionDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_IDLType_ptr result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_def_get (const TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_def_get &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_def_get &);
+
+private:
+ POA_CORBA_UnionDef *_tao_impl;
+ CORBA_IDLType_ptr _result;
+};
+
+TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_def_get::TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_def_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_UnionDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_def_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_def_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_def_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_def_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_def_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_def_get::result (CORBA_IDLType_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_def_set : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_def_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_UnionDef *tao_impl
+ ,
+ CORBA_IDLType_ptr discriminator_type_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+
+private:
+ TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_def_set (const TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_def_set &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_def_set &);
+
+private:
+ POA_CORBA_UnionDef *_tao_impl;
+ CORBA_IDLType_ptr discriminator_type_def_;
+
+};
+
+TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_def_set::TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_def_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_UnionDef *tao_impl,
+ CORBA_IDLType_ptr discriminator_type_def
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ discriminator_type_def_ (discriminator_type_def)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_def_set::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (1);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= this->discriminator_type_def_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_def_set::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_def_set::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 1;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return result_any;
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_def_set::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_def_set::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+class TAO_ServerRequestInfo_CORBA_UnionDef_members_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_UnionDef_members_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_UnionDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_UnionMemberSeq * result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_UnionDef_members_get (const TAO_ServerRequestInfo_CORBA_UnionDef_members_get &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_UnionDef_members_get &);
+
+private:
+ POA_CORBA_UnionDef *_tao_impl;
+ CORBA_UnionMemberSeq * _result;
+};
+
+TAO_ServerRequestInfo_CORBA_UnionDef_members_get::TAO_ServerRequestInfo_CORBA_UnionDef_members_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_UnionDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_UnionDef_members_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_UnionDef_members_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_UnionDef_members_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_UnionDef_members_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_UnionDef_members_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_UnionDef_members_get::result (CORBA_UnionMemberSeq * result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_UnionDef_members_set : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_UnionDef_members_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_UnionDef *tao_impl
+ ,
+ const CORBA_UnionMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+
+private:
+ TAO_ServerRequestInfo_CORBA_UnionDef_members_set (const TAO_ServerRequestInfo_CORBA_UnionDef_members_set &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_UnionDef_members_set &);
+
+private:
+ POA_CORBA_UnionDef *_tao_impl;
+ const CORBA_UnionMemberSeq & members_;
+
+};
+
+TAO_ServerRequestInfo_CORBA_UnionDef_members_set::TAO_ServerRequestInfo_CORBA_UnionDef_members_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_UnionDef *tao_impl,
+ const CORBA_UnionMemberSeq & members
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ members_ (members)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_UnionDef_members_set::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (1);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= this->members_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_UnionDef_members_set::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_UnionDef_members_set::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 1;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return result_any;
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_UnionDef_members_set::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_UnionDef_members_set::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Implementation
+//
+
+// Factory function Implementation.
+_TAO_CORBA_UnionDef_Strategized_Proxy_Broker *_TAO_CORBA_UnionDef_Strategized_Proxy_Broker::the_TAO_CORBA_UnionDef_Strategized_Proxy_Broker (void)
+{
+ static _TAO_CORBA_UnionDef_Strategized_Proxy_Broker strategized_proxy_broker;
+ return &strategized_proxy_broker;
+}
+
+_TAO_CORBA_UnionDef_Strategized_Proxy_Broker::_TAO_CORBA_UnionDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ this->proxy_cache_[i] = 0;
+
+}
+
+_TAO_CORBA_UnionDef_Strategized_Proxy_Broker::~_TAO_CORBA_UnionDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ delete this->proxy_cache_[i];
+
+}
+
+_TAO_CORBA_UnionDef_Proxy_Impl&
+_TAO_CORBA_UnionDef_Strategized_Proxy_Broker::select_proxy (
+ ::CORBA_UnionDef *object
+ ACE_ENV_ARG_DECL
+ )
+{
+ int strategy =
+ TAO_ORB_Core::collocation_strategy (object ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ if (this->proxy_cache_[strategy] != 0)
+ return *this->proxy_cache_[strategy];
+
+ this->create_proxy (strategy ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ return *this->proxy_cache_[strategy];
+
+}
+
+void
+_TAO_CORBA_UnionDef_Strategized_Proxy_Broker::create_proxy (
+ int strategy
+ ACE_ENV_ARG_DECL
+ )
+{
+ ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_);
+
+ if (this->proxy_cache_[strategy] == 0)
+ {
+ switch (strategy)
+ {
+ case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ _TAO_CORBA_UnionDef_ThruPOA_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY:
+ default:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ ::_TAO_CORBA_UnionDef_Remote_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ }
+
+ }
+}
+
+
+//
+// End Strategized Proxy Broker Implementation
+///////////////////////////////////////////////////////////////////////
+
+
+_TAO_CORBA_UnionDef_Proxy_Broker *
+_TAO_CORBA_UnionDef_Proxy_Broker_Factory_function (CORBA::Object_ptr obj)
+{
+ ACE_UNUSED_ARG (obj);
+ return ::_TAO_CORBA_UnionDef_Strategized_Proxy_Broker::the_TAO_CORBA_UnionDef_Strategized_Proxy_Broker();
+}
+
+int
+_TAO_CORBA_UnionDef_Proxy_Broker_Factory_Initializer (long)
+{
+ _TAO_CORBA_UnionDef_Proxy_Broker_Factory_function_pointer =
+ _TAO_CORBA_UnionDef_Proxy_Broker_Factory_function;
+
+ return 0;
+}
+
+static int _TAO_CORBA_UnionDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
+ _TAO_CORBA_UnionDef_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_CORBA_UnionDef_Proxy_Broker_Factory_Initializer));
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Proxy Implementation
+//
+
+_TAO_CORBA_UnionDef_ThruPOA_Proxy_Impl::_TAO_CORBA_UnionDef_ThruPOA_Proxy_Impl (void)
+{}
+
+// ThruPOA Implementation of the IDL interface methods
+
+CORBA::TypeCode_ptr _TAO_CORBA_UnionDef_ThruPOA_Proxy_Impl::discriminator_type (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::TypeCode_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "discriminator_type",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_UnionDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/UnionDef:1.0"
+ )
+ )->discriminator_type (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+CORBA_IDLType_ptr _TAO_CORBA_UnionDef_ThruPOA_Proxy_Impl::discriminator_type_def (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_IDLType_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "discriminator_type_def",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_UnionDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/UnionDef:1.0"
+ )
+ )->discriminator_type_def (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+void _TAO_CORBA_UnionDef_ThruPOA_Proxy_Impl::discriminator_type_def (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA_IDLType_ptr discriminator_type_def
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "discriminator_type_def",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_CORBA_UnionDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/UnionDef:1.0"
+ )
+ )->discriminator_type_def (
+ discriminator_type_def
+ ACE_ENV_ARG_PARAMETER
+ );
+ return;
+}
+
+CORBA_UnionMemberSeq * _TAO_CORBA_UnionDef_ThruPOA_Proxy_Impl::members (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_UnionMemberSeq_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "members",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_UnionDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/UnionDef:1.0"
+ )
+ )->members (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+void _TAO_CORBA_UnionDef_ThruPOA_Proxy_Impl::members (
+ CORBA_Object *_collocated_tao_target_,
+ const CORBA_UnionMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "members",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_CORBA_UnionDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/UnionDef:1.0"
+ )
+ )->members (
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+ return;
+}
+
+//
+// End ThruPOA Proxy Implementation
+///////////////////////////////////////////////////////////////////////
+
+// skeleton constructor
+POA_CORBA_UnionDef::POA_CORBA_UnionDef (void)
+{
+ this->optable_ = &tao_CORBA_UnionDef_optable;
+}
+
+// copy ctor
+POA_CORBA_UnionDef::POA_CORBA_UnionDef (const POA_CORBA_UnionDef& rhs)
+ : POA_CORBA_TypedefDef (rhs),
+ POA_CORBA_Container (rhs),
+ POA_CORBA_Contained (rhs),
+ POA_CORBA_IDLType (rhs),
+ POA_CORBA_IRObject (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_CORBA_UnionDef::~POA_CORBA_UnionDef (void)
+{
+}
+
+void POA_CORBA_UnionDef::_get_discriminator_type_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_UnionDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_UnionDef *, _tao_object_reference);
+
+ CORBA::TypeCode_var _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->discriminator_type (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA::TypeCode_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_UnionDef::_get_discriminator_type_def_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_UnionDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_UnionDef *, _tao_object_reference);
+
+ CORBA_IDLType_var _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_def_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->discriminator_type_def (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_IDLType_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_UnionDef::_set_discriminator_type_def_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_UnionDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_UnionDef *, _tao_object_reference);
+
+ _tao_server_request.argument_flag (0);
+ CORBA_IDLType_var discriminator_type_def;
+ if (!(
+ (_tao_in >> discriminator_type_def.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_UnionDef_discriminator_type_def_set ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ discriminator_type_def.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->discriminator_type_def (
+ discriminator_type_def.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_UnionDef::_get_members_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_UnionDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_UnionDef *, _tao_object_reference);
+
+ CORBA_UnionMemberSeq_var _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_UnionDef_members_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->members (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_UnionMemberSeq * _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_UnionDef::_set_members_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_UnionDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_UnionDef *, _tao_object_reference);
+
+ _tao_server_request.argument_flag (0);
+ CORBA_UnionMemberSeq members;
+ if (!(
+ (_tao_in >> members)
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_UnionDef_members_set ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->members (
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_UnionDef::_is_a_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_UnionDef *_tao_impl = (POA_CORBA_UnionDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!(_tao_in >> value.out ()))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_CORBA_UnionDef::_non_existent_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_UnionDef *_tao_impl = (POA_CORBA_UnionDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_CORBA_UnionDef::_interface_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_UnionDef *_tao_impl = (POA_CORBA_UnionDef *) _tao_object_reference;
+ CORBA_InterfaceDef_ptr _tao_retval = 0;
+ CORBA::Boolean _tao_result = 0;
+
+ TAO_IFR_Client_Adapter *_tao_adapter =
+ ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
+ TAO_ORB_Core::ifr_client_adapter_name ()
+ );
+
+ if (_tao_adapter == 0)
+ {
+ ACE_THROW (CORBA::INTF_REPOS ());
+ }
+
+ ACE_TRY
+ {
+ _tao_retval = _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ _tao_result =
+ _tao_adapter->interfacedef_cdr_insert (
+ _tao_out,
+ _tao_retval
+ );
+ }
+ ACE_CATCHALL
+ {
+ _tao_adapter->dispose (_tao_retval);
+ }
+ ACE_ENDTRY;
+
+ if (_tao_result == 0)
+ {
+ ACE_THROW (CORBA::MARSHAL ());
+ }
+}
+
+CORBA::Boolean POA_CORBA_UnionDef::_is_a (
+ const char* value
+ ACE_ENV_ARG_DECL
+ )
+{
+ const char *base_id = CORBA::_tc_Object->id (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/UnionDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/TypedefDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Container:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Contained:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IDLType:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, base_id)))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_CORBA_UnionDef::_downcast (
+ const char* logical_type_id
+ )
+{
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/UnionDef:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_UnionDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/TypedefDef:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_TypedefDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Container:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_Container_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Contained:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_Contained_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IDLType:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IDLType_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_CORBA_UnionDef::_dispatch (TAO_ServerRequest &req, void *servant_upcall ACE_ENV_ARG_DECL)
+{
+ this->synchronous_upcall_dispatch (req,
+ servant_upcall,
+ this
+ ACE_ENV_ARG_PARAMETER);
+}
+
+
+const char* POA_CORBA_UnionDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/CORBA/UnionDef:1.0";
+}
+
+CORBA_UnionDef*
+POA_CORBA_UnionDef::_this (ACE_ENV_SINGLE_ARG_DECL)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ TAO_Stub_Auto_Ptr safe_stub (stub);
+
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0);
+ else
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0);
+
+ CORBA::Object_var obj = tmp;
+
+ (void) safe_stub.release ();
+
+ return ::CORBA_UnionDef::_unchecked_narrow (obj.in ());
+}
+
+
+class TAO_CORBA_EnumDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 22:45:30 */
+/* 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_EnumDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_CORBA_EnumDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 0, 0, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 0, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 10, 10, 37, 37, 37, 37, 10, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37,
+#else
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 0, 37, 0, 37, 37,
+ 0, 0, 37, 37, 37, 37, 37, 37, 37, 0,
+ 0, 37, 37, 37, 37, 10, 10, 37, 37, 37,
+ 37, 10, 37, 37, 37, 37, 37, 37,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_CORBA_EnumDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 19,
+ MIN_WORD_LENGTH = 4,
+ MAX_WORD_LENGTH = 26,
+ MIN_HASH_VALUE = 4,
+ MAX_HASH_VALUE = 36,
+ HASH_VALUE_RANGE = 33,
+ DUPLICATES = 6,
+ WORDLIST_SIZE = 23
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},
+ {"move", &POA_CORBA_EnumDef::move_skel},
+ {"_is_a", &POA_CORBA_EnumDef::_is_a_skel},
+ {"_get_id", &POA_CORBA_EnumDef::_get_id_skel},
+ {"_set_id", &POA_CORBA_EnumDef::_set_id_skel},
+ {"describe", &POA_CORBA_EnumDef::describe_skel},
+ {"_get_name", &POA_CORBA_EnumDef::_get_name_skel},
+ {"_get_type", &POA_CORBA_EnumDef::_get_type_skel},
+ {"_set_name", &POA_CORBA_EnumDef::_set_name_skel},
+ {"_interface", &POA_CORBA_EnumDef::_interface_skel},
+ {"_get_version", &POA_CORBA_EnumDef::_get_version_skel},
+ {"_set_version", &POA_CORBA_EnumDef::_set_version_skel},
+ {"_get_def_kind", &POA_CORBA_EnumDef::_get_def_kind_skel},
+ {"_get_defined_in", &POA_CORBA_EnumDef::_get_defined_in_skel},
+ {"destroy", &POA_CORBA_EnumDef::destroy_skel},
+ {"_get_absolute_name", &POA_CORBA_EnumDef::_get_absolute_name_skel},
+ {"_get_members", &POA_CORBA_EnumDef::_get_members_skel},
+ {"_set_members", &POA_CORBA_EnumDef::_set_members_skel},
+ {"_non_existent", &POA_CORBA_EnumDef::_non_existent_skel},
+ {"_get_containing_repository", &POA_CORBA_EnumDef::_get_containing_repository_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -9, -3, -13, -2, 4, 5, -1, 53, 8, -45, 12, -1, -46, 15,
+ -1, 16, -1, 17, 18, -1, -19, -2, -38, 21, -6, -2, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 22,
+ };
+
+ 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 < WORDLIST_SIZE)
+ {
+ 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 22:45:30 */
+static TAO_CORBA_EnumDef_Perfect_Hash_OpTable tao_CORBA_EnumDef_optable;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+class TAO_ServerRequestInfo_CORBA_EnumDef_members_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_EnumDef_members_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_EnumDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_EnumMemberSeq * result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_EnumDef_members_get (const TAO_ServerRequestInfo_CORBA_EnumDef_members_get &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_EnumDef_members_get &);
+
+private:
+ POA_CORBA_EnumDef *_tao_impl;
+ CORBA_EnumMemberSeq * _result;
+};
+
+TAO_ServerRequestInfo_CORBA_EnumDef_members_get::TAO_ServerRequestInfo_CORBA_EnumDef_members_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_EnumDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_EnumDef_members_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_EnumDef_members_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_EnumDef_members_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_EnumDef_members_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_EnumDef_members_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_EnumDef_members_get::result (CORBA_EnumMemberSeq * result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_EnumDef_members_set : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_EnumDef_members_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_EnumDef *tao_impl
+ ,
+ const CORBA_EnumMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+
+private:
+ TAO_ServerRequestInfo_CORBA_EnumDef_members_set (const TAO_ServerRequestInfo_CORBA_EnumDef_members_set &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_EnumDef_members_set &);
+
+private:
+ POA_CORBA_EnumDef *_tao_impl;
+ const CORBA_EnumMemberSeq & members_;
+
+};
+
+TAO_ServerRequestInfo_CORBA_EnumDef_members_set::TAO_ServerRequestInfo_CORBA_EnumDef_members_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_EnumDef *tao_impl,
+ const CORBA_EnumMemberSeq & members
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ members_ (members)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_EnumDef_members_set::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (1);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= this->members_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_EnumDef_members_set::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_EnumDef_members_set::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 1;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return result_any;
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_EnumDef_members_set::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_EnumDef_members_set::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Implementation
+//
+
+// Factory function Implementation.
+_TAO_CORBA_EnumDef_Strategized_Proxy_Broker *_TAO_CORBA_EnumDef_Strategized_Proxy_Broker::the_TAO_CORBA_EnumDef_Strategized_Proxy_Broker (void)
+{
+ static _TAO_CORBA_EnumDef_Strategized_Proxy_Broker strategized_proxy_broker;
+ return &strategized_proxy_broker;
+}
+
+_TAO_CORBA_EnumDef_Strategized_Proxy_Broker::_TAO_CORBA_EnumDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ this->proxy_cache_[i] = 0;
+
+}
+
+_TAO_CORBA_EnumDef_Strategized_Proxy_Broker::~_TAO_CORBA_EnumDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ delete this->proxy_cache_[i];
+
+}
+
+_TAO_CORBA_EnumDef_Proxy_Impl&
+_TAO_CORBA_EnumDef_Strategized_Proxy_Broker::select_proxy (
+ ::CORBA_EnumDef *object
+ ACE_ENV_ARG_DECL
+ )
+{
+ int strategy =
+ TAO_ORB_Core::collocation_strategy (object ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ if (this->proxy_cache_[strategy] != 0)
+ return *this->proxy_cache_[strategy];
+
+ this->create_proxy (strategy ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ return *this->proxy_cache_[strategy];
+
+}
+
+void
+_TAO_CORBA_EnumDef_Strategized_Proxy_Broker::create_proxy (
+ int strategy
+ ACE_ENV_ARG_DECL
+ )
+{
+ ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_);
+
+ if (this->proxy_cache_[strategy] == 0)
+ {
+ switch (strategy)
+ {
+ case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ _TAO_CORBA_EnumDef_ThruPOA_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY:
+ default:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ ::_TAO_CORBA_EnumDef_Remote_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ }
+
+ }
+}
+
+
+//
+// End Strategized Proxy Broker Implementation
+///////////////////////////////////////////////////////////////////////
+
+
+_TAO_CORBA_EnumDef_Proxy_Broker *
+_TAO_CORBA_EnumDef_Proxy_Broker_Factory_function (CORBA::Object_ptr obj)
+{
+ ACE_UNUSED_ARG (obj);
+ return ::_TAO_CORBA_EnumDef_Strategized_Proxy_Broker::the_TAO_CORBA_EnumDef_Strategized_Proxy_Broker();
+}
+
+int
+_TAO_CORBA_EnumDef_Proxy_Broker_Factory_Initializer (long)
+{
+ _TAO_CORBA_EnumDef_Proxy_Broker_Factory_function_pointer =
+ _TAO_CORBA_EnumDef_Proxy_Broker_Factory_function;
+
+ return 0;
+}
+
+static int _TAO_CORBA_EnumDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
+ _TAO_CORBA_EnumDef_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_CORBA_EnumDef_Proxy_Broker_Factory_Initializer));
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Proxy Implementation
+//
+
+_TAO_CORBA_EnumDef_ThruPOA_Proxy_Impl::_TAO_CORBA_EnumDef_ThruPOA_Proxy_Impl (void)
+{}
+
+// ThruPOA Implementation of the IDL interface methods
+
+CORBA_EnumMemberSeq * _TAO_CORBA_EnumDef_ThruPOA_Proxy_Impl::members (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_EnumMemberSeq_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "members",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_EnumDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/EnumDef:1.0"
+ )
+ )->members (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+void _TAO_CORBA_EnumDef_ThruPOA_Proxy_Impl::members (
+ CORBA_Object *_collocated_tao_target_,
+ const CORBA_EnumMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "members",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_CORBA_EnumDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/EnumDef:1.0"
+ )
+ )->members (
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+ return;
+}
+
+//
+// End ThruPOA Proxy Implementation
+///////////////////////////////////////////////////////////////////////
+
+// skeleton constructor
+POA_CORBA_EnumDef::POA_CORBA_EnumDef (void)
+{
+ this->optable_ = &tao_CORBA_EnumDef_optable;
+}
+
+// copy ctor
+POA_CORBA_EnumDef::POA_CORBA_EnumDef (const POA_CORBA_EnumDef& rhs)
+ : POA_CORBA_TypedefDef (rhs),
+ POA_CORBA_Contained (rhs),
+ POA_CORBA_IDLType (rhs),
+ POA_CORBA_IRObject (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_CORBA_EnumDef::~POA_CORBA_EnumDef (void)
+{
+}
+
+void POA_CORBA_EnumDef::_get_members_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_EnumDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_EnumDef *, _tao_object_reference);
+
+ CORBA_EnumMemberSeq_var _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_EnumDef_members_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->members (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_EnumMemberSeq * _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_EnumDef::_set_members_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_EnumDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_EnumDef *, _tao_object_reference);
+
+ _tao_server_request.argument_flag (0);
+ CORBA_EnumMemberSeq members;
+ if (!(
+ (_tao_in >> members)
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_EnumDef_members_set ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->members (
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_EnumDef::_is_a_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_EnumDef *_tao_impl = (POA_CORBA_EnumDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!(_tao_in >> value.out ()))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_CORBA_EnumDef::_non_existent_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_EnumDef *_tao_impl = (POA_CORBA_EnumDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_CORBA_EnumDef::_interface_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_EnumDef *_tao_impl = (POA_CORBA_EnumDef *) _tao_object_reference;
+ CORBA_InterfaceDef_ptr _tao_retval = 0;
+ CORBA::Boolean _tao_result = 0;
+
+ TAO_IFR_Client_Adapter *_tao_adapter =
+ ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
+ TAO_ORB_Core::ifr_client_adapter_name ()
+ );
+
+ if (_tao_adapter == 0)
+ {
+ ACE_THROW (CORBA::INTF_REPOS ());
+ }
+
+ ACE_TRY
+ {
+ _tao_retval = _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ _tao_result =
+ _tao_adapter->interfacedef_cdr_insert (
+ _tao_out,
+ _tao_retval
+ );
+ }
+ ACE_CATCHALL
+ {
+ _tao_adapter->dispose (_tao_retval);
+ }
+ ACE_ENDTRY;
+
+ if (_tao_result == 0)
+ {
+ ACE_THROW (CORBA::MARSHAL ());
+ }
+}
+
+CORBA::Boolean POA_CORBA_EnumDef::_is_a (
+ const char* value
+ ACE_ENV_ARG_DECL
+ )
+{
+ const char *base_id = CORBA::_tc_Object->id (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/EnumDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/TypedefDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Contained:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IDLType:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, base_id)))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_CORBA_EnumDef::_downcast (
+ const char* logical_type_id
+ )
+{
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/EnumDef:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_EnumDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/TypedefDef:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_TypedefDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Contained:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_Contained_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IDLType:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IDLType_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_CORBA_EnumDef::_dispatch (TAO_ServerRequest &req, void *servant_upcall ACE_ENV_ARG_DECL)
+{
+ this->synchronous_upcall_dispatch (req,
+ servant_upcall,
+ this
+ ACE_ENV_ARG_PARAMETER);
+}
+
+
+const char* POA_CORBA_EnumDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/CORBA/EnumDef:1.0";
+}
+
+CORBA_EnumDef*
+POA_CORBA_EnumDef::_this (ACE_ENV_SINGLE_ARG_DECL)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ TAO_Stub_Auto_Ptr safe_stub (stub);
+
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0);
+ else
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0);
+
+ CORBA::Object_var obj = tmp;
+
+ (void) safe_stub.release ();
+
+ return ::CORBA_EnumDef::_unchecked_narrow (obj.in ());
+}
+
+
+class TAO_CORBA_AliasDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 22:45:30 */
+/* 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_AliasDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_CORBA_AliasDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 0, 0, 0, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 0, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 10, 37, 37, 37, 37, 10, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37,
+#else
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 0, 37, 0, 37, 37,
+ 0, 0, 0, 37, 37, 37, 37, 37, 37, 0,
+ 0, 37, 37, 37, 37, 37, 10, 37, 37, 37,
+ 37, 10, 37, 37, 37, 37, 37, 37,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_CORBA_AliasDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 19,
+ MIN_WORD_LENGTH = 4,
+ MAX_WORD_LENGTH = 26,
+ MIN_HASH_VALUE = 4,
+ MAX_HASH_VALUE = 36,
+ HASH_VALUE_RANGE = 33,
+ DUPLICATES = 6,
+ WORDLIST_SIZE = 23
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},
+ {"move", &POA_CORBA_AliasDef::move_skel},
+ {"_is_a", &POA_CORBA_AliasDef::_is_a_skel},
+ {"_get_id", &POA_CORBA_AliasDef::_get_id_skel},
+ {"_set_id", &POA_CORBA_AliasDef::_set_id_skel},
+ {"describe", &POA_CORBA_AliasDef::describe_skel},
+ {"_get_name", &POA_CORBA_AliasDef::_get_name_skel},
+ {"_get_type", &POA_CORBA_AliasDef::_get_type_skel},
+ {"_set_name", &POA_CORBA_AliasDef::_set_name_skel},
+ {"_interface", &POA_CORBA_AliasDef::_interface_skel},
+ {"_get_version", &POA_CORBA_AliasDef::_get_version_skel},
+ {"_set_version", &POA_CORBA_AliasDef::_set_version_skel},
+ {"_get_def_kind", &POA_CORBA_AliasDef::_get_def_kind_skel},
+ {"_get_defined_in", &POA_CORBA_AliasDef::_get_defined_in_skel},
+ {"destroy", &POA_CORBA_AliasDef::destroy_skel},
+ {"_get_absolute_name", &POA_CORBA_AliasDef::_get_absolute_name_skel},
+ {"_get_original_type_def", &POA_CORBA_AliasDef::_get_original_type_def_skel},
+ {"_set_original_type_def", &POA_CORBA_AliasDef::_set_original_type_def_skel},
+ {"_non_existent", &POA_CORBA_AliasDef::_non_existent_skel},
+ {"_get_containing_repository", &POA_CORBA_AliasDef::_get_containing_repository_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -9, -3, -13, -2, 4, 5, -1, 53, 8, -45, 12, -1, -46, 15,
+ -1, 16, -1, 17, 18, -1, -19, -2, -38, 21, -6, -2, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 22,
+ };
+
+ 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 < WORDLIST_SIZE)
+ {
+ 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 22:45:30 */
+static TAO_CORBA_AliasDef_Perfect_Hash_OpTable tao_CORBA_AliasDef_optable;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+class TAO_ServerRequestInfo_CORBA_AliasDef_original_type_def_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_AliasDef_original_type_def_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_AliasDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_IDLType_ptr result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_AliasDef_original_type_def_get (const TAO_ServerRequestInfo_CORBA_AliasDef_original_type_def_get &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_AliasDef_original_type_def_get &);
+
+private:
+ POA_CORBA_AliasDef *_tao_impl;
+ CORBA_IDLType_ptr _result;
+};
+
+TAO_ServerRequestInfo_CORBA_AliasDef_original_type_def_get::TAO_ServerRequestInfo_CORBA_AliasDef_original_type_def_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_AliasDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_AliasDef_original_type_def_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_AliasDef_original_type_def_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_AliasDef_original_type_def_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_AliasDef_original_type_def_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_AliasDef_original_type_def_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_AliasDef_original_type_def_get::result (CORBA_IDLType_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_AliasDef_original_type_def_set : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_AliasDef_original_type_def_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_AliasDef *tao_impl
+ ,
+ CORBA_IDLType_ptr original_type_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+
+private:
+ TAO_ServerRequestInfo_CORBA_AliasDef_original_type_def_set (const TAO_ServerRequestInfo_CORBA_AliasDef_original_type_def_set &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_AliasDef_original_type_def_set &);
+
+private:
+ POA_CORBA_AliasDef *_tao_impl;
+ CORBA_IDLType_ptr original_type_def_;
+
+};
+
+TAO_ServerRequestInfo_CORBA_AliasDef_original_type_def_set::TAO_ServerRequestInfo_CORBA_AliasDef_original_type_def_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_AliasDef *tao_impl,
+ CORBA_IDLType_ptr original_type_def
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ original_type_def_ (original_type_def)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_AliasDef_original_type_def_set::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (1);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= this->original_type_def_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_AliasDef_original_type_def_set::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_AliasDef_original_type_def_set::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 1;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return result_any;
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_AliasDef_original_type_def_set::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_AliasDef_original_type_def_set::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Implementation
+//
+
+// Factory function Implementation.
+_TAO_CORBA_AliasDef_Strategized_Proxy_Broker *_TAO_CORBA_AliasDef_Strategized_Proxy_Broker::the_TAO_CORBA_AliasDef_Strategized_Proxy_Broker (void)
+{
+ static _TAO_CORBA_AliasDef_Strategized_Proxy_Broker strategized_proxy_broker;
+ return &strategized_proxy_broker;
+}
+
+_TAO_CORBA_AliasDef_Strategized_Proxy_Broker::_TAO_CORBA_AliasDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ this->proxy_cache_[i] = 0;
+
+}
+
+_TAO_CORBA_AliasDef_Strategized_Proxy_Broker::~_TAO_CORBA_AliasDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ delete this->proxy_cache_[i];
+
+}
+
+_TAO_CORBA_AliasDef_Proxy_Impl&
+_TAO_CORBA_AliasDef_Strategized_Proxy_Broker::select_proxy (
+ ::CORBA_AliasDef *object
+ ACE_ENV_ARG_DECL
+ )
+{
+ int strategy =
+ TAO_ORB_Core::collocation_strategy (object ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ if (this->proxy_cache_[strategy] != 0)
+ return *this->proxy_cache_[strategy];
+
+ this->create_proxy (strategy ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ return *this->proxy_cache_[strategy];
+
+}
+
+void
+_TAO_CORBA_AliasDef_Strategized_Proxy_Broker::create_proxy (
+ int strategy
+ ACE_ENV_ARG_DECL
+ )
+{
+ ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_);
+
+ if (this->proxy_cache_[strategy] == 0)
+ {
+ switch (strategy)
+ {
+ case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ _TAO_CORBA_AliasDef_ThruPOA_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY:
+ default:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ ::_TAO_CORBA_AliasDef_Remote_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ }
+
+ }
+}
+
+
+//
+// End Strategized Proxy Broker Implementation
+///////////////////////////////////////////////////////////////////////
+
+
+_TAO_CORBA_AliasDef_Proxy_Broker *
+_TAO_CORBA_AliasDef_Proxy_Broker_Factory_function (CORBA::Object_ptr obj)
+{
+ ACE_UNUSED_ARG (obj);
+ return ::_TAO_CORBA_AliasDef_Strategized_Proxy_Broker::the_TAO_CORBA_AliasDef_Strategized_Proxy_Broker();
+}
+
+int
+_TAO_CORBA_AliasDef_Proxy_Broker_Factory_Initializer (long)
+{
+ _TAO_CORBA_AliasDef_Proxy_Broker_Factory_function_pointer =
+ _TAO_CORBA_AliasDef_Proxy_Broker_Factory_function;
+
+ return 0;
+}
+
+static int _TAO_CORBA_AliasDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
+ _TAO_CORBA_AliasDef_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_CORBA_AliasDef_Proxy_Broker_Factory_Initializer));
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Proxy Implementation
+//
+
+_TAO_CORBA_AliasDef_ThruPOA_Proxy_Impl::_TAO_CORBA_AliasDef_ThruPOA_Proxy_Impl (void)
+{}
+
+// ThruPOA Implementation of the IDL interface methods
+
+CORBA_IDLType_ptr _TAO_CORBA_AliasDef_ThruPOA_Proxy_Impl::original_type_def (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_IDLType_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "original_type_def",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_AliasDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/AliasDef:1.0"
+ )
+ )->original_type_def (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+void _TAO_CORBA_AliasDef_ThruPOA_Proxy_Impl::original_type_def (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA_IDLType_ptr original_type_def
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "original_type_def",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_CORBA_AliasDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/AliasDef:1.0"
+ )
+ )->original_type_def (
+ original_type_def
+ ACE_ENV_ARG_PARAMETER
+ );
+ return;
+}
+
+//
+// End ThruPOA Proxy Implementation
+///////////////////////////////////////////////////////////////////////
+
+// skeleton constructor
+POA_CORBA_AliasDef::POA_CORBA_AliasDef (void)
+{
+ this->optable_ = &tao_CORBA_AliasDef_optable;
+}
+
+// copy ctor
+POA_CORBA_AliasDef::POA_CORBA_AliasDef (const POA_CORBA_AliasDef& rhs)
+ : POA_CORBA_TypedefDef (rhs),
+ POA_CORBA_Contained (rhs),
+ POA_CORBA_IDLType (rhs),
+ POA_CORBA_IRObject (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_CORBA_AliasDef::~POA_CORBA_AliasDef (void)
+{
+}
+
+void POA_CORBA_AliasDef::_get_original_type_def_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_AliasDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_AliasDef *, _tao_object_reference);
+
+ CORBA_IDLType_var _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_AliasDef_original_type_def_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->original_type_def (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_IDLType_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_AliasDef::_set_original_type_def_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_AliasDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_AliasDef *, _tao_object_reference);
+
+ _tao_server_request.argument_flag (0);
+ CORBA_IDLType_var original_type_def;
+ if (!(
+ (_tao_in >> original_type_def.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_AliasDef_original_type_def_set ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ original_type_def.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->original_type_def (
+ original_type_def.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_AliasDef::_is_a_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_AliasDef *_tao_impl = (POA_CORBA_AliasDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!(_tao_in >> value.out ()))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_CORBA_AliasDef::_non_existent_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_AliasDef *_tao_impl = (POA_CORBA_AliasDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_CORBA_AliasDef::_interface_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_AliasDef *_tao_impl = (POA_CORBA_AliasDef *) _tao_object_reference;
+ CORBA_InterfaceDef_ptr _tao_retval = 0;
+ CORBA::Boolean _tao_result = 0;
+
+ TAO_IFR_Client_Adapter *_tao_adapter =
+ ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
+ TAO_ORB_Core::ifr_client_adapter_name ()
+ );
+
+ if (_tao_adapter == 0)
+ {
+ ACE_THROW (CORBA::INTF_REPOS ());
+ }
+
+ ACE_TRY
+ {
+ _tao_retval = _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ _tao_result =
+ _tao_adapter->interfacedef_cdr_insert (
+ _tao_out,
+ _tao_retval
+ );
+ }
+ ACE_CATCHALL
+ {
+ _tao_adapter->dispose (_tao_retval);
+ }
+ ACE_ENDTRY;
+
+ if (_tao_result == 0)
+ {
+ ACE_THROW (CORBA::MARSHAL ());
+ }
+}
+
+CORBA::Boolean POA_CORBA_AliasDef::_is_a (
+ const char* value
+ ACE_ENV_ARG_DECL
+ )
+{
+ const char *base_id = CORBA::_tc_Object->id (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/AliasDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/TypedefDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Contained:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IDLType:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, base_id)))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_CORBA_AliasDef::_downcast (
+ const char* logical_type_id
+ )
+{
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/AliasDef:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_AliasDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/TypedefDef:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_TypedefDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Contained:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_Contained_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IDLType:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IDLType_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_CORBA_AliasDef::_dispatch (TAO_ServerRequest &req, void *servant_upcall ACE_ENV_ARG_DECL)
+{
+ this->synchronous_upcall_dispatch (req,
+ servant_upcall,
+ this
+ ACE_ENV_ARG_PARAMETER);
+}
+
+
+const char* POA_CORBA_AliasDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/CORBA/AliasDef:1.0";
+}
+
+CORBA_AliasDef*
+POA_CORBA_AliasDef::_this (ACE_ENV_SINGLE_ARG_DECL)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ TAO_Stub_Auto_Ptr safe_stub (stub);
+
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0);
+ else
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0);
+
+ CORBA::Object_var obj = tmp;
+
+ (void) safe_stub.release ();
+
+ return ::CORBA_AliasDef::_unchecked_narrow (obj.in ());
+}
+
+
+class TAO_CORBA_NativeDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 22:45:31 */
+/* 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_NativeDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_CORBA_NativeDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 0, 0, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 0, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 10, 37, 37, 37, 37, 10, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37,
+#else
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 0, 37, 0, 37, 37,
+ 0, 0, 37, 37, 37, 37, 37, 37, 37, 0,
+ 0, 37, 37, 37, 37, 37, 10, 37, 37, 37,
+ 37, 10, 37, 37, 37, 37, 37, 37,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_CORBA_NativeDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 17,
+ MIN_WORD_LENGTH = 4,
+ MAX_WORD_LENGTH = 26,
+ MIN_HASH_VALUE = 4,
+ MAX_HASH_VALUE = 36,
+ HASH_VALUE_RANGE = 33,
+ DUPLICATES = 5,
+ WORDLIST_SIZE = 21
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},
+ {"move", &POA_CORBA_NativeDef::move_skel},
+ {"_is_a", &POA_CORBA_NativeDef::_is_a_skel},
+ {"_get_id", &POA_CORBA_NativeDef::_get_id_skel},
+ {"_set_id", &POA_CORBA_NativeDef::_set_id_skel},
+ {"describe", &POA_CORBA_NativeDef::describe_skel},
+ {"_get_name", &POA_CORBA_NativeDef::_get_name_skel},
+ {"_get_type", &POA_CORBA_NativeDef::_get_type_skel},
+ {"_set_name", &POA_CORBA_NativeDef::_set_name_skel},
+ {"_interface", &POA_CORBA_NativeDef::_interface_skel},
+ {"_get_version", &POA_CORBA_NativeDef::_get_version_skel},
+ {"_set_version", &POA_CORBA_NativeDef::_set_version_skel},
+ {"_get_def_kind", &POA_CORBA_NativeDef::_get_def_kind_skel},
+ {"_get_defined_in", &POA_CORBA_NativeDef::_get_defined_in_skel},
+ {"destroy", &POA_CORBA_NativeDef::destroy_skel},
+ {"_get_absolute_name", &POA_CORBA_NativeDef::_get_absolute_name_skel},
+ {"_non_existent", &POA_CORBA_NativeDef::_non_existent_skel},
+ {"_get_containing_repository", &POA_CORBA_NativeDef::_get_containing_repository_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -9, -3, -13, -2, 4, 5, -1, 48, 8, -45, 12, -1, -46, 15,
+ -1, 16, -1, 17, 18, -6, -2, -1, -1, 19, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 20,
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ int slot = lookup[key];
+
+ if (slot >= 0 && slot < WORDLIST_SIZE)
+ {
+ 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 22:45:31 */
+static TAO_CORBA_NativeDef_Perfect_Hash_OpTable tao_CORBA_NativeDef_optable;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+#endif /* TAO_HAS_INTERCEPTORS */
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Implementation
+//
+
+// Factory function Implementation.
+_TAO_CORBA_NativeDef_Strategized_Proxy_Broker *_TAO_CORBA_NativeDef_Strategized_Proxy_Broker::the_TAO_CORBA_NativeDef_Strategized_Proxy_Broker (void)
+{
+ static _TAO_CORBA_NativeDef_Strategized_Proxy_Broker strategized_proxy_broker;
+ return &strategized_proxy_broker;
+}
+
+_TAO_CORBA_NativeDef_Strategized_Proxy_Broker::_TAO_CORBA_NativeDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ this->proxy_cache_[i] = 0;
+
+}
+
+_TAO_CORBA_NativeDef_Strategized_Proxy_Broker::~_TAO_CORBA_NativeDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ delete this->proxy_cache_[i];
+
+}
+
+_TAO_CORBA_NativeDef_Proxy_Impl&
+_TAO_CORBA_NativeDef_Strategized_Proxy_Broker::select_proxy (
+ ::CORBA_NativeDef *object
+ ACE_ENV_ARG_DECL
+ )
+{
+ int strategy =
+ TAO_ORB_Core::collocation_strategy (object ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ if (this->proxy_cache_[strategy] != 0)
+ return *this->proxy_cache_[strategy];
+
+ this->create_proxy (strategy ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ return *this->proxy_cache_[strategy];
+
+}
+
+void
+_TAO_CORBA_NativeDef_Strategized_Proxy_Broker::create_proxy (
+ int strategy
+ ACE_ENV_ARG_DECL
+ )
+{
+ ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_);
+
+ if (this->proxy_cache_[strategy] == 0)
+ {
+ switch (strategy)
+ {
+ case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ _TAO_CORBA_NativeDef_ThruPOA_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY:
+ default:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ ::_TAO_CORBA_NativeDef_Remote_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ }
+
+ }
+}
+
+
+//
+// End Strategized Proxy Broker Implementation
+///////////////////////////////////////////////////////////////////////
+
+
+_TAO_CORBA_NativeDef_Proxy_Broker *
+_TAO_CORBA_NativeDef_Proxy_Broker_Factory_function (CORBA::Object_ptr obj)
+{
+ ACE_UNUSED_ARG (obj);
+ return ::_TAO_CORBA_NativeDef_Strategized_Proxy_Broker::the_TAO_CORBA_NativeDef_Strategized_Proxy_Broker();
+}
+
+int
+_TAO_CORBA_NativeDef_Proxy_Broker_Factory_Initializer (long)
+{
+ _TAO_CORBA_NativeDef_Proxy_Broker_Factory_function_pointer =
+ _TAO_CORBA_NativeDef_Proxy_Broker_Factory_function;
+
+ return 0;
+}
+
+static int _TAO_CORBA_NativeDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
+ _TAO_CORBA_NativeDef_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_CORBA_NativeDef_Proxy_Broker_Factory_Initializer));
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Proxy Implementation
+//
+
+_TAO_CORBA_NativeDef_ThruPOA_Proxy_Impl::_TAO_CORBA_NativeDef_ThruPOA_Proxy_Impl (void)
+{}
+
+// ThruPOA Implementation of the IDL interface methods
+
+//
+// End ThruPOA Proxy Implementation
+///////////////////////////////////////////////////////////////////////
+
+// skeleton constructor
+POA_CORBA_NativeDef::POA_CORBA_NativeDef (void)
+{
+ this->optable_ = &tao_CORBA_NativeDef_optable;
+}
+
+// copy ctor
+POA_CORBA_NativeDef::POA_CORBA_NativeDef (const POA_CORBA_NativeDef& rhs)
+ : POA_CORBA_TypedefDef (rhs),
+ POA_CORBA_Contained (rhs),
+ POA_CORBA_IDLType (rhs),
+ POA_CORBA_IRObject (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_CORBA_NativeDef::~POA_CORBA_NativeDef (void)
+{
+}
+
+void POA_CORBA_NativeDef::_is_a_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_NativeDef *_tao_impl = (POA_CORBA_NativeDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!(_tao_in >> value.out ()))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_CORBA_NativeDef::_non_existent_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_NativeDef *_tao_impl = (POA_CORBA_NativeDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_CORBA_NativeDef::_interface_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_NativeDef *_tao_impl = (POA_CORBA_NativeDef *) _tao_object_reference;
+ CORBA_InterfaceDef_ptr _tao_retval = 0;
+ CORBA::Boolean _tao_result = 0;
+
+ TAO_IFR_Client_Adapter *_tao_adapter =
+ ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
+ TAO_ORB_Core::ifr_client_adapter_name ()
+ );
+
+ if (_tao_adapter == 0)
+ {
+ ACE_THROW (CORBA::INTF_REPOS ());
+ }
+
+ ACE_TRY
+ {
+ _tao_retval = _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ _tao_result =
+ _tao_adapter->interfacedef_cdr_insert (
+ _tao_out,
+ _tao_retval
+ );
+ }
+ ACE_CATCHALL
+ {
+ _tao_adapter->dispose (_tao_retval);
+ }
+ ACE_ENDTRY;
+
+ if (_tao_result == 0)
+ {
+ ACE_THROW (CORBA::MARSHAL ());
+ }
+}
+
+CORBA::Boolean POA_CORBA_NativeDef::_is_a (
+ const char* value
+ ACE_ENV_ARG_DECL
+ )
+{
+ const char *base_id = CORBA::_tc_Object->id (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/NativeDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/TypedefDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Contained:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IDLType:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, base_id)))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_CORBA_NativeDef::_downcast (
+ const char* logical_type_id
+ )
+{
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/NativeDef:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_NativeDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/TypedefDef:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_TypedefDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Contained:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_Contained_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IDLType:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IDLType_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_CORBA_NativeDef::_dispatch (TAO_ServerRequest &req, void *servant_upcall ACE_ENV_ARG_DECL)
+{
+ this->synchronous_upcall_dispatch (req,
+ servant_upcall,
+ this
+ ACE_ENV_ARG_PARAMETER);
+}
+
+
+const char* POA_CORBA_NativeDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/CORBA/NativeDef:1.0";
+}
+
+CORBA_NativeDef*
+POA_CORBA_NativeDef::_this (ACE_ENV_SINGLE_ARG_DECL)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ TAO_Stub_Auto_Ptr safe_stub (stub);
+
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0);
+ else
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0);
+
+ CORBA::Object_var obj = tmp;
+
+ (void) safe_stub.release ();
+
+ return ::CORBA_NativeDef::_unchecked_narrow (obj.in ());
+}
+
+
+class TAO_CORBA_PrimitiveDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 22:45:31 */
+/* 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_PrimitiveDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_CORBA_PrimitiveDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 0,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 0,
+ 19, 19, 0, 5, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 5, 19, 19, 19, 19, 0, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19,
+#else
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 0, 19, 0, 19, 19,
+ 0, 5, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 5, 19, 19, 19,
+ 19, 0, 19, 19, 19, 19, 19, 19,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_CORBA_PrimitiveDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 7,
+ MIN_WORD_LENGTH = 5,
+ MAX_WORD_LENGTH = 13,
+ MIN_HASH_VALUE = 5,
+ MAX_HASH_VALUE = 18,
+ HASH_VALUE_RANGE = 14,
+ DUPLICATES = 0,
+ WORDLIST_SIZE = 12
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},{"",0},
+ {"_is_a", &POA_CORBA_PrimitiveDef::_is_a_skel},
+ {"",0},
+ {"destroy", &POA_CORBA_PrimitiveDef::destroy_skel},
+ {"",0},
+ {"_get_kind", &POA_CORBA_PrimitiveDef::_get_kind_skel},
+ {"",0},{"",0},{"",0},
+ {"_get_def_kind", &POA_CORBA_PrimitiveDef::_get_def_kind_skel},
+ {"_get_type", &POA_CORBA_PrimitiveDef::_get_type_skel},
+ {"_interface", &POA_CORBA_PrimitiveDef::_interface_skel},
+ {"",0},{"",0},
+ {"_non_existent", &POA_CORBA_PrimitiveDef::_non_existent_skel},
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ const char *s = wordlist[key].opname_;
+
+ if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
+ return &wordlist[key];
+ }
+ }
+ return 0;
+}
+/* ending time is 22:45:31 */
+static TAO_CORBA_PrimitiveDef_Perfect_Hash_OpTable tao_CORBA_PrimitiveDef_optable;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+class TAO_ServerRequestInfo_CORBA_PrimitiveDef_kind_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_PrimitiveDef_kind_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_PrimitiveDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA::PrimitiveKind result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_PrimitiveDef_kind_get (const TAO_ServerRequestInfo_CORBA_PrimitiveDef_kind_get &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_PrimitiveDef_kind_get &);
+
+private:
+ POA_CORBA_PrimitiveDef *_tao_impl;
+ CORBA::PrimitiveKind _result;
+};
+
+TAO_ServerRequestInfo_CORBA_PrimitiveDef_kind_get::TAO_ServerRequestInfo_CORBA_PrimitiveDef_kind_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_PrimitiveDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_PrimitiveDef_kind_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_PrimitiveDef_kind_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_PrimitiveDef_kind_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_PrimitiveDef_kind_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_PrimitiveDef_kind_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_PrimitiveDef_kind_get::result (CORBA::PrimitiveKind result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Implementation
+//
+
+// Factory function Implementation.
+_TAO_CORBA_PrimitiveDef_Strategized_Proxy_Broker *_TAO_CORBA_PrimitiveDef_Strategized_Proxy_Broker::the_TAO_CORBA_PrimitiveDef_Strategized_Proxy_Broker (void)
+{
+ static _TAO_CORBA_PrimitiveDef_Strategized_Proxy_Broker strategized_proxy_broker;
+ return &strategized_proxy_broker;
+}
+
+_TAO_CORBA_PrimitiveDef_Strategized_Proxy_Broker::_TAO_CORBA_PrimitiveDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ this->proxy_cache_[i] = 0;
+
+}
+
+_TAO_CORBA_PrimitiveDef_Strategized_Proxy_Broker::~_TAO_CORBA_PrimitiveDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ delete this->proxy_cache_[i];
+
+}
+
+_TAO_CORBA_PrimitiveDef_Proxy_Impl&
+_TAO_CORBA_PrimitiveDef_Strategized_Proxy_Broker::select_proxy (
+ ::CORBA_PrimitiveDef *object
+ ACE_ENV_ARG_DECL
+ )
+{
+ int strategy =
+ TAO_ORB_Core::collocation_strategy (object ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ if (this->proxy_cache_[strategy] != 0)
+ return *this->proxy_cache_[strategy];
+
+ this->create_proxy (strategy ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ return *this->proxy_cache_[strategy];
+
+}
+
+void
+_TAO_CORBA_PrimitiveDef_Strategized_Proxy_Broker::create_proxy (
+ int strategy
+ ACE_ENV_ARG_DECL
+ )
+{
+ ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_);
+
+ if (this->proxy_cache_[strategy] == 0)
+ {
+ switch (strategy)
+ {
+ case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ _TAO_CORBA_PrimitiveDef_ThruPOA_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY:
+ default:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ ::_TAO_CORBA_PrimitiveDef_Remote_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ }
+
+ }
+}
+
+
+//
+// End Strategized Proxy Broker Implementation
+///////////////////////////////////////////////////////////////////////
+
+
+_TAO_CORBA_PrimitiveDef_Proxy_Broker *
+_TAO_CORBA_PrimitiveDef_Proxy_Broker_Factory_function (CORBA::Object_ptr obj)
+{
+ ACE_UNUSED_ARG (obj);
+ return ::_TAO_CORBA_PrimitiveDef_Strategized_Proxy_Broker::the_TAO_CORBA_PrimitiveDef_Strategized_Proxy_Broker();
+}
+
+int
+_TAO_CORBA_PrimitiveDef_Proxy_Broker_Factory_Initializer (long)
+{
+ _TAO_CORBA_PrimitiveDef_Proxy_Broker_Factory_function_pointer =
+ _TAO_CORBA_PrimitiveDef_Proxy_Broker_Factory_function;
+
+ return 0;
+}
+
+static int _TAO_CORBA_PrimitiveDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
+ _TAO_CORBA_PrimitiveDef_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_CORBA_PrimitiveDef_Proxy_Broker_Factory_Initializer));
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Proxy Implementation
+//
+
+_TAO_CORBA_PrimitiveDef_ThruPOA_Proxy_Impl::_TAO_CORBA_PrimitiveDef_ThruPOA_Proxy_Impl (void)
+{}
+
+// ThruPOA Implementation of the IDL interface methods
+
+CORBA::PrimitiveKind _TAO_CORBA_PrimitiveDef_ThruPOA_Proxy_Impl::kind (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::PrimitiveKind _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "kind",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (_tao_retval);
+ return ACE_reinterpret_cast (
+ POA_CORBA_PrimitiveDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/PrimitiveDef:1.0"
+ )
+ )->kind (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+//
+// End ThruPOA Proxy Implementation
+///////////////////////////////////////////////////////////////////////
+
+// skeleton constructor
+POA_CORBA_PrimitiveDef::POA_CORBA_PrimitiveDef (void)
+{
+ this->optable_ = &tao_CORBA_PrimitiveDef_optable;
+}
+
+// copy ctor
+POA_CORBA_PrimitiveDef::POA_CORBA_PrimitiveDef (const POA_CORBA_PrimitiveDef& rhs)
+ : POA_CORBA_IDLType (rhs),
+ POA_CORBA_IRObject (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_CORBA_PrimitiveDef::~POA_CORBA_PrimitiveDef (void)
+{
+}
+
+void POA_CORBA_PrimitiveDef::_get_kind_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_PrimitiveDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_PrimitiveDef *, _tao_object_reference);
+
+ CORBA::PrimitiveKind _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_PrimitiveDef_kind_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->kind (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA::PrimitiveKind _tao_retval_info = _tao_retval;
+ ri.result (_tao_retval_info);
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval)
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_PrimitiveDef::_is_a_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_PrimitiveDef *_tao_impl = (POA_CORBA_PrimitiveDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!(_tao_in >> value.out ()))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_CORBA_PrimitiveDef::_non_existent_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_PrimitiveDef *_tao_impl = (POA_CORBA_PrimitiveDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_CORBA_PrimitiveDef::_interface_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_PrimitiveDef *_tao_impl = (POA_CORBA_PrimitiveDef *) _tao_object_reference;
+ CORBA_InterfaceDef_ptr _tao_retval = 0;
+ CORBA::Boolean _tao_result = 0;
+
+ TAO_IFR_Client_Adapter *_tao_adapter =
+ ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
+ TAO_ORB_Core::ifr_client_adapter_name ()
+ );
+
+ if (_tao_adapter == 0)
+ {
+ ACE_THROW (CORBA::INTF_REPOS ());
+ }
+
+ ACE_TRY
+ {
+ _tao_retval = _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ _tao_result =
+ _tao_adapter->interfacedef_cdr_insert (
+ _tao_out,
+ _tao_retval
+ );
+ }
+ ACE_CATCHALL
+ {
+ _tao_adapter->dispose (_tao_retval);
+ }
+ ACE_ENDTRY;
+
+ if (_tao_result == 0)
+ {
+ ACE_THROW (CORBA::MARSHAL ());
+ }
+}
+
+CORBA::Boolean POA_CORBA_PrimitiveDef::_is_a (
+ const char* value
+ ACE_ENV_ARG_DECL
+ )
+{
+ const char *base_id = CORBA::_tc_Object->id (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/PrimitiveDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IDLType:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, base_id)))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_CORBA_PrimitiveDef::_downcast (
+ const char* logical_type_id
+ )
+{
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/PrimitiveDef:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_PrimitiveDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IDLType:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IDLType_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_CORBA_PrimitiveDef::_dispatch (TAO_ServerRequest &req, void *servant_upcall ACE_ENV_ARG_DECL)
+{
+ this->synchronous_upcall_dispatch (req,
+ servant_upcall,
+ this
+ ACE_ENV_ARG_PARAMETER);
+}
+
+
+const char* POA_CORBA_PrimitiveDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/CORBA/PrimitiveDef:1.0";
+}
+
+CORBA_PrimitiveDef*
+POA_CORBA_PrimitiveDef::_this (ACE_ENV_SINGLE_ARG_DECL)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ TAO_Stub_Auto_Ptr safe_stub (stub);
+
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0);
+ else
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0);
+
+ CORBA::Object_var obj = tmp;
+
+ (void) safe_stub.release ();
+
+ return ::CORBA_PrimitiveDef::_unchecked_narrow (obj.in ());
+}
+
+
+class TAO_CORBA_StringDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 22:45:32 */
+/* 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_StringDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_CORBA_StringDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 0,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 0,
+ 19, 19, 0, 5, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 5, 19, 19, 19, 19, 0, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19,
+#else
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 0, 19, 0, 19, 19,
+ 0, 5, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 5, 19, 19, 19,
+ 19, 0, 19, 19, 19, 19, 19, 19,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_CORBA_StringDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 8,
+ MIN_WORD_LENGTH = 5,
+ MAX_WORD_LENGTH = 13,
+ MIN_HASH_VALUE = 5,
+ MAX_HASH_VALUE = 18,
+ HASH_VALUE_RANGE = 14,
+ DUPLICATES = 2,
+ WORDLIST_SIZE = 13
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},{"",0},
+ {"_is_a", &POA_CORBA_StringDef::_is_a_skel},
+ {"destroy", &POA_CORBA_StringDef::destroy_skel},
+ {"_get_bound", &POA_CORBA_StringDef::_get_bound_skel},
+ {"_set_bound", &POA_CORBA_StringDef::_set_bound_skel},
+ {"_get_def_kind", &POA_CORBA_StringDef::_get_def_kind_skel},
+ {"_get_type", &POA_CORBA_StringDef::_get_type_skel},
+ {"_interface", &POA_CORBA_StringDef::_interface_skel},
+ {"_non_existent", &POA_CORBA_StringDef::_non_existent_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -1, -1, -1, -1, -1, 5, -1, 6, -7, -2, -20, -1, -1, 9,
+ 10, 11, -1, -1, 12,
+ };
+
+ 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 < WORDLIST_SIZE)
+ {
+ 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 22:45:32 */
+static TAO_CORBA_StringDef_Perfect_Hash_OpTable tao_CORBA_StringDef_optable;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+class TAO_ServerRequestInfo_CORBA_StringDef_bound_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_StringDef_bound_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_StringDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA::ULong result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_StringDef_bound_get (const TAO_ServerRequestInfo_CORBA_StringDef_bound_get &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_StringDef_bound_get &);
+
+private:
+ POA_CORBA_StringDef *_tao_impl;
+ CORBA::ULong _result;
+};
+
+TAO_ServerRequestInfo_CORBA_StringDef_bound_get::TAO_ServerRequestInfo_CORBA_StringDef_bound_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_StringDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_StringDef_bound_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_StringDef_bound_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_StringDef_bound_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_StringDef_bound_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_StringDef_bound_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_StringDef_bound_get::result (CORBA::ULong result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_StringDef_bound_set : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_StringDef_bound_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_StringDef *tao_impl
+ ,
+ const CORBA::ULong & bound
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+
+private:
+ TAO_ServerRequestInfo_CORBA_StringDef_bound_set (const TAO_ServerRequestInfo_CORBA_StringDef_bound_set &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_StringDef_bound_set &);
+
+private:
+ POA_CORBA_StringDef *_tao_impl;
+ const CORBA::ULong & bound_;
+
+};
+
+TAO_ServerRequestInfo_CORBA_StringDef_bound_set::TAO_ServerRequestInfo_CORBA_StringDef_bound_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_StringDef *tao_impl,
+ const CORBA::ULong & bound
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ bound_ (bound)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_StringDef_bound_set::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (1);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= bound_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_StringDef_bound_set::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_StringDef_bound_set::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 1;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return result_any;
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_StringDef_bound_set::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_StringDef_bound_set::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Implementation
+//
+
+// Factory function Implementation.
+_TAO_CORBA_StringDef_Strategized_Proxy_Broker *_TAO_CORBA_StringDef_Strategized_Proxy_Broker::the_TAO_CORBA_StringDef_Strategized_Proxy_Broker (void)
+{
+ static _TAO_CORBA_StringDef_Strategized_Proxy_Broker strategized_proxy_broker;
+ return &strategized_proxy_broker;
+}
+
+_TAO_CORBA_StringDef_Strategized_Proxy_Broker::_TAO_CORBA_StringDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ this->proxy_cache_[i] = 0;
+
+}
+
+_TAO_CORBA_StringDef_Strategized_Proxy_Broker::~_TAO_CORBA_StringDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ delete this->proxy_cache_[i];
+
+}
+
+_TAO_CORBA_StringDef_Proxy_Impl&
+_TAO_CORBA_StringDef_Strategized_Proxy_Broker::select_proxy (
+ ::CORBA_StringDef *object
+ ACE_ENV_ARG_DECL
+ )
+{
+ int strategy =
+ TAO_ORB_Core::collocation_strategy (object ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ if (this->proxy_cache_[strategy] != 0)
+ return *this->proxy_cache_[strategy];
+
+ this->create_proxy (strategy ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ return *this->proxy_cache_[strategy];
+
+}
+
+void
+_TAO_CORBA_StringDef_Strategized_Proxy_Broker::create_proxy (
+ int strategy
+ ACE_ENV_ARG_DECL
+ )
+{
+ ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_);
+
+ if (this->proxy_cache_[strategy] == 0)
+ {
+ switch (strategy)
+ {
+ case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ _TAO_CORBA_StringDef_ThruPOA_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY:
+ default:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ ::_TAO_CORBA_StringDef_Remote_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ }
+
+ }
+}
+
+
+//
+// End Strategized Proxy Broker Implementation
+///////////////////////////////////////////////////////////////////////
+
+
+_TAO_CORBA_StringDef_Proxy_Broker *
+_TAO_CORBA_StringDef_Proxy_Broker_Factory_function (CORBA::Object_ptr obj)
+{
+ ACE_UNUSED_ARG (obj);
+ return ::_TAO_CORBA_StringDef_Strategized_Proxy_Broker::the_TAO_CORBA_StringDef_Strategized_Proxy_Broker();
+}
+
+int
+_TAO_CORBA_StringDef_Proxy_Broker_Factory_Initializer (long)
+{
+ _TAO_CORBA_StringDef_Proxy_Broker_Factory_function_pointer =
+ _TAO_CORBA_StringDef_Proxy_Broker_Factory_function;
+
+ return 0;
+}
+
+static int _TAO_CORBA_StringDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
+ _TAO_CORBA_StringDef_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_CORBA_StringDef_Proxy_Broker_Factory_Initializer));
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Proxy Implementation
+//
+
+_TAO_CORBA_StringDef_ThruPOA_Proxy_Impl::_TAO_CORBA_StringDef_ThruPOA_Proxy_Impl (void)
+{}
+
+// ThruPOA Implementation of the IDL interface methods
+
+CORBA::ULong _TAO_CORBA_StringDef_ThruPOA_Proxy_Impl::bound (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::ULong _tao_retval = 0;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "bound",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (_tao_retval);
+ return ACE_reinterpret_cast (
+ POA_CORBA_StringDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/StringDef:1.0"
+ )
+ )->bound (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+void _TAO_CORBA_StringDef_ThruPOA_Proxy_Impl::bound (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::ULong bound
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "bound",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_CORBA_StringDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/StringDef:1.0"
+ )
+ )->bound (
+ bound
+ ACE_ENV_ARG_PARAMETER
+ );
+ return;
+}
+
+//
+// End ThruPOA Proxy Implementation
+///////////////////////////////////////////////////////////////////////
+
+// skeleton constructor
+POA_CORBA_StringDef::POA_CORBA_StringDef (void)
+{
+ this->optable_ = &tao_CORBA_StringDef_optable;
+}
+
+// copy ctor
+POA_CORBA_StringDef::POA_CORBA_StringDef (const POA_CORBA_StringDef& rhs)
+ : POA_CORBA_IDLType (rhs),
+ POA_CORBA_IRObject (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_CORBA_StringDef::~POA_CORBA_StringDef (void)
+{
+}
+
+void POA_CORBA_StringDef::_get_bound_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_StringDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_StringDef *, _tao_object_reference);
+
+ CORBA::ULong _tao_retval = 0;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_StringDef_bound_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->bound (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA::ULong _tao_retval_info = _tao_retval;
+ ri.result (_tao_retval_info);
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval)
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_StringDef::_set_bound_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_StringDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_StringDef *, _tao_object_reference);
+
+ _tao_server_request.argument_flag (0);
+ CORBA::ULong bound;
+ if (!(
+ (_tao_in >> bound)
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_StringDef_bound_set ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ bound
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->bound (
+ bound
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_StringDef::_is_a_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_StringDef *_tao_impl = (POA_CORBA_StringDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!(_tao_in >> value.out ()))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_CORBA_StringDef::_non_existent_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_StringDef *_tao_impl = (POA_CORBA_StringDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_CORBA_StringDef::_interface_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_StringDef *_tao_impl = (POA_CORBA_StringDef *) _tao_object_reference;
+ CORBA_InterfaceDef_ptr _tao_retval = 0;
+ CORBA::Boolean _tao_result = 0;
+
+ TAO_IFR_Client_Adapter *_tao_adapter =
+ ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
+ TAO_ORB_Core::ifr_client_adapter_name ()
+ );
+
+ if (_tao_adapter == 0)
+ {
+ ACE_THROW (CORBA::INTF_REPOS ());
+ }
+
+ ACE_TRY
+ {
+ _tao_retval = _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ _tao_result =
+ _tao_adapter->interfacedef_cdr_insert (
+ _tao_out,
+ _tao_retval
+ );
+ }
+ ACE_CATCHALL
+ {
+ _tao_adapter->dispose (_tao_retval);
+ }
+ ACE_ENDTRY;
+
+ if (_tao_result == 0)
+ {
+ ACE_THROW (CORBA::MARSHAL ());
+ }
+}
+
+CORBA::Boolean POA_CORBA_StringDef::_is_a (
+ const char* value
+ ACE_ENV_ARG_DECL
+ )
+{
+ const char *base_id = CORBA::_tc_Object->id (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/StringDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IDLType:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, base_id)))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_CORBA_StringDef::_downcast (
+ const char* logical_type_id
+ )
+{
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/StringDef:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_StringDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IDLType:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IDLType_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_CORBA_StringDef::_dispatch (TAO_ServerRequest &req, void *servant_upcall ACE_ENV_ARG_DECL)
+{
+ this->synchronous_upcall_dispatch (req,
+ servant_upcall,
+ this
+ ACE_ENV_ARG_PARAMETER);
+}
+
+
+const char* POA_CORBA_StringDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/CORBA/StringDef:1.0";
+}
+
+CORBA_StringDef*
+POA_CORBA_StringDef::_this (ACE_ENV_SINGLE_ARG_DECL)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ TAO_Stub_Auto_Ptr safe_stub (stub);
+
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0);
+ else
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0);
+
+ CORBA::Object_var obj = tmp;
+
+ (void) safe_stub.release ();
+
+ return ::CORBA_StringDef::_unchecked_narrow (obj.in ());
+}
+
+
+class TAO_CORBA_WstringDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 22:45:32 */
+/* 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_WstringDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_CORBA_WstringDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 0,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 0,
+ 19, 19, 0, 5, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 5, 19, 19, 19, 19, 0, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19,
+#else
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 0, 19, 0, 19, 19,
+ 0, 5, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 5, 19, 19, 19,
+ 19, 0, 19, 19, 19, 19, 19, 19,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_CORBA_WstringDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 8,
+ MIN_WORD_LENGTH = 5,
+ MAX_WORD_LENGTH = 13,
+ MIN_HASH_VALUE = 5,
+ MAX_HASH_VALUE = 18,
+ HASH_VALUE_RANGE = 14,
+ DUPLICATES = 2,
+ WORDLIST_SIZE = 13
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},{"",0},
+ {"_is_a", &POA_CORBA_WstringDef::_is_a_skel},
+ {"destroy", &POA_CORBA_WstringDef::destroy_skel},
+ {"_get_bound", &POA_CORBA_WstringDef::_get_bound_skel},
+ {"_set_bound", &POA_CORBA_WstringDef::_set_bound_skel},
+ {"_get_def_kind", &POA_CORBA_WstringDef::_get_def_kind_skel},
+ {"_get_type", &POA_CORBA_WstringDef::_get_type_skel},
+ {"_interface", &POA_CORBA_WstringDef::_interface_skel},
+ {"_non_existent", &POA_CORBA_WstringDef::_non_existent_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -1, -1, -1, -1, -1, 5, -1, 6, -7, -2, -20, -1, -1, 9,
+ 10, 11, -1, -1, 12,
+ };
+
+ 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 < WORDLIST_SIZE)
+ {
+ 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 22:45:33 */
+static TAO_CORBA_WstringDef_Perfect_Hash_OpTable tao_CORBA_WstringDef_optable;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+class TAO_ServerRequestInfo_CORBA_WstringDef_bound_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_WstringDef_bound_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_WstringDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA::ULong result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_WstringDef_bound_get (const TAO_ServerRequestInfo_CORBA_WstringDef_bound_get &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_WstringDef_bound_get &);
+
+private:
+ POA_CORBA_WstringDef *_tao_impl;
+ CORBA::ULong _result;
+};
+
+TAO_ServerRequestInfo_CORBA_WstringDef_bound_get::TAO_ServerRequestInfo_CORBA_WstringDef_bound_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_WstringDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_WstringDef_bound_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_WstringDef_bound_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_WstringDef_bound_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_WstringDef_bound_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_WstringDef_bound_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_WstringDef_bound_get::result (CORBA::ULong result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_WstringDef_bound_set : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_WstringDef_bound_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_WstringDef *tao_impl
+ ,
+ const CORBA::ULong & bound
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+
+private:
+ TAO_ServerRequestInfo_CORBA_WstringDef_bound_set (const TAO_ServerRequestInfo_CORBA_WstringDef_bound_set &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_WstringDef_bound_set &);
+
+private:
+ POA_CORBA_WstringDef *_tao_impl;
+ const CORBA::ULong & bound_;
+
+};
+
+TAO_ServerRequestInfo_CORBA_WstringDef_bound_set::TAO_ServerRequestInfo_CORBA_WstringDef_bound_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_WstringDef *tao_impl,
+ const CORBA::ULong & bound
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ bound_ (bound)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_WstringDef_bound_set::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (1);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= bound_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_WstringDef_bound_set::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_WstringDef_bound_set::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 1;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return result_any;
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_WstringDef_bound_set::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_WstringDef_bound_set::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Implementation
+//
+
+// Factory function Implementation.
+_TAO_CORBA_WstringDef_Strategized_Proxy_Broker *_TAO_CORBA_WstringDef_Strategized_Proxy_Broker::the_TAO_CORBA_WstringDef_Strategized_Proxy_Broker (void)
+{
+ static _TAO_CORBA_WstringDef_Strategized_Proxy_Broker strategized_proxy_broker;
+ return &strategized_proxy_broker;
+}
+
+_TAO_CORBA_WstringDef_Strategized_Proxy_Broker::_TAO_CORBA_WstringDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ this->proxy_cache_[i] = 0;
+
+}
+
+_TAO_CORBA_WstringDef_Strategized_Proxy_Broker::~_TAO_CORBA_WstringDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ delete this->proxy_cache_[i];
+
+}
+
+_TAO_CORBA_WstringDef_Proxy_Impl&
+_TAO_CORBA_WstringDef_Strategized_Proxy_Broker::select_proxy (
+ ::CORBA_WstringDef *object
+ ACE_ENV_ARG_DECL
+ )
+{
+ int strategy =
+ TAO_ORB_Core::collocation_strategy (object ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ if (this->proxy_cache_[strategy] != 0)
+ return *this->proxy_cache_[strategy];
+
+ this->create_proxy (strategy ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ return *this->proxy_cache_[strategy];
+
+}
+
+void
+_TAO_CORBA_WstringDef_Strategized_Proxy_Broker::create_proxy (
+ int strategy
+ ACE_ENV_ARG_DECL
+ )
+{
+ ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_);
+
+ if (this->proxy_cache_[strategy] == 0)
+ {
+ switch (strategy)
+ {
+ case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ _TAO_CORBA_WstringDef_ThruPOA_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY:
+ default:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ ::_TAO_CORBA_WstringDef_Remote_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ }
+
+ }
+}
+
+
+//
+// End Strategized Proxy Broker Implementation
+///////////////////////////////////////////////////////////////////////
+
+
+_TAO_CORBA_WstringDef_Proxy_Broker *
+_TAO_CORBA_WstringDef_Proxy_Broker_Factory_function (CORBA::Object_ptr obj)
+{
+ ACE_UNUSED_ARG (obj);
+ return ::_TAO_CORBA_WstringDef_Strategized_Proxy_Broker::the_TAO_CORBA_WstringDef_Strategized_Proxy_Broker();
+}
+
+int
+_TAO_CORBA_WstringDef_Proxy_Broker_Factory_Initializer (long)
+{
+ _TAO_CORBA_WstringDef_Proxy_Broker_Factory_function_pointer =
+ _TAO_CORBA_WstringDef_Proxy_Broker_Factory_function;
+
+ return 0;
+}
+
+static int _TAO_CORBA_WstringDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
+ _TAO_CORBA_WstringDef_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_CORBA_WstringDef_Proxy_Broker_Factory_Initializer));
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Proxy Implementation
+//
+
+_TAO_CORBA_WstringDef_ThruPOA_Proxy_Impl::_TAO_CORBA_WstringDef_ThruPOA_Proxy_Impl (void)
+{}
+
+// ThruPOA Implementation of the IDL interface methods
+
+CORBA::ULong _TAO_CORBA_WstringDef_ThruPOA_Proxy_Impl::bound (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::ULong _tao_retval = 0;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "bound",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (_tao_retval);
+ return ACE_reinterpret_cast (
+ POA_CORBA_WstringDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/WstringDef:1.0"
+ )
+ )->bound (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+void _TAO_CORBA_WstringDef_ThruPOA_Proxy_Impl::bound (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::ULong bound
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "bound",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_CORBA_WstringDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/WstringDef:1.0"
+ )
+ )->bound (
+ bound
+ ACE_ENV_ARG_PARAMETER
+ );
+ return;
+}
+
+//
+// End ThruPOA Proxy Implementation
+///////////////////////////////////////////////////////////////////////
+
+// skeleton constructor
+POA_CORBA_WstringDef::POA_CORBA_WstringDef (void)
+{
+ this->optable_ = &tao_CORBA_WstringDef_optable;
+}
+
+// copy ctor
+POA_CORBA_WstringDef::POA_CORBA_WstringDef (const POA_CORBA_WstringDef& rhs)
+ : POA_CORBA_IDLType (rhs),
+ POA_CORBA_IRObject (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_CORBA_WstringDef::~POA_CORBA_WstringDef (void)
+{
+}
+
+void POA_CORBA_WstringDef::_get_bound_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_WstringDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_WstringDef *, _tao_object_reference);
+
+ CORBA::ULong _tao_retval = 0;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_WstringDef_bound_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->bound (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA::ULong _tao_retval_info = _tao_retval;
+ ri.result (_tao_retval_info);
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval)
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_WstringDef::_set_bound_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_WstringDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_WstringDef *, _tao_object_reference);
+
+ _tao_server_request.argument_flag (0);
+ CORBA::ULong bound;
+ if (!(
+ (_tao_in >> bound)
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_WstringDef_bound_set ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ bound
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->bound (
+ bound
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_WstringDef::_is_a_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_WstringDef *_tao_impl = (POA_CORBA_WstringDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!(_tao_in >> value.out ()))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_CORBA_WstringDef::_non_existent_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_WstringDef *_tao_impl = (POA_CORBA_WstringDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_CORBA_WstringDef::_interface_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_WstringDef *_tao_impl = (POA_CORBA_WstringDef *) _tao_object_reference;
+ CORBA_InterfaceDef_ptr _tao_retval = 0;
+ CORBA::Boolean _tao_result = 0;
+
+ TAO_IFR_Client_Adapter *_tao_adapter =
+ ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
+ TAO_ORB_Core::ifr_client_adapter_name ()
+ );
+
+ if (_tao_adapter == 0)
+ {
+ ACE_THROW (CORBA::INTF_REPOS ());
+ }
+
+ ACE_TRY
+ {
+ _tao_retval = _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ _tao_result =
+ _tao_adapter->interfacedef_cdr_insert (
+ _tao_out,
+ _tao_retval
+ );
+ }
+ ACE_CATCHALL
+ {
+ _tao_adapter->dispose (_tao_retval);
+ }
+ ACE_ENDTRY;
+
+ if (_tao_result == 0)
+ {
+ ACE_THROW (CORBA::MARSHAL ());
+ }
+}
+
+CORBA::Boolean POA_CORBA_WstringDef::_is_a (
+ const char* value
+ ACE_ENV_ARG_DECL
+ )
+{
+ const char *base_id = CORBA::_tc_Object->id (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/WstringDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IDLType:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, base_id)))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_CORBA_WstringDef::_downcast (
+ const char* logical_type_id
+ )
+{
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/WstringDef:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_WstringDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IDLType:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IDLType_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_CORBA_WstringDef::_dispatch (TAO_ServerRequest &req, void *servant_upcall ACE_ENV_ARG_DECL)
+{
+ this->synchronous_upcall_dispatch (req,
+ servant_upcall,
+ this
+ ACE_ENV_ARG_PARAMETER);
+}
+
+
+const char* POA_CORBA_WstringDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/CORBA/WstringDef:1.0";
+}
+
+CORBA_WstringDef*
+POA_CORBA_WstringDef::_this (ACE_ENV_SINGLE_ARG_DECL)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ TAO_Stub_Auto_Ptr safe_stub (stub);
+
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0);
+ else
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0);
+
+ CORBA::Object_var obj = tmp;
+
+ (void) safe_stub.release ();
+
+ return ::CORBA_WstringDef::_unchecked_narrow (obj.in ());
+}
+
+
+class TAO_CORBA_SequenceDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 22:45:34 */
+/* 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_SequenceDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_CORBA_SequenceDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
+ 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
+ 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
+ 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
+ 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
+ 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
+ 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
+ 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
+ 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
+ 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
+ 23, 23, 23, 23, 23, 23, 23, 23, 23, 0,
+ 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
+ 23, 23, 23, 23, 23, 23, 23, 23, 23, 0,
+ 23, 23, 0, 5, 0, 23, 23, 23, 23, 23,
+ 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
+ 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
+ 23, 23, 23, 5, 23, 23, 23, 23, 0, 23,
+ 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
+ 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
+ 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
+ 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
+ 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
+ 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
+ 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
+ 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
+ 23, 23, 23, 23, 23, 23,
+#else
+ 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
+ 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
+ 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
+ 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
+ 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
+ 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
+ 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
+ 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
+ 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
+ 23, 23, 23, 23, 23, 0, 23, 0, 23, 23,
+ 0, 5, 0, 23, 23, 23, 23, 23, 23, 23,
+ 23, 23, 23, 23, 23, 23, 5, 23, 23, 23,
+ 23, 0, 23, 23, 23, 23, 23, 23,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_CORBA_SequenceDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 11,
+ MIN_WORD_LENGTH = 5,
+ MAX_WORD_LENGTH = 21,
+ MIN_HASH_VALUE = 5,
+ MAX_HASH_VALUE = 22,
+ HASH_VALUE_RANGE = 18,
+ DUPLICATES = 3,
+ WORDLIST_SIZE = 16
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},{"",0},
+ {"_is_a", &POA_CORBA_SequenceDef::_is_a_skel},
+ {"destroy", &POA_CORBA_SequenceDef::destroy_skel},
+ {"_get_bound", &POA_CORBA_SequenceDef::_get_bound_skel},
+ {"_set_bound", &POA_CORBA_SequenceDef::_set_bound_skel},
+ {"_get_def_kind", &POA_CORBA_SequenceDef::_get_def_kind_skel},
+ {"_get_type", &POA_CORBA_SequenceDef::_get_type_skel},
+ {"_interface", &POA_CORBA_SequenceDef::_interface_skel},
+ {"_non_existent", &POA_CORBA_SequenceDef::_non_existent_skel},
+ {"_get_element_type_def", &POA_CORBA_SequenceDef::_get_element_type_def_skel},
+ {"_set_element_type_def", &POA_CORBA_SequenceDef::_set_element_type_def_skel},
+ {"_get_element_type", &POA_CORBA_SequenceDef::_get_element_type_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -1, -1, -1, -1, -1, 5, -1, 6, -7, -2, -24, -1, -1, 9,
+ 10, 11, -1, -1, 12, -13, -2, -24, 15,
+ };
+
+ 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 < WORDLIST_SIZE)
+ {
+ 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 22:45:34 */
+static TAO_CORBA_SequenceDef_Perfect_Hash_OpTable tao_CORBA_SequenceDef_optable;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+class TAO_ServerRequestInfo_CORBA_SequenceDef_bound_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_SequenceDef_bound_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_SequenceDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA::ULong result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_SequenceDef_bound_get (const TAO_ServerRequestInfo_CORBA_SequenceDef_bound_get &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_SequenceDef_bound_get &);
+
+private:
+ POA_CORBA_SequenceDef *_tao_impl;
+ CORBA::ULong _result;
+};
+
+TAO_ServerRequestInfo_CORBA_SequenceDef_bound_get::TAO_ServerRequestInfo_CORBA_SequenceDef_bound_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_SequenceDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_SequenceDef_bound_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_SequenceDef_bound_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_SequenceDef_bound_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_SequenceDef_bound_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_SequenceDef_bound_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_SequenceDef_bound_get::result (CORBA::ULong result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_SequenceDef_bound_set : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_SequenceDef_bound_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_SequenceDef *tao_impl
+ ,
+ const CORBA::ULong & bound
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+
+private:
+ TAO_ServerRequestInfo_CORBA_SequenceDef_bound_set (const TAO_ServerRequestInfo_CORBA_SequenceDef_bound_set &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_SequenceDef_bound_set &);
+
+private:
+ POA_CORBA_SequenceDef *_tao_impl;
+ const CORBA::ULong & bound_;
+
+};
+
+TAO_ServerRequestInfo_CORBA_SequenceDef_bound_set::TAO_ServerRequestInfo_CORBA_SequenceDef_bound_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_SequenceDef *tao_impl,
+ const CORBA::ULong & bound
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ bound_ (bound)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_SequenceDef_bound_set::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (1);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= bound_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_SequenceDef_bound_set::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_SequenceDef_bound_set::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 1;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return result_any;
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_SequenceDef_bound_set::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_SequenceDef_bound_set::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+class TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_SequenceDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA::TypeCode_ptr result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_get (const TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_get &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_get &);
+
+private:
+ POA_CORBA_SequenceDef *_tao_impl;
+ CORBA::TypeCode_ptr _result;
+};
+
+TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_get::TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_SequenceDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_get::result (CORBA::TypeCode_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_def_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_def_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_SequenceDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_IDLType_ptr result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_def_get (const TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_def_get &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_def_get &);
+
+private:
+ POA_CORBA_SequenceDef *_tao_impl;
+ CORBA_IDLType_ptr _result;
+};
+
+TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_def_get::TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_def_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_SequenceDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_def_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_def_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_def_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_def_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_def_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_def_get::result (CORBA_IDLType_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_def_set : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_def_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_SequenceDef *tao_impl
+ ,
+ CORBA_IDLType_ptr element_type_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+
+private:
+ TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_def_set (const TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_def_set &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_def_set &);
+
+private:
+ POA_CORBA_SequenceDef *_tao_impl;
+ CORBA_IDLType_ptr element_type_def_;
+
+};
+
+TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_def_set::TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_def_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_SequenceDef *tao_impl,
+ CORBA_IDLType_ptr element_type_def
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ element_type_def_ (element_type_def)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_def_set::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (1);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= this->element_type_def_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_def_set::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_def_set::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 1;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return result_any;
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_def_set::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_def_set::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Implementation
+//
+
+// Factory function Implementation.
+_TAO_CORBA_SequenceDef_Strategized_Proxy_Broker *_TAO_CORBA_SequenceDef_Strategized_Proxy_Broker::the_TAO_CORBA_SequenceDef_Strategized_Proxy_Broker (void)
+{
+ static _TAO_CORBA_SequenceDef_Strategized_Proxy_Broker strategized_proxy_broker;
+ return &strategized_proxy_broker;
+}
+
+_TAO_CORBA_SequenceDef_Strategized_Proxy_Broker::_TAO_CORBA_SequenceDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ this->proxy_cache_[i] = 0;
+
+}
+
+_TAO_CORBA_SequenceDef_Strategized_Proxy_Broker::~_TAO_CORBA_SequenceDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ delete this->proxy_cache_[i];
+
+}
+
+_TAO_CORBA_SequenceDef_Proxy_Impl&
+_TAO_CORBA_SequenceDef_Strategized_Proxy_Broker::select_proxy (
+ ::CORBA_SequenceDef *object
+ ACE_ENV_ARG_DECL
+ )
+{
+ int strategy =
+ TAO_ORB_Core::collocation_strategy (object ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ if (this->proxy_cache_[strategy] != 0)
+ return *this->proxy_cache_[strategy];
+
+ this->create_proxy (strategy ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ return *this->proxy_cache_[strategy];
+
+}
+
+void
+_TAO_CORBA_SequenceDef_Strategized_Proxy_Broker::create_proxy (
+ int strategy
+ ACE_ENV_ARG_DECL
+ )
+{
+ ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_);
+
+ if (this->proxy_cache_[strategy] == 0)
+ {
+ switch (strategy)
+ {
+ case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ _TAO_CORBA_SequenceDef_ThruPOA_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY:
+ default:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ ::_TAO_CORBA_SequenceDef_Remote_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ }
+
+ }
+}
+
+
+//
+// End Strategized Proxy Broker Implementation
+///////////////////////////////////////////////////////////////////////
+
+
+_TAO_CORBA_SequenceDef_Proxy_Broker *
+_TAO_CORBA_SequenceDef_Proxy_Broker_Factory_function (CORBA::Object_ptr obj)
+{
+ ACE_UNUSED_ARG (obj);
+ return ::_TAO_CORBA_SequenceDef_Strategized_Proxy_Broker::the_TAO_CORBA_SequenceDef_Strategized_Proxy_Broker();
+}
+
+int
+_TAO_CORBA_SequenceDef_Proxy_Broker_Factory_Initializer (long)
+{
+ _TAO_CORBA_SequenceDef_Proxy_Broker_Factory_function_pointer =
+ _TAO_CORBA_SequenceDef_Proxy_Broker_Factory_function;
+
+ return 0;
+}
+
+static int _TAO_CORBA_SequenceDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
+ _TAO_CORBA_SequenceDef_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_CORBA_SequenceDef_Proxy_Broker_Factory_Initializer));
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Proxy Implementation
+//
+
+_TAO_CORBA_SequenceDef_ThruPOA_Proxy_Impl::_TAO_CORBA_SequenceDef_ThruPOA_Proxy_Impl (void)
+{}
+
+// ThruPOA Implementation of the IDL interface methods
+
+CORBA::ULong _TAO_CORBA_SequenceDef_ThruPOA_Proxy_Impl::bound (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::ULong _tao_retval = 0;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "bound",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (_tao_retval);
+ return ACE_reinterpret_cast (
+ POA_CORBA_SequenceDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/SequenceDef:1.0"
+ )
+ )->bound (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+void _TAO_CORBA_SequenceDef_ThruPOA_Proxy_Impl::bound (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::ULong bound
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "bound",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_CORBA_SequenceDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/SequenceDef:1.0"
+ )
+ )->bound (
+ bound
+ ACE_ENV_ARG_PARAMETER
+ );
+ return;
+}
+
+CORBA::TypeCode_ptr _TAO_CORBA_SequenceDef_ThruPOA_Proxy_Impl::element_type (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::TypeCode_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "element_type",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_SequenceDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/SequenceDef:1.0"
+ )
+ )->element_type (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+CORBA_IDLType_ptr _TAO_CORBA_SequenceDef_ThruPOA_Proxy_Impl::element_type_def (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_IDLType_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "element_type_def",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_SequenceDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/SequenceDef:1.0"
+ )
+ )->element_type_def (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+void _TAO_CORBA_SequenceDef_ThruPOA_Proxy_Impl::element_type_def (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA_IDLType_ptr element_type_def
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "element_type_def",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_CORBA_SequenceDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/SequenceDef:1.0"
+ )
+ )->element_type_def (
+ element_type_def
+ ACE_ENV_ARG_PARAMETER
+ );
+ return;
+}
+
+//
+// End ThruPOA Proxy Implementation
+///////////////////////////////////////////////////////////////////////
+
+// skeleton constructor
+POA_CORBA_SequenceDef::POA_CORBA_SequenceDef (void)
+{
+ this->optable_ = &tao_CORBA_SequenceDef_optable;
+}
+
+// copy ctor
+POA_CORBA_SequenceDef::POA_CORBA_SequenceDef (const POA_CORBA_SequenceDef& rhs)
+ : POA_CORBA_IDLType (rhs),
+ POA_CORBA_IRObject (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_CORBA_SequenceDef::~POA_CORBA_SequenceDef (void)
+{
+}
+
+void POA_CORBA_SequenceDef::_get_bound_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_SequenceDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_SequenceDef *, _tao_object_reference);
+
+ CORBA::ULong _tao_retval = 0;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_SequenceDef_bound_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->bound (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA::ULong _tao_retval_info = _tao_retval;
+ ri.result (_tao_retval_info);
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval)
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_SequenceDef::_set_bound_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_SequenceDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_SequenceDef *, _tao_object_reference);
+
+ _tao_server_request.argument_flag (0);
+ CORBA::ULong bound;
+ if (!(
+ (_tao_in >> bound)
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_SequenceDef_bound_set ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ bound
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->bound (
+ bound
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_SequenceDef::_get_element_type_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_SequenceDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_SequenceDef *, _tao_object_reference);
+
+ CORBA::TypeCode_var _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->element_type (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA::TypeCode_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_SequenceDef::_get_element_type_def_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_SequenceDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_SequenceDef *, _tao_object_reference);
+
+ CORBA_IDLType_var _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_def_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->element_type_def (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_IDLType_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_SequenceDef::_set_element_type_def_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_SequenceDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_SequenceDef *, _tao_object_reference);
+
+ _tao_server_request.argument_flag (0);
+ CORBA_IDLType_var element_type_def;
+ if (!(
+ (_tao_in >> element_type_def.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_SequenceDef_element_type_def_set ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ element_type_def.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->element_type_def (
+ element_type_def.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_SequenceDef::_is_a_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_SequenceDef *_tao_impl = (POA_CORBA_SequenceDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!(_tao_in >> value.out ()))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_CORBA_SequenceDef::_non_existent_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_SequenceDef *_tao_impl = (POA_CORBA_SequenceDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_CORBA_SequenceDef::_interface_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_SequenceDef *_tao_impl = (POA_CORBA_SequenceDef *) _tao_object_reference;
+ CORBA_InterfaceDef_ptr _tao_retval = 0;
+ CORBA::Boolean _tao_result = 0;
+
+ TAO_IFR_Client_Adapter *_tao_adapter =
+ ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
+ TAO_ORB_Core::ifr_client_adapter_name ()
+ );
+
+ if (_tao_adapter == 0)
+ {
+ ACE_THROW (CORBA::INTF_REPOS ());
+ }
+
+ ACE_TRY
+ {
+ _tao_retval = _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ _tao_result =
+ _tao_adapter->interfacedef_cdr_insert (
+ _tao_out,
+ _tao_retval
+ );
+ }
+ ACE_CATCHALL
+ {
+ _tao_adapter->dispose (_tao_retval);
+ }
+ ACE_ENDTRY;
+
+ if (_tao_result == 0)
+ {
+ ACE_THROW (CORBA::MARSHAL ());
+ }
+}
+
+CORBA::Boolean POA_CORBA_SequenceDef::_is_a (
+ const char* value
+ ACE_ENV_ARG_DECL
+ )
+{
+ const char *base_id = CORBA::_tc_Object->id (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/SequenceDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IDLType:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, base_id)))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_CORBA_SequenceDef::_downcast (
+ const char* logical_type_id
+ )
+{
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/SequenceDef:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_SequenceDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IDLType:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IDLType_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_CORBA_SequenceDef::_dispatch (TAO_ServerRequest &req, void *servant_upcall ACE_ENV_ARG_DECL)
+{
+ this->synchronous_upcall_dispatch (req,
+ servant_upcall,
+ this
+ ACE_ENV_ARG_PARAMETER);
+}
+
+
+const char* POA_CORBA_SequenceDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/CORBA/SequenceDef:1.0";
+}
+
+CORBA_SequenceDef*
+POA_CORBA_SequenceDef::_this (ACE_ENV_SINGLE_ARG_DECL)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ TAO_Stub_Auto_Ptr safe_stub (stub);
+
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0);
+ else
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0);
+
+ CORBA::Object_var obj = tmp;
+
+ (void) safe_stub.release ();
+
+ return ::CORBA_SequenceDef::_unchecked_narrow (obj.in ());
+}
+
+
+class TAO_CORBA_ArrayDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 22:45:35 */
+/* 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_ArrayDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_CORBA_ArrayDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 0,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 0,
+ 22, 22, 0, 0, 0, 22, 0, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 5, 22, 22, 22, 22, 0, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22,
+#else
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 0, 22, 0, 22, 22,
+ 0, 0, 0, 22, 0, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 5, 22, 22, 22,
+ 22, 0, 22, 22, 22, 22, 22, 22,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_CORBA_ArrayDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 11,
+ MIN_WORD_LENGTH = 5,
+ MAX_WORD_LENGTH = 21,
+ MIN_HASH_VALUE = 5,
+ MAX_HASH_VALUE = 21,
+ HASH_VALUE_RANGE = 17,
+ DUPLICATES = 3,
+ WORDLIST_SIZE = 16
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},{"",0},
+ {"_is_a", &POA_CORBA_ArrayDef::_is_a_skel},
+ {"destroy", &POA_CORBA_ArrayDef::destroy_skel},
+ {"_get_type", &POA_CORBA_ArrayDef::_get_type_skel},
+ {"_interface", &POA_CORBA_ArrayDef::_interface_skel},
+ {"_get_length", &POA_CORBA_ArrayDef::_get_length_skel},
+ {"_set_length", &POA_CORBA_ArrayDef::_set_length_skel},
+ {"_get_def_kind", &POA_CORBA_ArrayDef::_get_def_kind_skel},
+ {"_get_element_type", &POA_CORBA_ArrayDef::_get_element_type_skel},
+ {"_non_existent", &POA_CORBA_ArrayDef::_non_existent_skel},
+ {"_get_element_type_def", &POA_CORBA_ArrayDef::_get_element_type_def_skel},
+ {"_set_element_type_def", &POA_CORBA_ArrayDef::_set_element_type_def_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -1, -1, -1, -9, -2, 5, -1, 6, -1, 7, 8, -29, -1, 11,
+ -1, -1, -1, 12, 13, -14, -2, -23,
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ int slot = lookup[key];
+
+ if (slot >= 0 && slot < WORDLIST_SIZE)
+ {
+ 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 22:45:35 */
+static TAO_CORBA_ArrayDef_Perfect_Hash_OpTable tao_CORBA_ArrayDef_optable;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+class TAO_ServerRequestInfo_CORBA_ArrayDef_length_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_ArrayDef_length_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_ArrayDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA::ULong result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_ArrayDef_length_get (const TAO_ServerRequestInfo_CORBA_ArrayDef_length_get &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_ArrayDef_length_get &);
+
+private:
+ POA_CORBA_ArrayDef *_tao_impl;
+ CORBA::ULong _result;
+};
+
+TAO_ServerRequestInfo_CORBA_ArrayDef_length_get::TAO_ServerRequestInfo_CORBA_ArrayDef_length_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_ArrayDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_ArrayDef_length_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_ArrayDef_length_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_ArrayDef_length_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_ArrayDef_length_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_ArrayDef_length_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_ArrayDef_length_get::result (CORBA::ULong result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_ArrayDef_length_set : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_ArrayDef_length_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_ArrayDef *tao_impl
+ ,
+ const CORBA::ULong & length
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+
+private:
+ TAO_ServerRequestInfo_CORBA_ArrayDef_length_set (const TAO_ServerRequestInfo_CORBA_ArrayDef_length_set &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_ArrayDef_length_set &);
+
+private:
+ POA_CORBA_ArrayDef *_tao_impl;
+ const CORBA::ULong & length_;
+
+};
+
+TAO_ServerRequestInfo_CORBA_ArrayDef_length_set::TAO_ServerRequestInfo_CORBA_ArrayDef_length_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_ArrayDef *tao_impl,
+ const CORBA::ULong & length
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ length_ (length)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_ArrayDef_length_set::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (1);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= length_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_ArrayDef_length_set::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_ArrayDef_length_set::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 1;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return result_any;
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_ArrayDef_length_set::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_ArrayDef_length_set::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+class TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_ArrayDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA::TypeCode_ptr result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_get (const TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_get &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_get &);
+
+private:
+ POA_CORBA_ArrayDef *_tao_impl;
+ CORBA::TypeCode_ptr _result;
+};
+
+TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_get::TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_ArrayDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_get::result (CORBA::TypeCode_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_def_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_def_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_ArrayDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_IDLType_ptr result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_def_get (const TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_def_get &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_def_get &);
+
+private:
+ POA_CORBA_ArrayDef *_tao_impl;
+ CORBA_IDLType_ptr _result;
+};
+
+TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_def_get::TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_def_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_ArrayDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_def_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_def_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_def_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_def_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_def_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_def_get::result (CORBA_IDLType_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_def_set : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_def_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_ArrayDef *tao_impl
+ ,
+ CORBA_IDLType_ptr element_type_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+
+private:
+ TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_def_set (const TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_def_set &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_def_set &);
+
+private:
+ POA_CORBA_ArrayDef *_tao_impl;
+ CORBA_IDLType_ptr element_type_def_;
+
+};
+
+TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_def_set::TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_def_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_ArrayDef *tao_impl,
+ CORBA_IDLType_ptr element_type_def
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ element_type_def_ (element_type_def)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_def_set::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (1);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= this->element_type_def_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_def_set::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_def_set::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 1;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return result_any;
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_def_set::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_def_set::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Implementation
+//
+
+// Factory function Implementation.
+_TAO_CORBA_ArrayDef_Strategized_Proxy_Broker *_TAO_CORBA_ArrayDef_Strategized_Proxy_Broker::the_TAO_CORBA_ArrayDef_Strategized_Proxy_Broker (void)
+{
+ static _TAO_CORBA_ArrayDef_Strategized_Proxy_Broker strategized_proxy_broker;
+ return &strategized_proxy_broker;
+}
+
+_TAO_CORBA_ArrayDef_Strategized_Proxy_Broker::_TAO_CORBA_ArrayDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ this->proxy_cache_[i] = 0;
+
+}
+
+_TAO_CORBA_ArrayDef_Strategized_Proxy_Broker::~_TAO_CORBA_ArrayDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ delete this->proxy_cache_[i];
+
+}
+
+_TAO_CORBA_ArrayDef_Proxy_Impl&
+_TAO_CORBA_ArrayDef_Strategized_Proxy_Broker::select_proxy (
+ ::CORBA_ArrayDef *object
+ ACE_ENV_ARG_DECL
+ )
+{
+ int strategy =
+ TAO_ORB_Core::collocation_strategy (object ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ if (this->proxy_cache_[strategy] != 0)
+ return *this->proxy_cache_[strategy];
+
+ this->create_proxy (strategy ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ return *this->proxy_cache_[strategy];
+
+}
+
+void
+_TAO_CORBA_ArrayDef_Strategized_Proxy_Broker::create_proxy (
+ int strategy
+ ACE_ENV_ARG_DECL
+ )
+{
+ ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_);
+
+ if (this->proxy_cache_[strategy] == 0)
+ {
+ switch (strategy)
+ {
+ case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ _TAO_CORBA_ArrayDef_ThruPOA_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY:
+ default:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ ::_TAO_CORBA_ArrayDef_Remote_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ }
+
+ }
+}
+
+
+//
+// End Strategized Proxy Broker Implementation
+///////////////////////////////////////////////////////////////////////
+
+
+_TAO_CORBA_ArrayDef_Proxy_Broker *
+_TAO_CORBA_ArrayDef_Proxy_Broker_Factory_function (CORBA::Object_ptr obj)
+{
+ ACE_UNUSED_ARG (obj);
+ return ::_TAO_CORBA_ArrayDef_Strategized_Proxy_Broker::the_TAO_CORBA_ArrayDef_Strategized_Proxy_Broker();
+}
+
+int
+_TAO_CORBA_ArrayDef_Proxy_Broker_Factory_Initializer (long)
+{
+ _TAO_CORBA_ArrayDef_Proxy_Broker_Factory_function_pointer =
+ _TAO_CORBA_ArrayDef_Proxy_Broker_Factory_function;
+
+ return 0;
+}
+
+static int _TAO_CORBA_ArrayDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
+ _TAO_CORBA_ArrayDef_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_CORBA_ArrayDef_Proxy_Broker_Factory_Initializer));
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Proxy Implementation
+//
+
+_TAO_CORBA_ArrayDef_ThruPOA_Proxy_Impl::_TAO_CORBA_ArrayDef_ThruPOA_Proxy_Impl (void)
+{}
+
+// ThruPOA Implementation of the IDL interface methods
+
+CORBA::ULong _TAO_CORBA_ArrayDef_ThruPOA_Proxy_Impl::length (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::ULong _tao_retval = 0;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "length",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (_tao_retval);
+ return ACE_reinterpret_cast (
+ POA_CORBA_ArrayDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/ArrayDef:1.0"
+ )
+ )->length (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+void _TAO_CORBA_ArrayDef_ThruPOA_Proxy_Impl::length (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::ULong length
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "length",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_CORBA_ArrayDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/ArrayDef:1.0"
+ )
+ )->length (
+ length
+ ACE_ENV_ARG_PARAMETER
+ );
+ return;
+}
+
+CORBA::TypeCode_ptr _TAO_CORBA_ArrayDef_ThruPOA_Proxy_Impl::element_type (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::TypeCode_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "element_type",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_ArrayDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/ArrayDef:1.0"
+ )
+ )->element_type (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+CORBA_IDLType_ptr _TAO_CORBA_ArrayDef_ThruPOA_Proxy_Impl::element_type_def (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_IDLType_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "element_type_def",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_ArrayDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/ArrayDef:1.0"
+ )
+ )->element_type_def (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+void _TAO_CORBA_ArrayDef_ThruPOA_Proxy_Impl::element_type_def (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA_IDLType_ptr element_type_def
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "element_type_def",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_CORBA_ArrayDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/ArrayDef:1.0"
+ )
+ )->element_type_def (
+ element_type_def
+ ACE_ENV_ARG_PARAMETER
+ );
+ return;
+}
+
+//
+// End ThruPOA Proxy Implementation
+///////////////////////////////////////////////////////////////////////
+
+// skeleton constructor
+POA_CORBA_ArrayDef::POA_CORBA_ArrayDef (void)
+{
+ this->optable_ = &tao_CORBA_ArrayDef_optable;
+}
+
+// copy ctor
+POA_CORBA_ArrayDef::POA_CORBA_ArrayDef (const POA_CORBA_ArrayDef& rhs)
+ : POA_CORBA_IDLType (rhs),
+ POA_CORBA_IRObject (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_CORBA_ArrayDef::~POA_CORBA_ArrayDef (void)
+{
+}
+
+void POA_CORBA_ArrayDef::_get_length_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_ArrayDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_ArrayDef *, _tao_object_reference);
+
+ CORBA::ULong _tao_retval = 0;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_ArrayDef_length_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->length (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA::ULong _tao_retval_info = _tao_retval;
+ ri.result (_tao_retval_info);
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval)
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_ArrayDef::_set_length_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_ArrayDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_ArrayDef *, _tao_object_reference);
+
+ _tao_server_request.argument_flag (0);
+ CORBA::ULong length;
+ if (!(
+ (_tao_in >> length)
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_ArrayDef_length_set ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ length
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->length (
+ length
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_ArrayDef::_get_element_type_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_ArrayDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_ArrayDef *, _tao_object_reference);
+
+ CORBA::TypeCode_var _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->element_type (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA::TypeCode_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_ArrayDef::_get_element_type_def_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_ArrayDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_ArrayDef *, _tao_object_reference);
+
+ CORBA_IDLType_var _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_def_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->element_type_def (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_IDLType_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_ArrayDef::_set_element_type_def_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_ArrayDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_ArrayDef *, _tao_object_reference);
+
+ _tao_server_request.argument_flag (0);
+ CORBA_IDLType_var element_type_def;
+ if (!(
+ (_tao_in >> element_type_def.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_ArrayDef_element_type_def_set ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ element_type_def.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->element_type_def (
+ element_type_def.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_ArrayDef::_is_a_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_ArrayDef *_tao_impl = (POA_CORBA_ArrayDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!(_tao_in >> value.out ()))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_CORBA_ArrayDef::_non_existent_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_ArrayDef *_tao_impl = (POA_CORBA_ArrayDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_CORBA_ArrayDef::_interface_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_ArrayDef *_tao_impl = (POA_CORBA_ArrayDef *) _tao_object_reference;
+ CORBA_InterfaceDef_ptr _tao_retval = 0;
+ CORBA::Boolean _tao_result = 0;
+
+ TAO_IFR_Client_Adapter *_tao_adapter =
+ ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
+ TAO_ORB_Core::ifr_client_adapter_name ()
+ );
+
+ if (_tao_adapter == 0)
+ {
+ ACE_THROW (CORBA::INTF_REPOS ());
+ }
+
+ ACE_TRY
+ {
+ _tao_retval = _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ _tao_result =
+ _tao_adapter->interfacedef_cdr_insert (
+ _tao_out,
+ _tao_retval
+ );
+ }
+ ACE_CATCHALL
+ {
+ _tao_adapter->dispose (_tao_retval);
+ }
+ ACE_ENDTRY;
+
+ if (_tao_result == 0)
+ {
+ ACE_THROW (CORBA::MARSHAL ());
+ }
+}
+
+CORBA::Boolean POA_CORBA_ArrayDef::_is_a (
+ const char* value
+ ACE_ENV_ARG_DECL
+ )
+{
+ const char *base_id = CORBA::_tc_Object->id (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/ArrayDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IDLType:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, base_id)))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_CORBA_ArrayDef::_downcast (
+ const char* logical_type_id
+ )
+{
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/ArrayDef:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_ArrayDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IDLType:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IDLType_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_CORBA_ArrayDef::_dispatch (TAO_ServerRequest &req, void *servant_upcall ACE_ENV_ARG_DECL)
+{
+ this->synchronous_upcall_dispatch (req,
+ servant_upcall,
+ this
+ ACE_ENV_ARG_PARAMETER);
+}
+
+
+const char* POA_CORBA_ArrayDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/CORBA/ArrayDef:1.0";
+}
+
+CORBA_ArrayDef*
+POA_CORBA_ArrayDef::_this (ACE_ENV_SINGLE_ARG_DECL)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ TAO_Stub_Auto_Ptr safe_stub (stub);
+
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0);
+ else
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0);
+
+ CORBA::Object_var obj = tmp;
+
+ (void) safe_stub.release ();
+
+ return ::CORBA_ArrayDef::_unchecked_narrow (obj.in ());
+}
+
+
+class TAO_CORBA_ExceptionDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 22:45:36 */
+/* 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_ExceptionDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_CORBA_ExceptionDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 0,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 0,
+ 61, 25, 8, 0, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 0, 15, 5,
+ 61, 0, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 20, 20, 61, 61, 61, 15, 10, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61,
+#else
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 0, 61, 0, 61, 25,
+ 8, 0, 61, 61, 61, 61, 61, 61, 0, 15,
+ 5, 61, 0, 61, 61, 20, 20, 61, 61, 61,
+ 15, 10, 61, 61, 61, 61, 61, 61,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_CORBA_ExceptionDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 36,
+ MIN_WORD_LENGTH = 4,
+ MAX_WORD_LENGTH = 26,
+ MIN_HASH_VALUE = 5,
+ MAX_HASH_VALUE = 60,
+ HASH_VALUE_RANGE = 56,
+ DUPLICATES = 7,
+ WORDLIST_SIZE = 41
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},{"",0},
+ {"_is_a", &POA_CORBA_ExceptionDef::_is_a_skel},
+ {"lookup", &POA_CORBA_ExceptionDef::lookup_skel},
+ {"_get_type", &POA_CORBA_ExceptionDef::_get_type_skel},
+ {"_set_name", &POA_CORBA_ExceptionDef::_set_name_skel},
+ {"_get_name", &POA_CORBA_ExceptionDef::_get_name_skel},
+ {"_interface", &POA_CORBA_ExceptionDef::_interface_skel},
+ {"lookup_name", &POA_CORBA_ExceptionDef::lookup_name_skel},
+ {"_get_id", &POA_CORBA_ExceptionDef::_get_id_skel},
+ {"_set_id", &POA_CORBA_ExceptionDef::_set_id_skel},
+ {"describe", &POA_CORBA_ExceptionDef::describe_skel},
+ {"_get_version", &POA_CORBA_ExceptionDef::_get_version_skel},
+ {"_set_version", &POA_CORBA_ExceptionDef::_set_version_skel},
+ {"_get_absolute_name", &POA_CORBA_ExceptionDef::_get_absolute_name_skel},
+ {"move", &POA_CORBA_ExceptionDef::move_skel},
+ {"_get_defined_in", &POA_CORBA_ExceptionDef::_get_defined_in_skel},
+ {"_get_def_kind", &POA_CORBA_ExceptionDef::_get_def_kind_skel},
+ {"destroy", &POA_CORBA_ExceptionDef::destroy_skel},
+ {"_get_members", &POA_CORBA_ExceptionDef::_get_members_skel},
+ {"_set_members", &POA_CORBA_ExceptionDef::_set_members_skel},
+ {"_non_existent", &POA_CORBA_ExceptionDef::_non_existent_skel},
+ {"_get_containing_repository", &POA_CORBA_ExceptionDef::_get_containing_repository_skel},
+ {"create_value", &POA_CORBA_ExceptionDef::create_value_skel},
+ {"create_module", &POA_CORBA_ExceptionDef::create_module_skel},
+ {"create_native", &POA_CORBA_ExceptionDef::create_native_skel},
+ {"create_interface", &POA_CORBA_ExceptionDef::create_interface_skel},
+ {"create_union", &POA_CORBA_ExceptionDef::create_union_skel},
+ {"describe_contents", &POA_CORBA_ExceptionDef::describe_contents_skel},
+ {"create_exception", &POA_CORBA_ExceptionDef::create_exception_skel},
+ {"create_local_interface", &POA_CORBA_ExceptionDef::create_local_interface_skel},
+ {"create_abstract_interface", &POA_CORBA_ExceptionDef::create_abstract_interface_skel},
+ {"create_enum", &POA_CORBA_ExceptionDef::create_enum_skel},
+ {"contents", &POA_CORBA_ExceptionDef::contents_skel},
+ {"create_value_box", &POA_CORBA_ExceptionDef::create_value_box_skel},
+ {"create_alias", &POA_CORBA_ExceptionDef::create_alias_skel},
+ {"create_struct", &POA_CORBA_ExceptionDef::create_struct_skel},
+ {"create_constant", &POA_CORBA_ExceptionDef::create_constant_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -1, -1, -1, -7, -3, 5, 6, -12, -2, -66, 10, 11, -1, -15,
+ -2, -68, 14, -64, 17, 18, 19, 20, -1, -1, -1, 21, -1, -1,
+ -1, -1, -22, -2, -62, 24, -27, -2, 25, 26, -64, -1, -1, 29,
+ 30, -1, -1, 31, 32, 33, -1, -1, 34, 35, -1, 36, -1, -1,
+ 37, 38, 39, -1, 40,
+ };
+
+ 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 < WORDLIST_SIZE)
+ {
+ 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 22:45:36 */
+static TAO_CORBA_ExceptionDef_Perfect_Hash_OpTable tao_CORBA_ExceptionDef_optable;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+class TAO_ServerRequestInfo_CORBA_ExceptionDef_type_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_ExceptionDef_type_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_ExceptionDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA::TypeCode_ptr result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_ExceptionDef_type_get (const TAO_ServerRequestInfo_CORBA_ExceptionDef_type_get &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_ExceptionDef_type_get &);
+
+private:
+ POA_CORBA_ExceptionDef *_tao_impl;
+ CORBA::TypeCode_ptr _result;
+};
+
+TAO_ServerRequestInfo_CORBA_ExceptionDef_type_get::TAO_ServerRequestInfo_CORBA_ExceptionDef_type_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_ExceptionDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_ExceptionDef_type_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_ExceptionDef_type_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_ExceptionDef_type_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_ExceptionDef_type_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_ExceptionDef_type_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_ExceptionDef_type_get::result (CORBA::TypeCode_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_ExceptionDef_members_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_ExceptionDef_members_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_ExceptionDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_StructMemberSeq * result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_ExceptionDef_members_get (const TAO_ServerRequestInfo_CORBA_ExceptionDef_members_get &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_ExceptionDef_members_get &);
+
+private:
+ POA_CORBA_ExceptionDef *_tao_impl;
+ CORBA_StructMemberSeq * _result;
+};
+
+TAO_ServerRequestInfo_CORBA_ExceptionDef_members_get::TAO_ServerRequestInfo_CORBA_ExceptionDef_members_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_ExceptionDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_ExceptionDef_members_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_ExceptionDef_members_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_ExceptionDef_members_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_ExceptionDef_members_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_ExceptionDef_members_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_ExceptionDef_members_get::result (CORBA_StructMemberSeq * result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_ExceptionDef_members_set : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_ExceptionDef_members_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_ExceptionDef *tao_impl
+ ,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+
+private:
+ TAO_ServerRequestInfo_CORBA_ExceptionDef_members_set (const TAO_ServerRequestInfo_CORBA_ExceptionDef_members_set &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_ExceptionDef_members_set &);
+
+private:
+ POA_CORBA_ExceptionDef *_tao_impl;
+ const CORBA_StructMemberSeq & members_;
+
+};
+
+TAO_ServerRequestInfo_CORBA_ExceptionDef_members_set::TAO_ServerRequestInfo_CORBA_ExceptionDef_members_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_ExceptionDef *tao_impl,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ members_ (members)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_ExceptionDef_members_set::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (1);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= this->members_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_ExceptionDef_members_set::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_ExceptionDef_members_set::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 1;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return result_any;
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_ExceptionDef_members_set::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_ExceptionDef_members_set::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Implementation
+//
+
+// Factory function Implementation.
+_TAO_CORBA_ExceptionDef_Strategized_Proxy_Broker *_TAO_CORBA_ExceptionDef_Strategized_Proxy_Broker::the_TAO_CORBA_ExceptionDef_Strategized_Proxy_Broker (void)
+{
+ static _TAO_CORBA_ExceptionDef_Strategized_Proxy_Broker strategized_proxy_broker;
+ return &strategized_proxy_broker;
+}
+
+_TAO_CORBA_ExceptionDef_Strategized_Proxy_Broker::_TAO_CORBA_ExceptionDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ this->proxy_cache_[i] = 0;
+
+}
+
+_TAO_CORBA_ExceptionDef_Strategized_Proxy_Broker::~_TAO_CORBA_ExceptionDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ delete this->proxy_cache_[i];
+
+}
+
+_TAO_CORBA_ExceptionDef_Proxy_Impl&
+_TAO_CORBA_ExceptionDef_Strategized_Proxy_Broker::select_proxy (
+ ::CORBA_ExceptionDef *object
+ ACE_ENV_ARG_DECL
+ )
+{
+ int strategy =
+ TAO_ORB_Core::collocation_strategy (object ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ if (this->proxy_cache_[strategy] != 0)
+ return *this->proxy_cache_[strategy];
+
+ this->create_proxy (strategy ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ return *this->proxy_cache_[strategy];
+
+}
+
+void
+_TAO_CORBA_ExceptionDef_Strategized_Proxy_Broker::create_proxy (
+ int strategy
+ ACE_ENV_ARG_DECL
+ )
+{
+ ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_);
+
+ if (this->proxy_cache_[strategy] == 0)
+ {
+ switch (strategy)
+ {
+ case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ _TAO_CORBA_ExceptionDef_ThruPOA_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY:
+ default:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ ::_TAO_CORBA_ExceptionDef_Remote_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ }
+
+ }
+}
+
+
+//
+// End Strategized Proxy Broker Implementation
+///////////////////////////////////////////////////////////////////////
+
+
+_TAO_CORBA_ExceptionDef_Proxy_Broker *
+_TAO_CORBA_ExceptionDef_Proxy_Broker_Factory_function (CORBA::Object_ptr obj)
+{
+ ACE_UNUSED_ARG (obj);
+ return ::_TAO_CORBA_ExceptionDef_Strategized_Proxy_Broker::the_TAO_CORBA_ExceptionDef_Strategized_Proxy_Broker();
+}
+
+int
+_TAO_CORBA_ExceptionDef_Proxy_Broker_Factory_Initializer (long)
+{
+ _TAO_CORBA_ExceptionDef_Proxy_Broker_Factory_function_pointer =
+ _TAO_CORBA_ExceptionDef_Proxy_Broker_Factory_function;
+
+ return 0;
+}
+
+static int _TAO_CORBA_ExceptionDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
+ _TAO_CORBA_ExceptionDef_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_CORBA_ExceptionDef_Proxy_Broker_Factory_Initializer));
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Proxy Implementation
+//
+
+_TAO_CORBA_ExceptionDef_ThruPOA_Proxy_Impl::_TAO_CORBA_ExceptionDef_ThruPOA_Proxy_Impl (void)
+{}
+
+// ThruPOA Implementation of the IDL interface methods
+
+CORBA::TypeCode_ptr _TAO_CORBA_ExceptionDef_ThruPOA_Proxy_Impl::type (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::TypeCode_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "type",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_ExceptionDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/ExceptionDef:1.0"
+ )
+ )->type (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+CORBA_StructMemberSeq * _TAO_CORBA_ExceptionDef_ThruPOA_Proxy_Impl::members (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_StructMemberSeq_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "members",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_ExceptionDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/ExceptionDef:1.0"
+ )
+ )->members (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+void _TAO_CORBA_ExceptionDef_ThruPOA_Proxy_Impl::members (
+ CORBA_Object *_collocated_tao_target_,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "members",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_CORBA_ExceptionDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/ExceptionDef:1.0"
+ )
+ )->members (
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+ return;
+}
+
+//
+// End ThruPOA Proxy Implementation
+///////////////////////////////////////////////////////////////////////
+
+// skeleton constructor
+POA_CORBA_ExceptionDef::POA_CORBA_ExceptionDef (void)
+{
+ this->optable_ = &tao_CORBA_ExceptionDef_optable;
+}
+
+// copy ctor
+POA_CORBA_ExceptionDef::POA_CORBA_ExceptionDef (const POA_CORBA_ExceptionDef& rhs)
+ : POA_CORBA_Contained (rhs),
+ POA_CORBA_Container (rhs),
+ POA_CORBA_IRObject (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_CORBA_ExceptionDef::~POA_CORBA_ExceptionDef (void)
+{
+}
+
+void POA_CORBA_ExceptionDef::_get_type_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_ExceptionDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_ExceptionDef *, _tao_object_reference);
+
+ CORBA::TypeCode_var _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_ExceptionDef_type_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->type (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA::TypeCode_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_ExceptionDef::_get_members_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_ExceptionDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_ExceptionDef *, _tao_object_reference);
+
+ CORBA_StructMemberSeq_var _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_ExceptionDef_members_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->members (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_StructMemberSeq * _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_ExceptionDef::_set_members_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_ExceptionDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_ExceptionDef *, _tao_object_reference);
+
+ _tao_server_request.argument_flag (0);
+ CORBA_StructMemberSeq members;
+ if (!(
+ (_tao_in >> members)
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_ExceptionDef_members_set ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->members (
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_ExceptionDef::_is_a_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_ExceptionDef *_tao_impl = (POA_CORBA_ExceptionDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!(_tao_in >> value.out ()))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_CORBA_ExceptionDef::_non_existent_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_ExceptionDef *_tao_impl = (POA_CORBA_ExceptionDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_CORBA_ExceptionDef::_interface_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_ExceptionDef *_tao_impl = (POA_CORBA_ExceptionDef *) _tao_object_reference;
+ CORBA_InterfaceDef_ptr _tao_retval = 0;
+ CORBA::Boolean _tao_result = 0;
+
+ TAO_IFR_Client_Adapter *_tao_adapter =
+ ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
+ TAO_ORB_Core::ifr_client_adapter_name ()
+ );
+
+ if (_tao_adapter == 0)
+ {
+ ACE_THROW (CORBA::INTF_REPOS ());
+ }
+
+ ACE_TRY
+ {
+ _tao_retval = _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ _tao_result =
+ _tao_adapter->interfacedef_cdr_insert (
+ _tao_out,
+ _tao_retval
+ );
+ }
+ ACE_CATCHALL
+ {
+ _tao_adapter->dispose (_tao_retval);
+ }
+ ACE_ENDTRY;
+
+ if (_tao_result == 0)
+ {
+ ACE_THROW (CORBA::MARSHAL ());
+ }
+}
+
+CORBA::Boolean POA_CORBA_ExceptionDef::_is_a (
+ const char* value
+ ACE_ENV_ARG_DECL
+ )
+{
+ const char *base_id = CORBA::_tc_Object->id (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/ExceptionDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Contained:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Container:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, base_id)))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_CORBA_ExceptionDef::_downcast (
+ const char* logical_type_id
+ )
+{
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/ExceptionDef:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_ExceptionDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Contained:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_Contained_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Container:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_Container_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_CORBA_ExceptionDef::_dispatch (TAO_ServerRequest &req, void *servant_upcall ACE_ENV_ARG_DECL)
+{
+ this->synchronous_upcall_dispatch (req,
+ servant_upcall,
+ this
+ ACE_ENV_ARG_PARAMETER);
+}
+
+
+const char* POA_CORBA_ExceptionDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/CORBA/ExceptionDef:1.0";
+}
+
+CORBA_ExceptionDef*
+POA_CORBA_ExceptionDef::_this (ACE_ENV_SINGLE_ARG_DECL)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ TAO_Stub_Auto_Ptr safe_stub (stub);
+
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0);
+ else
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0);
+
+ CORBA::Object_var obj = tmp;
+
+ (void) safe_stub.release ();
+
+ return ::CORBA_ExceptionDef::_unchecked_narrow (obj.in ());
+}
+
+
+class TAO_CORBA_AttributeDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 22:45:38 */
+/* 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_AttributeDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_CORBA_AttributeDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 0, 0, 10, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 0, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 15, 37, 37, 37, 37, 10, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37,
+#else
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 0, 37, 0, 37, 37,
+ 0, 0, 10, 37, 37, 37, 37, 37, 37, 0,
+ 0, 37, 37, 37, 37, 37, 15, 37, 37, 37,
+ 37, 10, 37, 37, 37, 37, 37, 37,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_CORBA_AttributeDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 21,
+ MIN_WORD_LENGTH = 4,
+ MAX_WORD_LENGTH = 26,
+ MIN_HASH_VALUE = 4,
+ MAX_HASH_VALUE = 36,
+ HASH_VALUE_RANGE = 33,
+ DUPLICATES = 8,
+ WORDLIST_SIZE = 25
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},
+ {"move", &POA_CORBA_AttributeDef::move_skel},
+ {"_is_a", &POA_CORBA_AttributeDef::_is_a_skel},
+ {"_get_id", &POA_CORBA_AttributeDef::_get_id_skel},
+ {"_set_id", &POA_CORBA_AttributeDef::_set_id_skel},
+ {"describe", &POA_CORBA_AttributeDef::describe_skel},
+ {"_get_type", &POA_CORBA_AttributeDef::_get_type_skel},
+ {"_set_name", &POA_CORBA_AttributeDef::_set_name_skel},
+ {"_get_name", &POA_CORBA_AttributeDef::_get_name_skel},
+ {"_set_mode", &POA_CORBA_AttributeDef::_set_mode_skel},
+ {"_get_mode", &POA_CORBA_AttributeDef::_get_mode_skel},
+ {"_interface", &POA_CORBA_AttributeDef::_interface_skel},
+ {"_get_version", &POA_CORBA_AttributeDef::_get_version_skel},
+ {"_set_version", &POA_CORBA_AttributeDef::_set_version_skel},
+ {"_get_def_kind", &POA_CORBA_AttributeDef::_get_def_kind_skel},
+ {"_get_defined_in", &POA_CORBA_AttributeDef::_get_defined_in_skel},
+ {"destroy", &POA_CORBA_AttributeDef::destroy_skel},
+ {"_get_absolute_name", &POA_CORBA_AttributeDef::_get_absolute_name_skel},
+ {"_get_type_def", &POA_CORBA_AttributeDef::_get_type_def_skel},
+ {"_set_type_def", &POA_CORBA_AttributeDef::_set_type_def_skel},
+ {"_non_existent", &POA_CORBA_AttributeDef::_non_existent_skel},
+ {"_get_containing_repository", &POA_CORBA_AttributeDef::_get_containing_repository_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -9, -5, -15, -2, 4, 5, -1, 48, 8, -45, 14, -1, -46, 17,
+ -1, 18, -1, 19, 20, -6, -2, -21, -2, -38, -1, -1, -1, -1,
+ 23, -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 < WORDLIST_SIZE)
+ {
+ 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 22:45:38 */
+static TAO_CORBA_AttributeDef_Perfect_Hash_OpTable tao_CORBA_AttributeDef_optable;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+class TAO_ServerRequestInfo_CORBA_AttributeDef_type_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_AttributeDef_type_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_AttributeDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA::TypeCode_ptr result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_AttributeDef_type_get (const TAO_ServerRequestInfo_CORBA_AttributeDef_type_get &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_AttributeDef_type_get &);
+
+private:
+ POA_CORBA_AttributeDef *_tao_impl;
+ CORBA::TypeCode_ptr _result;
+};
+
+TAO_ServerRequestInfo_CORBA_AttributeDef_type_get::TAO_ServerRequestInfo_CORBA_AttributeDef_type_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_AttributeDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_AttributeDef_type_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_AttributeDef_type_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_AttributeDef_type_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_AttributeDef_type_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_AttributeDef_type_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_AttributeDef_type_get::result (CORBA::TypeCode_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_AttributeDef_type_def_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_AttributeDef_type_def_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_AttributeDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_IDLType_ptr result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_AttributeDef_type_def_get (const TAO_ServerRequestInfo_CORBA_AttributeDef_type_def_get &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_AttributeDef_type_def_get &);
+
+private:
+ POA_CORBA_AttributeDef *_tao_impl;
+ CORBA_IDLType_ptr _result;
+};
+
+TAO_ServerRequestInfo_CORBA_AttributeDef_type_def_get::TAO_ServerRequestInfo_CORBA_AttributeDef_type_def_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_AttributeDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_AttributeDef_type_def_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_AttributeDef_type_def_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_AttributeDef_type_def_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_AttributeDef_type_def_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_AttributeDef_type_def_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_AttributeDef_type_def_get::result (CORBA_IDLType_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_AttributeDef_type_def_set : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_AttributeDef_type_def_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_AttributeDef *tao_impl
+ ,
+ CORBA_IDLType_ptr type_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+
+private:
+ TAO_ServerRequestInfo_CORBA_AttributeDef_type_def_set (const TAO_ServerRequestInfo_CORBA_AttributeDef_type_def_set &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_AttributeDef_type_def_set &);
+
+private:
+ POA_CORBA_AttributeDef *_tao_impl;
+ CORBA_IDLType_ptr type_def_;
+
+};
+
+TAO_ServerRequestInfo_CORBA_AttributeDef_type_def_set::TAO_ServerRequestInfo_CORBA_AttributeDef_type_def_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_AttributeDef *tao_impl,
+ CORBA_IDLType_ptr type_def
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ type_def_ (type_def)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_AttributeDef_type_def_set::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (1);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= this->type_def_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_AttributeDef_type_def_set::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_AttributeDef_type_def_set::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 1;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return result_any;
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_AttributeDef_type_def_set::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_AttributeDef_type_def_set::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+class TAO_ServerRequestInfo_CORBA_AttributeDef_mode_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_AttributeDef_mode_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_AttributeDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA::AttributeMode result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_AttributeDef_mode_get (const TAO_ServerRequestInfo_CORBA_AttributeDef_mode_get &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_AttributeDef_mode_get &);
+
+private:
+ POA_CORBA_AttributeDef *_tao_impl;
+ CORBA::AttributeMode _result;
+};
+
+TAO_ServerRequestInfo_CORBA_AttributeDef_mode_get::TAO_ServerRequestInfo_CORBA_AttributeDef_mode_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_AttributeDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_AttributeDef_mode_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_AttributeDef_mode_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_AttributeDef_mode_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_AttributeDef_mode_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_AttributeDef_mode_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_AttributeDef_mode_get::result (CORBA::AttributeMode result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_AttributeDef_mode_set : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_AttributeDef_mode_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_AttributeDef *tao_impl
+ ,
+ CORBA::AttributeMode & mode
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+
+private:
+ TAO_ServerRequestInfo_CORBA_AttributeDef_mode_set (const TAO_ServerRequestInfo_CORBA_AttributeDef_mode_set &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_AttributeDef_mode_set &);
+
+private:
+ POA_CORBA_AttributeDef *_tao_impl;
+ const CORBA::AttributeMode & mode_;
+
+};
+
+TAO_ServerRequestInfo_CORBA_AttributeDef_mode_set::TAO_ServerRequestInfo_CORBA_AttributeDef_mode_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_AttributeDef *tao_impl,
+ CORBA::AttributeMode & mode
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ mode_ (mode)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_AttributeDef_mode_set::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (1);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= this->mode_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_AttributeDef_mode_set::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_AttributeDef_mode_set::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 1;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return result_any;
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_AttributeDef_mode_set::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_AttributeDef_mode_set::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Implementation
+//
+
+// Factory function Implementation.
+_TAO_CORBA_AttributeDef_Strategized_Proxy_Broker *_TAO_CORBA_AttributeDef_Strategized_Proxy_Broker::the_TAO_CORBA_AttributeDef_Strategized_Proxy_Broker (void)
+{
+ static _TAO_CORBA_AttributeDef_Strategized_Proxy_Broker strategized_proxy_broker;
+ return &strategized_proxy_broker;
+}
+
+_TAO_CORBA_AttributeDef_Strategized_Proxy_Broker::_TAO_CORBA_AttributeDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ this->proxy_cache_[i] = 0;
+
+}
+
+_TAO_CORBA_AttributeDef_Strategized_Proxy_Broker::~_TAO_CORBA_AttributeDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ delete this->proxy_cache_[i];
+
+}
+
+_TAO_CORBA_AttributeDef_Proxy_Impl&
+_TAO_CORBA_AttributeDef_Strategized_Proxy_Broker::select_proxy (
+ ::CORBA_AttributeDef *object
+ ACE_ENV_ARG_DECL
+ )
+{
+ int strategy =
+ TAO_ORB_Core::collocation_strategy (object ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ if (this->proxy_cache_[strategy] != 0)
+ return *this->proxy_cache_[strategy];
+
+ this->create_proxy (strategy ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ return *this->proxy_cache_[strategy];
+
+}
+
+void
+_TAO_CORBA_AttributeDef_Strategized_Proxy_Broker::create_proxy (
+ int strategy
+ ACE_ENV_ARG_DECL
+ )
+{
+ ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_);
+
+ if (this->proxy_cache_[strategy] == 0)
+ {
+ switch (strategy)
+ {
+ case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ _TAO_CORBA_AttributeDef_ThruPOA_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY:
+ default:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ ::_TAO_CORBA_AttributeDef_Remote_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ }
+
+ }
+}
+
+
+//
+// End Strategized Proxy Broker Implementation
+///////////////////////////////////////////////////////////////////////
+
+
+_TAO_CORBA_AttributeDef_Proxy_Broker *
+_TAO_CORBA_AttributeDef_Proxy_Broker_Factory_function (CORBA::Object_ptr obj)
+{
+ ACE_UNUSED_ARG (obj);
+ return ::_TAO_CORBA_AttributeDef_Strategized_Proxy_Broker::the_TAO_CORBA_AttributeDef_Strategized_Proxy_Broker();
+}
+
+int
+_TAO_CORBA_AttributeDef_Proxy_Broker_Factory_Initializer (long)
+{
+ _TAO_CORBA_AttributeDef_Proxy_Broker_Factory_function_pointer =
+ _TAO_CORBA_AttributeDef_Proxy_Broker_Factory_function;
+
+ return 0;
+}
+
+static int _TAO_CORBA_AttributeDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
+ _TAO_CORBA_AttributeDef_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_CORBA_AttributeDef_Proxy_Broker_Factory_Initializer));
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Proxy Implementation
+//
+
+_TAO_CORBA_AttributeDef_ThruPOA_Proxy_Impl::_TAO_CORBA_AttributeDef_ThruPOA_Proxy_Impl (void)
+{}
+
+// ThruPOA Implementation of the IDL interface methods
+
+CORBA::TypeCode_ptr _TAO_CORBA_AttributeDef_ThruPOA_Proxy_Impl::type (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::TypeCode_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "type",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_AttributeDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/AttributeDef:1.0"
+ )
+ )->type (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+CORBA_IDLType_ptr _TAO_CORBA_AttributeDef_ThruPOA_Proxy_Impl::type_def (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_IDLType_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "type_def",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_AttributeDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/AttributeDef:1.0"
+ )
+ )->type_def (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+void _TAO_CORBA_AttributeDef_ThruPOA_Proxy_Impl::type_def (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA_IDLType_ptr type_def
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "type_def",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_CORBA_AttributeDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/AttributeDef:1.0"
+ )
+ )->type_def (
+ type_def
+ ACE_ENV_ARG_PARAMETER
+ );
+ return;
+}
+
+CORBA::AttributeMode _TAO_CORBA_AttributeDef_ThruPOA_Proxy_Impl::mode (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::AttributeMode _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "mode",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (_tao_retval);
+ return ACE_reinterpret_cast (
+ POA_CORBA_AttributeDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/AttributeDef:1.0"
+ )
+ )->mode (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+void _TAO_CORBA_AttributeDef_ThruPOA_Proxy_Impl::mode (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::AttributeMode mode
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "mode",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_CORBA_AttributeDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/AttributeDef:1.0"
+ )
+ )->mode (
+ mode
+ ACE_ENV_ARG_PARAMETER
+ );
+ return;
+}
+
+//
+// End ThruPOA Proxy Implementation
+///////////////////////////////////////////////////////////////////////
+
+// skeleton constructor
+POA_CORBA_AttributeDef::POA_CORBA_AttributeDef (void)
+{
+ this->optable_ = &tao_CORBA_AttributeDef_optable;
+}
+
+// copy ctor
+POA_CORBA_AttributeDef::POA_CORBA_AttributeDef (const POA_CORBA_AttributeDef& rhs)
+ : POA_CORBA_Contained (rhs),
+ POA_CORBA_IRObject (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_CORBA_AttributeDef::~POA_CORBA_AttributeDef (void)
+{
+}
+
+void POA_CORBA_AttributeDef::_get_type_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_AttributeDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_AttributeDef *, _tao_object_reference);
+
+ CORBA::TypeCode_var _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_AttributeDef_type_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->type (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA::TypeCode_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_AttributeDef::_get_type_def_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_AttributeDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_AttributeDef *, _tao_object_reference);
+
+ CORBA_IDLType_var _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_AttributeDef_type_def_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->type_def (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_IDLType_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_AttributeDef::_set_type_def_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_AttributeDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_AttributeDef *, _tao_object_reference);
+
+ _tao_server_request.argument_flag (0);
+ CORBA_IDLType_var type_def;
+ if (!(
+ (_tao_in >> type_def.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_AttributeDef_type_def_set ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ type_def.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->type_def (
+ type_def.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_AttributeDef::_get_mode_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_AttributeDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_AttributeDef *, _tao_object_reference);
+
+ CORBA::AttributeMode _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_AttributeDef_mode_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->mode (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA::AttributeMode _tao_retval_info = _tao_retval;
+ ri.result (_tao_retval_info);
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval)
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_AttributeDef::_set_mode_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_AttributeDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_AttributeDef *, _tao_object_reference);
+
+ _tao_server_request.argument_flag (0);
+ CORBA::AttributeMode mode;
+ if (!(
+ (_tao_in >> mode)
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_AttributeDef_mode_set ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ mode
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->mode (
+ mode
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_AttributeDef::_is_a_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_AttributeDef *_tao_impl = (POA_CORBA_AttributeDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!(_tao_in >> value.out ()))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_CORBA_AttributeDef::_non_existent_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_AttributeDef *_tao_impl = (POA_CORBA_AttributeDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_CORBA_AttributeDef::_interface_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_AttributeDef *_tao_impl = (POA_CORBA_AttributeDef *) _tao_object_reference;
+ CORBA_InterfaceDef_ptr _tao_retval = 0;
+ CORBA::Boolean _tao_result = 0;
+
+ TAO_IFR_Client_Adapter *_tao_adapter =
+ ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
+ TAO_ORB_Core::ifr_client_adapter_name ()
+ );
+
+ if (_tao_adapter == 0)
+ {
+ ACE_THROW (CORBA::INTF_REPOS ());
+ }
+
+ ACE_TRY
+ {
+ _tao_retval = _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ _tao_result =
+ _tao_adapter->interfacedef_cdr_insert (
+ _tao_out,
+ _tao_retval
+ );
+ }
+ ACE_CATCHALL
+ {
+ _tao_adapter->dispose (_tao_retval);
+ }
+ ACE_ENDTRY;
+
+ if (_tao_result == 0)
+ {
+ ACE_THROW (CORBA::MARSHAL ());
+ }
+}
+
+CORBA::Boolean POA_CORBA_AttributeDef::_is_a (
+ const char* value
+ ACE_ENV_ARG_DECL
+ )
+{
+ const char *base_id = CORBA::_tc_Object->id (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/AttributeDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Contained:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, base_id)))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_CORBA_AttributeDef::_downcast (
+ const char* logical_type_id
+ )
+{
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/AttributeDef:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_AttributeDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Contained:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_Contained_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_CORBA_AttributeDef::_dispatch (TAO_ServerRequest &req, void *servant_upcall ACE_ENV_ARG_DECL)
+{
+ this->synchronous_upcall_dispatch (req,
+ servant_upcall,
+ this
+ ACE_ENV_ARG_PARAMETER);
+}
+
+
+const char* POA_CORBA_AttributeDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/CORBA/AttributeDef:1.0";
+}
+
+CORBA_AttributeDef*
+POA_CORBA_AttributeDef::_this (ACE_ENV_SINGLE_ARG_DECL)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ TAO_Stub_Auto_Ptr safe_stub (stub);
+
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0);
+ else
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0);
+
+ CORBA::Object_var obj = tmp;
+
+ (void) safe_stub.release ();
+
+ return ::CORBA_AttributeDef::_unchecked_narrow (obj.in ());
+}
+
+
+class TAO_CORBA_OperationDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 22:45:39 */
+/* 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_OperationDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_CORBA_OperationDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 15, 0, 10, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 0, 5,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 0, 20, 37, 37, 37, 37, 10, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37,
+#else
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 0, 37, 0, 37, 37,
+ 15, 0, 10, 37, 37, 37, 37, 37, 37, 0,
+ 5, 37, 37, 37, 37, 0, 20, 37, 37, 37,
+ 37, 10, 37, 37, 37, 37, 37, 37,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_CORBA_OperationDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 27,
+ MIN_WORD_LENGTH = 4,
+ MAX_WORD_LENGTH = 26,
+ MIN_HASH_VALUE = 4,
+ MAX_HASH_VALUE = 36,
+ HASH_VALUE_RANGE = 33,
+ DUPLICATES = 10,
+ WORDLIST_SIZE = 31
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},
+ {"move", &POA_CORBA_OperationDef::move_skel},
+ {"_is_a", &POA_CORBA_OperationDef::_is_a_skel},
+ {"_get_mode", &POA_CORBA_OperationDef::_get_mode_skel},
+ {"_set_name", &POA_CORBA_OperationDef::_set_name_skel},
+ {"_get_name", &POA_CORBA_OperationDef::_get_name_skel},
+ {"_set_mode", &POA_CORBA_OperationDef::_set_mode_skel},
+ {"_interface", &POA_CORBA_OperationDef::_interface_skel},
+ {"_get_params", &POA_CORBA_OperationDef::_get_params_skel},
+ {"_set_params", &POA_CORBA_OperationDef::_set_params_skel},
+ {"_get_contexts", &POA_CORBA_OperationDef::_get_contexts_skel},
+ {"_set_contexts", &POA_CORBA_OperationDef::_set_contexts_skel},
+ {"_get_exceptions", &POA_CORBA_OperationDef::_get_exceptions_skel},
+ {"_set_exceptions", &POA_CORBA_OperationDef::_set_exceptions_skel},
+ {"_get_version", &POA_CORBA_OperationDef::_get_version_skel},
+ {"_set_version", &POA_CORBA_OperationDef::_set_version_skel},
+ {"_get_absolute_name", &POA_CORBA_OperationDef::_get_absolute_name_skel},
+ {"_get_defined_in", &POA_CORBA_OperationDef::_get_defined_in_skel},
+ {"_get_id", &POA_CORBA_OperationDef::_get_id_skel},
+ {"_set_id", &POA_CORBA_OperationDef::_set_id_skel},
+ {"describe", &POA_CORBA_OperationDef::describe_skel},
+ {"_get_result_def", &POA_CORBA_OperationDef::_get_result_def_skel},
+ {"_set_result_def", &POA_CORBA_OperationDef::_set_result_def_skel},
+ {"_get_def_kind", &POA_CORBA_OperationDef::_get_def_kind_skel},
+ {"_get_result", &POA_CORBA_OperationDef::_get_result_skel},
+ {"destroy", &POA_CORBA_OperationDef::destroy_skel},
+ {"_non_existent", &POA_CORBA_OperationDef::_non_existent_skel},
+ {"_get_containing_repository", &POA_CORBA_OperationDef::_get_containing_repository_skel},
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ {
+ const class TAO_operation_db_entry *resword;
+
+ switch (key)
+ {
+ case 4:
+ resword = &wordlist[4]; break;
+ case 5:
+ resword = &wordlist[5]; break;
+ case 9:
+ resword = &wordlist[6];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ resword = &wordlist[7];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ resword = &wordlist[8];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ resword = &wordlist[9];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ return 0;
+ case 10:
+ resword = &wordlist[10]; break;
+ case 11:
+ resword = &wordlist[11];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ resword = &wordlist[12];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ return 0;
+ case 13:
+ resword = &wordlist[13];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ resword = &wordlist[14];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ return 0;
+ case 15:
+ resword = &wordlist[15];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ resword = &wordlist[16];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ return 0;
+ case 17:
+ resword = &wordlist[17];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ resword = &wordlist[18];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ return 0;
+ case 18:
+ resword = &wordlist[19]; break;
+ case 20:
+ resword = &wordlist[20]; break;
+ case 22:
+ resword = &wordlist[21];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ resword = &wordlist[22];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ return 0;
+ case 23:
+ resword = &wordlist[23]; break;
+ case 25:
+ resword = &wordlist[24];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ resword = &wordlist[25];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ return 0;
+ case 28:
+ resword = &wordlist[26]; break;
+ case 31:
+ resword = &wordlist[27]; break;
+ case 32:
+ resword = &wordlist[28]; break;
+ case 33:
+ resword = &wordlist[29]; break;
+ case 36:
+ resword = &wordlist[30]; break;
+ default: return 0;
+ }
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1))
+ return resword;
+ return 0;
+ }
+ }
+ }
+ return 0;
+}
+/* ending time is 22:45:39 */
+static TAO_CORBA_OperationDef_Perfect_Hash_OpTable tao_CORBA_OperationDef_optable;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+class TAO_ServerRequestInfo_CORBA_OperationDef_result_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_OperationDef_result_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_OperationDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA::TypeCode_ptr result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_OperationDef_result_get (const TAO_ServerRequestInfo_CORBA_OperationDef_result_get &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_OperationDef_result_get &);
+
+private:
+ POA_CORBA_OperationDef *_tao_impl;
+ CORBA::TypeCode_ptr _result;
+};
+
+TAO_ServerRequestInfo_CORBA_OperationDef_result_get::TAO_ServerRequestInfo_CORBA_OperationDef_result_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_OperationDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_OperationDef_result_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_OperationDef_result_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_OperationDef_result_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_OperationDef_result_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_OperationDef_result_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_OperationDef_result_get::result (CORBA::TypeCode_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_OperationDef_result_def_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_OperationDef_result_def_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_OperationDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_IDLType_ptr result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_OperationDef_result_def_get (const TAO_ServerRequestInfo_CORBA_OperationDef_result_def_get &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_OperationDef_result_def_get &);
+
+private:
+ POA_CORBA_OperationDef *_tao_impl;
+ CORBA_IDLType_ptr _result;
+};
+
+TAO_ServerRequestInfo_CORBA_OperationDef_result_def_get::TAO_ServerRequestInfo_CORBA_OperationDef_result_def_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_OperationDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_OperationDef_result_def_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_OperationDef_result_def_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_OperationDef_result_def_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_OperationDef_result_def_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_OperationDef_result_def_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_OperationDef_result_def_get::result (CORBA_IDLType_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_OperationDef_result_def_set : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_OperationDef_result_def_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_OperationDef *tao_impl
+ ,
+ CORBA_IDLType_ptr result_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+
+private:
+ TAO_ServerRequestInfo_CORBA_OperationDef_result_def_set (const TAO_ServerRequestInfo_CORBA_OperationDef_result_def_set &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_OperationDef_result_def_set &);
+
+private:
+ POA_CORBA_OperationDef *_tao_impl;
+ CORBA_IDLType_ptr result_def_;
+
+};
+
+TAO_ServerRequestInfo_CORBA_OperationDef_result_def_set::TAO_ServerRequestInfo_CORBA_OperationDef_result_def_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_OperationDef *tao_impl,
+ CORBA_IDLType_ptr result_def
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ result_def_ (result_def)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_OperationDef_result_def_set::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (1);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= this->result_def_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_OperationDef_result_def_set::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_OperationDef_result_def_set::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 1;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return result_any;
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_OperationDef_result_def_set::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_OperationDef_result_def_set::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+class TAO_ServerRequestInfo_CORBA_OperationDef_params_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_OperationDef_params_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_OperationDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_ParDescriptionSeq * result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_OperationDef_params_get (const TAO_ServerRequestInfo_CORBA_OperationDef_params_get &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_OperationDef_params_get &);
+
+private:
+ POA_CORBA_OperationDef *_tao_impl;
+ CORBA_ParDescriptionSeq * _result;
+};
+
+TAO_ServerRequestInfo_CORBA_OperationDef_params_get::TAO_ServerRequestInfo_CORBA_OperationDef_params_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_OperationDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_OperationDef_params_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_OperationDef_params_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_OperationDef_params_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_OperationDef_params_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_OperationDef_params_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_OperationDef_params_get::result (CORBA_ParDescriptionSeq * result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_OperationDef_params_set : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_OperationDef_params_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_OperationDef *tao_impl
+ ,
+ const CORBA_ParDescriptionSeq & params
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+
+private:
+ TAO_ServerRequestInfo_CORBA_OperationDef_params_set (const TAO_ServerRequestInfo_CORBA_OperationDef_params_set &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_OperationDef_params_set &);
+
+private:
+ POA_CORBA_OperationDef *_tao_impl;
+ const CORBA_ParDescriptionSeq & params_;
+
+};
+
+TAO_ServerRequestInfo_CORBA_OperationDef_params_set::TAO_ServerRequestInfo_CORBA_OperationDef_params_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_OperationDef *tao_impl,
+ const CORBA_ParDescriptionSeq & params
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ params_ (params)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_OperationDef_params_set::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (1);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= this->params_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_OperationDef_params_set::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_OperationDef_params_set::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 1;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return result_any;
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_OperationDef_params_set::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_OperationDef_params_set::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+class TAO_ServerRequestInfo_CORBA_OperationDef_mode_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_OperationDef_mode_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_OperationDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA::OperationMode result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_OperationDef_mode_get (const TAO_ServerRequestInfo_CORBA_OperationDef_mode_get &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_OperationDef_mode_get &);
+
+private:
+ POA_CORBA_OperationDef *_tao_impl;
+ CORBA::OperationMode _result;
+};
+
+TAO_ServerRequestInfo_CORBA_OperationDef_mode_get::TAO_ServerRequestInfo_CORBA_OperationDef_mode_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_OperationDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_OperationDef_mode_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_OperationDef_mode_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_OperationDef_mode_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_OperationDef_mode_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_OperationDef_mode_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_OperationDef_mode_get::result (CORBA::OperationMode result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_OperationDef_mode_set : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_OperationDef_mode_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_OperationDef *tao_impl
+ ,
+ CORBA::OperationMode & mode
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+
+private:
+ TAO_ServerRequestInfo_CORBA_OperationDef_mode_set (const TAO_ServerRequestInfo_CORBA_OperationDef_mode_set &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_OperationDef_mode_set &);
+
+private:
+ POA_CORBA_OperationDef *_tao_impl;
+ const CORBA::OperationMode & mode_;
+
+};
+
+TAO_ServerRequestInfo_CORBA_OperationDef_mode_set::TAO_ServerRequestInfo_CORBA_OperationDef_mode_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_OperationDef *tao_impl,
+ CORBA::OperationMode & mode
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ mode_ (mode)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_OperationDef_mode_set::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (1);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= this->mode_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_OperationDef_mode_set::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_OperationDef_mode_set::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 1;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return result_any;
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_OperationDef_mode_set::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_OperationDef_mode_set::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+class TAO_ServerRequestInfo_CORBA_OperationDef_contexts_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_OperationDef_contexts_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_OperationDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_ContextIdSeq * result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_OperationDef_contexts_get (const TAO_ServerRequestInfo_CORBA_OperationDef_contexts_get &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_OperationDef_contexts_get &);
+
+private:
+ POA_CORBA_OperationDef *_tao_impl;
+ CORBA_ContextIdSeq * _result;
+};
+
+TAO_ServerRequestInfo_CORBA_OperationDef_contexts_get::TAO_ServerRequestInfo_CORBA_OperationDef_contexts_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_OperationDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_OperationDef_contexts_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_OperationDef_contexts_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_OperationDef_contexts_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_OperationDef_contexts_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_OperationDef_contexts_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_OperationDef_contexts_get::result (CORBA_ContextIdSeq * result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_OperationDef_contexts_set : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_OperationDef_contexts_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_OperationDef *tao_impl
+ ,
+ const CORBA_ContextIdSeq & contexts
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+
+private:
+ TAO_ServerRequestInfo_CORBA_OperationDef_contexts_set (const TAO_ServerRequestInfo_CORBA_OperationDef_contexts_set &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_OperationDef_contexts_set &);
+
+private:
+ POA_CORBA_OperationDef *_tao_impl;
+ const CORBA_ContextIdSeq & contexts_;
+
+};
+
+TAO_ServerRequestInfo_CORBA_OperationDef_contexts_set::TAO_ServerRequestInfo_CORBA_OperationDef_contexts_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_OperationDef *tao_impl,
+ const CORBA_ContextIdSeq & contexts
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ contexts_ (contexts)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_OperationDef_contexts_set::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (1);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= this->contexts_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_OperationDef_contexts_set::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_OperationDef_contexts_set::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 1;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return result_any;
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_OperationDef_contexts_set::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_OperationDef_contexts_set::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+class TAO_ServerRequestInfo_CORBA_OperationDef_exceptions_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_OperationDef_exceptions_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_OperationDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_ExceptionDefSeq * result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_OperationDef_exceptions_get (const TAO_ServerRequestInfo_CORBA_OperationDef_exceptions_get &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_OperationDef_exceptions_get &);
+
+private:
+ POA_CORBA_OperationDef *_tao_impl;
+ CORBA_ExceptionDefSeq * _result;
+};
+
+TAO_ServerRequestInfo_CORBA_OperationDef_exceptions_get::TAO_ServerRequestInfo_CORBA_OperationDef_exceptions_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_OperationDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_OperationDef_exceptions_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_OperationDef_exceptions_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_OperationDef_exceptions_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_OperationDef_exceptions_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_OperationDef_exceptions_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_OperationDef_exceptions_get::result (CORBA_ExceptionDefSeq * result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_OperationDef_exceptions_set : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_OperationDef_exceptions_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_OperationDef *tao_impl
+ ,
+ const CORBA_ExceptionDefSeq & exceptions
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+
+private:
+ TAO_ServerRequestInfo_CORBA_OperationDef_exceptions_set (const TAO_ServerRequestInfo_CORBA_OperationDef_exceptions_set &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_OperationDef_exceptions_set &);
+
+private:
+ POA_CORBA_OperationDef *_tao_impl;
+ const CORBA_ExceptionDefSeq & exceptions_;
+
+};
+
+TAO_ServerRequestInfo_CORBA_OperationDef_exceptions_set::TAO_ServerRequestInfo_CORBA_OperationDef_exceptions_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_OperationDef *tao_impl,
+ const CORBA_ExceptionDefSeq & exceptions
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ exceptions_ (exceptions)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_OperationDef_exceptions_set::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (1);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= this->exceptions_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_OperationDef_exceptions_set::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_OperationDef_exceptions_set::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 1;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return result_any;
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_OperationDef_exceptions_set::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_OperationDef_exceptions_set::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Implementation
+//
+
+// Factory function Implementation.
+_TAO_CORBA_OperationDef_Strategized_Proxy_Broker *_TAO_CORBA_OperationDef_Strategized_Proxy_Broker::the_TAO_CORBA_OperationDef_Strategized_Proxy_Broker (void)
+{
+ static _TAO_CORBA_OperationDef_Strategized_Proxy_Broker strategized_proxy_broker;
+ return &strategized_proxy_broker;
+}
+
+_TAO_CORBA_OperationDef_Strategized_Proxy_Broker::_TAO_CORBA_OperationDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ this->proxy_cache_[i] = 0;
+
+}
+
+_TAO_CORBA_OperationDef_Strategized_Proxy_Broker::~_TAO_CORBA_OperationDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ delete this->proxy_cache_[i];
+
+}
+
+_TAO_CORBA_OperationDef_Proxy_Impl&
+_TAO_CORBA_OperationDef_Strategized_Proxy_Broker::select_proxy (
+ ::CORBA_OperationDef *object
+ ACE_ENV_ARG_DECL
+ )
+{
+ int strategy =
+ TAO_ORB_Core::collocation_strategy (object ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ if (this->proxy_cache_[strategy] != 0)
+ return *this->proxy_cache_[strategy];
+
+ this->create_proxy (strategy ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ return *this->proxy_cache_[strategy];
+
+}
+
+void
+_TAO_CORBA_OperationDef_Strategized_Proxy_Broker::create_proxy (
+ int strategy
+ ACE_ENV_ARG_DECL
+ )
+{
+ ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_);
+
+ if (this->proxy_cache_[strategy] == 0)
+ {
+ switch (strategy)
+ {
+ case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ _TAO_CORBA_OperationDef_ThruPOA_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY:
+ default:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ ::_TAO_CORBA_OperationDef_Remote_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ }
+
+ }
+}
+
+
+//
+// End Strategized Proxy Broker Implementation
+///////////////////////////////////////////////////////////////////////
+
+
+_TAO_CORBA_OperationDef_Proxy_Broker *
+_TAO_CORBA_OperationDef_Proxy_Broker_Factory_function (CORBA::Object_ptr obj)
+{
+ ACE_UNUSED_ARG (obj);
+ return ::_TAO_CORBA_OperationDef_Strategized_Proxy_Broker::the_TAO_CORBA_OperationDef_Strategized_Proxy_Broker();
+}
+
+int
+_TAO_CORBA_OperationDef_Proxy_Broker_Factory_Initializer (long)
+{
+ _TAO_CORBA_OperationDef_Proxy_Broker_Factory_function_pointer =
+ _TAO_CORBA_OperationDef_Proxy_Broker_Factory_function;
+
+ return 0;
+}
+
+static int _TAO_CORBA_OperationDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
+ _TAO_CORBA_OperationDef_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_CORBA_OperationDef_Proxy_Broker_Factory_Initializer));
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Proxy Implementation
+//
+
+_TAO_CORBA_OperationDef_ThruPOA_Proxy_Impl::_TAO_CORBA_OperationDef_ThruPOA_Proxy_Impl (void)
+{}
+
+// ThruPOA Implementation of the IDL interface methods
+
+CORBA::TypeCode_ptr _TAO_CORBA_OperationDef_ThruPOA_Proxy_Impl::result (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::TypeCode_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "result",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_OperationDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/OperationDef:1.0"
+ )
+ )->result (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+CORBA_IDLType_ptr _TAO_CORBA_OperationDef_ThruPOA_Proxy_Impl::result_def (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_IDLType_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "result_def",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_OperationDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/OperationDef:1.0"
+ )
+ )->result_def (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+void _TAO_CORBA_OperationDef_ThruPOA_Proxy_Impl::result_def (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA_IDLType_ptr result_def
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "result_def",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_CORBA_OperationDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/OperationDef:1.0"
+ )
+ )->result_def (
+ result_def
+ ACE_ENV_ARG_PARAMETER
+ );
+ return;
+}
+
+CORBA_ParDescriptionSeq * _TAO_CORBA_OperationDef_ThruPOA_Proxy_Impl::params (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_ParDescriptionSeq_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "params",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_OperationDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/OperationDef:1.0"
+ )
+ )->params (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+void _TAO_CORBA_OperationDef_ThruPOA_Proxy_Impl::params (
+ CORBA_Object *_collocated_tao_target_,
+ const CORBA_ParDescriptionSeq & params
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "params",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_CORBA_OperationDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/OperationDef:1.0"
+ )
+ )->params (
+ params
+ ACE_ENV_ARG_PARAMETER
+ );
+ return;
+}
+
+CORBA::OperationMode _TAO_CORBA_OperationDef_ThruPOA_Proxy_Impl::mode (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::OperationMode _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "mode",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (_tao_retval);
+ return ACE_reinterpret_cast (
+ POA_CORBA_OperationDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/OperationDef:1.0"
+ )
+ )->mode (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+void _TAO_CORBA_OperationDef_ThruPOA_Proxy_Impl::mode (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::OperationMode mode
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "mode",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_CORBA_OperationDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/OperationDef:1.0"
+ )
+ )->mode (
+ mode
+ ACE_ENV_ARG_PARAMETER
+ );
+ return;
+}
+
+CORBA_ContextIdSeq * _TAO_CORBA_OperationDef_ThruPOA_Proxy_Impl::contexts (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_ContextIdSeq_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "contexts",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_OperationDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/OperationDef:1.0"
+ )
+ )->contexts (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+void _TAO_CORBA_OperationDef_ThruPOA_Proxy_Impl::contexts (
+ CORBA_Object *_collocated_tao_target_,
+ const CORBA_ContextIdSeq & contexts
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "contexts",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_CORBA_OperationDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/OperationDef:1.0"
+ )
+ )->contexts (
+ contexts
+ ACE_ENV_ARG_PARAMETER
+ );
+ return;
+}
+
+CORBA_ExceptionDefSeq * _TAO_CORBA_OperationDef_ThruPOA_Proxy_Impl::exceptions (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_ExceptionDefSeq_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "exceptions",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_OperationDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/OperationDef:1.0"
+ )
+ )->exceptions (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+void _TAO_CORBA_OperationDef_ThruPOA_Proxy_Impl::exceptions (
+ CORBA_Object *_collocated_tao_target_,
+ const CORBA_ExceptionDefSeq & exceptions
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "exceptions",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_CORBA_OperationDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/OperationDef:1.0"
+ )
+ )->exceptions (
+ exceptions
+ ACE_ENV_ARG_PARAMETER
+ );
+ return;
+}
+
+//
+// End ThruPOA Proxy Implementation
+///////////////////////////////////////////////////////////////////////
+
+// skeleton constructor
+POA_CORBA_OperationDef::POA_CORBA_OperationDef (void)
+{
+ this->optable_ = &tao_CORBA_OperationDef_optable;
+}
+
+// copy ctor
+POA_CORBA_OperationDef::POA_CORBA_OperationDef (const POA_CORBA_OperationDef& rhs)
+ : POA_CORBA_Contained (rhs),
+ POA_CORBA_IRObject (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_CORBA_OperationDef::~POA_CORBA_OperationDef (void)
+{
+}
+
+void POA_CORBA_OperationDef::_get_result_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_OperationDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_OperationDef *, _tao_object_reference);
+
+ CORBA::TypeCode_var _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_OperationDef_result_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->result (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA::TypeCode_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_OperationDef::_get_result_def_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_OperationDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_OperationDef *, _tao_object_reference);
+
+ CORBA_IDLType_var _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_OperationDef_result_def_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->result_def (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_IDLType_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_OperationDef::_set_result_def_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_OperationDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_OperationDef *, _tao_object_reference);
+
+ _tao_server_request.argument_flag (0);
+ CORBA_IDLType_var result_def;
+ if (!(
+ (_tao_in >> result_def.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_OperationDef_result_def_set ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ result_def.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->result_def (
+ result_def.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_OperationDef::_get_params_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_OperationDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_OperationDef *, _tao_object_reference);
+
+ CORBA_ParDescriptionSeq_var _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_OperationDef_params_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->params (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_ParDescriptionSeq * _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_OperationDef::_set_params_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_OperationDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_OperationDef *, _tao_object_reference);
+
+ _tao_server_request.argument_flag (0);
+ CORBA_ParDescriptionSeq params;
+ if (!(
+ (_tao_in >> params)
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_OperationDef_params_set ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ params
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->params (
+ params
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_OperationDef::_get_mode_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_OperationDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_OperationDef *, _tao_object_reference);
+
+ CORBA::OperationMode _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_OperationDef_mode_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->mode (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA::OperationMode _tao_retval_info = _tao_retval;
+ ri.result (_tao_retval_info);
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval)
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_OperationDef::_set_mode_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_OperationDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_OperationDef *, _tao_object_reference);
+
+ _tao_server_request.argument_flag (0);
+ CORBA::OperationMode mode;
+ if (!(
+ (_tao_in >> mode)
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_OperationDef_mode_set ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ mode
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->mode (
+ mode
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_OperationDef::_get_contexts_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_OperationDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_OperationDef *, _tao_object_reference);
+
+ CORBA_ContextIdSeq_var _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_OperationDef_contexts_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->contexts (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_ContextIdSeq * _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_OperationDef::_set_contexts_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_OperationDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_OperationDef *, _tao_object_reference);
+
+ _tao_server_request.argument_flag (0);
+ CORBA_ContextIdSeq contexts;
+ if (!(
+ (_tao_in >> contexts)
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_OperationDef_contexts_set ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ contexts
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->contexts (
+ contexts
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_OperationDef::_get_exceptions_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_OperationDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_OperationDef *, _tao_object_reference);
+
+ CORBA_ExceptionDefSeq_var _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_OperationDef_exceptions_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->exceptions (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_ExceptionDefSeq * _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_OperationDef::_set_exceptions_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_OperationDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_OperationDef *, _tao_object_reference);
+
+ _tao_server_request.argument_flag (0);
+ CORBA_ExceptionDefSeq exceptions;
+ if (!(
+ (_tao_in >> exceptions)
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_OperationDef_exceptions_set ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ exceptions
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->exceptions (
+ exceptions
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_OperationDef::_is_a_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_OperationDef *_tao_impl = (POA_CORBA_OperationDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!(_tao_in >> value.out ()))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_CORBA_OperationDef::_non_existent_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_OperationDef *_tao_impl = (POA_CORBA_OperationDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_CORBA_OperationDef::_interface_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_OperationDef *_tao_impl = (POA_CORBA_OperationDef *) _tao_object_reference;
+ CORBA_InterfaceDef_ptr _tao_retval = 0;
+ CORBA::Boolean _tao_result = 0;
+
+ TAO_IFR_Client_Adapter *_tao_adapter =
+ ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
+ TAO_ORB_Core::ifr_client_adapter_name ()
+ );
+
+ if (_tao_adapter == 0)
+ {
+ ACE_THROW (CORBA::INTF_REPOS ());
+ }
+
+ ACE_TRY
+ {
+ _tao_retval = _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ _tao_result =
+ _tao_adapter->interfacedef_cdr_insert (
+ _tao_out,
+ _tao_retval
+ );
+ }
+ ACE_CATCHALL
+ {
+ _tao_adapter->dispose (_tao_retval);
+ }
+ ACE_ENDTRY;
+
+ if (_tao_result == 0)
+ {
+ ACE_THROW (CORBA::MARSHAL ());
+ }
+}
+
+CORBA::Boolean POA_CORBA_OperationDef::_is_a (
+ const char* value
+ ACE_ENV_ARG_DECL
+ )
+{
+ const char *base_id = CORBA::_tc_Object->id (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/OperationDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Contained:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, base_id)))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_CORBA_OperationDef::_downcast (
+ const char* logical_type_id
+ )
+{
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/OperationDef:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_OperationDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Contained:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_Contained_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_CORBA_OperationDef::_dispatch (TAO_ServerRequest &req, void *servant_upcall ACE_ENV_ARG_DECL)
+{
+ this->synchronous_upcall_dispatch (req,
+ servant_upcall,
+ this
+ ACE_ENV_ARG_PARAMETER);
+}
+
+
+const char* POA_CORBA_OperationDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/CORBA/OperationDef:1.0";
+}
+
+CORBA_OperationDef*
+POA_CORBA_OperationDef::_this (ACE_ENV_SINGLE_ARG_DECL)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ TAO_Stub_Auto_Ptr safe_stub (stub);
+
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0);
+ else
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0);
+
+ CORBA::Object_var obj = tmp;
+
+ (void) safe_stub.release ();
+
+ return ::CORBA_OperationDef::_unchecked_narrow (obj.in ());
+}
+
+
+class TAO_CORBA_InterfaceDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 22:45:40 */
+/* 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_InterfaceDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_CORBA_InterfaceDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 25,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 0,
+ 71, 0, 20, 0, 71, 71, 71, 5, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 20, 0, 5,
+ 71, 15, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 25, 11, 71, 71, 71, 20, 0, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71,
+#else
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 25, 71, 0, 71, 0,
+ 20, 0, 71, 71, 71, 5, 71, 71, 20, 0,
+ 5, 71, 15, 71, 71, 25, 11, 71, 71, 71,
+ 20, 0, 71, 71, 71, 71, 71, 71,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_CORBA_InterfaceDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 40,
+ MIN_WORD_LENGTH = 4,
+ MAX_WORD_LENGTH = 26,
+ MIN_HASH_VALUE = 4,
+ MAX_HASH_VALUE = 70,
+ HASH_VALUE_RANGE = 67,
+ DUPLICATES = 9,
+ WORDLIST_SIZE = 44
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},
+ {"move", &POA_CORBA_InterfaceDef::move_skel},
+ {"is_a", &POA_CORBA_InterfaceDef::is_a_skel},
+ {"create_enum", &POA_CORBA_InterfaceDef::create_enum_skel},
+ {"create_value", &POA_CORBA_InterfaceDef::create_value_skel},
+ {"create_module", &POA_CORBA_InterfaceDef::create_module_skel},
+ {"create_native", &POA_CORBA_InterfaceDef::create_native_skel},
+ {"create_attribute", &POA_CORBA_InterfaceDef::create_attribute_skel},
+ {"create_interface", &POA_CORBA_InterfaceDef::create_interface_skel},
+ {"create_union", &POA_CORBA_InterfaceDef::create_union_skel},
+ {"create_operation", &POA_CORBA_InterfaceDef::create_operation_skel},
+ {"create_exception", &POA_CORBA_InterfaceDef::create_exception_skel},
+ {"create_local_interface", &POA_CORBA_InterfaceDef::create_local_interface_skel},
+ {"create_struct", &POA_CORBA_InterfaceDef::create_struct_skel},
+ {"create_abstract_interface", &POA_CORBA_InterfaceDef::create_abstract_interface_skel},
+ {"create_constant", &POA_CORBA_InterfaceDef::create_constant_skel},
+ {"destroy", &POA_CORBA_InterfaceDef::destroy_skel},
+ {"describe", &POA_CORBA_InterfaceDef::describe_skel},
+ {"_is_a", &POA_CORBA_InterfaceDef::_is_a_skel},
+ {"lookup_name", &POA_CORBA_InterfaceDef::lookup_name_skel},
+ {"contents", &POA_CORBA_InterfaceDef::contents_skel},
+ {"_get_name", &POA_CORBA_InterfaceDef::_get_name_skel},
+ {"_get_type", &POA_CORBA_InterfaceDef::_get_type_skel},
+ {"_set_name", &POA_CORBA_InterfaceDef::_set_name_skel},
+ {"_interface", &POA_CORBA_InterfaceDef::_interface_skel},
+ {"create_value_box", &POA_CORBA_InterfaceDef::create_value_box_skel},
+ {"create_alias", &POA_CORBA_InterfaceDef::create_alias_skel},
+ {"describe_interface", &POA_CORBA_InterfaceDef::describe_interface_skel},
+ {"lookup", &POA_CORBA_InterfaceDef::lookup_skel},
+ {"_get_version", &POA_CORBA_InterfaceDef::_get_version_skel},
+ {"_set_version", &POA_CORBA_InterfaceDef::_set_version_skel},
+ {"_get_absolute_name", &POA_CORBA_InterfaceDef::_get_absolute_name_skel},
+ {"_get_defined_in", &POA_CORBA_InterfaceDef::_get_defined_in_skel},
+ {"_non_existent", &POA_CORBA_InterfaceDef::_non_existent_skel},
+ {"_get_containing_repository", &POA_CORBA_InterfaceDef::_get_containing_repository_skel},
+ {"_get_id", &POA_CORBA_InterfaceDef::_get_id_skel},
+ {"_set_id", &POA_CORBA_InterfaceDef::_set_id_skel},
+ {"_get_def_kind", &POA_CORBA_InterfaceDef::_get_def_kind_skel},
+ {"describe_contents", &POA_CORBA_InterfaceDef::describe_contents_skel},
+ {"_get_base_interfaces", &POA_CORBA_InterfaceDef::_get_base_interfaces_skel},
+ {"_set_base_interfaces", &POA_CORBA_InterfaceDef::_set_base_interfaces_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -1, -1, -1, -1, 4, -8, -2, -10, -2, 5, -1, 6, 7, -78,
+ -13, -2, -79, 12, -1, -24, -3, -77, 15, -1, 16, 17, 18, 19,
+ 20, -1, 21, 22, -1, 23, -85, 27, 28, 29, 30, -32, -2, 31,
+ -73, 34, -1, 35, -1, -38, -2, 36, -1, 37, -75, -1, -1, -1,
+ -1, -1, 40, -1, -1, -1, 41, -1, -1, -1, -1, -1, -42, -2,
+ -72,
+ };
+
+ 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 < WORDLIST_SIZE)
+ {
+ 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 22:45:41 */
+static TAO_CORBA_InterfaceDef_Perfect_Hash_OpTable tao_CORBA_InterfaceDef_optable;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+class TAO_ServerRequestInfo_CORBA_InterfaceDef_base_interfaces_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_InterfaceDef_base_interfaces_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_InterfaceDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_InterfaceDefSeq * result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_InterfaceDef_base_interfaces_get (const TAO_ServerRequestInfo_CORBA_InterfaceDef_base_interfaces_get &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_InterfaceDef_base_interfaces_get &);
+
+private:
+ POA_CORBA_InterfaceDef *_tao_impl;
+ CORBA_InterfaceDefSeq * _result;
+};
+
+TAO_ServerRequestInfo_CORBA_InterfaceDef_base_interfaces_get::TAO_ServerRequestInfo_CORBA_InterfaceDef_base_interfaces_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_InterfaceDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_InterfaceDef_base_interfaces_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_InterfaceDef_base_interfaces_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_InterfaceDef_base_interfaces_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_InterfaceDef_base_interfaces_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_InterfaceDef_base_interfaces_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_InterfaceDef_base_interfaces_get::result (CORBA_InterfaceDefSeq * result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_InterfaceDef_base_interfaces_set : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_InterfaceDef_base_interfaces_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_InterfaceDef *tao_impl
+ ,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+
+private:
+ TAO_ServerRequestInfo_CORBA_InterfaceDef_base_interfaces_set (const TAO_ServerRequestInfo_CORBA_InterfaceDef_base_interfaces_set &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_InterfaceDef_base_interfaces_set &);
+
+private:
+ POA_CORBA_InterfaceDef *_tao_impl;
+ const CORBA_InterfaceDefSeq & base_interfaces_;
+
+};
+
+TAO_ServerRequestInfo_CORBA_InterfaceDef_base_interfaces_set::TAO_ServerRequestInfo_CORBA_InterfaceDef_base_interfaces_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_InterfaceDef *tao_impl,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ base_interfaces_ (base_interfaces)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_InterfaceDef_base_interfaces_set::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (1);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= this->base_interfaces_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_InterfaceDef_base_interfaces_set::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_InterfaceDef_base_interfaces_set::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 1;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return result_any;
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_InterfaceDef_base_interfaces_set::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_InterfaceDef_base_interfaces_set::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+class TAO_ServerRequestInfo_CORBA_InterfaceDef_is_a : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_InterfaceDef_is_a (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_InterfaceDef *tao_impl
+ ,
+ const char * interface_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA::Boolean result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_InterfaceDef_is_a (const TAO_ServerRequestInfo_CORBA_InterfaceDef_is_a &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_InterfaceDef_is_a &);
+
+private:
+ POA_CORBA_InterfaceDef *_tao_impl;
+ const char * interface_id_;
+ CORBA::Boolean _result;
+};
+
+TAO_ServerRequestInfo_CORBA_InterfaceDef_is_a::TAO_ServerRequestInfo_CORBA_InterfaceDef_is_a (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_InterfaceDef *tao_impl,
+ const char * interface_id
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ interface_id_ (interface_id)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_InterfaceDef_is_a::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (1);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= interface_id_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_InterfaceDef_is_a::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_InterfaceDef_is_a::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= CORBA::Any::from_boolean (this->_result);
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_InterfaceDef_is_a::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_InterfaceDef_is_a::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_InterfaceDef_is_a::result (CORBA::Boolean result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_InterfaceDef_describe_interface : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_InterfaceDef_describe_interface (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_InterfaceDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_InterfaceDef::FullInterfaceDescription * result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_InterfaceDef_describe_interface (const TAO_ServerRequestInfo_CORBA_InterfaceDef_describe_interface &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_InterfaceDef_describe_interface &);
+
+private:
+ POA_CORBA_InterfaceDef *_tao_impl;
+ CORBA_InterfaceDef::FullInterfaceDescription * _result;
+};
+
+TAO_ServerRequestInfo_CORBA_InterfaceDef_describe_interface::TAO_ServerRequestInfo_CORBA_InterfaceDef_describe_interface (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_InterfaceDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_InterfaceDef_describe_interface::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_InterfaceDef_describe_interface::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_InterfaceDef_describe_interface::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_InterfaceDef_describe_interface::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_InterfaceDef_describe_interface::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_InterfaceDef_describe_interface::result (CORBA_InterfaceDef::FullInterfaceDescription * result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_InterfaceDef_create_attribute : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_InterfaceDef_create_attribute (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_InterfaceDef *tao_impl
+ ,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ CORBA::AttributeMode & mode
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_AttributeDef_ptr result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_InterfaceDef_create_attribute (const TAO_ServerRequestInfo_CORBA_InterfaceDef_create_attribute &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_InterfaceDef_create_attribute &);
+
+private:
+ POA_CORBA_InterfaceDef *_tao_impl;
+ const char * id_;
+ const char * name_;
+ const char * version_;
+ CORBA_IDLType_ptr type_;
+ const CORBA::AttributeMode & mode_;
+ CORBA_AttributeDef_ptr _result;
+};
+
+TAO_ServerRequestInfo_CORBA_InterfaceDef_create_attribute::TAO_ServerRequestInfo_CORBA_InterfaceDef_create_attribute (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_InterfaceDef *tao_impl,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ CORBA::AttributeMode & mode
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ id_ (id),
+ name_ (name),
+ version_ (version),
+ type_ (type),
+ mode_ (mode)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_InterfaceDef_create_attribute::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (5);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= id_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= name_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= version_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= this->type_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= this->mode_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_InterfaceDef_create_attribute::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_InterfaceDef_create_attribute::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_InterfaceDef_create_attribute::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_InterfaceDef_create_attribute::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_InterfaceDef_create_attribute::result (CORBA_AttributeDef_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_InterfaceDef_create_operation : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_InterfaceDef_create_operation (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_InterfaceDef *tao_impl
+ ,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr result,
+ CORBA::OperationMode & mode,
+ const CORBA_ParDescriptionSeq & params,
+ const CORBA_ExceptionDefSeq & exceptions,
+ const CORBA_ContextIdSeq & contexts
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_OperationDef_ptr result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_InterfaceDef_create_operation (const TAO_ServerRequestInfo_CORBA_InterfaceDef_create_operation &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_InterfaceDef_create_operation &);
+
+private:
+ POA_CORBA_InterfaceDef *_tao_impl;
+ const char * id_;
+ const char * name_;
+ const char * version_;
+ CORBA_IDLType_ptr result_;
+ const CORBA::OperationMode & mode_;
+ const CORBA_ParDescriptionSeq & params_;
+ const CORBA_ExceptionDefSeq & exceptions_;
+ const CORBA_ContextIdSeq & contexts_;
+ CORBA_OperationDef_ptr _result;
+};
+
+TAO_ServerRequestInfo_CORBA_InterfaceDef_create_operation::TAO_ServerRequestInfo_CORBA_InterfaceDef_create_operation (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_InterfaceDef *tao_impl,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr result,
+ CORBA::OperationMode & mode,
+ const CORBA_ParDescriptionSeq & params,
+ const CORBA_ExceptionDefSeq & exceptions,
+ const CORBA_ContextIdSeq & contexts
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ id_ (id),
+ name_ (name),
+ version_ (version),
+ result_ (result),
+ mode_ (mode),
+ params_ (params),
+ exceptions_ (exceptions),
+ contexts_ (contexts)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_InterfaceDef_create_operation::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (8);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= id_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= name_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= version_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= this->result_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= this->mode_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= this->params_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= this->exceptions_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= this->contexts_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_InterfaceDef_create_operation::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_InterfaceDef_create_operation::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_InterfaceDef_create_operation::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_InterfaceDef_create_operation::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_InterfaceDef_create_operation::result (CORBA_OperationDef_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Implementation
+//
+
+// Factory function Implementation.
+_TAO_CORBA_InterfaceDef_Strategized_Proxy_Broker *_TAO_CORBA_InterfaceDef_Strategized_Proxy_Broker::the_TAO_CORBA_InterfaceDef_Strategized_Proxy_Broker (void)
+{
+ static _TAO_CORBA_InterfaceDef_Strategized_Proxy_Broker strategized_proxy_broker;
+ return &strategized_proxy_broker;
+}
+
+_TAO_CORBA_InterfaceDef_Strategized_Proxy_Broker::_TAO_CORBA_InterfaceDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ this->proxy_cache_[i] = 0;
+
+}
+
+_TAO_CORBA_InterfaceDef_Strategized_Proxy_Broker::~_TAO_CORBA_InterfaceDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ delete this->proxy_cache_[i];
+
+}
+
+_TAO_CORBA_InterfaceDef_Proxy_Impl&
+_TAO_CORBA_InterfaceDef_Strategized_Proxy_Broker::select_proxy (
+ ::CORBA_InterfaceDef *object
+ ACE_ENV_ARG_DECL
+ )
+{
+ int strategy =
+ TAO_ORB_Core::collocation_strategy (object ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ if (this->proxy_cache_[strategy] != 0)
+ return *this->proxy_cache_[strategy];
+
+ this->create_proxy (strategy ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ return *this->proxy_cache_[strategy];
+
+}
+
+void
+_TAO_CORBA_InterfaceDef_Strategized_Proxy_Broker::create_proxy (
+ int strategy
+ ACE_ENV_ARG_DECL
+ )
+{
+ ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_);
+
+ if (this->proxy_cache_[strategy] == 0)
+ {
+ switch (strategy)
+ {
+ case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ _TAO_CORBA_InterfaceDef_ThruPOA_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY:
+ default:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ ::_TAO_CORBA_InterfaceDef_Remote_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ }
+
+ }
+}
+
+
+//
+// End Strategized Proxy Broker Implementation
+///////////////////////////////////////////////////////////////////////
+
+
+_TAO_CORBA_InterfaceDef_Proxy_Broker *
+_TAO_CORBA_InterfaceDef_Proxy_Broker_Factory_function (CORBA::Object_ptr obj)
+{
+ ACE_UNUSED_ARG (obj);
+ return ::_TAO_CORBA_InterfaceDef_Strategized_Proxy_Broker::the_TAO_CORBA_InterfaceDef_Strategized_Proxy_Broker();
+}
+
+int
+_TAO_CORBA_InterfaceDef_Proxy_Broker_Factory_Initializer (long)
+{
+ _TAO_CORBA_InterfaceDef_Proxy_Broker_Factory_function_pointer =
+ _TAO_CORBA_InterfaceDef_Proxy_Broker_Factory_function;
+
+ return 0;
+}
+
+static int _TAO_CORBA_InterfaceDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
+ _TAO_CORBA_InterfaceDef_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_CORBA_InterfaceDef_Proxy_Broker_Factory_Initializer));
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Proxy Implementation
+//
+
+_TAO_CORBA_InterfaceDef_ThruPOA_Proxy_Impl::_TAO_CORBA_InterfaceDef_ThruPOA_Proxy_Impl (void)
+{}
+
+// ThruPOA Implementation of the IDL interface methods
+
+CORBA_InterfaceDefSeq * _TAO_CORBA_InterfaceDef_ThruPOA_Proxy_Impl::base_interfaces (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_InterfaceDefSeq_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "base_interfaces",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_InterfaceDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/InterfaceDef:1.0"
+ )
+ )->base_interfaces (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+void _TAO_CORBA_InterfaceDef_ThruPOA_Proxy_Impl::base_interfaces (
+ CORBA_Object *_collocated_tao_target_,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "base_interfaces",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_CORBA_InterfaceDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/InterfaceDef:1.0"
+ )
+ )->base_interfaces (
+ base_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+ return;
+}
+
+CORBA::Boolean _TAO_CORBA_InterfaceDef_ThruPOA_Proxy_Impl::is_a (
+ CORBA_Object *_collocated_tao_target_,
+ const char * interface_id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::Boolean _tao_retval = 0;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "is_a",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (_tao_retval);
+ return ACE_reinterpret_cast (
+ POA_CORBA_InterfaceDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/InterfaceDef:1.0"
+ )
+ )->is_a (
+ interface_id
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+CORBA_InterfaceDef::FullInterfaceDescription * _TAO_CORBA_InterfaceDef_ThruPOA_Proxy_Impl::describe_interface (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_InterfaceDef::FullInterfaceDescription_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "describe_interface",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_InterfaceDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/InterfaceDef:1.0"
+ )
+ )->describe_interface (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+CORBA_AttributeDef_ptr _TAO_CORBA_InterfaceDef_ThruPOA_Proxy_Impl::create_attribute (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ CORBA::AttributeMode mode
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_AttributeDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "create_attribute",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_InterfaceDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/InterfaceDef:1.0"
+ )
+ )->create_attribute (
+ id,
+ name,
+ version,
+ type,
+ mode
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+CORBA_OperationDef_ptr _TAO_CORBA_InterfaceDef_ThruPOA_Proxy_Impl::create_operation (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr result,
+ CORBA::OperationMode mode,
+ const CORBA_ParDescriptionSeq & params,
+ const CORBA_ExceptionDefSeq & exceptions,
+ const CORBA_ContextIdSeq & contexts
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_OperationDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "create_operation",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_InterfaceDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/InterfaceDef:1.0"
+ )
+ )->create_operation (
+ id,
+ name,
+ version,
+ result,
+ mode,
+ params,
+ exceptions,
+ contexts
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+//
+// End ThruPOA Proxy Implementation
+///////////////////////////////////////////////////////////////////////
+
+// skeleton constructor
+POA_CORBA_InterfaceDef::POA_CORBA_InterfaceDef (void)
+{
+ this->optable_ = &tao_CORBA_InterfaceDef_optable;
+}
+
+// copy ctor
+POA_CORBA_InterfaceDef::POA_CORBA_InterfaceDef (const POA_CORBA_InterfaceDef& rhs)
+ : POA_CORBA_Container (rhs),
+ POA_CORBA_Contained (rhs),
+ POA_CORBA_IDLType (rhs),
+ POA_CORBA_IRObject (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_CORBA_InterfaceDef::~POA_CORBA_InterfaceDef (void)
+{
+}
+
+void POA_CORBA_InterfaceDef::_get_base_interfaces_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_InterfaceDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_InterfaceDef *, _tao_object_reference);
+
+ CORBA_InterfaceDefSeq_var _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_InterfaceDef_base_interfaces_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->base_interfaces (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_InterfaceDefSeq * _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_InterfaceDef::_set_base_interfaces_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_InterfaceDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_InterfaceDef *, _tao_object_reference);
+
+ _tao_server_request.argument_flag (0);
+ CORBA_InterfaceDefSeq base_interfaces;
+ if (!(
+ (_tao_in >> base_interfaces)
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_InterfaceDef_base_interfaces_set ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ base_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->base_interfaces (
+ base_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_InterfaceDef::is_a_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_InterfaceDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_InterfaceDef *, _tao_object_reference);
+
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var interface_id;
+ if (!(
+ (_tao_in >> interface_id.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_InterfaceDef_is_a ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ interface_id.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->is_a (
+ interface_id.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA::Boolean _tao_retval_info = _tao_retval;
+ ri.result (_tao_retval_info);
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << CORBA::Any::from_boolean (_tao_retval))
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_InterfaceDef::describe_interface_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_InterfaceDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_InterfaceDef *, _tao_object_reference);
+
+ CORBA_InterfaceDef::FullInterfaceDescription_var _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_InterfaceDef_describe_interface ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->describe_interface (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_InterfaceDef::FullInterfaceDescription * _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_InterfaceDef::create_attribute_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_InterfaceDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_InterfaceDef *, _tao_object_reference);
+
+ CORBA_AttributeDef_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::String_var version;
+ CORBA_IDLType_var type;
+ CORBA::AttributeMode mode;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.out ()) &&
+ (_tao_in >> version.out ()) &&
+ (_tao_in >> type.out ()) &&
+ (_tao_in >> mode)
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_InterfaceDef_create_attribute ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ id.in (),
+ name.in (),
+ version.in (),
+ type.in (),
+ mode
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->create_attribute (
+ id.in (),
+ name.in (),
+ version.in (),
+ type.in (),
+ mode
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_AttributeDef_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_InterfaceDef::create_operation_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_InterfaceDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_InterfaceDef *, _tao_object_reference);
+
+ CORBA_OperationDef_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::String_var version;
+ CORBA_IDLType_var result;
+ CORBA::OperationMode mode;
+ CORBA_ParDescriptionSeq params;
+ CORBA_ExceptionDefSeq exceptions;
+ CORBA_ContextIdSeq contexts;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.out ()) &&
+ (_tao_in >> version.out ()) &&
+ (_tao_in >> result.out ()) &&
+ (_tao_in >> mode) &&
+ (_tao_in >> params) &&
+ (_tao_in >> exceptions) &&
+ (_tao_in >> contexts)
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_InterfaceDef_create_operation ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ id.in (),
+ name.in (),
+ version.in (),
+ result.in (),
+ mode,
+ params,
+ exceptions,
+ contexts
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->create_operation (
+ id.in (),
+ name.in (),
+ version.in (),
+ result.in (),
+ mode,
+ params,
+ exceptions,
+ contexts
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_OperationDef_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_InterfaceDef::_is_a_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_InterfaceDef *_tao_impl = (POA_CORBA_InterfaceDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!(_tao_in >> value.out ()))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_CORBA_InterfaceDef::_non_existent_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_InterfaceDef *_tao_impl = (POA_CORBA_InterfaceDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_CORBA_InterfaceDef::_interface_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_InterfaceDef *_tao_impl = (POA_CORBA_InterfaceDef *) _tao_object_reference;
+ CORBA_InterfaceDef_ptr _tao_retval = 0;
+ CORBA::Boolean _tao_result = 0;
+
+ TAO_IFR_Client_Adapter *_tao_adapter =
+ ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
+ TAO_ORB_Core::ifr_client_adapter_name ()
+ );
+
+ if (_tao_adapter == 0)
+ {
+ ACE_THROW (CORBA::INTF_REPOS ());
+ }
+
+ ACE_TRY
+ {
+ _tao_retval = _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ _tao_result =
+ _tao_adapter->interfacedef_cdr_insert (
+ _tao_out,
+ _tao_retval
+ );
+ }
+ ACE_CATCHALL
+ {
+ _tao_adapter->dispose (_tao_retval);
+ }
+ ACE_ENDTRY;
+
+ if (_tao_result == 0)
+ {
+ ACE_THROW (CORBA::MARSHAL ());
+ }
+}
+
+CORBA::Boolean POA_CORBA_InterfaceDef::_is_a (
+ const char* value
+ ACE_ENV_ARG_DECL
+ )
+{
+ const char *base_id = CORBA::_tc_Object->id (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/InterfaceDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Container:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Contained:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IDLType:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, base_id)))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_CORBA_InterfaceDef::_downcast (
+ const char* logical_type_id
+ )
+{
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/InterfaceDef:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_InterfaceDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Container:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_Container_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Contained:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_Contained_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IDLType:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IDLType_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_CORBA_InterfaceDef::_dispatch (TAO_ServerRequest &req, void *servant_upcall ACE_ENV_ARG_DECL)
+{
+ this->synchronous_upcall_dispatch (req,
+ servant_upcall,
+ this
+ ACE_ENV_ARG_PARAMETER);
+}
+
+
+const char* POA_CORBA_InterfaceDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/CORBA/InterfaceDef:1.0";
+}
+
+CORBA_InterfaceDef*
+POA_CORBA_InterfaceDef::_this (ACE_ENV_SINGLE_ARG_DECL)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ TAO_Stub_Auto_Ptr safe_stub (stub);
+
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0);
+ else
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0);
+
+ CORBA::Object_var obj = tmp;
+
+ (void) safe_stub.release ();
+
+ return ::CORBA_InterfaceDef::_unchecked_narrow (obj.in ());
+}
+
+
+class TAO_CORBA_AbstractInterfaceDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 22:45:42 */
+/* 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_AbstractInterfaceDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_CORBA_AbstractInterfaceDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 25,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 0,
+ 71, 0, 20, 0, 71, 71, 71, 5, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 20, 0, 5,
+ 71, 15, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 25, 11, 71, 71, 71, 20, 0, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71,
+#else
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 25, 71, 0, 71, 0,
+ 20, 0, 71, 71, 71, 5, 71, 71, 20, 0,
+ 5, 71, 15, 71, 71, 25, 11, 71, 71, 71,
+ 20, 0, 71, 71, 71, 71, 71, 71,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_CORBA_AbstractInterfaceDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 40,
+ MIN_WORD_LENGTH = 4,
+ MAX_WORD_LENGTH = 26,
+ MIN_HASH_VALUE = 4,
+ MAX_HASH_VALUE = 70,
+ HASH_VALUE_RANGE = 67,
+ DUPLICATES = 9,
+ WORDLIST_SIZE = 44
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},
+ {"move", &POA_CORBA_AbstractInterfaceDef::move_skel},
+ {"is_a", &POA_CORBA_AbstractInterfaceDef::is_a_skel},
+ {"create_enum", &POA_CORBA_AbstractInterfaceDef::create_enum_skel},
+ {"create_value", &POA_CORBA_AbstractInterfaceDef::create_value_skel},
+ {"create_module", &POA_CORBA_AbstractInterfaceDef::create_module_skel},
+ {"create_native", &POA_CORBA_AbstractInterfaceDef::create_native_skel},
+ {"create_attribute", &POA_CORBA_AbstractInterfaceDef::create_attribute_skel},
+ {"create_interface", &POA_CORBA_AbstractInterfaceDef::create_interface_skel},
+ {"create_union", &POA_CORBA_AbstractInterfaceDef::create_union_skel},
+ {"create_operation", &POA_CORBA_AbstractInterfaceDef::create_operation_skel},
+ {"create_exception", &POA_CORBA_AbstractInterfaceDef::create_exception_skel},
+ {"create_local_interface", &POA_CORBA_AbstractInterfaceDef::create_local_interface_skel},
+ {"create_struct", &POA_CORBA_AbstractInterfaceDef::create_struct_skel},
+ {"create_abstract_interface", &POA_CORBA_AbstractInterfaceDef::create_abstract_interface_skel},
+ {"create_constant", &POA_CORBA_AbstractInterfaceDef::create_constant_skel},
+ {"destroy", &POA_CORBA_AbstractInterfaceDef::destroy_skel},
+ {"describe", &POA_CORBA_AbstractInterfaceDef::describe_skel},
+ {"_is_a", &POA_CORBA_AbstractInterfaceDef::_is_a_skel},
+ {"lookup_name", &POA_CORBA_AbstractInterfaceDef::lookup_name_skel},
+ {"contents", &POA_CORBA_AbstractInterfaceDef::contents_skel},
+ {"_get_name", &POA_CORBA_AbstractInterfaceDef::_get_name_skel},
+ {"_get_type", &POA_CORBA_AbstractInterfaceDef::_get_type_skel},
+ {"_set_name", &POA_CORBA_AbstractInterfaceDef::_set_name_skel},
+ {"_interface", &POA_CORBA_AbstractInterfaceDef::_interface_skel},
+ {"create_value_box", &POA_CORBA_AbstractInterfaceDef::create_value_box_skel},
+ {"create_alias", &POA_CORBA_AbstractInterfaceDef::create_alias_skel},
+ {"describe_interface", &POA_CORBA_AbstractInterfaceDef::describe_interface_skel},
+ {"lookup", &POA_CORBA_AbstractInterfaceDef::lookup_skel},
+ {"_get_version", &POA_CORBA_AbstractInterfaceDef::_get_version_skel},
+ {"_set_version", &POA_CORBA_AbstractInterfaceDef::_set_version_skel},
+ {"_get_absolute_name", &POA_CORBA_AbstractInterfaceDef::_get_absolute_name_skel},
+ {"_get_defined_in", &POA_CORBA_AbstractInterfaceDef::_get_defined_in_skel},
+ {"_non_existent", &POA_CORBA_AbstractInterfaceDef::_non_existent_skel},
+ {"_get_containing_repository", &POA_CORBA_AbstractInterfaceDef::_get_containing_repository_skel},
+ {"_get_id", &POA_CORBA_AbstractInterfaceDef::_get_id_skel},
+ {"_set_id", &POA_CORBA_AbstractInterfaceDef::_set_id_skel},
+ {"_get_def_kind", &POA_CORBA_AbstractInterfaceDef::_get_def_kind_skel},
+ {"describe_contents", &POA_CORBA_AbstractInterfaceDef::describe_contents_skel},
+ {"_get_base_interfaces", &POA_CORBA_AbstractInterfaceDef::_get_base_interfaces_skel},
+ {"_set_base_interfaces", &POA_CORBA_AbstractInterfaceDef::_set_base_interfaces_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -1, -1, -1, -1, 4, -8, -2, -10, -2, 5, -1, 6, 7, -78,
+ -13, -2, -79, 12, -1, -24, -3, -77, 15, -1, 16, 17, 18, 19,
+ 20, -1, 21, 22, -1, 23, -85, 27, 28, 29, 30, -32, -2, 31,
+ -73, 34, -1, 35, -1, -38, -2, 36, -1, 37, -75, -1, -1, -1,
+ -1, -1, 40, -1, -1, -1, 41, -1, -1, -1, -1, -1, -42, -2,
+ -72,
+ };
+
+ 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 < WORDLIST_SIZE)
+ {
+ 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 22:45:42 */
+static TAO_CORBA_AbstractInterfaceDef_Perfect_Hash_OpTable tao_CORBA_AbstractInterfaceDef_optable;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+#endif /* TAO_HAS_INTERCEPTORS */
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Implementation
+//
+
+// Factory function Implementation.
+_TAO_CORBA_AbstractInterfaceDef_Strategized_Proxy_Broker *_TAO_CORBA_AbstractInterfaceDef_Strategized_Proxy_Broker::the_TAO_CORBA_AbstractInterfaceDef_Strategized_Proxy_Broker (void)
+{
+ static _TAO_CORBA_AbstractInterfaceDef_Strategized_Proxy_Broker strategized_proxy_broker;
+ return &strategized_proxy_broker;
+}
+
+_TAO_CORBA_AbstractInterfaceDef_Strategized_Proxy_Broker::_TAO_CORBA_AbstractInterfaceDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ this->proxy_cache_[i] = 0;
+
+}
+
+_TAO_CORBA_AbstractInterfaceDef_Strategized_Proxy_Broker::~_TAO_CORBA_AbstractInterfaceDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ delete this->proxy_cache_[i];
+
+}
+
+_TAO_CORBA_AbstractInterfaceDef_Proxy_Impl&
+_TAO_CORBA_AbstractInterfaceDef_Strategized_Proxy_Broker::select_proxy (
+ ::CORBA_AbstractInterfaceDef *object
+ ACE_ENV_ARG_DECL
+ )
+{
+ int strategy =
+ TAO_ORB_Core::collocation_strategy (object ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ if (this->proxy_cache_[strategy] != 0)
+ return *this->proxy_cache_[strategy];
+
+ this->create_proxy (strategy ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ return *this->proxy_cache_[strategy];
+
+}
+
+void
+_TAO_CORBA_AbstractInterfaceDef_Strategized_Proxy_Broker::create_proxy (
+ int strategy
+ ACE_ENV_ARG_DECL
+ )
+{
+ ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_);
+
+ if (this->proxy_cache_[strategy] == 0)
+ {
+ switch (strategy)
+ {
+ case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ _TAO_CORBA_AbstractInterfaceDef_ThruPOA_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY:
+ default:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ ::_TAO_CORBA_AbstractInterfaceDef_Remote_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ }
+
+ }
+}
+
+
+//
+// End Strategized Proxy Broker Implementation
+///////////////////////////////////////////////////////////////////////
+
+
+_TAO_CORBA_AbstractInterfaceDef_Proxy_Broker *
+_TAO_CORBA_AbstractInterfaceDef_Proxy_Broker_Factory_function (CORBA::Object_ptr obj)
+{
+ ACE_UNUSED_ARG (obj);
+ return ::_TAO_CORBA_AbstractInterfaceDef_Strategized_Proxy_Broker::the_TAO_CORBA_AbstractInterfaceDef_Strategized_Proxy_Broker();
+}
+
+int
+_TAO_CORBA_AbstractInterfaceDef_Proxy_Broker_Factory_Initializer (long)
+{
+ _TAO_CORBA_AbstractInterfaceDef_Proxy_Broker_Factory_function_pointer =
+ _TAO_CORBA_AbstractInterfaceDef_Proxy_Broker_Factory_function;
+
+ return 0;
+}
+
+static int _TAO_CORBA_AbstractInterfaceDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
+ _TAO_CORBA_AbstractInterfaceDef_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_CORBA_AbstractInterfaceDef_Proxy_Broker_Factory_Initializer));
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Proxy Implementation
+//
+
+_TAO_CORBA_AbstractInterfaceDef_ThruPOA_Proxy_Impl::_TAO_CORBA_AbstractInterfaceDef_ThruPOA_Proxy_Impl (void)
+{}
+
+// ThruPOA Implementation of the IDL interface methods
+
+//
+// End ThruPOA Proxy Implementation
+///////////////////////////////////////////////////////////////////////
+
+// skeleton constructor
+POA_CORBA_AbstractInterfaceDef::POA_CORBA_AbstractInterfaceDef (void)
+{
+ this->optable_ = &tao_CORBA_AbstractInterfaceDef_optable;
+}
+
+// copy ctor
+POA_CORBA_AbstractInterfaceDef::POA_CORBA_AbstractInterfaceDef (const POA_CORBA_AbstractInterfaceDef& rhs)
+ : POA_CORBA_InterfaceDef (rhs),
+ POA_CORBA_Container (rhs),
+ POA_CORBA_Contained (rhs),
+ POA_CORBA_IDLType (rhs),
+ POA_CORBA_IRObject (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_CORBA_AbstractInterfaceDef::~POA_CORBA_AbstractInterfaceDef (void)
+{
+}
+
+void POA_CORBA_AbstractInterfaceDef::_is_a_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_AbstractInterfaceDef *_tao_impl = (POA_CORBA_AbstractInterfaceDef *) _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_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_CORBA_AbstractInterfaceDef::_non_existent_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_AbstractInterfaceDef *_tao_impl = (POA_CORBA_AbstractInterfaceDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_CORBA_AbstractInterfaceDef::_interface_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_AbstractInterfaceDef *_tao_impl = (POA_CORBA_AbstractInterfaceDef *) _tao_object_reference;
+ CORBA_InterfaceDef_ptr _tao_retval = 0;
+ CORBA::Boolean _tao_result = 0;
+
+ TAO_IFR_Client_Adapter *_tao_adapter =
+ ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
+ TAO_ORB_Core::ifr_client_adapter_name ()
+ );
+
+ if (_tao_adapter == 0)
+ {
+ ACE_THROW (CORBA::INTF_REPOS ());
+ }
+
+ ACE_TRY
+ {
+ _tao_retval = _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ _tao_result =
+ _tao_adapter->interfacedef_cdr_insert (
+ _tao_out,
+ _tao_retval
+ );
+ }
+ ACE_CATCHALL
+ {
+ _tao_adapter->dispose (_tao_retval);
+ }
+ ACE_ENDTRY;
+
+ if (_tao_result == 0)
+ {
+ ACE_THROW (CORBA::MARSHAL ());
+ }
+}
+
+CORBA::Boolean POA_CORBA_AbstractInterfaceDef::_is_a (
+ const char* value
+ ACE_ENV_ARG_DECL
+ )
+{
+ const char *base_id = CORBA::_tc_Object->id (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/AbstractInterfaceDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/InterfaceDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Container:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Contained:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IDLType:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, base_id)))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_CORBA_AbstractInterfaceDef::_downcast (
+ const char* logical_type_id
+ )
+{
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/AbstractInterfaceDef:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_AbstractInterfaceDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/InterfaceDef:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_InterfaceDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Container:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_Container_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Contained:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_Contained_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IDLType:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IDLType_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_CORBA_AbstractInterfaceDef::_dispatch (TAO_ServerRequest &req, void *servant_upcall ACE_ENV_ARG_DECL)
+{
+ this->synchronous_upcall_dispatch (req,
+ servant_upcall,
+ this
+ ACE_ENV_ARG_PARAMETER);
+}
+
+
+const char* POA_CORBA_AbstractInterfaceDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/CORBA/AbstractInterfaceDef:1.0";
+}
+
+CORBA_AbstractInterfaceDef*
+POA_CORBA_AbstractInterfaceDef::_this (ACE_ENV_SINGLE_ARG_DECL)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ TAO_Stub_Auto_Ptr safe_stub (stub);
+
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0);
+ else
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0);
+
+ CORBA::Object_var obj = tmp;
+
+ (void) safe_stub.release ();
+
+ return ::CORBA_AbstractInterfaceDef::_unchecked_narrow (obj.in ());
+}
+
+
+class TAO_CORBA_LocalInterfaceDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 22:45:43 */
+/* 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_LocalInterfaceDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_CORBA_LocalInterfaceDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 25,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 0,
+ 71, 0, 20, 0, 71, 71, 71, 5, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 20, 0, 5,
+ 71, 15, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 25, 11, 71, 71, 71, 20, 0, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71,
+#else
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 25, 71, 0, 71, 0,
+ 20, 0, 71, 71, 71, 5, 71, 71, 20, 0,
+ 5, 71, 15, 71, 71, 25, 11, 71, 71, 71,
+ 20, 0, 71, 71, 71, 71, 71, 71,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_CORBA_LocalInterfaceDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 40,
+ MIN_WORD_LENGTH = 4,
+ MAX_WORD_LENGTH = 26,
+ MIN_HASH_VALUE = 4,
+ MAX_HASH_VALUE = 70,
+ HASH_VALUE_RANGE = 67,
+ DUPLICATES = 9,
+ WORDLIST_SIZE = 44
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},
+ {"move", &POA_CORBA_LocalInterfaceDef::move_skel},
+ {"is_a", &POA_CORBA_LocalInterfaceDef::is_a_skel},
+ {"create_enum", &POA_CORBA_LocalInterfaceDef::create_enum_skel},
+ {"create_value", &POA_CORBA_LocalInterfaceDef::create_value_skel},
+ {"create_module", &POA_CORBA_LocalInterfaceDef::create_module_skel},
+ {"create_native", &POA_CORBA_LocalInterfaceDef::create_native_skel},
+ {"create_attribute", &POA_CORBA_LocalInterfaceDef::create_attribute_skel},
+ {"create_interface", &POA_CORBA_LocalInterfaceDef::create_interface_skel},
+ {"create_union", &POA_CORBA_LocalInterfaceDef::create_union_skel},
+ {"create_operation", &POA_CORBA_LocalInterfaceDef::create_operation_skel},
+ {"create_exception", &POA_CORBA_LocalInterfaceDef::create_exception_skel},
+ {"create_local_interface", &POA_CORBA_LocalInterfaceDef::create_local_interface_skel},
+ {"create_struct", &POA_CORBA_LocalInterfaceDef::create_struct_skel},
+ {"create_abstract_interface", &POA_CORBA_LocalInterfaceDef::create_abstract_interface_skel},
+ {"create_constant", &POA_CORBA_LocalInterfaceDef::create_constant_skel},
+ {"destroy", &POA_CORBA_LocalInterfaceDef::destroy_skel},
+ {"describe", &POA_CORBA_LocalInterfaceDef::describe_skel},
+ {"_is_a", &POA_CORBA_LocalInterfaceDef::_is_a_skel},
+ {"lookup_name", &POA_CORBA_LocalInterfaceDef::lookup_name_skel},
+ {"contents", &POA_CORBA_LocalInterfaceDef::contents_skel},
+ {"_get_name", &POA_CORBA_LocalInterfaceDef::_get_name_skel},
+ {"_get_type", &POA_CORBA_LocalInterfaceDef::_get_type_skel},
+ {"_set_name", &POA_CORBA_LocalInterfaceDef::_set_name_skel},
+ {"_interface", &POA_CORBA_LocalInterfaceDef::_interface_skel},
+ {"create_value_box", &POA_CORBA_LocalInterfaceDef::create_value_box_skel},
+ {"create_alias", &POA_CORBA_LocalInterfaceDef::create_alias_skel},
+ {"describe_interface", &POA_CORBA_LocalInterfaceDef::describe_interface_skel},
+ {"lookup", &POA_CORBA_LocalInterfaceDef::lookup_skel},
+ {"_get_version", &POA_CORBA_LocalInterfaceDef::_get_version_skel},
+ {"_set_version", &POA_CORBA_LocalInterfaceDef::_set_version_skel},
+ {"_get_absolute_name", &POA_CORBA_LocalInterfaceDef::_get_absolute_name_skel},
+ {"_get_defined_in", &POA_CORBA_LocalInterfaceDef::_get_defined_in_skel},
+ {"_non_existent", &POA_CORBA_LocalInterfaceDef::_non_existent_skel},
+ {"_get_containing_repository", &POA_CORBA_LocalInterfaceDef::_get_containing_repository_skel},
+ {"_get_id", &POA_CORBA_LocalInterfaceDef::_get_id_skel},
+ {"_set_id", &POA_CORBA_LocalInterfaceDef::_set_id_skel},
+ {"_get_def_kind", &POA_CORBA_LocalInterfaceDef::_get_def_kind_skel},
+ {"describe_contents", &POA_CORBA_LocalInterfaceDef::describe_contents_skel},
+ {"_get_base_interfaces", &POA_CORBA_LocalInterfaceDef::_get_base_interfaces_skel},
+ {"_set_base_interfaces", &POA_CORBA_LocalInterfaceDef::_set_base_interfaces_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -1, -1, -1, -1, 4, -8, -2, -10, -2, 5, -1, 6, 7, -78,
+ -13, -2, -79, 12, -1, -24, -3, -77, 15, -1, 16, 17, 18, 19,
+ 20, -1, 21, 22, -1, 23, -85, 27, 28, 29, 30, -32, -2, 31,
+ -73, 34, -1, 35, -1, -38, -2, 36, -1, 37, -75, -1, -1, -1,
+ -1, -1, 40, -1, -1, -1, 41, -1, -1, -1, -1, -1, -42, -2,
+ -72,
+ };
+
+ 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 < WORDLIST_SIZE)
+ {
+ 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 22:45:43 */
+static TAO_CORBA_LocalInterfaceDef_Perfect_Hash_OpTable tao_CORBA_LocalInterfaceDef_optable;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+#endif /* TAO_HAS_INTERCEPTORS */
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Implementation
+//
+
+// Factory function Implementation.
+_TAO_CORBA_LocalInterfaceDef_Strategized_Proxy_Broker *_TAO_CORBA_LocalInterfaceDef_Strategized_Proxy_Broker::the_TAO_CORBA_LocalInterfaceDef_Strategized_Proxy_Broker (void)
+{
+ static _TAO_CORBA_LocalInterfaceDef_Strategized_Proxy_Broker strategized_proxy_broker;
+ return &strategized_proxy_broker;
+}
+
+_TAO_CORBA_LocalInterfaceDef_Strategized_Proxy_Broker::_TAO_CORBA_LocalInterfaceDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ this->proxy_cache_[i] = 0;
+
+}
+
+_TAO_CORBA_LocalInterfaceDef_Strategized_Proxy_Broker::~_TAO_CORBA_LocalInterfaceDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ delete this->proxy_cache_[i];
+
+}
+
+_TAO_CORBA_LocalInterfaceDef_Proxy_Impl&
+_TAO_CORBA_LocalInterfaceDef_Strategized_Proxy_Broker::select_proxy (
+ ::CORBA_LocalInterfaceDef *object
+ ACE_ENV_ARG_DECL
+ )
+{
+ int strategy =
+ TAO_ORB_Core::collocation_strategy (object ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ if (this->proxy_cache_[strategy] != 0)
+ return *this->proxy_cache_[strategy];
+
+ this->create_proxy (strategy ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ return *this->proxy_cache_[strategy];
+
+}
+
+void
+_TAO_CORBA_LocalInterfaceDef_Strategized_Proxy_Broker::create_proxy (
+ int strategy
+ ACE_ENV_ARG_DECL
+ )
+{
+ ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_);
+
+ if (this->proxy_cache_[strategy] == 0)
+ {
+ switch (strategy)
+ {
+ case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ _TAO_CORBA_LocalInterfaceDef_ThruPOA_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY:
+ default:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ ::_TAO_CORBA_LocalInterfaceDef_Remote_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ }
+
+ }
+}
+
+
+//
+// End Strategized Proxy Broker Implementation
+///////////////////////////////////////////////////////////////////////
+
+
+_TAO_CORBA_LocalInterfaceDef_Proxy_Broker *
+_TAO_CORBA_LocalInterfaceDef_Proxy_Broker_Factory_function (CORBA::Object_ptr obj)
+{
+ ACE_UNUSED_ARG (obj);
+ return ::_TAO_CORBA_LocalInterfaceDef_Strategized_Proxy_Broker::the_TAO_CORBA_LocalInterfaceDef_Strategized_Proxy_Broker();
+}
+
+int
+_TAO_CORBA_LocalInterfaceDef_Proxy_Broker_Factory_Initializer (long)
+{
+ _TAO_CORBA_LocalInterfaceDef_Proxy_Broker_Factory_function_pointer =
+ _TAO_CORBA_LocalInterfaceDef_Proxy_Broker_Factory_function;
+
+ return 0;
+}
+
+static int _TAO_CORBA_LocalInterfaceDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
+ _TAO_CORBA_LocalInterfaceDef_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_CORBA_LocalInterfaceDef_Proxy_Broker_Factory_Initializer));
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Proxy Implementation
+//
+
+_TAO_CORBA_LocalInterfaceDef_ThruPOA_Proxy_Impl::_TAO_CORBA_LocalInterfaceDef_ThruPOA_Proxy_Impl (void)
+{}
+
+// ThruPOA Implementation of the IDL interface methods
+
+//
+// End ThruPOA Proxy Implementation
+///////////////////////////////////////////////////////////////////////
+
+// skeleton constructor
+POA_CORBA_LocalInterfaceDef::POA_CORBA_LocalInterfaceDef (void)
+{
+ this->optable_ = &tao_CORBA_LocalInterfaceDef_optable;
+}
+
+// copy ctor
+POA_CORBA_LocalInterfaceDef::POA_CORBA_LocalInterfaceDef (const POA_CORBA_LocalInterfaceDef& rhs)
+ : POA_CORBA_InterfaceDef (rhs),
+ POA_CORBA_Container (rhs),
+ POA_CORBA_Contained (rhs),
+ POA_CORBA_IDLType (rhs),
+ POA_CORBA_IRObject (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_CORBA_LocalInterfaceDef::~POA_CORBA_LocalInterfaceDef (void)
+{
+}
+
+void POA_CORBA_LocalInterfaceDef::_is_a_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_LocalInterfaceDef *_tao_impl = (POA_CORBA_LocalInterfaceDef *) _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_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_CORBA_LocalInterfaceDef::_non_existent_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_LocalInterfaceDef *_tao_impl = (POA_CORBA_LocalInterfaceDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_CORBA_LocalInterfaceDef::_interface_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_LocalInterfaceDef *_tao_impl = (POA_CORBA_LocalInterfaceDef *) _tao_object_reference;
+ CORBA_InterfaceDef_ptr _tao_retval = 0;
+ CORBA::Boolean _tao_result = 0;
+
+ TAO_IFR_Client_Adapter *_tao_adapter =
+ ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
+ TAO_ORB_Core::ifr_client_adapter_name ()
+ );
+
+ if (_tao_adapter == 0)
+ {
+ ACE_THROW (CORBA::INTF_REPOS ());
+ }
+
+ ACE_TRY
+ {
+ _tao_retval = _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ _tao_result =
+ _tao_adapter->interfacedef_cdr_insert (
+ _tao_out,
+ _tao_retval
+ );
+ }
+ ACE_CATCHALL
+ {
+ _tao_adapter->dispose (_tao_retval);
+ }
+ ACE_ENDTRY;
+
+ if (_tao_result == 0)
+ {
+ ACE_THROW (CORBA::MARSHAL ());
+ }
+}
+
+CORBA::Boolean POA_CORBA_LocalInterfaceDef::_is_a (
+ const char* value
+ ACE_ENV_ARG_DECL
+ )
+{
+ const char *base_id = CORBA::_tc_Object->id (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/LocalInterfaceDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/InterfaceDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Container:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Contained:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IDLType:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, base_id)))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_CORBA_LocalInterfaceDef::_downcast (
+ const char* logical_type_id
+ )
+{
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/LocalInterfaceDef:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_LocalInterfaceDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/InterfaceDef:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_InterfaceDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Container:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_Container_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Contained:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_Contained_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IDLType:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IDLType_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_CORBA_LocalInterfaceDef::_dispatch (TAO_ServerRequest &req, void *servant_upcall ACE_ENV_ARG_DECL)
+{
+ this->synchronous_upcall_dispatch (req,
+ servant_upcall,
+ this
+ ACE_ENV_ARG_PARAMETER);
+}
+
+
+const char* POA_CORBA_LocalInterfaceDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/CORBA/LocalInterfaceDef:1.0";
+}
+
+CORBA_LocalInterfaceDef*
+POA_CORBA_LocalInterfaceDef::_this (ACE_ENV_SINGLE_ARG_DECL)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ TAO_Stub_Auto_Ptr safe_stub (stub);
+
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0);
+ else
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0);
+
+ CORBA::Object_var obj = tmp;
+
+ (void) safe_stub.release ();
+
+ return ::CORBA_LocalInterfaceDef::_unchecked_narrow (obj.in ());
+}
+
+
+
+#endif /* ifndef */
diff --git a/TAO/orbsvcs/IFR_Service/IFR_BasicS.h b/TAO/orbsvcs/IFR_Service/IFR_BasicS.h
new file mode 100644
index 00000000000..eefdd907bda
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/IFR_BasicS.h
@@ -0,0 +1,6490 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+#ifndef _TAO_IDL__________ORBSVCS_IFR_SERVICE_ORIG_IFR_BASICS_H_
+#define _TAO_IDL__________ORBSVCS_IFR_SERVICE_ORIG_IFR_BASICS_H_
+
+#include "ace/pre.h"
+#include "IFR_BaseS.h"
+#include "tao/IFR_Client/IFR_BasicC.h"
+
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "tao/PortableServer/PortableServer.h"
+#include "tao/PortableServer/Servant_Base.h"
+#include "tao/PortableServer/Collocated_Object.h"
+#include "tao/PortableServer/ThruPOA_Object_Proxy_Impl.h"
+#include "tao/PortableServer/Direct_Object_Proxy_Impl.h"
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+#if defined (__BORLANDC__)
+#pragma option push -w-rvl -w-rch -w-ccc -w-inl
+#endif /* __BORLANDC__ */
+
+class POA_CORBA_Repository;
+typedef POA_CORBA_Repository *POA_CORBA_Repository_ptr;
+// Forward Classes Declaration
+class _TAO_CORBA_Repository_ThruPOA_Proxy_Impl;
+class _TAO_CORBA_Repository_Strategized_Proxy_Broker;
+
+class POA_CORBA_Repository : public virtual POA_CORBA_Container
+{
+protected:
+ POA_CORBA_Repository (void);
+
+public:
+ POA_CORBA_Repository (const POA_CORBA_Repository& rhs);
+ virtual ~POA_CORBA_Repository (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _non_existent_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void _dispatch (
+ TAO_ServerRequest &req,
+ void *_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ ::CORBA_Repository *_this (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual CORBA_Contained_ptr lookup_id (
+ const char * search_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void lookup_id_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA::TypeCode_ptr get_canonical_typecode (
+ CORBA::TypeCode_ptr tc
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void get_canonical_typecode_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA_PrimitiveDef_ptr get_primitive (
+ CORBA::PrimitiveKind kind
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void get_primitive_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA_StringDef_ptr create_string (
+ CORBA::ULong bound
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_string_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA_WstringDef_ptr create_wstring (
+ CORBA::ULong bound
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_wstring_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA_SequenceDef_ptr create_sequence (
+ CORBA::ULong bound,
+ CORBA_IDLType_ptr element_type
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_sequence_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA_ArrayDef_ptr create_array (
+ CORBA::ULong length,
+ CORBA_IDLType_ptr element_type
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_array_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA_FixedDef_ptr create_fixed (
+ CORBA::UShort digits,
+ CORBA::Short scale
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_fixed_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void lookup_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void contents_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void lookup_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void describe_contents_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_module_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_constant_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_struct_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_union_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_enum_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_alias_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_value_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_value_box_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_exception_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_native_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_abstract_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_local_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+
+};
+
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Declaration
+//
+
+class _TAO_CORBA_Repository_Strategized_Proxy_Broker : public virtual ::_TAO_CORBA_Repository_Proxy_Broker
+{
+public:
+ _TAO_CORBA_Repository_Strategized_Proxy_Broker (void);
+
+ virtual ~_TAO_CORBA_Repository_Strategized_Proxy_Broker (void);
+
+ virtual ::_TAO_CORBA_Repository_Proxy_Impl &select_proxy (
+ ::CORBA_Repository *object
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Helper methods that takes care to create the proxy
+ // as soon as their use is necessary.
+ void create_proxy (
+ int collocation_strategy
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Caches the proxy implementations. The proxy implementation
+ // are totally stateless, and those can be shared by all the
+ // instances of a given IDL interface type.
+ ::_TAO_CORBA_Repository_Proxy_Impl
+ *proxy_cache_[TAO_Collocation_Strategies::CS_LAST];
+
+ TAO_SYNCH_MUTEX mutex_;
+ // This funxtion is used to get an handle to the unique instance
+ // of the Strategized Proxy Broker that is available for a given
+ // interface.
+
+public:
+ static _TAO_CORBA_Repository_Strategized_Proxy_Broker *the_TAO_CORBA_Repository_Strategized_Proxy_Broker (void);
+};
+
+
+//
+// End Strategized Proxy Broker Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Impl. Declaration
+//
+
+class _TAO_CORBA_Repository_ThruPOA_Proxy_Impl :
+ public virtual ::_TAO_CORBA_Repository_Proxy_Impl,
+ public virtual TAO_ThruPOA_Object_Proxy_Impl,
+ public virtual ::_TAO_CORBA_Container_ThruPOA_Proxy_Impl
+
+{
+public:
+ _TAO_CORBA_Repository_ThruPOA_Proxy_Impl (void);
+
+ virtual ~_TAO_CORBA_Repository_ThruPOA_Proxy_Impl (void) { }
+
+ virtual CORBA_Contained_ptr lookup_id (
+ CORBA_Object *_collocated_tao_target_,
+ const char * search_id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA::TypeCode_ptr get_canonical_typecode (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::TypeCode_ptr tc
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA_PrimitiveDef_ptr get_primitive (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::PrimitiveKind kind
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA_StringDef_ptr create_string (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::ULong bound
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA_WstringDef_ptr create_wstring (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::ULong bound
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA_SequenceDef_ptr create_sequence (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::ULong bound,
+ CORBA_IDLType_ptr element_type
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA_ArrayDef_ptr create_array (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::ULong length,
+ CORBA_IDLType_ptr element_type
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA_FixedDef_ptr create_fixed (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::UShort digits,
+ CORBA::Short scale
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+
+};
+
+//
+// ThruPOA Proxy Impl. Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+class POA_CORBA_ModuleDef;
+typedef POA_CORBA_ModuleDef *POA_CORBA_ModuleDef_ptr;
+// Forward Classes Declaration
+class _TAO_CORBA_ModuleDef_ThruPOA_Proxy_Impl;
+class _TAO_CORBA_ModuleDef_Strategized_Proxy_Broker;
+
+class POA_CORBA_ModuleDef : public virtual POA_CORBA_Container, public virtual POA_CORBA_Contained
+{
+protected:
+ POA_CORBA_ModuleDef (void);
+
+public:
+ POA_CORBA_ModuleDef (const POA_CORBA_ModuleDef& rhs);
+ virtual ~POA_CORBA_ModuleDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _non_existent_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void _dispatch (
+ TAO_ServerRequest &req,
+ void *_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ ::CORBA_ModuleDef *_this (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual const char* _interface_repository_id (void) const;
+
+ static void lookup_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void contents_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void lookup_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void describe_contents_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_module_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_constant_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_struct_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_union_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_enum_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_alias_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_value_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_value_box_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_exception_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_native_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_abstract_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_local_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_defined_in_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_absolute_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_containing_repository_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void describe_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void move_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+
+};
+
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Declaration
+//
+
+class _TAO_CORBA_ModuleDef_Strategized_Proxy_Broker : public virtual ::_TAO_CORBA_ModuleDef_Proxy_Broker
+{
+public:
+ _TAO_CORBA_ModuleDef_Strategized_Proxy_Broker (void);
+
+ virtual ~_TAO_CORBA_ModuleDef_Strategized_Proxy_Broker (void);
+
+ virtual ::_TAO_CORBA_ModuleDef_Proxy_Impl &select_proxy (
+ ::CORBA_ModuleDef *object
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Helper methods that takes care to create the proxy
+ // as soon as their use is necessary.
+ void create_proxy (
+ int collocation_strategy
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Caches the proxy implementations. The proxy implementation
+ // are totally stateless, and those can be shared by all the
+ // instances of a given IDL interface type.
+ ::_TAO_CORBA_ModuleDef_Proxy_Impl
+ *proxy_cache_[TAO_Collocation_Strategies::CS_LAST];
+
+ TAO_SYNCH_MUTEX mutex_;
+ // This funxtion is used to get an handle to the unique instance
+ // of the Strategized Proxy Broker that is available for a given
+ // interface.
+
+public:
+ static _TAO_CORBA_ModuleDef_Strategized_Proxy_Broker *the_TAO_CORBA_ModuleDef_Strategized_Proxy_Broker (void);
+};
+
+
+//
+// End Strategized Proxy Broker Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Impl. Declaration
+//
+
+class _TAO_CORBA_ModuleDef_ThruPOA_Proxy_Impl :
+ public virtual ::_TAO_CORBA_ModuleDef_Proxy_Impl,
+ public virtual TAO_ThruPOA_Object_Proxy_Impl,
+ public virtual ::_TAO_CORBA_Container_ThruPOA_Proxy_Impl,
+ public virtual ::_TAO_CORBA_Contained_ThruPOA_Proxy_Impl
+
+{
+public:
+ _TAO_CORBA_ModuleDef_ThruPOA_Proxy_Impl (void);
+
+ virtual ~_TAO_CORBA_ModuleDef_ThruPOA_Proxy_Impl (void) { }
+
+};
+
+
+//
+// ThruPOA Proxy Impl. Declaration
+///////////////////////////////////////////////////////////////////////
+
+class POA_CORBA_ConstantDef;
+typedef POA_CORBA_ConstantDef *POA_CORBA_ConstantDef_ptr;
+// Forward Classes Declaration
+class _TAO_CORBA_ConstantDef_ThruPOA_Proxy_Impl;
+class _TAO_CORBA_ConstantDef_Strategized_Proxy_Broker;
+
+class POA_CORBA_ConstantDef : public virtual POA_CORBA_Contained
+{
+protected:
+ POA_CORBA_ConstantDef (void);
+
+public:
+ POA_CORBA_ConstantDef (const POA_CORBA_ConstantDef& rhs);
+ virtual ~POA_CORBA_ConstantDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _non_existent_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void _dispatch (
+ TAO_ServerRequest &req,
+ void *_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ ::CORBA_ConstantDef *_this (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual CORBA::TypeCode_ptr type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_type_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA_IDLType_ptr type_def (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_type_def_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void type_def (
+ CORBA_IDLType_ptr type_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_type_def_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA::Any * value (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_value_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void value (
+ const CORBA::Any & value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_value_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _get_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_defined_in_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_absolute_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_containing_repository_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void describe_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void move_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+
+};
+
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Declaration
+//
+
+class _TAO_CORBA_ConstantDef_Strategized_Proxy_Broker : public virtual ::_TAO_CORBA_ConstantDef_Proxy_Broker
+{
+public:
+ _TAO_CORBA_ConstantDef_Strategized_Proxy_Broker (void);
+
+ virtual ~_TAO_CORBA_ConstantDef_Strategized_Proxy_Broker (void);
+
+ virtual ::_TAO_CORBA_ConstantDef_Proxy_Impl &select_proxy (
+ ::CORBA_ConstantDef *object
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Helper methods that takes care to create the proxy
+ // as soon as their use is necessary.
+ void create_proxy (
+ int collocation_strategy
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Caches the proxy implementations. The proxy implementation
+ // are totally stateless, and those can be shared by all the
+ // instances of a given IDL interface type.
+ ::_TAO_CORBA_ConstantDef_Proxy_Impl
+ *proxy_cache_[TAO_Collocation_Strategies::CS_LAST];
+
+ TAO_SYNCH_MUTEX mutex_;
+ // This funxtion is used to get an handle to the unique instance
+ // of the Strategized Proxy Broker that is available for a given
+ // interface.
+
+public:
+ static _TAO_CORBA_ConstantDef_Strategized_Proxy_Broker *the_TAO_CORBA_ConstantDef_Strategized_Proxy_Broker (void);
+};
+
+
+//
+// End Strategized Proxy Broker Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Impl. Declaration
+//
+
+class _TAO_CORBA_ConstantDef_ThruPOA_Proxy_Impl :
+ public virtual ::_TAO_CORBA_ConstantDef_Proxy_Impl,
+ public virtual TAO_ThruPOA_Object_Proxy_Impl,
+ public virtual ::_TAO_CORBA_Contained_ThruPOA_Proxy_Impl
+
+{
+public:
+ _TAO_CORBA_ConstantDef_ThruPOA_Proxy_Impl (void);
+
+ virtual ~_TAO_CORBA_ConstantDef_ThruPOA_Proxy_Impl (void) { }
+
+ virtual CORBA::TypeCode_ptr type (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA_IDLType_ptr type_def (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void type_def (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA_IDLType_ptr type_def
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA::Any * value (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void value (
+ CORBA_Object *_collocated_tao_target_,
+ const CORBA::Any & value
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+
+};
+
+//
+// ThruPOA Proxy Impl. Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+class POA_CORBA_StructDef;
+typedef POA_CORBA_StructDef *POA_CORBA_StructDef_ptr;
+// Forward Classes Declaration
+class _TAO_CORBA_StructDef_ThruPOA_Proxy_Impl;
+class _TAO_CORBA_StructDef_Strategized_Proxy_Broker;
+
+class POA_CORBA_StructDef : public virtual POA_CORBA_TypedefDef, public virtual POA_CORBA_Container
+{
+protected:
+ POA_CORBA_StructDef (void);
+
+public:
+ POA_CORBA_StructDef (const POA_CORBA_StructDef& rhs);
+ virtual ~POA_CORBA_StructDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _non_existent_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void _dispatch (
+ TAO_ServerRequest &req,
+ void *_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ ::CORBA_StructDef *_this (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual CORBA_StructMemberSeq * members (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_members_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void members (
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_members_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void lookup_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void contents_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void lookup_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void describe_contents_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_module_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_constant_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_struct_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_union_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_enum_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_alias_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_value_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_value_box_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_exception_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_native_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_abstract_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_local_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_defined_in_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_absolute_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_containing_repository_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void describe_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void move_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_type_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+
+};
+
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Declaration
+//
+
+class _TAO_CORBA_StructDef_Strategized_Proxy_Broker : public virtual ::_TAO_CORBA_StructDef_Proxy_Broker
+{
+public:
+ _TAO_CORBA_StructDef_Strategized_Proxy_Broker (void);
+
+ virtual ~_TAO_CORBA_StructDef_Strategized_Proxy_Broker (void);
+
+ virtual ::_TAO_CORBA_StructDef_Proxy_Impl &select_proxy (
+ ::CORBA_StructDef *object
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Helper methods that takes care to create the proxy
+ // as soon as their use is necessary.
+ void create_proxy (
+ int collocation_strategy
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Caches the proxy implementations. The proxy implementation
+ // are totally stateless, and those can be shared by all the
+ // instances of a given IDL interface type.
+ ::_TAO_CORBA_StructDef_Proxy_Impl
+ *proxy_cache_[TAO_Collocation_Strategies::CS_LAST];
+
+ TAO_SYNCH_MUTEX mutex_;
+ // This funxtion is used to get an handle to the unique instance
+ // of the Strategized Proxy Broker that is available for a given
+ // interface.
+
+public:
+ static _TAO_CORBA_StructDef_Strategized_Proxy_Broker *the_TAO_CORBA_StructDef_Strategized_Proxy_Broker (void);
+};
+
+
+//
+// End Strategized Proxy Broker Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Impl. Declaration
+//
+
+class _TAO_CORBA_StructDef_ThruPOA_Proxy_Impl :
+ public virtual ::_TAO_CORBA_StructDef_Proxy_Impl,
+ public virtual TAO_ThruPOA_Object_Proxy_Impl,
+ public virtual ::_TAO_CORBA_TypedefDef_ThruPOA_Proxy_Impl,
+ public virtual ::_TAO_CORBA_Container_ThruPOA_Proxy_Impl
+
+{
+public:
+ _TAO_CORBA_StructDef_ThruPOA_Proxy_Impl (void);
+
+ virtual ~_TAO_CORBA_StructDef_ThruPOA_Proxy_Impl (void) { }
+
+ virtual CORBA_StructMemberSeq * members (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void members (
+ CORBA_Object *_collocated_tao_target_,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+
+};
+
+//
+// ThruPOA Proxy Impl. Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+class POA_CORBA_UnionDef;
+typedef POA_CORBA_UnionDef *POA_CORBA_UnionDef_ptr;
+// Forward Classes Declaration
+class _TAO_CORBA_UnionDef_ThruPOA_Proxy_Impl;
+class _TAO_CORBA_UnionDef_Strategized_Proxy_Broker;
+
+class POA_CORBA_UnionDef : public virtual POA_CORBA_TypedefDef, public virtual POA_CORBA_Container
+{
+protected:
+ POA_CORBA_UnionDef (void);
+
+public:
+ POA_CORBA_UnionDef (const POA_CORBA_UnionDef& rhs);
+ virtual ~POA_CORBA_UnionDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _non_existent_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void _dispatch (
+ TAO_ServerRequest &req,
+ void *_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ ::CORBA_UnionDef *_this (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual CORBA::TypeCode_ptr discriminator_type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_discriminator_type_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA_IDLType_ptr discriminator_type_def (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_discriminator_type_def_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void discriminator_type_def (
+ CORBA_IDLType_ptr discriminator_type_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_discriminator_type_def_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA_UnionMemberSeq * members (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_members_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void members (
+ const CORBA_UnionMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_members_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void lookup_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void contents_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void lookup_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void describe_contents_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_module_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_constant_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_struct_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_union_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_enum_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_alias_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_value_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_value_box_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_exception_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_native_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_abstract_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_local_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_defined_in_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_absolute_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_containing_repository_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void describe_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void move_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_type_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+
+};
+
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Declaration
+//
+
+class _TAO_CORBA_UnionDef_Strategized_Proxy_Broker : public virtual ::_TAO_CORBA_UnionDef_Proxy_Broker
+{
+public:
+ _TAO_CORBA_UnionDef_Strategized_Proxy_Broker (void);
+
+ virtual ~_TAO_CORBA_UnionDef_Strategized_Proxy_Broker (void);
+
+ virtual ::_TAO_CORBA_UnionDef_Proxy_Impl &select_proxy (
+ ::CORBA_UnionDef *object
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Helper methods that takes care to create the proxy
+ // as soon as their use is necessary.
+ void create_proxy (
+ int collocation_strategy
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Caches the proxy implementations. The proxy implementation
+ // are totally stateless, and those can be shared by all the
+ // instances of a given IDL interface type.
+ ::_TAO_CORBA_UnionDef_Proxy_Impl
+ *proxy_cache_[TAO_Collocation_Strategies::CS_LAST];
+
+ TAO_SYNCH_MUTEX mutex_;
+ // This funxtion is used to get an handle to the unique instance
+ // of the Strategized Proxy Broker that is available for a given
+ // interface.
+
+public:
+ static _TAO_CORBA_UnionDef_Strategized_Proxy_Broker *the_TAO_CORBA_UnionDef_Strategized_Proxy_Broker (void);
+};
+
+
+//
+// End Strategized Proxy Broker Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Impl. Declaration
+//
+
+class _TAO_CORBA_UnionDef_ThruPOA_Proxy_Impl :
+ public virtual ::_TAO_CORBA_UnionDef_Proxy_Impl,
+ public virtual TAO_ThruPOA_Object_Proxy_Impl,
+ public virtual ::_TAO_CORBA_TypedefDef_ThruPOA_Proxy_Impl,
+ public virtual ::_TAO_CORBA_Container_ThruPOA_Proxy_Impl
+
+{
+public:
+ _TAO_CORBA_UnionDef_ThruPOA_Proxy_Impl (void);
+
+ virtual ~_TAO_CORBA_UnionDef_ThruPOA_Proxy_Impl (void) { }
+
+ virtual CORBA::TypeCode_ptr discriminator_type (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA_IDLType_ptr discriminator_type_def (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void discriminator_type_def (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA_IDLType_ptr discriminator_type_def
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA_UnionMemberSeq * members (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void members (
+ CORBA_Object *_collocated_tao_target_,
+ const CORBA_UnionMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+
+};
+
+//
+// ThruPOA Proxy Impl. Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+class POA_CORBA_EnumDef;
+typedef POA_CORBA_EnumDef *POA_CORBA_EnumDef_ptr;
+// Forward Classes Declaration
+class _TAO_CORBA_EnumDef_ThruPOA_Proxy_Impl;
+class _TAO_CORBA_EnumDef_Strategized_Proxy_Broker;
+
+class POA_CORBA_EnumDef : public virtual POA_CORBA_TypedefDef
+{
+protected:
+ POA_CORBA_EnumDef (void);
+
+public:
+ POA_CORBA_EnumDef (const POA_CORBA_EnumDef& rhs);
+ virtual ~POA_CORBA_EnumDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _non_existent_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void _dispatch (
+ TAO_ServerRequest &req,
+ void *_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ ::CORBA_EnumDef *_this (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual CORBA_EnumMemberSeq * members (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_members_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void members (
+ const CORBA_EnumMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_members_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _get_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_defined_in_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_absolute_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_containing_repository_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void describe_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void move_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_type_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+
+};
+
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Declaration
+//
+
+class _TAO_CORBA_EnumDef_Strategized_Proxy_Broker : public virtual ::_TAO_CORBA_EnumDef_Proxy_Broker
+{
+public:
+ _TAO_CORBA_EnumDef_Strategized_Proxy_Broker (void);
+
+ virtual ~_TAO_CORBA_EnumDef_Strategized_Proxy_Broker (void);
+
+ virtual ::_TAO_CORBA_EnumDef_Proxy_Impl &select_proxy (
+ ::CORBA_EnumDef *object
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Helper methods that takes care to create the proxy
+ // as soon as their use is necessary.
+ void create_proxy (
+ int collocation_strategy
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Caches the proxy implementations. The proxy implementation
+ // are totally stateless, and those can be shared by all the
+ // instances of a given IDL interface type.
+ ::_TAO_CORBA_EnumDef_Proxy_Impl
+ *proxy_cache_[TAO_Collocation_Strategies::CS_LAST];
+
+ TAO_SYNCH_MUTEX mutex_;
+ // This funxtion is used to get an handle to the unique instance
+ // of the Strategized Proxy Broker that is available for a given
+ // interface.
+
+public:
+ static _TAO_CORBA_EnumDef_Strategized_Proxy_Broker *the_TAO_CORBA_EnumDef_Strategized_Proxy_Broker (void);
+};
+
+
+//
+// End Strategized Proxy Broker Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Impl. Declaration
+//
+
+class _TAO_CORBA_EnumDef_ThruPOA_Proxy_Impl :
+ public virtual ::_TAO_CORBA_EnumDef_Proxy_Impl,
+ public virtual TAO_ThruPOA_Object_Proxy_Impl,
+ public virtual ::_TAO_CORBA_TypedefDef_ThruPOA_Proxy_Impl
+
+{
+public:
+ _TAO_CORBA_EnumDef_ThruPOA_Proxy_Impl (void);
+
+ virtual ~_TAO_CORBA_EnumDef_ThruPOA_Proxy_Impl (void) { }
+
+ virtual CORBA_EnumMemberSeq * members (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void members (
+ CORBA_Object *_collocated_tao_target_,
+ const CORBA_EnumMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+
+};
+
+//
+// ThruPOA Proxy Impl. Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+class POA_CORBA_AliasDef;
+typedef POA_CORBA_AliasDef *POA_CORBA_AliasDef_ptr;
+// Forward Classes Declaration
+class _TAO_CORBA_AliasDef_ThruPOA_Proxy_Impl;
+class _TAO_CORBA_AliasDef_Strategized_Proxy_Broker;
+
+class POA_CORBA_AliasDef : public virtual POA_CORBA_TypedefDef
+{
+protected:
+ POA_CORBA_AliasDef (void);
+
+public:
+ POA_CORBA_AliasDef (const POA_CORBA_AliasDef& rhs);
+ virtual ~POA_CORBA_AliasDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _non_existent_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void _dispatch (
+ TAO_ServerRequest &req,
+ void *_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ ::CORBA_AliasDef *_this (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual CORBA_IDLType_ptr original_type_def (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_original_type_def_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void original_type_def (
+ CORBA_IDLType_ptr original_type_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_original_type_def_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _get_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_defined_in_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_absolute_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_containing_repository_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void describe_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void move_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_type_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+
+};
+
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Declaration
+//
+
+class _TAO_CORBA_AliasDef_Strategized_Proxy_Broker : public virtual ::_TAO_CORBA_AliasDef_Proxy_Broker
+{
+public:
+ _TAO_CORBA_AliasDef_Strategized_Proxy_Broker (void);
+
+ virtual ~_TAO_CORBA_AliasDef_Strategized_Proxy_Broker (void);
+
+ virtual ::_TAO_CORBA_AliasDef_Proxy_Impl &select_proxy (
+ ::CORBA_AliasDef *object
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Helper methods that takes care to create the proxy
+ // as soon as their use is necessary.
+ void create_proxy (
+ int collocation_strategy
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Caches the proxy implementations. The proxy implementation
+ // are totally stateless, and those can be shared by all the
+ // instances of a given IDL interface type.
+ ::_TAO_CORBA_AliasDef_Proxy_Impl
+ *proxy_cache_[TAO_Collocation_Strategies::CS_LAST];
+
+ TAO_SYNCH_MUTEX mutex_;
+ // This funxtion is used to get an handle to the unique instance
+ // of the Strategized Proxy Broker that is available for a given
+ // interface.
+
+public:
+ static _TAO_CORBA_AliasDef_Strategized_Proxy_Broker *the_TAO_CORBA_AliasDef_Strategized_Proxy_Broker (void);
+};
+
+
+//
+// End Strategized Proxy Broker Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Impl. Declaration
+//
+
+class _TAO_CORBA_AliasDef_ThruPOA_Proxy_Impl :
+ public virtual ::_TAO_CORBA_AliasDef_Proxy_Impl,
+ public virtual TAO_ThruPOA_Object_Proxy_Impl,
+ public virtual ::_TAO_CORBA_TypedefDef_ThruPOA_Proxy_Impl
+
+{
+public:
+ _TAO_CORBA_AliasDef_ThruPOA_Proxy_Impl (void);
+
+ virtual ~_TAO_CORBA_AliasDef_ThruPOA_Proxy_Impl (void) { }
+
+ virtual CORBA_IDLType_ptr original_type_def (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void original_type_def (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA_IDLType_ptr original_type_def
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+
+};
+
+//
+// ThruPOA Proxy Impl. Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+class POA_CORBA_NativeDef;
+typedef POA_CORBA_NativeDef *POA_CORBA_NativeDef_ptr;
+// Forward Classes Declaration
+class _TAO_CORBA_NativeDef_ThruPOA_Proxy_Impl;
+class _TAO_CORBA_NativeDef_Strategized_Proxy_Broker;
+
+class POA_CORBA_NativeDef : public virtual POA_CORBA_TypedefDef
+{
+protected:
+ POA_CORBA_NativeDef (void);
+
+public:
+ POA_CORBA_NativeDef (const POA_CORBA_NativeDef& rhs);
+ virtual ~POA_CORBA_NativeDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _non_existent_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void _dispatch (
+ TAO_ServerRequest &req,
+ void *_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ ::CORBA_NativeDef *_this (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual const char* _interface_repository_id (void) const;
+
+ static void _get_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_defined_in_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_absolute_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_containing_repository_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void describe_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void move_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_type_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+
+};
+
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Declaration
+//
+
+class _TAO_CORBA_NativeDef_Strategized_Proxy_Broker : public virtual ::_TAO_CORBA_NativeDef_Proxy_Broker
+{
+public:
+ _TAO_CORBA_NativeDef_Strategized_Proxy_Broker (void);
+
+ virtual ~_TAO_CORBA_NativeDef_Strategized_Proxy_Broker (void);
+
+ virtual ::_TAO_CORBA_NativeDef_Proxy_Impl &select_proxy (
+ ::CORBA_NativeDef *object
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Helper methods that takes care to create the proxy
+ // as soon as their use is necessary.
+ void create_proxy (
+ int collocation_strategy
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Caches the proxy implementations. The proxy implementation
+ // are totally stateless, and those can be shared by all the
+ // instances of a given IDL interface type.
+ ::_TAO_CORBA_NativeDef_Proxy_Impl
+ *proxy_cache_[TAO_Collocation_Strategies::CS_LAST];
+
+ TAO_SYNCH_MUTEX mutex_;
+ // This funxtion is used to get an handle to the unique instance
+ // of the Strategized Proxy Broker that is available for a given
+ // interface.
+
+public:
+ static _TAO_CORBA_NativeDef_Strategized_Proxy_Broker *the_TAO_CORBA_NativeDef_Strategized_Proxy_Broker (void);
+};
+
+
+//
+// End Strategized Proxy Broker Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Impl. Declaration
+//
+
+class _TAO_CORBA_NativeDef_ThruPOA_Proxy_Impl :
+ public virtual ::_TAO_CORBA_NativeDef_Proxy_Impl,
+ public virtual TAO_ThruPOA_Object_Proxy_Impl,
+ public virtual ::_TAO_CORBA_TypedefDef_ThruPOA_Proxy_Impl
+
+{
+public:
+ _TAO_CORBA_NativeDef_ThruPOA_Proxy_Impl (void);
+
+ virtual ~_TAO_CORBA_NativeDef_ThruPOA_Proxy_Impl (void) { }
+
+};
+
+
+//
+// ThruPOA Proxy Impl. Declaration
+///////////////////////////////////////////////////////////////////////
+
+class POA_CORBA_PrimitiveDef;
+typedef POA_CORBA_PrimitiveDef *POA_CORBA_PrimitiveDef_ptr;
+// Forward Classes Declaration
+class _TAO_CORBA_PrimitiveDef_ThruPOA_Proxy_Impl;
+class _TAO_CORBA_PrimitiveDef_Strategized_Proxy_Broker;
+
+class POA_CORBA_PrimitiveDef : public virtual POA_CORBA_IDLType
+{
+protected:
+ POA_CORBA_PrimitiveDef (void);
+
+public:
+ POA_CORBA_PrimitiveDef (const POA_CORBA_PrimitiveDef& rhs);
+ virtual ~POA_CORBA_PrimitiveDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _non_existent_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void _dispatch (
+ TAO_ServerRequest &req,
+ void *_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ ::CORBA_PrimitiveDef *_this (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual CORBA::PrimitiveKind kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_kind_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _get_type_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+
+};
+
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Declaration
+//
+
+class _TAO_CORBA_PrimitiveDef_Strategized_Proxy_Broker : public virtual ::_TAO_CORBA_PrimitiveDef_Proxy_Broker
+{
+public:
+ _TAO_CORBA_PrimitiveDef_Strategized_Proxy_Broker (void);
+
+ virtual ~_TAO_CORBA_PrimitiveDef_Strategized_Proxy_Broker (void);
+
+ virtual ::_TAO_CORBA_PrimitiveDef_Proxy_Impl &select_proxy (
+ ::CORBA_PrimitiveDef *object
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Helper methods that takes care to create the proxy
+ // as soon as their use is necessary.
+ void create_proxy (
+ int collocation_strategy
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Caches the proxy implementations. The proxy implementation
+ // are totally stateless, and those can be shared by all the
+ // instances of a given IDL interface type.
+ ::_TAO_CORBA_PrimitiveDef_Proxy_Impl
+ *proxy_cache_[TAO_Collocation_Strategies::CS_LAST];
+
+ TAO_SYNCH_MUTEX mutex_;
+ // This funxtion is used to get an handle to the unique instance
+ // of the Strategized Proxy Broker that is available for a given
+ // interface.
+
+public:
+ static _TAO_CORBA_PrimitiveDef_Strategized_Proxy_Broker *the_TAO_CORBA_PrimitiveDef_Strategized_Proxy_Broker (void);
+};
+
+
+//
+// End Strategized Proxy Broker Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Impl. Declaration
+//
+
+class _TAO_CORBA_PrimitiveDef_ThruPOA_Proxy_Impl :
+ public virtual ::_TAO_CORBA_PrimitiveDef_Proxy_Impl,
+ public virtual TAO_ThruPOA_Object_Proxy_Impl,
+ public virtual ::_TAO_CORBA_IDLType_ThruPOA_Proxy_Impl
+
+{
+public:
+ _TAO_CORBA_PrimitiveDef_ThruPOA_Proxy_Impl (void);
+
+ virtual ~_TAO_CORBA_PrimitiveDef_ThruPOA_Proxy_Impl (void) { }
+
+ virtual CORBA::PrimitiveKind kind (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+
+};
+
+//
+// ThruPOA Proxy Impl. Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+class POA_CORBA_StringDef;
+typedef POA_CORBA_StringDef *POA_CORBA_StringDef_ptr;
+// Forward Classes Declaration
+class _TAO_CORBA_StringDef_ThruPOA_Proxy_Impl;
+class _TAO_CORBA_StringDef_Strategized_Proxy_Broker;
+
+class POA_CORBA_StringDef : public virtual POA_CORBA_IDLType
+{
+protected:
+ POA_CORBA_StringDef (void);
+
+public:
+ POA_CORBA_StringDef (const POA_CORBA_StringDef& rhs);
+ virtual ~POA_CORBA_StringDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _non_existent_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void _dispatch (
+ TAO_ServerRequest &req,
+ void *_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ ::CORBA_StringDef *_this (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual CORBA::ULong bound (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_bound_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void bound (
+ CORBA::ULong bound
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_bound_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _get_type_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+
+};
+
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Declaration
+//
+
+class _TAO_CORBA_StringDef_Strategized_Proxy_Broker : public virtual ::_TAO_CORBA_StringDef_Proxy_Broker
+{
+public:
+ _TAO_CORBA_StringDef_Strategized_Proxy_Broker (void);
+
+ virtual ~_TAO_CORBA_StringDef_Strategized_Proxy_Broker (void);
+
+ virtual ::_TAO_CORBA_StringDef_Proxy_Impl &select_proxy (
+ ::CORBA_StringDef *object
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Helper methods that takes care to create the proxy
+ // as soon as their use is necessary.
+ void create_proxy (
+ int collocation_strategy
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Caches the proxy implementations. The proxy implementation
+ // are totally stateless, and those can be shared by all the
+ // instances of a given IDL interface type.
+ ::_TAO_CORBA_StringDef_Proxy_Impl
+ *proxy_cache_[TAO_Collocation_Strategies::CS_LAST];
+
+ TAO_SYNCH_MUTEX mutex_;
+ // This funxtion is used to get an handle to the unique instance
+ // of the Strategized Proxy Broker that is available for a given
+ // interface.
+
+public:
+ static _TAO_CORBA_StringDef_Strategized_Proxy_Broker *the_TAO_CORBA_StringDef_Strategized_Proxy_Broker (void);
+};
+
+
+//
+// End Strategized Proxy Broker Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Impl. Declaration
+//
+
+class _TAO_CORBA_StringDef_ThruPOA_Proxy_Impl :
+ public virtual ::_TAO_CORBA_StringDef_Proxy_Impl,
+ public virtual TAO_ThruPOA_Object_Proxy_Impl,
+ public virtual ::_TAO_CORBA_IDLType_ThruPOA_Proxy_Impl
+
+{
+public:
+ _TAO_CORBA_StringDef_ThruPOA_Proxy_Impl (void);
+
+ virtual ~_TAO_CORBA_StringDef_ThruPOA_Proxy_Impl (void) { }
+
+ virtual CORBA::ULong bound (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void bound (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::ULong bound
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+
+};
+
+//
+// ThruPOA Proxy Impl. Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+class POA_CORBA_WstringDef;
+typedef POA_CORBA_WstringDef *POA_CORBA_WstringDef_ptr;
+// Forward Classes Declaration
+class _TAO_CORBA_WstringDef_ThruPOA_Proxy_Impl;
+class _TAO_CORBA_WstringDef_Strategized_Proxy_Broker;
+
+class POA_CORBA_WstringDef : public virtual POA_CORBA_IDLType
+{
+protected:
+ POA_CORBA_WstringDef (void);
+
+public:
+ POA_CORBA_WstringDef (const POA_CORBA_WstringDef& rhs);
+ virtual ~POA_CORBA_WstringDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _non_existent_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void _dispatch (
+ TAO_ServerRequest &req,
+ void *_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ ::CORBA_WstringDef *_this (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual CORBA::ULong bound (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_bound_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void bound (
+ CORBA::ULong bound
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_bound_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _get_type_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+
+};
+
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Declaration
+//
+
+class _TAO_CORBA_WstringDef_Strategized_Proxy_Broker : public virtual ::_TAO_CORBA_WstringDef_Proxy_Broker
+{
+public:
+ _TAO_CORBA_WstringDef_Strategized_Proxy_Broker (void);
+
+ virtual ~_TAO_CORBA_WstringDef_Strategized_Proxy_Broker (void);
+
+ virtual ::_TAO_CORBA_WstringDef_Proxy_Impl &select_proxy (
+ ::CORBA_WstringDef *object
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Helper methods that takes care to create the proxy
+ // as soon as their use is necessary.
+ void create_proxy (
+ int collocation_strategy
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Caches the proxy implementations. The proxy implementation
+ // are totally stateless, and those can be shared by all the
+ // instances of a given IDL interface type.
+ ::_TAO_CORBA_WstringDef_Proxy_Impl
+ *proxy_cache_[TAO_Collocation_Strategies::CS_LAST];
+
+ TAO_SYNCH_MUTEX mutex_;
+ // This funxtion is used to get an handle to the unique instance
+ // of the Strategized Proxy Broker that is available for a given
+ // interface.
+
+public:
+ static _TAO_CORBA_WstringDef_Strategized_Proxy_Broker *the_TAO_CORBA_WstringDef_Strategized_Proxy_Broker (void);
+};
+
+
+//
+// End Strategized Proxy Broker Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Impl. Declaration
+//
+
+class _TAO_CORBA_WstringDef_ThruPOA_Proxy_Impl :
+ public virtual ::_TAO_CORBA_WstringDef_Proxy_Impl,
+ public virtual TAO_ThruPOA_Object_Proxy_Impl,
+ public virtual ::_TAO_CORBA_IDLType_ThruPOA_Proxy_Impl
+
+{
+public:
+ _TAO_CORBA_WstringDef_ThruPOA_Proxy_Impl (void);
+
+ virtual ~_TAO_CORBA_WstringDef_ThruPOA_Proxy_Impl (void) { }
+
+ virtual CORBA::ULong bound (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void bound (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::ULong bound
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+
+};
+
+//
+// ThruPOA Proxy Impl. Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+class POA_CORBA_SequenceDef;
+typedef POA_CORBA_SequenceDef *POA_CORBA_SequenceDef_ptr;
+// Forward Classes Declaration
+class _TAO_CORBA_SequenceDef_ThruPOA_Proxy_Impl;
+class _TAO_CORBA_SequenceDef_Strategized_Proxy_Broker;
+
+class POA_CORBA_SequenceDef : public virtual POA_CORBA_IDLType
+{
+protected:
+ POA_CORBA_SequenceDef (void);
+
+public:
+ POA_CORBA_SequenceDef (const POA_CORBA_SequenceDef& rhs);
+ virtual ~POA_CORBA_SequenceDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _non_existent_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void _dispatch (
+ TAO_ServerRequest &req,
+ void *_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ ::CORBA_SequenceDef *_this (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual CORBA::ULong bound (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_bound_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void bound (
+ CORBA::ULong bound
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_bound_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA::TypeCode_ptr element_type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_element_type_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA_IDLType_ptr element_type_def (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_element_type_def_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void element_type_def (
+ CORBA_IDLType_ptr element_type_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_element_type_def_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _get_type_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+
+};
+
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Declaration
+//
+
+class _TAO_CORBA_SequenceDef_Strategized_Proxy_Broker : public virtual ::_TAO_CORBA_SequenceDef_Proxy_Broker
+{
+public:
+ _TAO_CORBA_SequenceDef_Strategized_Proxy_Broker (void);
+
+ virtual ~_TAO_CORBA_SequenceDef_Strategized_Proxy_Broker (void);
+
+ virtual ::_TAO_CORBA_SequenceDef_Proxy_Impl &select_proxy (
+ ::CORBA_SequenceDef *object
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Helper methods that takes care to create the proxy
+ // as soon as their use is necessary.
+ void create_proxy (
+ int collocation_strategy
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Caches the proxy implementations. The proxy implementation
+ // are totally stateless, and those can be shared by all the
+ // instances of a given IDL interface type.
+ ::_TAO_CORBA_SequenceDef_Proxy_Impl
+ *proxy_cache_[TAO_Collocation_Strategies::CS_LAST];
+
+ TAO_SYNCH_MUTEX mutex_;
+ // This funxtion is used to get an handle to the unique instance
+ // of the Strategized Proxy Broker that is available for a given
+ // interface.
+
+public:
+ static _TAO_CORBA_SequenceDef_Strategized_Proxy_Broker *the_TAO_CORBA_SequenceDef_Strategized_Proxy_Broker (void);
+};
+
+
+//
+// End Strategized Proxy Broker Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Impl. Declaration
+//
+
+class _TAO_CORBA_SequenceDef_ThruPOA_Proxy_Impl :
+ public virtual ::_TAO_CORBA_SequenceDef_Proxy_Impl,
+ public virtual TAO_ThruPOA_Object_Proxy_Impl,
+ public virtual ::_TAO_CORBA_IDLType_ThruPOA_Proxy_Impl
+
+{
+public:
+ _TAO_CORBA_SequenceDef_ThruPOA_Proxy_Impl (void);
+
+ virtual ~_TAO_CORBA_SequenceDef_ThruPOA_Proxy_Impl (void) { }
+
+ virtual CORBA::ULong bound (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void bound (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::ULong bound
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA::TypeCode_ptr element_type (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA_IDLType_ptr element_type_def (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void element_type_def (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA_IDLType_ptr element_type_def
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+
+};
+
+//
+// ThruPOA Proxy Impl. Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+class POA_CORBA_ArrayDef;
+typedef POA_CORBA_ArrayDef *POA_CORBA_ArrayDef_ptr;
+// Forward Classes Declaration
+class _TAO_CORBA_ArrayDef_ThruPOA_Proxy_Impl;
+class _TAO_CORBA_ArrayDef_Strategized_Proxy_Broker;
+
+class POA_CORBA_ArrayDef : public virtual POA_CORBA_IDLType
+{
+protected:
+ POA_CORBA_ArrayDef (void);
+
+public:
+ POA_CORBA_ArrayDef (const POA_CORBA_ArrayDef& rhs);
+ virtual ~POA_CORBA_ArrayDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _non_existent_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void _dispatch (
+ TAO_ServerRequest &req,
+ void *_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ ::CORBA_ArrayDef *_this (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual CORBA::ULong length (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_length_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void length (
+ CORBA::ULong length
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_length_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA::TypeCode_ptr element_type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_element_type_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA_IDLType_ptr element_type_def (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_element_type_def_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void element_type_def (
+ CORBA_IDLType_ptr element_type_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_element_type_def_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _get_type_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+
+};
+
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Declaration
+//
+
+class _TAO_CORBA_ArrayDef_Strategized_Proxy_Broker : public virtual ::_TAO_CORBA_ArrayDef_Proxy_Broker
+{
+public:
+ _TAO_CORBA_ArrayDef_Strategized_Proxy_Broker (void);
+
+ virtual ~_TAO_CORBA_ArrayDef_Strategized_Proxy_Broker (void);
+
+ virtual ::_TAO_CORBA_ArrayDef_Proxy_Impl &select_proxy (
+ ::CORBA_ArrayDef *object
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Helper methods that takes care to create the proxy
+ // as soon as their use is necessary.
+ void create_proxy (
+ int collocation_strategy
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Caches the proxy implementations. The proxy implementation
+ // are totally stateless, and those can be shared by all the
+ // instances of a given IDL interface type.
+ ::_TAO_CORBA_ArrayDef_Proxy_Impl
+ *proxy_cache_[TAO_Collocation_Strategies::CS_LAST];
+
+ TAO_SYNCH_MUTEX mutex_;
+ // This funxtion is used to get an handle to the unique instance
+ // of the Strategized Proxy Broker that is available for a given
+ // interface.
+
+public:
+ static _TAO_CORBA_ArrayDef_Strategized_Proxy_Broker *the_TAO_CORBA_ArrayDef_Strategized_Proxy_Broker (void);
+};
+
+
+//
+// End Strategized Proxy Broker Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Impl. Declaration
+//
+
+class _TAO_CORBA_ArrayDef_ThruPOA_Proxy_Impl :
+ public virtual ::_TAO_CORBA_ArrayDef_Proxy_Impl,
+ public virtual TAO_ThruPOA_Object_Proxy_Impl,
+ public virtual ::_TAO_CORBA_IDLType_ThruPOA_Proxy_Impl
+
+{
+public:
+ _TAO_CORBA_ArrayDef_ThruPOA_Proxy_Impl (void);
+
+ virtual ~_TAO_CORBA_ArrayDef_ThruPOA_Proxy_Impl (void) { }
+
+ virtual CORBA::ULong length (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void length (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::ULong length
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA::TypeCode_ptr element_type (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA_IDLType_ptr element_type_def (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void element_type_def (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA_IDLType_ptr element_type_def
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+
+};
+
+//
+// ThruPOA Proxy Impl. Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+class POA_CORBA_ExceptionDef;
+typedef POA_CORBA_ExceptionDef *POA_CORBA_ExceptionDef_ptr;
+// Forward Classes Declaration
+class _TAO_CORBA_ExceptionDef_ThruPOA_Proxy_Impl;
+class _TAO_CORBA_ExceptionDef_Strategized_Proxy_Broker;
+
+class POA_CORBA_ExceptionDef : public virtual POA_CORBA_Contained, public virtual POA_CORBA_Container
+{
+protected:
+ POA_CORBA_ExceptionDef (void);
+
+public:
+ POA_CORBA_ExceptionDef (const POA_CORBA_ExceptionDef& rhs);
+ virtual ~POA_CORBA_ExceptionDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _non_existent_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void _dispatch (
+ TAO_ServerRequest &req,
+ void *_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ ::CORBA_ExceptionDef *_this (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual CORBA::TypeCode_ptr type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_type_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA_StructMemberSeq * members (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_members_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void members (
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_members_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _get_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_defined_in_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_absolute_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_containing_repository_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void describe_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void move_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void lookup_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void contents_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void lookup_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void describe_contents_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_module_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_constant_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_struct_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_union_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_enum_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_alias_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_value_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_value_box_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_exception_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_native_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_abstract_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_local_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+
+};
+
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Declaration
+//
+
+class _TAO_CORBA_ExceptionDef_Strategized_Proxy_Broker : public virtual ::_TAO_CORBA_ExceptionDef_Proxy_Broker
+{
+public:
+ _TAO_CORBA_ExceptionDef_Strategized_Proxy_Broker (void);
+
+ virtual ~_TAO_CORBA_ExceptionDef_Strategized_Proxy_Broker (void);
+
+ virtual ::_TAO_CORBA_ExceptionDef_Proxy_Impl &select_proxy (
+ ::CORBA_ExceptionDef *object
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Helper methods that takes care to create the proxy
+ // as soon as their use is necessary.
+ void create_proxy (
+ int collocation_strategy
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Caches the proxy implementations. The proxy implementation
+ // are totally stateless, and those can be shared by all the
+ // instances of a given IDL interface type.
+ ::_TAO_CORBA_ExceptionDef_Proxy_Impl
+ *proxy_cache_[TAO_Collocation_Strategies::CS_LAST];
+
+ TAO_SYNCH_MUTEX mutex_;
+ // This funxtion is used to get an handle to the unique instance
+ // of the Strategized Proxy Broker that is available for a given
+ // interface.
+
+public:
+ static _TAO_CORBA_ExceptionDef_Strategized_Proxy_Broker *the_TAO_CORBA_ExceptionDef_Strategized_Proxy_Broker (void);
+};
+
+
+//
+// End Strategized Proxy Broker Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Impl. Declaration
+//
+
+class _TAO_CORBA_ExceptionDef_ThruPOA_Proxy_Impl :
+ public virtual ::_TAO_CORBA_ExceptionDef_Proxy_Impl,
+ public virtual TAO_ThruPOA_Object_Proxy_Impl,
+ public virtual ::_TAO_CORBA_Contained_ThruPOA_Proxy_Impl,
+ public virtual ::_TAO_CORBA_Container_ThruPOA_Proxy_Impl
+
+{
+public:
+ _TAO_CORBA_ExceptionDef_ThruPOA_Proxy_Impl (void);
+
+ virtual ~_TAO_CORBA_ExceptionDef_ThruPOA_Proxy_Impl (void) { }
+
+ virtual CORBA::TypeCode_ptr type (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA_StructMemberSeq * members (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void members (
+ CORBA_Object *_collocated_tao_target_,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+
+};
+
+//
+// ThruPOA Proxy Impl. Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+class POA_CORBA_AttributeDef;
+typedef POA_CORBA_AttributeDef *POA_CORBA_AttributeDef_ptr;
+// Forward Classes Declaration
+class _TAO_CORBA_AttributeDef_ThruPOA_Proxy_Impl;
+class _TAO_CORBA_AttributeDef_Strategized_Proxy_Broker;
+
+class POA_CORBA_AttributeDef : public virtual POA_CORBA_Contained
+{
+protected:
+ POA_CORBA_AttributeDef (void);
+
+public:
+ POA_CORBA_AttributeDef (const POA_CORBA_AttributeDef& rhs);
+ virtual ~POA_CORBA_AttributeDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _non_existent_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void _dispatch (
+ TAO_ServerRequest &req,
+ void *_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ ::CORBA_AttributeDef *_this (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual CORBA::TypeCode_ptr type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_type_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA_IDLType_ptr type_def (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_type_def_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void type_def (
+ CORBA_IDLType_ptr type_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_type_def_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA::AttributeMode mode (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_mode_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void mode (
+ CORBA::AttributeMode mode
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_mode_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _get_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_defined_in_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_absolute_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_containing_repository_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void describe_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void move_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+
+};
+
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Declaration
+//
+
+class _TAO_CORBA_AttributeDef_Strategized_Proxy_Broker : public virtual ::_TAO_CORBA_AttributeDef_Proxy_Broker
+{
+public:
+ _TAO_CORBA_AttributeDef_Strategized_Proxy_Broker (void);
+
+ virtual ~_TAO_CORBA_AttributeDef_Strategized_Proxy_Broker (void);
+
+ virtual ::_TAO_CORBA_AttributeDef_Proxy_Impl &select_proxy (
+ ::CORBA_AttributeDef *object
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Helper methods that takes care to create the proxy
+ // as soon as their use is necessary.
+ void create_proxy (
+ int collocation_strategy
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Caches the proxy implementations. The proxy implementation
+ // are totally stateless, and those can be shared by all the
+ // instances of a given IDL interface type.
+ ::_TAO_CORBA_AttributeDef_Proxy_Impl
+ *proxy_cache_[TAO_Collocation_Strategies::CS_LAST];
+
+ TAO_SYNCH_MUTEX mutex_;
+ // This funxtion is used to get an handle to the unique instance
+ // of the Strategized Proxy Broker that is available for a given
+ // interface.
+
+public:
+ static _TAO_CORBA_AttributeDef_Strategized_Proxy_Broker *the_TAO_CORBA_AttributeDef_Strategized_Proxy_Broker (void);
+};
+
+
+//
+// End Strategized Proxy Broker Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Impl. Declaration
+//
+
+class _TAO_CORBA_AttributeDef_ThruPOA_Proxy_Impl :
+ public virtual ::_TAO_CORBA_AttributeDef_Proxy_Impl,
+ public virtual TAO_ThruPOA_Object_Proxy_Impl,
+ public virtual ::_TAO_CORBA_Contained_ThruPOA_Proxy_Impl
+
+{
+public:
+ _TAO_CORBA_AttributeDef_ThruPOA_Proxy_Impl (void);
+
+ virtual ~_TAO_CORBA_AttributeDef_ThruPOA_Proxy_Impl (void) { }
+
+ virtual CORBA::TypeCode_ptr type (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA_IDLType_ptr type_def (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void type_def (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA_IDLType_ptr type_def
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA::AttributeMode mode (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void mode (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::AttributeMode mode
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+
+};
+
+//
+// ThruPOA Proxy Impl. Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+class POA_CORBA_OperationDef;
+typedef POA_CORBA_OperationDef *POA_CORBA_OperationDef_ptr;
+// Forward Classes Declaration
+class _TAO_CORBA_OperationDef_ThruPOA_Proxy_Impl;
+class _TAO_CORBA_OperationDef_Strategized_Proxy_Broker;
+
+class POA_CORBA_OperationDef : public virtual POA_CORBA_Contained
+{
+protected:
+ POA_CORBA_OperationDef (void);
+
+public:
+ POA_CORBA_OperationDef (const POA_CORBA_OperationDef& rhs);
+ virtual ~POA_CORBA_OperationDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _non_existent_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void _dispatch (
+ TAO_ServerRequest &req,
+ void *_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ ::CORBA_OperationDef *_this (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual CORBA::TypeCode_ptr result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_result_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA_IDLType_ptr result_def (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_result_def_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void result_def (
+ CORBA_IDLType_ptr result_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_result_def_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA_ParDescriptionSeq * params (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_params_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void params (
+ const CORBA_ParDescriptionSeq & params
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_params_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA::OperationMode mode (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_mode_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void mode (
+ CORBA::OperationMode mode
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_mode_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA_ContextIdSeq * contexts (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_contexts_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void contexts (
+ const CORBA_ContextIdSeq & contexts
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_contexts_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA_ExceptionDefSeq * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_exceptions_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void exceptions (
+ const CORBA_ExceptionDefSeq & exceptions
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_exceptions_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _get_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_defined_in_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_absolute_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_containing_repository_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void describe_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void move_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+
+};
+
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Declaration
+//
+
+class _TAO_CORBA_OperationDef_Strategized_Proxy_Broker : public virtual ::_TAO_CORBA_OperationDef_Proxy_Broker
+{
+public:
+ _TAO_CORBA_OperationDef_Strategized_Proxy_Broker (void);
+
+ virtual ~_TAO_CORBA_OperationDef_Strategized_Proxy_Broker (void);
+
+ virtual ::_TAO_CORBA_OperationDef_Proxy_Impl &select_proxy (
+ ::CORBA_OperationDef *object
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Helper methods that takes care to create the proxy
+ // as soon as their use is necessary.
+ void create_proxy (
+ int collocation_strategy
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Caches the proxy implementations. The proxy implementation
+ // are totally stateless, and those can be shared by all the
+ // instances of a given IDL interface type.
+ ::_TAO_CORBA_OperationDef_Proxy_Impl
+ *proxy_cache_[TAO_Collocation_Strategies::CS_LAST];
+
+ TAO_SYNCH_MUTEX mutex_;
+ // This funxtion is used to get an handle to the unique instance
+ // of the Strategized Proxy Broker that is available for a given
+ // interface.
+
+public:
+ static _TAO_CORBA_OperationDef_Strategized_Proxy_Broker *the_TAO_CORBA_OperationDef_Strategized_Proxy_Broker (void);
+};
+
+
+//
+// End Strategized Proxy Broker Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Impl. Declaration
+//
+
+class _TAO_CORBA_OperationDef_ThruPOA_Proxy_Impl :
+ public virtual ::_TAO_CORBA_OperationDef_Proxy_Impl,
+ public virtual TAO_ThruPOA_Object_Proxy_Impl,
+ public virtual ::_TAO_CORBA_Contained_ThruPOA_Proxy_Impl
+
+{
+public:
+ _TAO_CORBA_OperationDef_ThruPOA_Proxy_Impl (void);
+
+ virtual ~_TAO_CORBA_OperationDef_ThruPOA_Proxy_Impl (void) { }
+
+ virtual CORBA::TypeCode_ptr result (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA_IDLType_ptr result_def (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void result_def (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA_IDLType_ptr result_def
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA_ParDescriptionSeq * params (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void params (
+ CORBA_Object *_collocated_tao_target_,
+ const CORBA_ParDescriptionSeq & params
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA::OperationMode mode (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void mode (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::OperationMode mode
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA_ContextIdSeq * contexts (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void contexts (
+ CORBA_Object *_collocated_tao_target_,
+ const CORBA_ContextIdSeq & contexts
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA_ExceptionDefSeq * exceptions (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void exceptions (
+ CORBA_Object *_collocated_tao_target_,
+ const CORBA_ExceptionDefSeq & exceptions
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+
+};
+
+//
+// ThruPOA Proxy Impl. Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+class POA_CORBA_InterfaceDef;
+typedef POA_CORBA_InterfaceDef *POA_CORBA_InterfaceDef_ptr;
+// Forward Classes Declaration
+class _TAO_CORBA_InterfaceDef_ThruPOA_Proxy_Impl;
+class _TAO_CORBA_InterfaceDef_Strategized_Proxy_Broker;
+
+class POA_CORBA_InterfaceDef : public virtual POA_CORBA_Container, public virtual POA_CORBA_Contained, public virtual POA_CORBA_IDLType
+{
+protected:
+ POA_CORBA_InterfaceDef (void);
+
+public:
+ POA_CORBA_InterfaceDef (const POA_CORBA_InterfaceDef& rhs);
+ virtual ~POA_CORBA_InterfaceDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _non_existent_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void _dispatch (
+ TAO_ServerRequest &req,
+ void *_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ ::CORBA_InterfaceDef *_this (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual CORBA_InterfaceDefSeq * base_interfaces (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_base_interfaces_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void base_interfaces (
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_base_interfaces_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA::Boolean is_a (
+ const char * interface_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void is_a_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA_InterfaceDef::FullInterfaceDescription * describe_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void describe_interface_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA_AttributeDef_ptr create_attribute (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ CORBA::AttributeMode mode
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_attribute_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA_OperationDef_ptr create_operation (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr result,
+ CORBA::OperationMode mode,
+ const CORBA_ParDescriptionSeq & params,
+ const CORBA_ExceptionDefSeq & exceptions,
+ const CORBA_ContextIdSeq & contexts
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_operation_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void lookup_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void contents_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void lookup_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void describe_contents_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_module_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_constant_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_struct_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_union_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_enum_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_alias_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_value_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_value_box_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_exception_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_native_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_abstract_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_local_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_defined_in_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_absolute_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_containing_repository_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void describe_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void move_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_type_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+
+};
+
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Declaration
+//
+
+class _TAO_CORBA_InterfaceDef_Strategized_Proxy_Broker : public virtual ::_TAO_CORBA_InterfaceDef_Proxy_Broker
+{
+public:
+ _TAO_CORBA_InterfaceDef_Strategized_Proxy_Broker (void);
+
+ virtual ~_TAO_CORBA_InterfaceDef_Strategized_Proxy_Broker (void);
+
+ virtual ::_TAO_CORBA_InterfaceDef_Proxy_Impl &select_proxy (
+ ::CORBA_InterfaceDef *object
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Helper methods that takes care to create the proxy
+ // as soon as their use is necessary.
+ void create_proxy (
+ int collocation_strategy
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Caches the proxy implementations. The proxy implementation
+ // are totally stateless, and those can be shared by all the
+ // instances of a given IDL interface type.
+ ::_TAO_CORBA_InterfaceDef_Proxy_Impl
+ *proxy_cache_[TAO_Collocation_Strategies::CS_LAST];
+
+ TAO_SYNCH_MUTEX mutex_;
+ // This funxtion is used to get an handle to the unique instance
+ // of the Strategized Proxy Broker that is available for a given
+ // interface.
+
+public:
+ static _TAO_CORBA_InterfaceDef_Strategized_Proxy_Broker *the_TAO_CORBA_InterfaceDef_Strategized_Proxy_Broker (void);
+};
+
+
+//
+// End Strategized Proxy Broker Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Impl. Declaration
+//
+
+class _TAO_CORBA_InterfaceDef_ThruPOA_Proxy_Impl :
+ public virtual ::_TAO_CORBA_InterfaceDef_Proxy_Impl,
+ public virtual TAO_ThruPOA_Object_Proxy_Impl,
+ public virtual ::_TAO_CORBA_Container_ThruPOA_Proxy_Impl,
+ public virtual ::_TAO_CORBA_Contained_ThruPOA_Proxy_Impl,
+ public virtual ::_TAO_CORBA_IDLType_ThruPOA_Proxy_Impl
+
+{
+public:
+ _TAO_CORBA_InterfaceDef_ThruPOA_Proxy_Impl (void);
+
+ virtual ~_TAO_CORBA_InterfaceDef_ThruPOA_Proxy_Impl (void) { }
+
+ virtual CORBA_InterfaceDefSeq * base_interfaces (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void base_interfaces (
+ CORBA_Object *_collocated_tao_target_,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA::Boolean is_a (
+ CORBA_Object *_collocated_tao_target_,
+ const char * interface_id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA_InterfaceDef::FullInterfaceDescription * describe_interface (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA_AttributeDef_ptr create_attribute (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ CORBA::AttributeMode mode
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA_OperationDef_ptr create_operation (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr result,
+ CORBA::OperationMode mode,
+ const CORBA_ParDescriptionSeq & params,
+ const CORBA_ExceptionDefSeq & exceptions,
+ const CORBA_ContextIdSeq & contexts
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+
+};
+
+//
+// ThruPOA Proxy Impl. Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+class POA_CORBA_AbstractInterfaceDef;
+typedef POA_CORBA_AbstractInterfaceDef *POA_CORBA_AbstractInterfaceDef_ptr;
+// Forward Classes Declaration
+class _TAO_CORBA_AbstractInterfaceDef_ThruPOA_Proxy_Impl;
+class _TAO_CORBA_AbstractInterfaceDef_Strategized_Proxy_Broker;
+
+class POA_CORBA_AbstractInterfaceDef : public virtual POA_CORBA_InterfaceDef
+{
+protected:
+ POA_CORBA_AbstractInterfaceDef (void);
+
+public:
+ POA_CORBA_AbstractInterfaceDef (const POA_CORBA_AbstractInterfaceDef& rhs);
+ virtual ~POA_CORBA_AbstractInterfaceDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _non_existent_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void _dispatch (
+ TAO_ServerRequest &req,
+ void *_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ ::CORBA_AbstractInterfaceDef *_this (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual const char* _interface_repository_id (void) const;
+
+ static void _get_base_interfaces_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_base_interfaces_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void is_a_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void describe_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_attribute_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_operation_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void lookup_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void contents_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void lookup_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void describe_contents_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_module_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_constant_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_struct_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_union_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_enum_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_alias_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_value_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_value_box_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_exception_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_native_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_abstract_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_local_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_defined_in_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_absolute_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_containing_repository_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void describe_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void move_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_type_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+
+};
+
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Declaration
+//
+
+class _TAO_CORBA_AbstractInterfaceDef_Strategized_Proxy_Broker : public virtual ::_TAO_CORBA_AbstractInterfaceDef_Proxy_Broker
+{
+public:
+ _TAO_CORBA_AbstractInterfaceDef_Strategized_Proxy_Broker (void);
+
+ virtual ~_TAO_CORBA_AbstractInterfaceDef_Strategized_Proxy_Broker (void);
+
+ virtual ::_TAO_CORBA_AbstractInterfaceDef_Proxy_Impl &select_proxy (
+ ::CORBA_AbstractInterfaceDef *object
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Helper methods that takes care to create the proxy
+ // as soon as their use is necessary.
+ void create_proxy (
+ int collocation_strategy
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Caches the proxy implementations. The proxy implementation
+ // are totally stateless, and those can be shared by all the
+ // instances of a given IDL interface type.
+ ::_TAO_CORBA_AbstractInterfaceDef_Proxy_Impl
+ *proxy_cache_[TAO_Collocation_Strategies::CS_LAST];
+
+ TAO_SYNCH_MUTEX mutex_;
+ // This funxtion is used to get an handle to the unique instance
+ // of the Strategized Proxy Broker that is available for a given
+ // interface.
+
+public:
+ static _TAO_CORBA_AbstractInterfaceDef_Strategized_Proxy_Broker *the_TAO_CORBA_AbstractInterfaceDef_Strategized_Proxy_Broker (void);
+};
+
+
+//
+// End Strategized Proxy Broker Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Impl. Declaration
+//
+
+class _TAO_CORBA_AbstractInterfaceDef_ThruPOA_Proxy_Impl :
+ public virtual ::_TAO_CORBA_AbstractInterfaceDef_Proxy_Impl,
+ public virtual TAO_ThruPOA_Object_Proxy_Impl,
+ public virtual ::_TAO_CORBA_InterfaceDef_ThruPOA_Proxy_Impl
+
+{
+public:
+ _TAO_CORBA_AbstractInterfaceDef_ThruPOA_Proxy_Impl (void);
+
+ virtual ~_TAO_CORBA_AbstractInterfaceDef_ThruPOA_Proxy_Impl (void) { }
+
+};
+
+
+//
+// ThruPOA Proxy Impl. Declaration
+///////////////////////////////////////////////////////////////////////
+
+class POA_CORBA_LocalInterfaceDef;
+typedef POA_CORBA_LocalInterfaceDef *POA_CORBA_LocalInterfaceDef_ptr;
+// Forward Classes Declaration
+class _TAO_CORBA_LocalInterfaceDef_ThruPOA_Proxy_Impl;
+class _TAO_CORBA_LocalInterfaceDef_Strategized_Proxy_Broker;
+
+class POA_CORBA_LocalInterfaceDef : public virtual POA_CORBA_InterfaceDef
+{
+protected:
+ POA_CORBA_LocalInterfaceDef (void);
+
+public:
+ POA_CORBA_LocalInterfaceDef (const POA_CORBA_LocalInterfaceDef& rhs);
+ virtual ~POA_CORBA_LocalInterfaceDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _non_existent_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void _dispatch (
+ TAO_ServerRequest &req,
+ void *_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ ::CORBA_LocalInterfaceDef *_this (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual const char* _interface_repository_id (void) const;
+
+ static void _get_base_interfaces_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_base_interfaces_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void is_a_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void describe_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_attribute_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_operation_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void lookup_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void contents_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void lookup_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void describe_contents_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_module_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_constant_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_struct_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_union_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_enum_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_alias_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_value_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_value_box_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_exception_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_native_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_abstract_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_local_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_defined_in_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_absolute_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_containing_repository_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void describe_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void move_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_type_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+
+};
+
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Declaration
+//
+
+class _TAO_CORBA_LocalInterfaceDef_Strategized_Proxy_Broker : public virtual ::_TAO_CORBA_LocalInterfaceDef_Proxy_Broker
+{
+public:
+ _TAO_CORBA_LocalInterfaceDef_Strategized_Proxy_Broker (void);
+
+ virtual ~_TAO_CORBA_LocalInterfaceDef_Strategized_Proxy_Broker (void);
+
+ virtual ::_TAO_CORBA_LocalInterfaceDef_Proxy_Impl &select_proxy (
+ ::CORBA_LocalInterfaceDef *object
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Helper methods that takes care to create the proxy
+ // as soon as their use is necessary.
+ void create_proxy (
+ int collocation_strategy
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Caches the proxy implementations. The proxy implementation
+ // are totally stateless, and those can be shared by all the
+ // instances of a given IDL interface type.
+ ::_TAO_CORBA_LocalInterfaceDef_Proxy_Impl
+ *proxy_cache_[TAO_Collocation_Strategies::CS_LAST];
+
+ TAO_SYNCH_MUTEX mutex_;
+ // This funxtion is used to get an handle to the unique instance
+ // of the Strategized Proxy Broker that is available for a given
+ // interface.
+
+public:
+ static _TAO_CORBA_LocalInterfaceDef_Strategized_Proxy_Broker *the_TAO_CORBA_LocalInterfaceDef_Strategized_Proxy_Broker (void);
+};
+
+
+//
+// End Strategized Proxy Broker Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Impl. Declaration
+//
+
+class _TAO_CORBA_LocalInterfaceDef_ThruPOA_Proxy_Impl :
+ public virtual ::_TAO_CORBA_LocalInterfaceDef_Proxy_Impl,
+ public virtual TAO_ThruPOA_Object_Proxy_Impl,
+ public virtual ::_TAO_CORBA_InterfaceDef_ThruPOA_Proxy_Impl
+
+{
+public:
+ _TAO_CORBA_LocalInterfaceDef_ThruPOA_Proxy_Impl (void);
+
+ virtual ~_TAO_CORBA_LocalInterfaceDef_ThruPOA_Proxy_Impl (void) { }
+
+};
+
+
+//
+// ThruPOA Proxy Impl. Declaration
+///////////////////////////////////////////////////////////////////////
+
+#include "IFR_BasicS_T.h"
+
+#if defined (__ACE_INLINE__)
+#include "IFR_BasicS.i"
+#endif /* defined INLINE */
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#if defined (__BORLANDC__)
+#pragma option pop
+#endif /* __BORLANDC__ */
+
+#include "ace/post.h"
+#endif /* ifndef */
diff --git a/TAO/orbsvcs/IFR_Service/IFR_BasicS.i b/TAO/orbsvcs/IFR_Service/IFR_BasicS.i
new file mode 100644
index 00000000000..9b6f1854e59
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/IFR_BasicS.i
@@ -0,0 +1,5151 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+ACE_INLINE void POA_CORBA_Repository::lookup_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_Repository_ptr) obj;
+ POA_CORBA_Container::lookup_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_Repository::contents_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_Repository_ptr) obj;
+ POA_CORBA_Container::contents_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_Repository::lookup_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_Repository_ptr) obj;
+ POA_CORBA_Container::lookup_name_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_Repository::describe_contents_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_Repository_ptr) obj;
+ POA_CORBA_Container::describe_contents_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_Repository::create_module_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_Repository_ptr) obj;
+ POA_CORBA_Container::create_module_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_Repository::create_constant_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_Repository_ptr) obj;
+ POA_CORBA_Container::create_constant_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_Repository::create_struct_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_Repository_ptr) obj;
+ POA_CORBA_Container::create_struct_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_Repository::create_union_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_Repository_ptr) obj;
+ POA_CORBA_Container::create_union_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_Repository::create_enum_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_Repository_ptr) obj;
+ POA_CORBA_Container::create_enum_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_Repository::create_alias_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_Repository_ptr) obj;
+ POA_CORBA_Container::create_alias_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_Repository::create_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_Repository_ptr) obj;
+ POA_CORBA_Container::create_interface_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_Repository::create_value_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_Repository_ptr) obj;
+ POA_CORBA_Container::create_value_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_Repository::create_value_box_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_Repository_ptr) obj;
+ POA_CORBA_Container::create_value_box_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_Repository::create_exception_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_Repository_ptr) obj;
+ POA_CORBA_Container::create_exception_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_Repository::create_native_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_Repository_ptr) obj;
+ POA_CORBA_Container::create_native_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_Repository::create_abstract_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_Repository_ptr) obj;
+ POA_CORBA_Container::create_abstract_interface_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_Repository::create_local_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_Repository_ptr) obj;
+ POA_CORBA_Container::create_local_interface_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_Repository::_get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_CORBA_Repository_ptr) obj;
+ POA_CORBA_IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_Repository::destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_CORBA_Repository_ptr) obj;
+ POA_CORBA_IRObject::destroy_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ModuleDef::lookup_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_ModuleDef_ptr) obj;
+ POA_CORBA_Container::lookup_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ModuleDef::contents_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_ModuleDef_ptr) obj;
+ POA_CORBA_Container::contents_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ModuleDef::lookup_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_ModuleDef_ptr) obj;
+ POA_CORBA_Container::lookup_name_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ModuleDef::describe_contents_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_ModuleDef_ptr) obj;
+ POA_CORBA_Container::describe_contents_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ModuleDef::create_module_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_ModuleDef_ptr) obj;
+ POA_CORBA_Container::create_module_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ModuleDef::create_constant_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_ModuleDef_ptr) obj;
+ POA_CORBA_Container::create_constant_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ModuleDef::create_struct_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_ModuleDef_ptr) obj;
+ POA_CORBA_Container::create_struct_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ModuleDef::create_union_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_ModuleDef_ptr) obj;
+ POA_CORBA_Container::create_union_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ModuleDef::create_enum_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_ModuleDef_ptr) obj;
+ POA_CORBA_Container::create_enum_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ModuleDef::create_alias_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_ModuleDef_ptr) obj;
+ POA_CORBA_Container::create_alias_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ModuleDef::create_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_ModuleDef_ptr) obj;
+ POA_CORBA_Container::create_interface_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ModuleDef::create_value_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_ModuleDef_ptr) obj;
+ POA_CORBA_Container::create_value_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ModuleDef::create_value_box_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_ModuleDef_ptr) obj;
+ POA_CORBA_Container::create_value_box_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ModuleDef::create_exception_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_ModuleDef_ptr) obj;
+ POA_CORBA_Container::create_exception_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ModuleDef::create_native_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_ModuleDef_ptr) obj;
+ POA_CORBA_Container::create_native_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ModuleDef::create_abstract_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_ModuleDef_ptr) obj;
+ POA_CORBA_Container::create_abstract_interface_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ModuleDef::create_local_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_ModuleDef_ptr) obj;
+ POA_CORBA_Container::create_local_interface_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ModuleDef::_get_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ModuleDef_ptr) obj;
+ POA_CORBA_Contained::_get_id_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ModuleDef::_set_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ModuleDef_ptr) obj;
+ POA_CORBA_Contained::_set_id_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ModuleDef::_get_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ModuleDef_ptr) obj;
+ POA_CORBA_Contained::_get_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ModuleDef::_set_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ModuleDef_ptr) obj;
+ POA_CORBA_Contained::_set_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ModuleDef::_get_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ModuleDef_ptr) obj;
+ POA_CORBA_Contained::_get_version_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ModuleDef::_set_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ModuleDef_ptr) obj;
+ POA_CORBA_Contained::_set_version_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ModuleDef::_get_defined_in_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ModuleDef_ptr) obj;
+ POA_CORBA_Contained::_get_defined_in_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ModuleDef::_get_absolute_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ModuleDef_ptr) obj;
+ POA_CORBA_Contained::_get_absolute_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ModuleDef::_get_containing_repository_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ModuleDef_ptr) obj;
+ POA_CORBA_Contained::_get_containing_repository_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ModuleDef::describe_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ModuleDef_ptr) obj;
+ POA_CORBA_Contained::describe_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ModuleDef::move_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ModuleDef_ptr) obj;
+ POA_CORBA_Contained::move_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ModuleDef::_get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_CORBA_ModuleDef_ptr) obj;
+ POA_CORBA_IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ModuleDef::destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_CORBA_ModuleDef_ptr) obj;
+ POA_CORBA_IRObject::destroy_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ConstantDef::_get_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ConstantDef_ptr) obj;
+ POA_CORBA_Contained::_get_id_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ConstantDef::_set_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ConstantDef_ptr) obj;
+ POA_CORBA_Contained::_set_id_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ConstantDef::_get_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ConstantDef_ptr) obj;
+ POA_CORBA_Contained::_get_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ConstantDef::_set_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ConstantDef_ptr) obj;
+ POA_CORBA_Contained::_set_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ConstantDef::_get_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ConstantDef_ptr) obj;
+ POA_CORBA_Contained::_get_version_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ConstantDef::_set_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ConstantDef_ptr) obj;
+ POA_CORBA_Contained::_set_version_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ConstantDef::_get_defined_in_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ConstantDef_ptr) obj;
+ POA_CORBA_Contained::_get_defined_in_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ConstantDef::_get_absolute_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ConstantDef_ptr) obj;
+ POA_CORBA_Contained::_get_absolute_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ConstantDef::_get_containing_repository_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ConstantDef_ptr) obj;
+ POA_CORBA_Contained::_get_containing_repository_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ConstantDef::describe_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ConstantDef_ptr) obj;
+ POA_CORBA_Contained::describe_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ConstantDef::move_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ConstantDef_ptr) obj;
+ POA_CORBA_Contained::move_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ConstantDef::_get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_CORBA_ConstantDef_ptr) obj;
+ POA_CORBA_IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ConstantDef::destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_CORBA_ConstantDef_ptr) obj;
+ POA_CORBA_IRObject::destroy_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_StructDef::lookup_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_StructDef_ptr) obj;
+ POA_CORBA_Container::lookup_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_StructDef::contents_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_StructDef_ptr) obj;
+ POA_CORBA_Container::contents_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_StructDef::lookup_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_StructDef_ptr) obj;
+ POA_CORBA_Container::lookup_name_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_StructDef::describe_contents_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_StructDef_ptr) obj;
+ POA_CORBA_Container::describe_contents_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_StructDef::create_module_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_StructDef_ptr) obj;
+ POA_CORBA_Container::create_module_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_StructDef::create_constant_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_StructDef_ptr) obj;
+ POA_CORBA_Container::create_constant_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_StructDef::create_struct_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_StructDef_ptr) obj;
+ POA_CORBA_Container::create_struct_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_StructDef::create_union_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_StructDef_ptr) obj;
+ POA_CORBA_Container::create_union_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_StructDef::create_enum_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_StructDef_ptr) obj;
+ POA_CORBA_Container::create_enum_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_StructDef::create_alias_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_StructDef_ptr) obj;
+ POA_CORBA_Container::create_alias_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_StructDef::create_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_StructDef_ptr) obj;
+ POA_CORBA_Container::create_interface_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_StructDef::create_value_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_StructDef_ptr) obj;
+ POA_CORBA_Container::create_value_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_StructDef::create_value_box_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_StructDef_ptr) obj;
+ POA_CORBA_Container::create_value_box_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_StructDef::create_exception_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_StructDef_ptr) obj;
+ POA_CORBA_Container::create_exception_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_StructDef::create_native_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_StructDef_ptr) obj;
+ POA_CORBA_Container::create_native_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_StructDef::create_abstract_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_StructDef_ptr) obj;
+ POA_CORBA_Container::create_abstract_interface_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_StructDef::create_local_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_StructDef_ptr) obj;
+ POA_CORBA_Container::create_local_interface_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_StructDef::_get_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_StructDef_ptr) obj;
+ POA_CORBA_Contained::_get_id_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_StructDef::_set_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_StructDef_ptr) obj;
+ POA_CORBA_Contained::_set_id_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_StructDef::_get_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_StructDef_ptr) obj;
+ POA_CORBA_Contained::_get_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_StructDef::_set_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_StructDef_ptr) obj;
+ POA_CORBA_Contained::_set_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_StructDef::_get_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_StructDef_ptr) obj;
+ POA_CORBA_Contained::_get_version_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_StructDef::_set_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_StructDef_ptr) obj;
+ POA_CORBA_Contained::_set_version_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_StructDef::_get_defined_in_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_StructDef_ptr) obj;
+ POA_CORBA_Contained::_get_defined_in_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_StructDef::_get_absolute_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_StructDef_ptr) obj;
+ POA_CORBA_Contained::_get_absolute_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_StructDef::_get_containing_repository_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_StructDef_ptr) obj;
+ POA_CORBA_Contained::_get_containing_repository_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_StructDef::describe_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_StructDef_ptr) obj;
+ POA_CORBA_Contained::describe_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_StructDef::move_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_StructDef_ptr) obj;
+ POA_CORBA_Contained::move_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_StructDef::_get_type_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IDLType_ptr impl = (POA_CORBA_StructDef_ptr) obj;
+ POA_CORBA_IDLType::_get_type_skel (
+ req,
+ (POA_CORBA_IDLType_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_StructDef::_get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_CORBA_StructDef_ptr) obj;
+ POA_CORBA_IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_StructDef::destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_CORBA_StructDef_ptr) obj;
+ POA_CORBA_IRObject::destroy_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_UnionDef::lookup_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_UnionDef_ptr) obj;
+ POA_CORBA_Container::lookup_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_UnionDef::contents_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_UnionDef_ptr) obj;
+ POA_CORBA_Container::contents_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_UnionDef::lookup_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_UnionDef_ptr) obj;
+ POA_CORBA_Container::lookup_name_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_UnionDef::describe_contents_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_UnionDef_ptr) obj;
+ POA_CORBA_Container::describe_contents_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_UnionDef::create_module_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_UnionDef_ptr) obj;
+ POA_CORBA_Container::create_module_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_UnionDef::create_constant_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_UnionDef_ptr) obj;
+ POA_CORBA_Container::create_constant_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_UnionDef::create_struct_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_UnionDef_ptr) obj;
+ POA_CORBA_Container::create_struct_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_UnionDef::create_union_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_UnionDef_ptr) obj;
+ POA_CORBA_Container::create_union_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_UnionDef::create_enum_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_UnionDef_ptr) obj;
+ POA_CORBA_Container::create_enum_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_UnionDef::create_alias_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_UnionDef_ptr) obj;
+ POA_CORBA_Container::create_alias_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_UnionDef::create_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_UnionDef_ptr) obj;
+ POA_CORBA_Container::create_interface_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_UnionDef::create_value_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_UnionDef_ptr) obj;
+ POA_CORBA_Container::create_value_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_UnionDef::create_value_box_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_UnionDef_ptr) obj;
+ POA_CORBA_Container::create_value_box_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_UnionDef::create_exception_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_UnionDef_ptr) obj;
+ POA_CORBA_Container::create_exception_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_UnionDef::create_native_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_UnionDef_ptr) obj;
+ POA_CORBA_Container::create_native_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_UnionDef::create_abstract_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_UnionDef_ptr) obj;
+ POA_CORBA_Container::create_abstract_interface_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_UnionDef::create_local_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_UnionDef_ptr) obj;
+ POA_CORBA_Container::create_local_interface_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_UnionDef::_get_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_UnionDef_ptr) obj;
+ POA_CORBA_Contained::_get_id_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_UnionDef::_set_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_UnionDef_ptr) obj;
+ POA_CORBA_Contained::_set_id_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_UnionDef::_get_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_UnionDef_ptr) obj;
+ POA_CORBA_Contained::_get_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_UnionDef::_set_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_UnionDef_ptr) obj;
+ POA_CORBA_Contained::_set_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_UnionDef::_get_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_UnionDef_ptr) obj;
+ POA_CORBA_Contained::_get_version_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_UnionDef::_set_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_UnionDef_ptr) obj;
+ POA_CORBA_Contained::_set_version_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_UnionDef::_get_defined_in_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_UnionDef_ptr) obj;
+ POA_CORBA_Contained::_get_defined_in_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_UnionDef::_get_absolute_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_UnionDef_ptr) obj;
+ POA_CORBA_Contained::_get_absolute_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_UnionDef::_get_containing_repository_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_UnionDef_ptr) obj;
+ POA_CORBA_Contained::_get_containing_repository_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_UnionDef::describe_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_UnionDef_ptr) obj;
+ POA_CORBA_Contained::describe_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_UnionDef::move_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_UnionDef_ptr) obj;
+ POA_CORBA_Contained::move_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_UnionDef::_get_type_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IDLType_ptr impl = (POA_CORBA_UnionDef_ptr) obj;
+ POA_CORBA_IDLType::_get_type_skel (
+ req,
+ (POA_CORBA_IDLType_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_UnionDef::_get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_CORBA_UnionDef_ptr) obj;
+ POA_CORBA_IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_UnionDef::destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_CORBA_UnionDef_ptr) obj;
+ POA_CORBA_IRObject::destroy_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_EnumDef::_get_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_EnumDef_ptr) obj;
+ POA_CORBA_Contained::_get_id_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_EnumDef::_set_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_EnumDef_ptr) obj;
+ POA_CORBA_Contained::_set_id_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_EnumDef::_get_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_EnumDef_ptr) obj;
+ POA_CORBA_Contained::_get_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_EnumDef::_set_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_EnumDef_ptr) obj;
+ POA_CORBA_Contained::_set_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_EnumDef::_get_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_EnumDef_ptr) obj;
+ POA_CORBA_Contained::_get_version_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_EnumDef::_set_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_EnumDef_ptr) obj;
+ POA_CORBA_Contained::_set_version_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_EnumDef::_get_defined_in_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_EnumDef_ptr) obj;
+ POA_CORBA_Contained::_get_defined_in_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_EnumDef::_get_absolute_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_EnumDef_ptr) obj;
+ POA_CORBA_Contained::_get_absolute_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_EnumDef::_get_containing_repository_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_EnumDef_ptr) obj;
+ POA_CORBA_Contained::_get_containing_repository_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_EnumDef::describe_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_EnumDef_ptr) obj;
+ POA_CORBA_Contained::describe_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_EnumDef::move_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_EnumDef_ptr) obj;
+ POA_CORBA_Contained::move_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_EnumDef::_get_type_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IDLType_ptr impl = (POA_CORBA_EnumDef_ptr) obj;
+ POA_CORBA_IDLType::_get_type_skel (
+ req,
+ (POA_CORBA_IDLType_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_EnumDef::_get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_CORBA_EnumDef_ptr) obj;
+ POA_CORBA_IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_EnumDef::destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_CORBA_EnumDef_ptr) obj;
+ POA_CORBA_IRObject::destroy_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AliasDef::_get_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_AliasDef_ptr) obj;
+ POA_CORBA_Contained::_get_id_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AliasDef::_set_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_AliasDef_ptr) obj;
+ POA_CORBA_Contained::_set_id_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AliasDef::_get_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_AliasDef_ptr) obj;
+ POA_CORBA_Contained::_get_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AliasDef::_set_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_AliasDef_ptr) obj;
+ POA_CORBA_Contained::_set_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AliasDef::_get_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_AliasDef_ptr) obj;
+ POA_CORBA_Contained::_get_version_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AliasDef::_set_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_AliasDef_ptr) obj;
+ POA_CORBA_Contained::_set_version_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AliasDef::_get_defined_in_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_AliasDef_ptr) obj;
+ POA_CORBA_Contained::_get_defined_in_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AliasDef::_get_absolute_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_AliasDef_ptr) obj;
+ POA_CORBA_Contained::_get_absolute_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AliasDef::_get_containing_repository_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_AliasDef_ptr) obj;
+ POA_CORBA_Contained::_get_containing_repository_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AliasDef::describe_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_AliasDef_ptr) obj;
+ POA_CORBA_Contained::describe_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AliasDef::move_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_AliasDef_ptr) obj;
+ POA_CORBA_Contained::move_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AliasDef::_get_type_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IDLType_ptr impl = (POA_CORBA_AliasDef_ptr) obj;
+ POA_CORBA_IDLType::_get_type_skel (
+ req,
+ (POA_CORBA_IDLType_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AliasDef::_get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_CORBA_AliasDef_ptr) obj;
+ POA_CORBA_IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AliasDef::destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_CORBA_AliasDef_ptr) obj;
+ POA_CORBA_IRObject::destroy_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_NativeDef::_get_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_NativeDef_ptr) obj;
+ POA_CORBA_Contained::_get_id_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_NativeDef::_set_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_NativeDef_ptr) obj;
+ POA_CORBA_Contained::_set_id_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_NativeDef::_get_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_NativeDef_ptr) obj;
+ POA_CORBA_Contained::_get_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_NativeDef::_set_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_NativeDef_ptr) obj;
+ POA_CORBA_Contained::_set_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_NativeDef::_get_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_NativeDef_ptr) obj;
+ POA_CORBA_Contained::_get_version_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_NativeDef::_set_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_NativeDef_ptr) obj;
+ POA_CORBA_Contained::_set_version_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_NativeDef::_get_defined_in_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_NativeDef_ptr) obj;
+ POA_CORBA_Contained::_get_defined_in_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_NativeDef::_get_absolute_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_NativeDef_ptr) obj;
+ POA_CORBA_Contained::_get_absolute_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_NativeDef::_get_containing_repository_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_NativeDef_ptr) obj;
+ POA_CORBA_Contained::_get_containing_repository_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_NativeDef::describe_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_NativeDef_ptr) obj;
+ POA_CORBA_Contained::describe_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_NativeDef::move_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_NativeDef_ptr) obj;
+ POA_CORBA_Contained::move_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_NativeDef::_get_type_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IDLType_ptr impl = (POA_CORBA_NativeDef_ptr) obj;
+ POA_CORBA_IDLType::_get_type_skel (
+ req,
+ (POA_CORBA_IDLType_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_NativeDef::_get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_CORBA_NativeDef_ptr) obj;
+ POA_CORBA_IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_NativeDef::destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_CORBA_NativeDef_ptr) obj;
+ POA_CORBA_IRObject::destroy_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_PrimitiveDef::_get_type_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IDLType_ptr impl = (POA_CORBA_PrimitiveDef_ptr) obj;
+ POA_CORBA_IDLType::_get_type_skel (
+ req,
+ (POA_CORBA_IDLType_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_PrimitiveDef::_get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_CORBA_PrimitiveDef_ptr) obj;
+ POA_CORBA_IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_PrimitiveDef::destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_CORBA_PrimitiveDef_ptr) obj;
+ POA_CORBA_IRObject::destroy_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_StringDef::_get_type_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IDLType_ptr impl = (POA_CORBA_StringDef_ptr) obj;
+ POA_CORBA_IDLType::_get_type_skel (
+ req,
+ (POA_CORBA_IDLType_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_StringDef::_get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_CORBA_StringDef_ptr) obj;
+ POA_CORBA_IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_StringDef::destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_CORBA_StringDef_ptr) obj;
+ POA_CORBA_IRObject::destroy_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_WstringDef::_get_type_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IDLType_ptr impl = (POA_CORBA_WstringDef_ptr) obj;
+ POA_CORBA_IDLType::_get_type_skel (
+ req,
+ (POA_CORBA_IDLType_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_WstringDef::_get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_CORBA_WstringDef_ptr) obj;
+ POA_CORBA_IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_WstringDef::destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_CORBA_WstringDef_ptr) obj;
+ POA_CORBA_IRObject::destroy_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_SequenceDef::_get_type_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IDLType_ptr impl = (POA_CORBA_SequenceDef_ptr) obj;
+ POA_CORBA_IDLType::_get_type_skel (
+ req,
+ (POA_CORBA_IDLType_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_SequenceDef::_get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_CORBA_SequenceDef_ptr) obj;
+ POA_CORBA_IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_SequenceDef::destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_CORBA_SequenceDef_ptr) obj;
+ POA_CORBA_IRObject::destroy_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ArrayDef::_get_type_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IDLType_ptr impl = (POA_CORBA_ArrayDef_ptr) obj;
+ POA_CORBA_IDLType::_get_type_skel (
+ req,
+ (POA_CORBA_IDLType_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ArrayDef::_get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_CORBA_ArrayDef_ptr) obj;
+ POA_CORBA_IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ArrayDef::destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_CORBA_ArrayDef_ptr) obj;
+ POA_CORBA_IRObject::destroy_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ExceptionDef::_get_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ExceptionDef_ptr) obj;
+ POA_CORBA_Contained::_get_id_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ExceptionDef::_set_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ExceptionDef_ptr) obj;
+ POA_CORBA_Contained::_set_id_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ExceptionDef::_get_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ExceptionDef_ptr) obj;
+ POA_CORBA_Contained::_get_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ExceptionDef::_set_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ExceptionDef_ptr) obj;
+ POA_CORBA_Contained::_set_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ExceptionDef::_get_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ExceptionDef_ptr) obj;
+ POA_CORBA_Contained::_get_version_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ExceptionDef::_set_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ExceptionDef_ptr) obj;
+ POA_CORBA_Contained::_set_version_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ExceptionDef::_get_defined_in_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ExceptionDef_ptr) obj;
+ POA_CORBA_Contained::_get_defined_in_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ExceptionDef::_get_absolute_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ExceptionDef_ptr) obj;
+ POA_CORBA_Contained::_get_absolute_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ExceptionDef::_get_containing_repository_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ExceptionDef_ptr) obj;
+ POA_CORBA_Contained::_get_containing_repository_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ExceptionDef::describe_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ExceptionDef_ptr) obj;
+ POA_CORBA_Contained::describe_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ExceptionDef::move_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ExceptionDef_ptr) obj;
+ POA_CORBA_Contained::move_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ExceptionDef::lookup_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_ExceptionDef_ptr) obj;
+ POA_CORBA_Container::lookup_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ExceptionDef::contents_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_ExceptionDef_ptr) obj;
+ POA_CORBA_Container::contents_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ExceptionDef::lookup_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_ExceptionDef_ptr) obj;
+ POA_CORBA_Container::lookup_name_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ExceptionDef::describe_contents_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_ExceptionDef_ptr) obj;
+ POA_CORBA_Container::describe_contents_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ExceptionDef::create_module_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_ExceptionDef_ptr) obj;
+ POA_CORBA_Container::create_module_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ExceptionDef::create_constant_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_ExceptionDef_ptr) obj;
+ POA_CORBA_Container::create_constant_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ExceptionDef::create_struct_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_ExceptionDef_ptr) obj;
+ POA_CORBA_Container::create_struct_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ExceptionDef::create_union_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_ExceptionDef_ptr) obj;
+ POA_CORBA_Container::create_union_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ExceptionDef::create_enum_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_ExceptionDef_ptr) obj;
+ POA_CORBA_Container::create_enum_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ExceptionDef::create_alias_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_ExceptionDef_ptr) obj;
+ POA_CORBA_Container::create_alias_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ExceptionDef::create_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_ExceptionDef_ptr) obj;
+ POA_CORBA_Container::create_interface_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ExceptionDef::create_value_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_ExceptionDef_ptr) obj;
+ POA_CORBA_Container::create_value_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ExceptionDef::create_value_box_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_ExceptionDef_ptr) obj;
+ POA_CORBA_Container::create_value_box_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ExceptionDef::create_exception_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_ExceptionDef_ptr) obj;
+ POA_CORBA_Container::create_exception_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ExceptionDef::create_native_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_ExceptionDef_ptr) obj;
+ POA_CORBA_Container::create_native_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ExceptionDef::create_abstract_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_ExceptionDef_ptr) obj;
+ POA_CORBA_Container::create_abstract_interface_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ExceptionDef::create_local_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_ExceptionDef_ptr) obj;
+ POA_CORBA_Container::create_local_interface_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ExceptionDef::_get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_CORBA_ExceptionDef_ptr) obj;
+ POA_CORBA_IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ExceptionDef::destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_CORBA_ExceptionDef_ptr) obj;
+ POA_CORBA_IRObject::destroy_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AttributeDef::_get_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_AttributeDef_ptr) obj;
+ POA_CORBA_Contained::_get_id_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AttributeDef::_set_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_AttributeDef_ptr) obj;
+ POA_CORBA_Contained::_set_id_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AttributeDef::_get_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_AttributeDef_ptr) obj;
+ POA_CORBA_Contained::_get_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AttributeDef::_set_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_AttributeDef_ptr) obj;
+ POA_CORBA_Contained::_set_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AttributeDef::_get_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_AttributeDef_ptr) obj;
+ POA_CORBA_Contained::_get_version_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AttributeDef::_set_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_AttributeDef_ptr) obj;
+ POA_CORBA_Contained::_set_version_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AttributeDef::_get_defined_in_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_AttributeDef_ptr) obj;
+ POA_CORBA_Contained::_get_defined_in_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AttributeDef::_get_absolute_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_AttributeDef_ptr) obj;
+ POA_CORBA_Contained::_get_absolute_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AttributeDef::_get_containing_repository_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_AttributeDef_ptr) obj;
+ POA_CORBA_Contained::_get_containing_repository_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AttributeDef::describe_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_AttributeDef_ptr) obj;
+ POA_CORBA_Contained::describe_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AttributeDef::move_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_AttributeDef_ptr) obj;
+ POA_CORBA_Contained::move_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AttributeDef::_get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_CORBA_AttributeDef_ptr) obj;
+ POA_CORBA_IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AttributeDef::destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_CORBA_AttributeDef_ptr) obj;
+ POA_CORBA_IRObject::destroy_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_OperationDef::_get_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_OperationDef_ptr) obj;
+ POA_CORBA_Contained::_get_id_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_OperationDef::_set_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_OperationDef_ptr) obj;
+ POA_CORBA_Contained::_set_id_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_OperationDef::_get_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_OperationDef_ptr) obj;
+ POA_CORBA_Contained::_get_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_OperationDef::_set_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_OperationDef_ptr) obj;
+ POA_CORBA_Contained::_set_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_OperationDef::_get_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_OperationDef_ptr) obj;
+ POA_CORBA_Contained::_get_version_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_OperationDef::_set_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_OperationDef_ptr) obj;
+ POA_CORBA_Contained::_set_version_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_OperationDef::_get_defined_in_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_OperationDef_ptr) obj;
+ POA_CORBA_Contained::_get_defined_in_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_OperationDef::_get_absolute_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_OperationDef_ptr) obj;
+ POA_CORBA_Contained::_get_absolute_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_OperationDef::_get_containing_repository_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_OperationDef_ptr) obj;
+ POA_CORBA_Contained::_get_containing_repository_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_OperationDef::describe_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_OperationDef_ptr) obj;
+ POA_CORBA_Contained::describe_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_OperationDef::move_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_OperationDef_ptr) obj;
+ POA_CORBA_Contained::move_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_OperationDef::_get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_CORBA_OperationDef_ptr) obj;
+ POA_CORBA_IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_OperationDef::destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_CORBA_OperationDef_ptr) obj;
+ POA_CORBA_IRObject::destroy_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_InterfaceDef::lookup_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_InterfaceDef_ptr) obj;
+ POA_CORBA_Container::lookup_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_InterfaceDef::contents_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_InterfaceDef_ptr) obj;
+ POA_CORBA_Container::contents_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_InterfaceDef::lookup_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_InterfaceDef_ptr) obj;
+ POA_CORBA_Container::lookup_name_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_InterfaceDef::describe_contents_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_InterfaceDef_ptr) obj;
+ POA_CORBA_Container::describe_contents_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_InterfaceDef::create_module_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_InterfaceDef_ptr) obj;
+ POA_CORBA_Container::create_module_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_InterfaceDef::create_constant_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_InterfaceDef_ptr) obj;
+ POA_CORBA_Container::create_constant_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_InterfaceDef::create_struct_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_InterfaceDef_ptr) obj;
+ POA_CORBA_Container::create_struct_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_InterfaceDef::create_union_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_InterfaceDef_ptr) obj;
+ POA_CORBA_Container::create_union_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_InterfaceDef::create_enum_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_InterfaceDef_ptr) obj;
+ POA_CORBA_Container::create_enum_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_InterfaceDef::create_alias_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_InterfaceDef_ptr) obj;
+ POA_CORBA_Container::create_alias_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_InterfaceDef::create_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_InterfaceDef_ptr) obj;
+ POA_CORBA_Container::create_interface_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_InterfaceDef::create_value_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_InterfaceDef_ptr) obj;
+ POA_CORBA_Container::create_value_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_InterfaceDef::create_value_box_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_InterfaceDef_ptr) obj;
+ POA_CORBA_Container::create_value_box_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_InterfaceDef::create_exception_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_InterfaceDef_ptr) obj;
+ POA_CORBA_Container::create_exception_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_InterfaceDef::create_native_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_InterfaceDef_ptr) obj;
+ POA_CORBA_Container::create_native_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_InterfaceDef::create_abstract_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_InterfaceDef_ptr) obj;
+ POA_CORBA_Container::create_abstract_interface_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_InterfaceDef::create_local_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_InterfaceDef_ptr) obj;
+ POA_CORBA_Container::create_local_interface_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_InterfaceDef::_get_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_InterfaceDef_ptr) obj;
+ POA_CORBA_Contained::_get_id_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_InterfaceDef::_set_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_InterfaceDef_ptr) obj;
+ POA_CORBA_Contained::_set_id_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_InterfaceDef::_get_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_InterfaceDef_ptr) obj;
+ POA_CORBA_Contained::_get_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_InterfaceDef::_set_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_InterfaceDef_ptr) obj;
+ POA_CORBA_Contained::_set_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_InterfaceDef::_get_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_InterfaceDef_ptr) obj;
+ POA_CORBA_Contained::_get_version_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_InterfaceDef::_set_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_InterfaceDef_ptr) obj;
+ POA_CORBA_Contained::_set_version_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_InterfaceDef::_get_defined_in_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_InterfaceDef_ptr) obj;
+ POA_CORBA_Contained::_get_defined_in_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_InterfaceDef::_get_absolute_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_InterfaceDef_ptr) obj;
+ POA_CORBA_Contained::_get_absolute_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_InterfaceDef::_get_containing_repository_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_InterfaceDef_ptr) obj;
+ POA_CORBA_Contained::_get_containing_repository_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_InterfaceDef::describe_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_InterfaceDef_ptr) obj;
+ POA_CORBA_Contained::describe_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_InterfaceDef::move_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_InterfaceDef_ptr) obj;
+ POA_CORBA_Contained::move_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_InterfaceDef::_get_type_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IDLType_ptr impl = (POA_CORBA_InterfaceDef_ptr) obj;
+ POA_CORBA_IDLType::_get_type_skel (
+ req,
+ (POA_CORBA_IDLType_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_InterfaceDef::_get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_CORBA_InterfaceDef_ptr) obj;
+ POA_CORBA_IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_InterfaceDef::destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_CORBA_InterfaceDef_ptr) obj;
+ POA_CORBA_IRObject::destroy_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AbstractInterfaceDef::_get_base_interfaces_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_InterfaceDef_ptr impl = (POA_CORBA_AbstractInterfaceDef_ptr) obj;
+ POA_CORBA_InterfaceDef::_get_base_interfaces_skel (
+ req,
+ (POA_CORBA_InterfaceDef_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AbstractInterfaceDef::_set_base_interfaces_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_InterfaceDef_ptr impl = (POA_CORBA_AbstractInterfaceDef_ptr) obj;
+ POA_CORBA_InterfaceDef::_set_base_interfaces_skel (
+ req,
+ (POA_CORBA_InterfaceDef_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AbstractInterfaceDef::is_a_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_InterfaceDef_ptr impl = (POA_CORBA_AbstractInterfaceDef_ptr) obj;
+ POA_CORBA_InterfaceDef::is_a_skel (
+ req,
+ (POA_CORBA_InterfaceDef_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AbstractInterfaceDef::describe_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_InterfaceDef_ptr impl = (POA_CORBA_AbstractInterfaceDef_ptr) obj;
+ POA_CORBA_InterfaceDef::describe_interface_skel (
+ req,
+ (POA_CORBA_InterfaceDef_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AbstractInterfaceDef::create_attribute_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_InterfaceDef_ptr impl = (POA_CORBA_AbstractInterfaceDef_ptr) obj;
+ POA_CORBA_InterfaceDef::create_attribute_skel (
+ req,
+ (POA_CORBA_InterfaceDef_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AbstractInterfaceDef::create_operation_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_InterfaceDef_ptr impl = (POA_CORBA_AbstractInterfaceDef_ptr) obj;
+ POA_CORBA_InterfaceDef::create_operation_skel (
+ req,
+ (POA_CORBA_InterfaceDef_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AbstractInterfaceDef::lookup_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_AbstractInterfaceDef_ptr) obj;
+ POA_CORBA_Container::lookup_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AbstractInterfaceDef::contents_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_AbstractInterfaceDef_ptr) obj;
+ POA_CORBA_Container::contents_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AbstractInterfaceDef::lookup_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_AbstractInterfaceDef_ptr) obj;
+ POA_CORBA_Container::lookup_name_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AbstractInterfaceDef::describe_contents_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_AbstractInterfaceDef_ptr) obj;
+ POA_CORBA_Container::describe_contents_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AbstractInterfaceDef::create_module_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_AbstractInterfaceDef_ptr) obj;
+ POA_CORBA_Container::create_module_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AbstractInterfaceDef::create_constant_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_AbstractInterfaceDef_ptr) obj;
+ POA_CORBA_Container::create_constant_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AbstractInterfaceDef::create_struct_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_AbstractInterfaceDef_ptr) obj;
+ POA_CORBA_Container::create_struct_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AbstractInterfaceDef::create_union_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_AbstractInterfaceDef_ptr) obj;
+ POA_CORBA_Container::create_union_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AbstractInterfaceDef::create_enum_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_AbstractInterfaceDef_ptr) obj;
+ POA_CORBA_Container::create_enum_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AbstractInterfaceDef::create_alias_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_AbstractInterfaceDef_ptr) obj;
+ POA_CORBA_Container::create_alias_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AbstractInterfaceDef::create_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_AbstractInterfaceDef_ptr) obj;
+ POA_CORBA_Container::create_interface_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AbstractInterfaceDef::create_value_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_AbstractInterfaceDef_ptr) obj;
+ POA_CORBA_Container::create_value_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AbstractInterfaceDef::create_value_box_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_AbstractInterfaceDef_ptr) obj;
+ POA_CORBA_Container::create_value_box_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AbstractInterfaceDef::create_exception_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_AbstractInterfaceDef_ptr) obj;
+ POA_CORBA_Container::create_exception_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AbstractInterfaceDef::create_native_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_AbstractInterfaceDef_ptr) obj;
+ POA_CORBA_Container::create_native_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AbstractInterfaceDef::create_abstract_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_AbstractInterfaceDef_ptr) obj;
+ POA_CORBA_Container::create_abstract_interface_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AbstractInterfaceDef::create_local_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_AbstractInterfaceDef_ptr) obj;
+ POA_CORBA_Container::create_local_interface_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AbstractInterfaceDef::_get_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_AbstractInterfaceDef_ptr) obj;
+ POA_CORBA_Contained::_get_id_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AbstractInterfaceDef::_set_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_AbstractInterfaceDef_ptr) obj;
+ POA_CORBA_Contained::_set_id_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AbstractInterfaceDef::_get_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_AbstractInterfaceDef_ptr) obj;
+ POA_CORBA_Contained::_get_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AbstractInterfaceDef::_set_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_AbstractInterfaceDef_ptr) obj;
+ POA_CORBA_Contained::_set_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AbstractInterfaceDef::_get_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_AbstractInterfaceDef_ptr) obj;
+ POA_CORBA_Contained::_get_version_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AbstractInterfaceDef::_set_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_AbstractInterfaceDef_ptr) obj;
+ POA_CORBA_Contained::_set_version_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AbstractInterfaceDef::_get_defined_in_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_AbstractInterfaceDef_ptr) obj;
+ POA_CORBA_Contained::_get_defined_in_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AbstractInterfaceDef::_get_absolute_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_AbstractInterfaceDef_ptr) obj;
+ POA_CORBA_Contained::_get_absolute_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AbstractInterfaceDef::_get_containing_repository_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_AbstractInterfaceDef_ptr) obj;
+ POA_CORBA_Contained::_get_containing_repository_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AbstractInterfaceDef::describe_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_AbstractInterfaceDef_ptr) obj;
+ POA_CORBA_Contained::describe_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AbstractInterfaceDef::move_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_AbstractInterfaceDef_ptr) obj;
+ POA_CORBA_Contained::move_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AbstractInterfaceDef::_get_type_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IDLType_ptr impl = (POA_CORBA_AbstractInterfaceDef_ptr) obj;
+ POA_CORBA_IDLType::_get_type_skel (
+ req,
+ (POA_CORBA_IDLType_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AbstractInterfaceDef::_get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_CORBA_AbstractInterfaceDef_ptr) obj;
+ POA_CORBA_IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_AbstractInterfaceDef::destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_CORBA_AbstractInterfaceDef_ptr) obj;
+ POA_CORBA_IRObject::destroy_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_LocalInterfaceDef::_get_base_interfaces_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_InterfaceDef_ptr impl = (POA_CORBA_LocalInterfaceDef_ptr) obj;
+ POA_CORBA_InterfaceDef::_get_base_interfaces_skel (
+ req,
+ (POA_CORBA_InterfaceDef_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_LocalInterfaceDef::_set_base_interfaces_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_InterfaceDef_ptr impl = (POA_CORBA_LocalInterfaceDef_ptr) obj;
+ POA_CORBA_InterfaceDef::_set_base_interfaces_skel (
+ req,
+ (POA_CORBA_InterfaceDef_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_LocalInterfaceDef::is_a_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_InterfaceDef_ptr impl = (POA_CORBA_LocalInterfaceDef_ptr) obj;
+ POA_CORBA_InterfaceDef::is_a_skel (
+ req,
+ (POA_CORBA_InterfaceDef_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_LocalInterfaceDef::describe_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_InterfaceDef_ptr impl = (POA_CORBA_LocalInterfaceDef_ptr) obj;
+ POA_CORBA_InterfaceDef::describe_interface_skel (
+ req,
+ (POA_CORBA_InterfaceDef_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_LocalInterfaceDef::create_attribute_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_InterfaceDef_ptr impl = (POA_CORBA_LocalInterfaceDef_ptr) obj;
+ POA_CORBA_InterfaceDef::create_attribute_skel (
+ req,
+ (POA_CORBA_InterfaceDef_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_LocalInterfaceDef::create_operation_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_InterfaceDef_ptr impl = (POA_CORBA_LocalInterfaceDef_ptr) obj;
+ POA_CORBA_InterfaceDef::create_operation_skel (
+ req,
+ (POA_CORBA_InterfaceDef_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_LocalInterfaceDef::lookup_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_LocalInterfaceDef_ptr) obj;
+ POA_CORBA_Container::lookup_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_LocalInterfaceDef::contents_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_LocalInterfaceDef_ptr) obj;
+ POA_CORBA_Container::contents_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_LocalInterfaceDef::lookup_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_LocalInterfaceDef_ptr) obj;
+ POA_CORBA_Container::lookup_name_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_LocalInterfaceDef::describe_contents_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_LocalInterfaceDef_ptr) obj;
+ POA_CORBA_Container::describe_contents_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_LocalInterfaceDef::create_module_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_LocalInterfaceDef_ptr) obj;
+ POA_CORBA_Container::create_module_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_LocalInterfaceDef::create_constant_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_LocalInterfaceDef_ptr) obj;
+ POA_CORBA_Container::create_constant_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_LocalInterfaceDef::create_struct_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_LocalInterfaceDef_ptr) obj;
+ POA_CORBA_Container::create_struct_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_LocalInterfaceDef::create_union_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_LocalInterfaceDef_ptr) obj;
+ POA_CORBA_Container::create_union_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_LocalInterfaceDef::create_enum_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_LocalInterfaceDef_ptr) obj;
+ POA_CORBA_Container::create_enum_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_LocalInterfaceDef::create_alias_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_LocalInterfaceDef_ptr) obj;
+ POA_CORBA_Container::create_alias_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_LocalInterfaceDef::create_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_LocalInterfaceDef_ptr) obj;
+ POA_CORBA_Container::create_interface_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_LocalInterfaceDef::create_value_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_LocalInterfaceDef_ptr) obj;
+ POA_CORBA_Container::create_value_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_LocalInterfaceDef::create_value_box_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_LocalInterfaceDef_ptr) obj;
+ POA_CORBA_Container::create_value_box_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_LocalInterfaceDef::create_exception_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_LocalInterfaceDef_ptr) obj;
+ POA_CORBA_Container::create_exception_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_LocalInterfaceDef::create_native_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_LocalInterfaceDef_ptr) obj;
+ POA_CORBA_Container::create_native_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_LocalInterfaceDef::create_abstract_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_LocalInterfaceDef_ptr) obj;
+ POA_CORBA_Container::create_abstract_interface_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_LocalInterfaceDef::create_local_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_LocalInterfaceDef_ptr) obj;
+ POA_CORBA_Container::create_local_interface_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_LocalInterfaceDef::_get_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_LocalInterfaceDef_ptr) obj;
+ POA_CORBA_Contained::_get_id_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_LocalInterfaceDef::_set_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_LocalInterfaceDef_ptr) obj;
+ POA_CORBA_Contained::_set_id_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_LocalInterfaceDef::_get_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_LocalInterfaceDef_ptr) obj;
+ POA_CORBA_Contained::_get_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_LocalInterfaceDef::_set_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_LocalInterfaceDef_ptr) obj;
+ POA_CORBA_Contained::_set_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_LocalInterfaceDef::_get_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_LocalInterfaceDef_ptr) obj;
+ POA_CORBA_Contained::_get_version_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_LocalInterfaceDef::_set_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_LocalInterfaceDef_ptr) obj;
+ POA_CORBA_Contained::_set_version_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_LocalInterfaceDef::_get_defined_in_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_LocalInterfaceDef_ptr) obj;
+ POA_CORBA_Contained::_get_defined_in_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_LocalInterfaceDef::_get_absolute_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_LocalInterfaceDef_ptr) obj;
+ POA_CORBA_Contained::_get_absolute_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_LocalInterfaceDef::_get_containing_repository_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_LocalInterfaceDef_ptr) obj;
+ POA_CORBA_Contained::_get_containing_repository_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_LocalInterfaceDef::describe_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_LocalInterfaceDef_ptr) obj;
+ POA_CORBA_Contained::describe_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_LocalInterfaceDef::move_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_LocalInterfaceDef_ptr) obj;
+ POA_CORBA_Contained::move_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_LocalInterfaceDef::_get_type_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IDLType_ptr impl = (POA_CORBA_LocalInterfaceDef_ptr) obj;
+ POA_CORBA_IDLType::_get_type_skel (
+ req,
+ (POA_CORBA_IDLType_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_LocalInterfaceDef::_get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_CORBA_LocalInterfaceDef_ptr) obj;
+ POA_CORBA_IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_LocalInterfaceDef::destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_CORBA_LocalInterfaceDef_ptr) obj;
+ POA_CORBA_IRObject::destroy_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
diff --git a/TAO/orbsvcs/IFR_Service/IFR_BasicS_T.cpp b/TAO/orbsvcs/IFR_Service/IFR_BasicS_T.cpp
new file mode 100644
index 00000000000..a4b909b8d80
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/IFR_BasicS_T.cpp
@@ -0,0 +1,32 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+#ifndef _TAO_IDL_IFR_BASICS_T_CPP_
+#define _TAO_IDL_IFR_BASICS_T_CPP_
+
+#include "IFR_BasicS_T.h"
+
+#if !defined (__ACE_INLINE__)
+#include "IFR_BasicS_T.i"
+#endif /* !defined INLINE */
+
+
+#endif /* ifndef */
diff --git a/TAO/orbsvcs/IFR_Service/IFR_BasicS_T.h b/TAO/orbsvcs/IFR_Service/IFR_BasicS_T.h
new file mode 100644
index 00000000000..a9e5d0de606
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/IFR_BasicS_T.h
@@ -0,0 +1,4400 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+#ifndef _TAO_IDL_IFR_BASICS_T_H_
+#define _TAO_IDL_IFR_BASICS_T_H_
+
+#include "ace/pre.h"
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+#if defined (ACE_HAS_USING_KEYWORD)
+
+TAO_NAMESPACE POA_CORBA
+{
+}
+TAO_NAMESPACE_CLOSE // module CORBA
+
+// TIE class: Refer to CORBA v2.2, Section 20.34.4
+template <class T>
+class POA_CORBA_Repository_tie : public POA_CORBA_Repository
+{
+public:
+ POA_CORBA_Repository_tie (T &t);
+ // the T& ctor
+ POA_CORBA_Repository_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ POA_CORBA_Repository_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ POA_CORBA_Repository_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~POA_CORBA_Repository_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+ CORBA_Contained_ptr lookup_id (
+ const char * search_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::TypeCode_ptr get_canonical_typecode (
+ CORBA::TypeCode_ptr tc
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_PrimitiveDef_ptr get_primitive (
+ CORBA::PrimitiveKind kind
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_StringDef_ptr create_string (
+ CORBA::ULong bound
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_WstringDef_ptr create_wstring (
+ CORBA::ULong bound
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_SequenceDef_ptr create_sequence (
+ CORBA::ULong bound,
+ CORBA_IDLType_ptr element_type
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ArrayDef_ptr create_array (
+ CORBA::ULong length,
+ CORBA_IDLType_ptr element_type
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_FixedDef_ptr create_fixed (
+ CORBA::UShort digits,
+ CORBA::Short scale
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Contained_ptr lookup (
+ const char * search_name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ContainedSeq * contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ContainedSeq * lookup_name (
+ const char * search_name,
+ CORBA::Long levels_to_search,
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Container::DescriptionSeq * describe_contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ModuleDef_ptr create_module (
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ConstantDef_ptr create_constant (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ const CORBA::Any & value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_StructDef_ptr create_struct (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_UnionDef_ptr create_union (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr discriminator_type,
+ const CORBA_UnionMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_EnumDef_ptr create_enum (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_EnumMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_AliasDef_ptr create_alias (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_InterfaceDef_ptr create_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ValueDef_ptr create_value (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ CORBA_ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const CORBA_ValueDefSeq & abstract_base_values,
+ const CORBA_InterfaceDefSeq & supported_interfaces,
+ const CORBA_InitializerSeq & initializers
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ValueBoxDef_ptr create_value_box (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ExceptionDef_ptr create_exception (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_NativeDef_ptr create_native (
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_AbstractInterfaceDef_ptr create_abstract_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_AbstractInterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_LocalInterfaceDef_ptr create_local_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ POA_CORBA_Repository_tie (const POA_CORBA_Repository_tie &);
+ void operator= (const POA_CORBA_Repository_tie &);
+};
+
+// TIE class: Refer to CORBA v2.2, Section 20.34.4
+template <class T>
+class POA_CORBA_ModuleDef_tie : public POA_CORBA_ModuleDef
+{
+public:
+ POA_CORBA_ModuleDef_tie (T &t);
+ // the T& ctor
+ POA_CORBA_ModuleDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ POA_CORBA_ModuleDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ POA_CORBA_ModuleDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~POA_CORBA_ModuleDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+ CORBA_Contained_ptr lookup (
+ const char * search_name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ContainedSeq * contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ContainedSeq * lookup_name (
+ const char * search_name,
+ CORBA::Long levels_to_search,
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Container::DescriptionSeq * describe_contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ModuleDef_ptr create_module (
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ConstantDef_ptr create_constant (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ const CORBA::Any & value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_StructDef_ptr create_struct (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_UnionDef_ptr create_union (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr discriminator_type,
+ const CORBA_UnionMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_EnumDef_ptr create_enum (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_EnumMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_AliasDef_ptr create_alias (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_InterfaceDef_ptr create_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ValueDef_ptr create_value (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ CORBA_ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const CORBA_ValueDefSeq & abstract_base_values,
+ const CORBA_InterfaceDefSeq & supported_interfaces,
+ const CORBA_InitializerSeq & initializers
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ValueBoxDef_ptr create_value_box (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ExceptionDef_ptr create_exception (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_NativeDef_ptr create_native (
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_AbstractInterfaceDef_ptr create_abstract_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_AbstractInterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_LocalInterfaceDef_ptr create_local_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * id (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void id (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void name (
+ const char * name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * version (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void version (
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Container_ptr defined_in (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Repository_ptr containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Contained::Description * describe (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ POA_CORBA_ModuleDef_tie (const POA_CORBA_ModuleDef_tie &);
+ void operator= (const POA_CORBA_ModuleDef_tie &);
+};
+
+// TIE class: Refer to CORBA v2.2, Section 20.34.4
+template <class T>
+class POA_CORBA_ConstantDef_tie : public POA_CORBA_ConstantDef
+{
+public:
+ POA_CORBA_ConstantDef_tie (T &t);
+ // the T& ctor
+ POA_CORBA_ConstantDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ POA_CORBA_ConstantDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ POA_CORBA_ConstantDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~POA_CORBA_ConstantDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+ CORBA::TypeCode_ptr type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_IDLType_ptr type_def (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void type_def (
+ CORBA_IDLType_ptr type_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::Any * value (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void value (
+ const CORBA::Any & value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * id (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void id (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void name (
+ const char * name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * version (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void version (
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Container_ptr defined_in (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Repository_ptr containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Contained::Description * describe (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ POA_CORBA_ConstantDef_tie (const POA_CORBA_ConstantDef_tie &);
+ void operator= (const POA_CORBA_ConstantDef_tie &);
+};
+
+// TIE class: Refer to CORBA v2.2, Section 20.34.4
+template <class T>
+class POA_CORBA_StructDef_tie : public POA_CORBA_StructDef
+{
+public:
+ POA_CORBA_StructDef_tie (T &t);
+ // the T& ctor
+ POA_CORBA_StructDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ POA_CORBA_StructDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ POA_CORBA_StructDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~POA_CORBA_StructDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+ CORBA_StructMemberSeq * members (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void members (
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Contained_ptr lookup (
+ const char * search_name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ContainedSeq * contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ContainedSeq * lookup_name (
+ const char * search_name,
+ CORBA::Long levels_to_search,
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Container::DescriptionSeq * describe_contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ModuleDef_ptr create_module (
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ConstantDef_ptr create_constant (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ const CORBA::Any & value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_StructDef_ptr create_struct (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_UnionDef_ptr create_union (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr discriminator_type,
+ const CORBA_UnionMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_EnumDef_ptr create_enum (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_EnumMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_AliasDef_ptr create_alias (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_InterfaceDef_ptr create_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ValueDef_ptr create_value (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ CORBA_ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const CORBA_ValueDefSeq & abstract_base_values,
+ const CORBA_InterfaceDefSeq & supported_interfaces,
+ const CORBA_InitializerSeq & initializers
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ValueBoxDef_ptr create_value_box (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ExceptionDef_ptr create_exception (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_NativeDef_ptr create_native (
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_AbstractInterfaceDef_ptr create_abstract_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_AbstractInterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_LocalInterfaceDef_ptr create_local_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * id (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void id (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void name (
+ const char * name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * version (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void version (
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Container_ptr defined_in (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Repository_ptr containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Contained::Description * describe (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::TypeCode_ptr type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ POA_CORBA_StructDef_tie (const POA_CORBA_StructDef_tie &);
+ void operator= (const POA_CORBA_StructDef_tie &);
+};
+
+// TIE class: Refer to CORBA v2.2, Section 20.34.4
+template <class T>
+class POA_CORBA_UnionDef_tie : public POA_CORBA_UnionDef
+{
+public:
+ POA_CORBA_UnionDef_tie (T &t);
+ // the T& ctor
+ POA_CORBA_UnionDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ POA_CORBA_UnionDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ POA_CORBA_UnionDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~POA_CORBA_UnionDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+ CORBA::TypeCode_ptr discriminator_type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_IDLType_ptr discriminator_type_def (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void discriminator_type_def (
+ CORBA_IDLType_ptr discriminator_type_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_UnionMemberSeq * members (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void members (
+ const CORBA_UnionMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Contained_ptr lookup (
+ const char * search_name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ContainedSeq * contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ContainedSeq * lookup_name (
+ const char * search_name,
+ CORBA::Long levels_to_search,
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Container::DescriptionSeq * describe_contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ModuleDef_ptr create_module (
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ConstantDef_ptr create_constant (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ const CORBA::Any & value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_StructDef_ptr create_struct (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_UnionDef_ptr create_union (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr discriminator_type,
+ const CORBA_UnionMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_EnumDef_ptr create_enum (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_EnumMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_AliasDef_ptr create_alias (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_InterfaceDef_ptr create_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ValueDef_ptr create_value (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ CORBA_ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const CORBA_ValueDefSeq & abstract_base_values,
+ const CORBA_InterfaceDefSeq & supported_interfaces,
+ const CORBA_InitializerSeq & initializers
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ValueBoxDef_ptr create_value_box (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ExceptionDef_ptr create_exception (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_NativeDef_ptr create_native (
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_AbstractInterfaceDef_ptr create_abstract_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_AbstractInterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_LocalInterfaceDef_ptr create_local_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * id (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void id (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void name (
+ const char * name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * version (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void version (
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Container_ptr defined_in (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Repository_ptr containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Contained::Description * describe (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::TypeCode_ptr type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ POA_CORBA_UnionDef_tie (const POA_CORBA_UnionDef_tie &);
+ void operator= (const POA_CORBA_UnionDef_tie &);
+};
+
+// TIE class: Refer to CORBA v2.2, Section 20.34.4
+template <class T>
+class POA_CORBA_EnumDef_tie : public POA_CORBA_EnumDef
+{
+public:
+ POA_CORBA_EnumDef_tie (T &t);
+ // the T& ctor
+ POA_CORBA_EnumDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ POA_CORBA_EnumDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ POA_CORBA_EnumDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~POA_CORBA_EnumDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+ CORBA_EnumMemberSeq * members (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void members (
+ const CORBA_EnumMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * id (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void id (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void name (
+ const char * name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * version (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void version (
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Container_ptr defined_in (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Repository_ptr containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Contained::Description * describe (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::TypeCode_ptr type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ POA_CORBA_EnumDef_tie (const POA_CORBA_EnumDef_tie &);
+ void operator= (const POA_CORBA_EnumDef_tie &);
+};
+
+// TIE class: Refer to CORBA v2.2, Section 20.34.4
+template <class T>
+class POA_CORBA_AliasDef_tie : public POA_CORBA_AliasDef
+{
+public:
+ POA_CORBA_AliasDef_tie (T &t);
+ // the T& ctor
+ POA_CORBA_AliasDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ POA_CORBA_AliasDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ POA_CORBA_AliasDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~POA_CORBA_AliasDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+ CORBA_IDLType_ptr original_type_def (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void original_type_def (
+ CORBA_IDLType_ptr original_type_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * id (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void id (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void name (
+ const char * name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * version (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void version (
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Container_ptr defined_in (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Repository_ptr containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Contained::Description * describe (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::TypeCode_ptr type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ POA_CORBA_AliasDef_tie (const POA_CORBA_AliasDef_tie &);
+ void operator= (const POA_CORBA_AliasDef_tie &);
+};
+
+// TIE class: Refer to CORBA v2.2, Section 20.34.4
+template <class T>
+class POA_CORBA_NativeDef_tie : public POA_CORBA_NativeDef
+{
+public:
+ POA_CORBA_NativeDef_tie (T &t);
+ // the T& ctor
+ POA_CORBA_NativeDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ POA_CORBA_NativeDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ POA_CORBA_NativeDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~POA_CORBA_NativeDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+ char * id (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void id (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void name (
+ const char * name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * version (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void version (
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Container_ptr defined_in (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Repository_ptr containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Contained::Description * describe (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::TypeCode_ptr type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ POA_CORBA_NativeDef_tie (const POA_CORBA_NativeDef_tie &);
+ void operator= (const POA_CORBA_NativeDef_tie &);
+};
+
+// TIE class: Refer to CORBA v2.2, Section 20.34.4
+template <class T>
+class POA_CORBA_PrimitiveDef_tie : public POA_CORBA_PrimitiveDef
+{
+public:
+ POA_CORBA_PrimitiveDef_tie (T &t);
+ // the T& ctor
+ POA_CORBA_PrimitiveDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ POA_CORBA_PrimitiveDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ POA_CORBA_PrimitiveDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~POA_CORBA_PrimitiveDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+ CORBA::PrimitiveKind kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::TypeCode_ptr type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ POA_CORBA_PrimitiveDef_tie (const POA_CORBA_PrimitiveDef_tie &);
+ void operator= (const POA_CORBA_PrimitiveDef_tie &);
+};
+
+// TIE class: Refer to CORBA v2.2, Section 20.34.4
+template <class T>
+class POA_CORBA_StringDef_tie : public POA_CORBA_StringDef
+{
+public:
+ POA_CORBA_StringDef_tie (T &t);
+ // the T& ctor
+ POA_CORBA_StringDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ POA_CORBA_StringDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ POA_CORBA_StringDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~POA_CORBA_StringDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+ CORBA::ULong bound (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void bound (
+ CORBA::ULong bound
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::TypeCode_ptr type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ POA_CORBA_StringDef_tie (const POA_CORBA_StringDef_tie &);
+ void operator= (const POA_CORBA_StringDef_tie &);
+};
+
+// TIE class: Refer to CORBA v2.2, Section 20.34.4
+template <class T>
+class POA_CORBA_WstringDef_tie : public POA_CORBA_WstringDef
+{
+public:
+ POA_CORBA_WstringDef_tie (T &t);
+ // the T& ctor
+ POA_CORBA_WstringDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ POA_CORBA_WstringDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ POA_CORBA_WstringDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~POA_CORBA_WstringDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+ CORBA::ULong bound (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void bound (
+ CORBA::ULong bound
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::TypeCode_ptr type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ POA_CORBA_WstringDef_tie (const POA_CORBA_WstringDef_tie &);
+ void operator= (const POA_CORBA_WstringDef_tie &);
+};
+
+// TIE class: Refer to CORBA v2.2, Section 20.34.4
+template <class T>
+class POA_CORBA_SequenceDef_tie : public POA_CORBA_SequenceDef
+{
+public:
+ POA_CORBA_SequenceDef_tie (T &t);
+ // the T& ctor
+ POA_CORBA_SequenceDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ POA_CORBA_SequenceDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ POA_CORBA_SequenceDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~POA_CORBA_SequenceDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+ CORBA::ULong bound (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void bound (
+ CORBA::ULong bound
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::TypeCode_ptr element_type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_IDLType_ptr element_type_def (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void element_type_def (
+ CORBA_IDLType_ptr element_type_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::TypeCode_ptr type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ POA_CORBA_SequenceDef_tie (const POA_CORBA_SequenceDef_tie &);
+ void operator= (const POA_CORBA_SequenceDef_tie &);
+};
+
+// TIE class: Refer to CORBA v2.2, Section 20.34.4
+template <class T>
+class POA_CORBA_ArrayDef_tie : public POA_CORBA_ArrayDef
+{
+public:
+ POA_CORBA_ArrayDef_tie (T &t);
+ // the T& ctor
+ POA_CORBA_ArrayDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ POA_CORBA_ArrayDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ POA_CORBA_ArrayDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~POA_CORBA_ArrayDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+ CORBA::ULong length (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void length (
+ CORBA::ULong length
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::TypeCode_ptr element_type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_IDLType_ptr element_type_def (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void element_type_def (
+ CORBA_IDLType_ptr element_type_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::TypeCode_ptr type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ POA_CORBA_ArrayDef_tie (const POA_CORBA_ArrayDef_tie &);
+ void operator= (const POA_CORBA_ArrayDef_tie &);
+};
+
+// TIE class: Refer to CORBA v2.2, Section 20.34.4
+template <class T>
+class POA_CORBA_ExceptionDef_tie : public POA_CORBA_ExceptionDef
+{
+public:
+ POA_CORBA_ExceptionDef_tie (T &t);
+ // the T& ctor
+ POA_CORBA_ExceptionDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ POA_CORBA_ExceptionDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ POA_CORBA_ExceptionDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~POA_CORBA_ExceptionDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+ CORBA::TypeCode_ptr type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_StructMemberSeq * members (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void members (
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * id (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void id (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void name (
+ const char * name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * version (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void version (
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Container_ptr defined_in (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Repository_ptr containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Contained::Description * describe (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Contained_ptr lookup (
+ const char * search_name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ContainedSeq * contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ContainedSeq * lookup_name (
+ const char * search_name,
+ CORBA::Long levels_to_search,
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Container::DescriptionSeq * describe_contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ModuleDef_ptr create_module (
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ConstantDef_ptr create_constant (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ const CORBA::Any & value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_StructDef_ptr create_struct (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_UnionDef_ptr create_union (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr discriminator_type,
+ const CORBA_UnionMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_EnumDef_ptr create_enum (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_EnumMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_AliasDef_ptr create_alias (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_InterfaceDef_ptr create_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ValueDef_ptr create_value (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ CORBA_ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const CORBA_ValueDefSeq & abstract_base_values,
+ const CORBA_InterfaceDefSeq & supported_interfaces,
+ const CORBA_InitializerSeq & initializers
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ValueBoxDef_ptr create_value_box (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ExceptionDef_ptr create_exception (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_NativeDef_ptr create_native (
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_AbstractInterfaceDef_ptr create_abstract_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_AbstractInterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_LocalInterfaceDef_ptr create_local_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ POA_CORBA_ExceptionDef_tie (const POA_CORBA_ExceptionDef_tie &);
+ void operator= (const POA_CORBA_ExceptionDef_tie &);
+};
+
+// TIE class: Refer to CORBA v2.2, Section 20.34.4
+template <class T>
+class POA_CORBA_AttributeDef_tie : public POA_CORBA_AttributeDef
+{
+public:
+ POA_CORBA_AttributeDef_tie (T &t);
+ // the T& ctor
+ POA_CORBA_AttributeDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ POA_CORBA_AttributeDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ POA_CORBA_AttributeDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~POA_CORBA_AttributeDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+ CORBA::TypeCode_ptr type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_IDLType_ptr type_def (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void type_def (
+ CORBA_IDLType_ptr type_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::AttributeMode mode (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void mode (
+ CORBA::AttributeMode mode
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * id (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void id (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void name (
+ const char * name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * version (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void version (
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Container_ptr defined_in (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Repository_ptr containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Contained::Description * describe (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ POA_CORBA_AttributeDef_tie (const POA_CORBA_AttributeDef_tie &);
+ void operator= (const POA_CORBA_AttributeDef_tie &);
+};
+
+// TIE class: Refer to CORBA v2.2, Section 20.34.4
+template <class T>
+class POA_CORBA_OperationDef_tie : public POA_CORBA_OperationDef
+{
+public:
+ POA_CORBA_OperationDef_tie (T &t);
+ // the T& ctor
+ POA_CORBA_OperationDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ POA_CORBA_OperationDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ POA_CORBA_OperationDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~POA_CORBA_OperationDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+ CORBA::TypeCode_ptr result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_IDLType_ptr result_def (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void result_def (
+ CORBA_IDLType_ptr result_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ParDescriptionSeq * params (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void params (
+ const CORBA_ParDescriptionSeq & params
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::OperationMode mode (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void mode (
+ CORBA::OperationMode mode
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ContextIdSeq * contexts (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void contexts (
+ const CORBA_ContextIdSeq & contexts
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ExceptionDefSeq * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void exceptions (
+ const CORBA_ExceptionDefSeq & exceptions
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * id (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void id (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void name (
+ const char * name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * version (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void version (
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Container_ptr defined_in (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Repository_ptr containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Contained::Description * describe (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ POA_CORBA_OperationDef_tie (const POA_CORBA_OperationDef_tie &);
+ void operator= (const POA_CORBA_OperationDef_tie &);
+};
+
+// TIE class: Refer to CORBA v2.2, Section 20.34.4
+template <class T>
+class POA_CORBA_InterfaceDef_tie : public POA_CORBA_InterfaceDef
+{
+public:
+ POA_CORBA_InterfaceDef_tie (T &t);
+ // the T& ctor
+ POA_CORBA_InterfaceDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ POA_CORBA_InterfaceDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ POA_CORBA_InterfaceDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~POA_CORBA_InterfaceDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+ CORBA_InterfaceDefSeq * base_interfaces (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void base_interfaces (
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::Boolean is_a (
+ const char * interface_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_InterfaceDef::FullInterfaceDescription * describe_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_AttributeDef_ptr create_attribute (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ CORBA::AttributeMode mode
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_OperationDef_ptr create_operation (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr result,
+ CORBA::OperationMode mode,
+ const CORBA_ParDescriptionSeq & params,
+ const CORBA_ExceptionDefSeq & exceptions,
+ const CORBA_ContextIdSeq & contexts
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Contained_ptr lookup (
+ const char * search_name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ContainedSeq * contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ContainedSeq * lookup_name (
+ const char * search_name,
+ CORBA::Long levels_to_search,
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Container::DescriptionSeq * describe_contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ModuleDef_ptr create_module (
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ConstantDef_ptr create_constant (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ const CORBA::Any & value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_StructDef_ptr create_struct (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_UnionDef_ptr create_union (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr discriminator_type,
+ const CORBA_UnionMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_EnumDef_ptr create_enum (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_EnumMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_AliasDef_ptr create_alias (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_InterfaceDef_ptr create_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ValueDef_ptr create_value (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ CORBA_ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const CORBA_ValueDefSeq & abstract_base_values,
+ const CORBA_InterfaceDefSeq & supported_interfaces,
+ const CORBA_InitializerSeq & initializers
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ValueBoxDef_ptr create_value_box (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ExceptionDef_ptr create_exception (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_NativeDef_ptr create_native (
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_AbstractInterfaceDef_ptr create_abstract_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_AbstractInterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_LocalInterfaceDef_ptr create_local_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * id (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void id (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void name (
+ const char * name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * version (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void version (
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Container_ptr defined_in (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Repository_ptr containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Contained::Description * describe (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::TypeCode_ptr type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ POA_CORBA_InterfaceDef_tie (const POA_CORBA_InterfaceDef_tie &);
+ void operator= (const POA_CORBA_InterfaceDef_tie &);
+};
+
+// TIE class: Refer to CORBA v2.2, Section 20.34.4
+template <class T>
+class POA_CORBA_AbstractInterfaceDef_tie : public POA_CORBA_AbstractInterfaceDef
+{
+public:
+ POA_CORBA_AbstractInterfaceDef_tie (T &t);
+ // the T& ctor
+ POA_CORBA_AbstractInterfaceDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ POA_CORBA_AbstractInterfaceDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ POA_CORBA_AbstractInterfaceDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~POA_CORBA_AbstractInterfaceDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+ CORBA_InterfaceDefSeq * base_interfaces (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void base_interfaces (
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::Boolean is_a (
+ const char * interface_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_InterfaceDef::FullInterfaceDescription * describe_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_AttributeDef_ptr create_attribute (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ CORBA::AttributeMode mode
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_OperationDef_ptr create_operation (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr result,
+ CORBA::OperationMode mode,
+ const CORBA_ParDescriptionSeq & params,
+ const CORBA_ExceptionDefSeq & exceptions,
+ const CORBA_ContextIdSeq & contexts
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Contained_ptr lookup (
+ const char * search_name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ContainedSeq * contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ContainedSeq * lookup_name (
+ const char * search_name,
+ CORBA::Long levels_to_search,
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Container::DescriptionSeq * describe_contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ModuleDef_ptr create_module (
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ConstantDef_ptr create_constant (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ const CORBA::Any & value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_StructDef_ptr create_struct (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_UnionDef_ptr create_union (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr discriminator_type,
+ const CORBA_UnionMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_EnumDef_ptr create_enum (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_EnumMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_AliasDef_ptr create_alias (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_InterfaceDef_ptr create_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ValueDef_ptr create_value (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ CORBA_ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const CORBA_ValueDefSeq & abstract_base_values,
+ const CORBA_InterfaceDefSeq & supported_interfaces,
+ const CORBA_InitializerSeq & initializers
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ValueBoxDef_ptr create_value_box (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ExceptionDef_ptr create_exception (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_NativeDef_ptr create_native (
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_AbstractInterfaceDef_ptr create_abstract_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_AbstractInterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_LocalInterfaceDef_ptr create_local_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * id (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void id (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void name (
+ const char * name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * version (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void version (
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Container_ptr defined_in (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Repository_ptr containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Contained::Description * describe (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::TypeCode_ptr type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ POA_CORBA_AbstractInterfaceDef_tie (const POA_CORBA_AbstractInterfaceDef_tie &);
+ void operator= (const POA_CORBA_AbstractInterfaceDef_tie &);
+};
+
+// TIE class: Refer to CORBA v2.2, Section 20.34.4
+template <class T>
+class POA_CORBA_LocalInterfaceDef_tie : public POA_CORBA_LocalInterfaceDef
+{
+public:
+ POA_CORBA_LocalInterfaceDef_tie (T &t);
+ // the T& ctor
+ POA_CORBA_LocalInterfaceDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ POA_CORBA_LocalInterfaceDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ POA_CORBA_LocalInterfaceDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~POA_CORBA_LocalInterfaceDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+ CORBA_InterfaceDefSeq * base_interfaces (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void base_interfaces (
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::Boolean is_a (
+ const char * interface_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_InterfaceDef::FullInterfaceDescription * describe_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_AttributeDef_ptr create_attribute (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ CORBA::AttributeMode mode
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_OperationDef_ptr create_operation (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr result,
+ CORBA::OperationMode mode,
+ const CORBA_ParDescriptionSeq & params,
+ const CORBA_ExceptionDefSeq & exceptions,
+ const CORBA_ContextIdSeq & contexts
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Contained_ptr lookup (
+ const char * search_name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ContainedSeq * contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ContainedSeq * lookup_name (
+ const char * search_name,
+ CORBA::Long levels_to_search,
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Container::DescriptionSeq * describe_contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ModuleDef_ptr create_module (
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ConstantDef_ptr create_constant (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ const CORBA::Any & value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_StructDef_ptr create_struct (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_UnionDef_ptr create_union (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr discriminator_type,
+ const CORBA_UnionMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_EnumDef_ptr create_enum (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_EnumMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_AliasDef_ptr create_alias (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_InterfaceDef_ptr create_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ValueDef_ptr create_value (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ CORBA_ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const CORBA_ValueDefSeq & abstract_base_values,
+ const CORBA_InterfaceDefSeq & supported_interfaces,
+ const CORBA_InitializerSeq & initializers
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ValueBoxDef_ptr create_value_box (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ExceptionDef_ptr create_exception (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_NativeDef_ptr create_native (
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_AbstractInterfaceDef_ptr create_abstract_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_AbstractInterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_LocalInterfaceDef_ptr create_local_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * id (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void id (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void name (
+ const char * name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * version (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void version (
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Container_ptr defined_in (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Repository_ptr containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Contained::Description * describe (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::TypeCode_ptr type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ POA_CORBA_LocalInterfaceDef_tie (const POA_CORBA_LocalInterfaceDef_tie &);
+ void operator= (const POA_CORBA_LocalInterfaceDef_tie &);
+};
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+#if defined (__ACE_INLINE__)
+#include "IFR_BasicS_T.i"
+#endif /* defined INLINE */
+
+
+#if defined (ACE_TEMPLATES_REQUIRE_SOURCE)
+#include "IFR_BasicS_T.cpp"
+#endif /* defined REQUIRED SOURCE */
+
+
+#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA)
+#pragma implementation ("IFR_BasicS_T.cpp")
+#endif /* defined REQUIRED PRAGMA */
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#include "ace/post.h"
+#endif /* ifndef */
diff --git a/TAO/orbsvcs/IFR_Service/IFR_BasicS_T.i b/TAO/orbsvcs/IFR_Service/IFR_BasicS_T.i
new file mode 100644
index 00000000000..1c872d26eb9
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/IFR_BasicS_T.i
@@ -0,0 +1,8163 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+#if defined (ACE_HAS_USING_KEYWORD)
+
+template <class T> ACE_INLINE
+POA_CORBA_Repository_tie<T>::POA_CORBA_Repository_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_Repository_tie<T>::POA_CORBA_Repository_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_Repository_tie<T>::POA_CORBA_Repository_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_Repository_tie<T>::POA_CORBA_Repository_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_Repository_tie<T>::~POA_CORBA_Repository_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_CORBA_Repository_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_Repository_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_Repository_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_CORBA_Repository_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_Repository_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_CORBA_Repository_tie<T>::_default_POA (ACE_ENV_SINGLE_ARG_DECL)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->POA_CORBA_Repository::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+template <class T> ACE_INLINE
+CORBA_Contained_ptr POA_CORBA_Repository_tie<T>::lookup_id (
+ const char * search_id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->lookup_id (
+search_id
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_CORBA_Repository_tie<T>::get_canonical_typecode (
+ CORBA::TypeCode_ptr tc
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->get_canonical_typecode (
+tc
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_PrimitiveDef_ptr POA_CORBA_Repository_tie<T>::get_primitive (
+ CORBA::PrimitiveKind kind
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->get_primitive (
+kind
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_StringDef_ptr POA_CORBA_Repository_tie<T>::create_string (
+ CORBA::ULong bound
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_string (
+bound
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_WstringDef_ptr POA_CORBA_Repository_tie<T>::create_wstring (
+ CORBA::ULong bound
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_wstring (
+bound
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_SequenceDef_ptr POA_CORBA_Repository_tie<T>::create_sequence (
+ CORBA::ULong bound,
+ CORBA_IDLType_ptr element_type
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_sequence (
+bound,
+ element_type
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ArrayDef_ptr POA_CORBA_Repository_tie<T>::create_array (
+ CORBA::ULong length,
+ CORBA_IDLType_ptr element_type
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_array (
+length,
+ element_type
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_FixedDef_ptr POA_CORBA_Repository_tie<T>::create_fixed (
+ CORBA::UShort digits,
+ CORBA::Short scale
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_fixed (
+digits,
+ scale
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Contained_ptr POA_CORBA_Repository_tie<T>::lookup (
+ const char * search_name
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->lookup (
+search_name
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ContainedSeq * POA_CORBA_Repository_tie<T>::contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->contents (
+limit_type,
+ exclude_inherited
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ContainedSeq * POA_CORBA_Repository_tie<T>::lookup_name (
+ const char * search_name,
+ CORBA::Long levels_to_search,
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->lookup_name (
+search_name,
+ levels_to_search,
+ limit_type,
+ exclude_inherited
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Container::DescriptionSeq * POA_CORBA_Repository_tie<T>::describe_contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe_contents (
+limit_type,
+ exclude_inherited,
+ max_returned_objs
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ModuleDef_ptr POA_CORBA_Repository_tie<T>::create_module (
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_module (
+id,
+ name,
+ version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ConstantDef_ptr POA_CORBA_Repository_tie<T>::create_constant (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ const CORBA::Any & value
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_constant (
+id,
+ name,
+ version,
+ type,
+ value
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_StructDef_ptr POA_CORBA_Repository_tie<T>::create_struct (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_struct (
+id,
+ name,
+ version,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_UnionDef_ptr POA_CORBA_Repository_tie<T>::create_union (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr discriminator_type,
+ const CORBA_UnionMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_union (
+id,
+ name,
+ version,
+ discriminator_type,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_EnumDef_ptr POA_CORBA_Repository_tie<T>::create_enum (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_EnumMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_enum (
+id,
+ name,
+ version,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_AliasDef_ptr POA_CORBA_Repository_tie<T>::create_alias (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_alias (
+id,
+ name,
+ version,
+ original_type
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_InterfaceDef_ptr POA_CORBA_Repository_tie<T>::create_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_interface (
+id,
+ name,
+ version,
+ base_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ValueDef_ptr POA_CORBA_Repository_tie<T>::create_value (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ CORBA_ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const CORBA_ValueDefSeq & abstract_base_values,
+ const CORBA_InterfaceDefSeq & supported_interfaces,
+ const CORBA_InitializerSeq & initializers
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_value (
+id,
+ name,
+ version,
+ is_custom,
+ is_abstract,
+ base_value,
+ is_truncatable,
+ abstract_base_values,
+ supported_interfaces,
+ initializers
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ValueBoxDef_ptr POA_CORBA_Repository_tie<T>::create_value_box (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type_def
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_value_box (
+id,
+ name,
+ version,
+ original_type_def
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ExceptionDef_ptr POA_CORBA_Repository_tie<T>::create_exception (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_exception (
+id,
+ name,
+ version,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_NativeDef_ptr POA_CORBA_Repository_tie<T>::create_native (
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_native (
+id,
+ name,
+ version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_AbstractInterfaceDef_ptr POA_CORBA_Repository_tie<T>::create_abstract_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_AbstractInterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_abstract_interface (
+id,
+ name,
+ version,
+ base_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_LocalInterfaceDef_ptr POA_CORBA_Repository_tie<T>::create_local_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_local_interface (
+id,
+ name,
+ version,
+ base_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::DefinitionKind POA_CORBA_Repository_tie<T>::def_kind (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_Repository_tie<T>::destroy (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+POA_CORBA_ModuleDef_tie<T>::POA_CORBA_ModuleDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_ModuleDef_tie<T>::POA_CORBA_ModuleDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_ModuleDef_tie<T>::POA_CORBA_ModuleDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_ModuleDef_tie<T>::POA_CORBA_ModuleDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_ModuleDef_tie<T>::~POA_CORBA_ModuleDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_CORBA_ModuleDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_ModuleDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_ModuleDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_CORBA_ModuleDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_ModuleDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_CORBA_ModuleDef_tie<T>::_default_POA (ACE_ENV_SINGLE_ARG_DECL)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->POA_CORBA_ModuleDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+template <class T> ACE_INLINE
+CORBA_Contained_ptr POA_CORBA_ModuleDef_tie<T>::lookup (
+ const char * search_name
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->lookup (
+search_name
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ContainedSeq * POA_CORBA_ModuleDef_tie<T>::contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->contents (
+limit_type,
+ exclude_inherited
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ContainedSeq * POA_CORBA_ModuleDef_tie<T>::lookup_name (
+ const char * search_name,
+ CORBA::Long levels_to_search,
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->lookup_name (
+search_name,
+ levels_to_search,
+ limit_type,
+ exclude_inherited
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Container::DescriptionSeq * POA_CORBA_ModuleDef_tie<T>::describe_contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe_contents (
+limit_type,
+ exclude_inherited,
+ max_returned_objs
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ModuleDef_ptr POA_CORBA_ModuleDef_tie<T>::create_module (
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_module (
+id,
+ name,
+ version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ConstantDef_ptr POA_CORBA_ModuleDef_tie<T>::create_constant (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ const CORBA::Any & value
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_constant (
+id,
+ name,
+ version,
+ type,
+ value
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_StructDef_ptr POA_CORBA_ModuleDef_tie<T>::create_struct (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_struct (
+id,
+ name,
+ version,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_UnionDef_ptr POA_CORBA_ModuleDef_tie<T>::create_union (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr discriminator_type,
+ const CORBA_UnionMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_union (
+id,
+ name,
+ version,
+ discriminator_type,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_EnumDef_ptr POA_CORBA_ModuleDef_tie<T>::create_enum (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_EnumMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_enum (
+id,
+ name,
+ version,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_AliasDef_ptr POA_CORBA_ModuleDef_tie<T>::create_alias (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_alias (
+id,
+ name,
+ version,
+ original_type
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_InterfaceDef_ptr POA_CORBA_ModuleDef_tie<T>::create_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_interface (
+id,
+ name,
+ version,
+ base_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ValueDef_ptr POA_CORBA_ModuleDef_tie<T>::create_value (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ CORBA_ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const CORBA_ValueDefSeq & abstract_base_values,
+ const CORBA_InterfaceDefSeq & supported_interfaces,
+ const CORBA_InitializerSeq & initializers
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_value (
+id,
+ name,
+ version,
+ is_custom,
+ is_abstract,
+ base_value,
+ is_truncatable,
+ abstract_base_values,
+ supported_interfaces,
+ initializers
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ValueBoxDef_ptr POA_CORBA_ModuleDef_tie<T>::create_value_box (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type_def
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_value_box (
+id,
+ name,
+ version,
+ original_type_def
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ExceptionDef_ptr POA_CORBA_ModuleDef_tie<T>::create_exception (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_exception (
+id,
+ name,
+ version,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_NativeDef_ptr POA_CORBA_ModuleDef_tie<T>::create_native (
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_native (
+id,
+ name,
+ version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_AbstractInterfaceDef_ptr POA_CORBA_ModuleDef_tie<T>::create_abstract_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_AbstractInterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_abstract_interface (
+id,
+ name,
+ version,
+ base_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_LocalInterfaceDef_ptr POA_CORBA_ModuleDef_tie<T>::create_local_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_local_interface (
+id,
+ name,
+ version,
+ base_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_ModuleDef_tie<T>::id (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->id (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_ModuleDef_tie<T>::id (
+ const char * id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->id (
+id
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_ModuleDef_tie<T>::name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_ModuleDef_tie<T>::name (
+ const char * name
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->name (
+name
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_ModuleDef_tie<T>::version (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->version (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_ModuleDef_tie<T>::version (
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->version (
+version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Container_ptr POA_CORBA_ModuleDef_tie<T>::defined_in (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->defined_in (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_ModuleDef_tie<T>::absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->absolute_name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Repository_ptr POA_CORBA_ModuleDef_tie<T>::containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->containing_repository (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Contained::Description * POA_CORBA_ModuleDef_tie<T>::describe (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_ModuleDef_tie<T>::move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->move (
+new_container,
+ new_name,
+ new_version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::DefinitionKind POA_CORBA_ModuleDef_tie<T>::def_kind (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_ModuleDef_tie<T>::destroy (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+POA_CORBA_ConstantDef_tie<T>::POA_CORBA_ConstantDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_ConstantDef_tie<T>::POA_CORBA_ConstantDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_ConstantDef_tie<T>::POA_CORBA_ConstantDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_ConstantDef_tie<T>::POA_CORBA_ConstantDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_ConstantDef_tie<T>::~POA_CORBA_ConstantDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_CORBA_ConstantDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_ConstantDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_ConstantDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_CORBA_ConstantDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_ConstantDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_CORBA_ConstantDef_tie<T>::_default_POA (ACE_ENV_SINGLE_ARG_DECL)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->POA_CORBA_ConstantDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_CORBA_ConstantDef_tie<T>::type (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->type (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_IDLType_ptr POA_CORBA_ConstantDef_tie<T>::type_def (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->type_def (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_ConstantDef_tie<T>::type_def (
+ CORBA_IDLType_ptr type_def
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->type_def (
+type_def
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::Any * POA_CORBA_ConstantDef_tie<T>::value (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->value (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_ConstantDef_tie<T>::value (
+ const CORBA::Any & value
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->value (
+value
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_ConstantDef_tie<T>::id (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->id (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_ConstantDef_tie<T>::id (
+ const char * id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->id (
+id
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_ConstantDef_tie<T>::name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_ConstantDef_tie<T>::name (
+ const char * name
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->name (
+name
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_ConstantDef_tie<T>::version (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->version (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_ConstantDef_tie<T>::version (
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->version (
+version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Container_ptr POA_CORBA_ConstantDef_tie<T>::defined_in (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->defined_in (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_ConstantDef_tie<T>::absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->absolute_name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Repository_ptr POA_CORBA_ConstantDef_tie<T>::containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->containing_repository (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Contained::Description * POA_CORBA_ConstantDef_tie<T>::describe (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_ConstantDef_tie<T>::move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->move (
+new_container,
+ new_name,
+ new_version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::DefinitionKind POA_CORBA_ConstantDef_tie<T>::def_kind (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_ConstantDef_tie<T>::destroy (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+POA_CORBA_StructDef_tie<T>::POA_CORBA_StructDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_StructDef_tie<T>::POA_CORBA_StructDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_StructDef_tie<T>::POA_CORBA_StructDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_StructDef_tie<T>::POA_CORBA_StructDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_StructDef_tie<T>::~POA_CORBA_StructDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_CORBA_StructDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_StructDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_StructDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_CORBA_StructDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_StructDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_CORBA_StructDef_tie<T>::_default_POA (ACE_ENV_SINGLE_ARG_DECL)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->POA_CORBA_StructDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+template <class T> ACE_INLINE
+CORBA_StructMemberSeq * POA_CORBA_StructDef_tie<T>::members (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->members (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_StructDef_tie<T>::members (
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->members (
+members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Contained_ptr POA_CORBA_StructDef_tie<T>::lookup (
+ const char * search_name
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->lookup (
+search_name
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ContainedSeq * POA_CORBA_StructDef_tie<T>::contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->contents (
+limit_type,
+ exclude_inherited
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ContainedSeq * POA_CORBA_StructDef_tie<T>::lookup_name (
+ const char * search_name,
+ CORBA::Long levels_to_search,
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->lookup_name (
+search_name,
+ levels_to_search,
+ limit_type,
+ exclude_inherited
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Container::DescriptionSeq * POA_CORBA_StructDef_tie<T>::describe_contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe_contents (
+limit_type,
+ exclude_inherited,
+ max_returned_objs
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ModuleDef_ptr POA_CORBA_StructDef_tie<T>::create_module (
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_module (
+id,
+ name,
+ version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ConstantDef_ptr POA_CORBA_StructDef_tie<T>::create_constant (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ const CORBA::Any & value
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_constant (
+id,
+ name,
+ version,
+ type,
+ value
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_StructDef_ptr POA_CORBA_StructDef_tie<T>::create_struct (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_struct (
+id,
+ name,
+ version,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_UnionDef_ptr POA_CORBA_StructDef_tie<T>::create_union (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr discriminator_type,
+ const CORBA_UnionMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_union (
+id,
+ name,
+ version,
+ discriminator_type,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_EnumDef_ptr POA_CORBA_StructDef_tie<T>::create_enum (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_EnumMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_enum (
+id,
+ name,
+ version,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_AliasDef_ptr POA_CORBA_StructDef_tie<T>::create_alias (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_alias (
+id,
+ name,
+ version,
+ original_type
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_InterfaceDef_ptr POA_CORBA_StructDef_tie<T>::create_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_interface (
+id,
+ name,
+ version,
+ base_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ValueDef_ptr POA_CORBA_StructDef_tie<T>::create_value (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ CORBA_ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const CORBA_ValueDefSeq & abstract_base_values,
+ const CORBA_InterfaceDefSeq & supported_interfaces,
+ const CORBA_InitializerSeq & initializers
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_value (
+id,
+ name,
+ version,
+ is_custom,
+ is_abstract,
+ base_value,
+ is_truncatable,
+ abstract_base_values,
+ supported_interfaces,
+ initializers
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ValueBoxDef_ptr POA_CORBA_StructDef_tie<T>::create_value_box (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type_def
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_value_box (
+id,
+ name,
+ version,
+ original_type_def
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ExceptionDef_ptr POA_CORBA_StructDef_tie<T>::create_exception (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_exception (
+id,
+ name,
+ version,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_NativeDef_ptr POA_CORBA_StructDef_tie<T>::create_native (
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_native (
+id,
+ name,
+ version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_AbstractInterfaceDef_ptr POA_CORBA_StructDef_tie<T>::create_abstract_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_AbstractInterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_abstract_interface (
+id,
+ name,
+ version,
+ base_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_LocalInterfaceDef_ptr POA_CORBA_StructDef_tie<T>::create_local_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_local_interface (
+id,
+ name,
+ version,
+ base_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_StructDef_tie<T>::id (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->id (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_StructDef_tie<T>::id (
+ const char * id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->id (
+id
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_StructDef_tie<T>::name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_StructDef_tie<T>::name (
+ const char * name
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->name (
+name
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_StructDef_tie<T>::version (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->version (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_StructDef_tie<T>::version (
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->version (
+version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Container_ptr POA_CORBA_StructDef_tie<T>::defined_in (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->defined_in (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_StructDef_tie<T>::absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->absolute_name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Repository_ptr POA_CORBA_StructDef_tie<T>::containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->containing_repository (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Contained::Description * POA_CORBA_StructDef_tie<T>::describe (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_StructDef_tie<T>::move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->move (
+new_container,
+ new_name,
+ new_version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_CORBA_StructDef_tie<T>::type (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->type (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::DefinitionKind POA_CORBA_StructDef_tie<T>::def_kind (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_StructDef_tie<T>::destroy (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+POA_CORBA_UnionDef_tie<T>::POA_CORBA_UnionDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_UnionDef_tie<T>::POA_CORBA_UnionDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_UnionDef_tie<T>::POA_CORBA_UnionDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_UnionDef_tie<T>::POA_CORBA_UnionDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_UnionDef_tie<T>::~POA_CORBA_UnionDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_CORBA_UnionDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_UnionDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_UnionDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_CORBA_UnionDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_UnionDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_CORBA_UnionDef_tie<T>::_default_POA (ACE_ENV_SINGLE_ARG_DECL)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->POA_CORBA_UnionDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_CORBA_UnionDef_tie<T>::discriminator_type (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->discriminator_type (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_IDLType_ptr POA_CORBA_UnionDef_tie<T>::discriminator_type_def (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->discriminator_type_def (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_UnionDef_tie<T>::discriminator_type_def (
+ CORBA_IDLType_ptr discriminator_type_def
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->discriminator_type_def (
+discriminator_type_def
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_UnionMemberSeq * POA_CORBA_UnionDef_tie<T>::members (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->members (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_UnionDef_tie<T>::members (
+ const CORBA_UnionMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->members (
+members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Contained_ptr POA_CORBA_UnionDef_tie<T>::lookup (
+ const char * search_name
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->lookup (
+search_name
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ContainedSeq * POA_CORBA_UnionDef_tie<T>::contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->contents (
+limit_type,
+ exclude_inherited
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ContainedSeq * POA_CORBA_UnionDef_tie<T>::lookup_name (
+ const char * search_name,
+ CORBA::Long levels_to_search,
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->lookup_name (
+search_name,
+ levels_to_search,
+ limit_type,
+ exclude_inherited
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Container::DescriptionSeq * POA_CORBA_UnionDef_tie<T>::describe_contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe_contents (
+limit_type,
+ exclude_inherited,
+ max_returned_objs
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ModuleDef_ptr POA_CORBA_UnionDef_tie<T>::create_module (
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_module (
+id,
+ name,
+ version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ConstantDef_ptr POA_CORBA_UnionDef_tie<T>::create_constant (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ const CORBA::Any & value
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_constant (
+id,
+ name,
+ version,
+ type,
+ value
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_StructDef_ptr POA_CORBA_UnionDef_tie<T>::create_struct (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_struct (
+id,
+ name,
+ version,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_UnionDef_ptr POA_CORBA_UnionDef_tie<T>::create_union (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr discriminator_type,
+ const CORBA_UnionMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_union (
+id,
+ name,
+ version,
+ discriminator_type,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_EnumDef_ptr POA_CORBA_UnionDef_tie<T>::create_enum (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_EnumMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_enum (
+id,
+ name,
+ version,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_AliasDef_ptr POA_CORBA_UnionDef_tie<T>::create_alias (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_alias (
+id,
+ name,
+ version,
+ original_type
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_InterfaceDef_ptr POA_CORBA_UnionDef_tie<T>::create_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_interface (
+id,
+ name,
+ version,
+ base_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ValueDef_ptr POA_CORBA_UnionDef_tie<T>::create_value (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ CORBA_ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const CORBA_ValueDefSeq & abstract_base_values,
+ const CORBA_InterfaceDefSeq & supported_interfaces,
+ const CORBA_InitializerSeq & initializers
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_value (
+id,
+ name,
+ version,
+ is_custom,
+ is_abstract,
+ base_value,
+ is_truncatable,
+ abstract_base_values,
+ supported_interfaces,
+ initializers
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ValueBoxDef_ptr POA_CORBA_UnionDef_tie<T>::create_value_box (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type_def
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_value_box (
+id,
+ name,
+ version,
+ original_type_def
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ExceptionDef_ptr POA_CORBA_UnionDef_tie<T>::create_exception (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_exception (
+id,
+ name,
+ version,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_NativeDef_ptr POA_CORBA_UnionDef_tie<T>::create_native (
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_native (
+id,
+ name,
+ version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_AbstractInterfaceDef_ptr POA_CORBA_UnionDef_tie<T>::create_abstract_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_AbstractInterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_abstract_interface (
+id,
+ name,
+ version,
+ base_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_LocalInterfaceDef_ptr POA_CORBA_UnionDef_tie<T>::create_local_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_local_interface (
+id,
+ name,
+ version,
+ base_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_UnionDef_tie<T>::id (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->id (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_UnionDef_tie<T>::id (
+ const char * id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->id (
+id
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_UnionDef_tie<T>::name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_UnionDef_tie<T>::name (
+ const char * name
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->name (
+name
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_UnionDef_tie<T>::version (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->version (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_UnionDef_tie<T>::version (
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->version (
+version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Container_ptr POA_CORBA_UnionDef_tie<T>::defined_in (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->defined_in (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_UnionDef_tie<T>::absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->absolute_name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Repository_ptr POA_CORBA_UnionDef_tie<T>::containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->containing_repository (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Contained::Description * POA_CORBA_UnionDef_tie<T>::describe (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_UnionDef_tie<T>::move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->move (
+new_container,
+ new_name,
+ new_version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_CORBA_UnionDef_tie<T>::type (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->type (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::DefinitionKind POA_CORBA_UnionDef_tie<T>::def_kind (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_UnionDef_tie<T>::destroy (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+POA_CORBA_EnumDef_tie<T>::POA_CORBA_EnumDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_EnumDef_tie<T>::POA_CORBA_EnumDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_EnumDef_tie<T>::POA_CORBA_EnumDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_EnumDef_tie<T>::POA_CORBA_EnumDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_EnumDef_tie<T>::~POA_CORBA_EnumDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_CORBA_EnumDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_EnumDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_EnumDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_CORBA_EnumDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_EnumDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_CORBA_EnumDef_tie<T>::_default_POA (ACE_ENV_SINGLE_ARG_DECL)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->POA_CORBA_EnumDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+template <class T> ACE_INLINE
+CORBA_EnumMemberSeq * POA_CORBA_EnumDef_tie<T>::members (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->members (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_EnumDef_tie<T>::members (
+ const CORBA_EnumMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->members (
+members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_EnumDef_tie<T>::id (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->id (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_EnumDef_tie<T>::id (
+ const char * id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->id (
+id
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_EnumDef_tie<T>::name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_EnumDef_tie<T>::name (
+ const char * name
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->name (
+name
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_EnumDef_tie<T>::version (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->version (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_EnumDef_tie<T>::version (
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->version (
+version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Container_ptr POA_CORBA_EnumDef_tie<T>::defined_in (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->defined_in (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_EnumDef_tie<T>::absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->absolute_name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Repository_ptr POA_CORBA_EnumDef_tie<T>::containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->containing_repository (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Contained::Description * POA_CORBA_EnumDef_tie<T>::describe (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_EnumDef_tie<T>::move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->move (
+new_container,
+ new_name,
+ new_version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_CORBA_EnumDef_tie<T>::type (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->type (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::DefinitionKind POA_CORBA_EnumDef_tie<T>::def_kind (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_EnumDef_tie<T>::destroy (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+POA_CORBA_AliasDef_tie<T>::POA_CORBA_AliasDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_AliasDef_tie<T>::POA_CORBA_AliasDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_AliasDef_tie<T>::POA_CORBA_AliasDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_AliasDef_tie<T>::POA_CORBA_AliasDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_AliasDef_tie<T>::~POA_CORBA_AliasDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_CORBA_AliasDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_AliasDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_AliasDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_CORBA_AliasDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_AliasDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_CORBA_AliasDef_tie<T>::_default_POA (ACE_ENV_SINGLE_ARG_DECL)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->POA_CORBA_AliasDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+template <class T> ACE_INLINE
+CORBA_IDLType_ptr POA_CORBA_AliasDef_tie<T>::original_type_def (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->original_type_def (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_AliasDef_tie<T>::original_type_def (
+ CORBA_IDLType_ptr original_type_def
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->original_type_def (
+original_type_def
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_AliasDef_tie<T>::id (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->id (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_AliasDef_tie<T>::id (
+ const char * id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->id (
+id
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_AliasDef_tie<T>::name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_AliasDef_tie<T>::name (
+ const char * name
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->name (
+name
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_AliasDef_tie<T>::version (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->version (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_AliasDef_tie<T>::version (
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->version (
+version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Container_ptr POA_CORBA_AliasDef_tie<T>::defined_in (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->defined_in (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_AliasDef_tie<T>::absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->absolute_name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Repository_ptr POA_CORBA_AliasDef_tie<T>::containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->containing_repository (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Contained::Description * POA_CORBA_AliasDef_tie<T>::describe (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_AliasDef_tie<T>::move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->move (
+new_container,
+ new_name,
+ new_version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_CORBA_AliasDef_tie<T>::type (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->type (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::DefinitionKind POA_CORBA_AliasDef_tie<T>::def_kind (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_AliasDef_tie<T>::destroy (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+POA_CORBA_NativeDef_tie<T>::POA_CORBA_NativeDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_NativeDef_tie<T>::POA_CORBA_NativeDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_NativeDef_tie<T>::POA_CORBA_NativeDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_NativeDef_tie<T>::POA_CORBA_NativeDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_NativeDef_tie<T>::~POA_CORBA_NativeDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_CORBA_NativeDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_NativeDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_NativeDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_CORBA_NativeDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_NativeDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_CORBA_NativeDef_tie<T>::_default_POA (ACE_ENV_SINGLE_ARG_DECL)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->POA_CORBA_NativeDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_NativeDef_tie<T>::id (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->id (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_NativeDef_tie<T>::id (
+ const char * id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->id (
+id
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_NativeDef_tie<T>::name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_NativeDef_tie<T>::name (
+ const char * name
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->name (
+name
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_NativeDef_tie<T>::version (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->version (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_NativeDef_tie<T>::version (
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->version (
+version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Container_ptr POA_CORBA_NativeDef_tie<T>::defined_in (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->defined_in (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_NativeDef_tie<T>::absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->absolute_name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Repository_ptr POA_CORBA_NativeDef_tie<T>::containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->containing_repository (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Contained::Description * POA_CORBA_NativeDef_tie<T>::describe (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_NativeDef_tie<T>::move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->move (
+new_container,
+ new_name,
+ new_version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_CORBA_NativeDef_tie<T>::type (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->type (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::DefinitionKind POA_CORBA_NativeDef_tie<T>::def_kind (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_NativeDef_tie<T>::destroy (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+POA_CORBA_PrimitiveDef_tie<T>::POA_CORBA_PrimitiveDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_PrimitiveDef_tie<T>::POA_CORBA_PrimitiveDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_PrimitiveDef_tie<T>::POA_CORBA_PrimitiveDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_PrimitiveDef_tie<T>::POA_CORBA_PrimitiveDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_PrimitiveDef_tie<T>::~POA_CORBA_PrimitiveDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_CORBA_PrimitiveDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_PrimitiveDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_PrimitiveDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_CORBA_PrimitiveDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_PrimitiveDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_CORBA_PrimitiveDef_tie<T>::_default_POA (ACE_ENV_SINGLE_ARG_DECL)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->POA_CORBA_PrimitiveDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+template <class T> ACE_INLINE
+CORBA::PrimitiveKind POA_CORBA_PrimitiveDef_tie<T>::kind (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->kind (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_CORBA_PrimitiveDef_tie<T>::type (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->type (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::DefinitionKind POA_CORBA_PrimitiveDef_tie<T>::def_kind (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_PrimitiveDef_tie<T>::destroy (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+POA_CORBA_StringDef_tie<T>::POA_CORBA_StringDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_StringDef_tie<T>::POA_CORBA_StringDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_StringDef_tie<T>::POA_CORBA_StringDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_StringDef_tie<T>::POA_CORBA_StringDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_StringDef_tie<T>::~POA_CORBA_StringDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_CORBA_StringDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_StringDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_StringDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_CORBA_StringDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_StringDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_CORBA_StringDef_tie<T>::_default_POA (ACE_ENV_SINGLE_ARG_DECL)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->POA_CORBA_StringDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+template <class T> ACE_INLINE
+CORBA::ULong POA_CORBA_StringDef_tie<T>::bound (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->bound (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_StringDef_tie<T>::bound (
+ CORBA::ULong bound
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->bound (
+bound
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_CORBA_StringDef_tie<T>::type (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->type (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::DefinitionKind POA_CORBA_StringDef_tie<T>::def_kind (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_StringDef_tie<T>::destroy (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+POA_CORBA_WstringDef_tie<T>::POA_CORBA_WstringDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_WstringDef_tie<T>::POA_CORBA_WstringDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_WstringDef_tie<T>::POA_CORBA_WstringDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_WstringDef_tie<T>::POA_CORBA_WstringDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_WstringDef_tie<T>::~POA_CORBA_WstringDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_CORBA_WstringDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_WstringDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_WstringDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_CORBA_WstringDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_WstringDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_CORBA_WstringDef_tie<T>::_default_POA (ACE_ENV_SINGLE_ARG_DECL)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->POA_CORBA_WstringDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+template <class T> ACE_INLINE
+CORBA::ULong POA_CORBA_WstringDef_tie<T>::bound (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->bound (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_WstringDef_tie<T>::bound (
+ CORBA::ULong bound
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->bound (
+bound
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_CORBA_WstringDef_tie<T>::type (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->type (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::DefinitionKind POA_CORBA_WstringDef_tie<T>::def_kind (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_WstringDef_tie<T>::destroy (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+POA_CORBA_SequenceDef_tie<T>::POA_CORBA_SequenceDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_SequenceDef_tie<T>::POA_CORBA_SequenceDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_SequenceDef_tie<T>::POA_CORBA_SequenceDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_SequenceDef_tie<T>::POA_CORBA_SequenceDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_SequenceDef_tie<T>::~POA_CORBA_SequenceDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_CORBA_SequenceDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_SequenceDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_SequenceDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_CORBA_SequenceDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_SequenceDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_CORBA_SequenceDef_tie<T>::_default_POA (ACE_ENV_SINGLE_ARG_DECL)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->POA_CORBA_SequenceDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+template <class T> ACE_INLINE
+CORBA::ULong POA_CORBA_SequenceDef_tie<T>::bound (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->bound (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_SequenceDef_tie<T>::bound (
+ CORBA::ULong bound
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->bound (
+bound
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_CORBA_SequenceDef_tie<T>::element_type (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->element_type (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_IDLType_ptr POA_CORBA_SequenceDef_tie<T>::element_type_def (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->element_type_def (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_SequenceDef_tie<T>::element_type_def (
+ CORBA_IDLType_ptr element_type_def
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->element_type_def (
+element_type_def
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_CORBA_SequenceDef_tie<T>::type (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->type (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::DefinitionKind POA_CORBA_SequenceDef_tie<T>::def_kind (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_SequenceDef_tie<T>::destroy (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+POA_CORBA_ArrayDef_tie<T>::POA_CORBA_ArrayDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_ArrayDef_tie<T>::POA_CORBA_ArrayDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_ArrayDef_tie<T>::POA_CORBA_ArrayDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_ArrayDef_tie<T>::POA_CORBA_ArrayDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_ArrayDef_tie<T>::~POA_CORBA_ArrayDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_CORBA_ArrayDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_ArrayDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_ArrayDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_CORBA_ArrayDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_ArrayDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_CORBA_ArrayDef_tie<T>::_default_POA (ACE_ENV_SINGLE_ARG_DECL)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->POA_CORBA_ArrayDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+template <class T> ACE_INLINE
+CORBA::ULong POA_CORBA_ArrayDef_tie<T>::length (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->length (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_ArrayDef_tie<T>::length (
+ CORBA::ULong length
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->length (
+length
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_CORBA_ArrayDef_tie<T>::element_type (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->element_type (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_IDLType_ptr POA_CORBA_ArrayDef_tie<T>::element_type_def (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->element_type_def (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_ArrayDef_tie<T>::element_type_def (
+ CORBA_IDLType_ptr element_type_def
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->element_type_def (
+element_type_def
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_CORBA_ArrayDef_tie<T>::type (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->type (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::DefinitionKind POA_CORBA_ArrayDef_tie<T>::def_kind (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_ArrayDef_tie<T>::destroy (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+POA_CORBA_ExceptionDef_tie<T>::POA_CORBA_ExceptionDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_ExceptionDef_tie<T>::POA_CORBA_ExceptionDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_ExceptionDef_tie<T>::POA_CORBA_ExceptionDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_ExceptionDef_tie<T>::POA_CORBA_ExceptionDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_ExceptionDef_tie<T>::~POA_CORBA_ExceptionDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_CORBA_ExceptionDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_ExceptionDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_ExceptionDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_CORBA_ExceptionDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_ExceptionDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_CORBA_ExceptionDef_tie<T>::_default_POA (ACE_ENV_SINGLE_ARG_DECL)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->POA_CORBA_ExceptionDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_CORBA_ExceptionDef_tie<T>::type (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->type (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_StructMemberSeq * POA_CORBA_ExceptionDef_tie<T>::members (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->members (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_ExceptionDef_tie<T>::members (
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->members (
+members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_ExceptionDef_tie<T>::id (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->id (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_ExceptionDef_tie<T>::id (
+ const char * id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->id (
+id
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_ExceptionDef_tie<T>::name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_ExceptionDef_tie<T>::name (
+ const char * name
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->name (
+name
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_ExceptionDef_tie<T>::version (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->version (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_ExceptionDef_tie<T>::version (
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->version (
+version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Container_ptr POA_CORBA_ExceptionDef_tie<T>::defined_in (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->defined_in (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_ExceptionDef_tie<T>::absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->absolute_name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Repository_ptr POA_CORBA_ExceptionDef_tie<T>::containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->containing_repository (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Contained::Description * POA_CORBA_ExceptionDef_tie<T>::describe (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_ExceptionDef_tie<T>::move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->move (
+new_container,
+ new_name,
+ new_version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Contained_ptr POA_CORBA_ExceptionDef_tie<T>::lookup (
+ const char * search_name
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->lookup (
+search_name
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ContainedSeq * POA_CORBA_ExceptionDef_tie<T>::contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->contents (
+limit_type,
+ exclude_inherited
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ContainedSeq * POA_CORBA_ExceptionDef_tie<T>::lookup_name (
+ const char * search_name,
+ CORBA::Long levels_to_search,
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->lookup_name (
+search_name,
+ levels_to_search,
+ limit_type,
+ exclude_inherited
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Container::DescriptionSeq * POA_CORBA_ExceptionDef_tie<T>::describe_contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe_contents (
+limit_type,
+ exclude_inherited,
+ max_returned_objs
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ModuleDef_ptr POA_CORBA_ExceptionDef_tie<T>::create_module (
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_module (
+id,
+ name,
+ version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ConstantDef_ptr POA_CORBA_ExceptionDef_tie<T>::create_constant (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ const CORBA::Any & value
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_constant (
+id,
+ name,
+ version,
+ type,
+ value
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_StructDef_ptr POA_CORBA_ExceptionDef_tie<T>::create_struct (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_struct (
+id,
+ name,
+ version,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_UnionDef_ptr POA_CORBA_ExceptionDef_tie<T>::create_union (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr discriminator_type,
+ const CORBA_UnionMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_union (
+id,
+ name,
+ version,
+ discriminator_type,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_EnumDef_ptr POA_CORBA_ExceptionDef_tie<T>::create_enum (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_EnumMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_enum (
+id,
+ name,
+ version,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_AliasDef_ptr POA_CORBA_ExceptionDef_tie<T>::create_alias (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_alias (
+id,
+ name,
+ version,
+ original_type
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_InterfaceDef_ptr POA_CORBA_ExceptionDef_tie<T>::create_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_interface (
+id,
+ name,
+ version,
+ base_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ValueDef_ptr POA_CORBA_ExceptionDef_tie<T>::create_value (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ CORBA_ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const CORBA_ValueDefSeq & abstract_base_values,
+ const CORBA_InterfaceDefSeq & supported_interfaces,
+ const CORBA_InitializerSeq & initializers
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_value (
+id,
+ name,
+ version,
+ is_custom,
+ is_abstract,
+ base_value,
+ is_truncatable,
+ abstract_base_values,
+ supported_interfaces,
+ initializers
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ValueBoxDef_ptr POA_CORBA_ExceptionDef_tie<T>::create_value_box (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type_def
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_value_box (
+id,
+ name,
+ version,
+ original_type_def
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ExceptionDef_ptr POA_CORBA_ExceptionDef_tie<T>::create_exception (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_exception (
+id,
+ name,
+ version,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_NativeDef_ptr POA_CORBA_ExceptionDef_tie<T>::create_native (
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_native (
+id,
+ name,
+ version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_AbstractInterfaceDef_ptr POA_CORBA_ExceptionDef_tie<T>::create_abstract_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_AbstractInterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_abstract_interface (
+id,
+ name,
+ version,
+ base_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_LocalInterfaceDef_ptr POA_CORBA_ExceptionDef_tie<T>::create_local_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_local_interface (
+id,
+ name,
+ version,
+ base_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::DefinitionKind POA_CORBA_ExceptionDef_tie<T>::def_kind (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_ExceptionDef_tie<T>::destroy (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+POA_CORBA_AttributeDef_tie<T>::POA_CORBA_AttributeDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_AttributeDef_tie<T>::POA_CORBA_AttributeDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_AttributeDef_tie<T>::POA_CORBA_AttributeDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_AttributeDef_tie<T>::POA_CORBA_AttributeDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_AttributeDef_tie<T>::~POA_CORBA_AttributeDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_CORBA_AttributeDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_AttributeDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_AttributeDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_CORBA_AttributeDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_AttributeDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_CORBA_AttributeDef_tie<T>::_default_POA (ACE_ENV_SINGLE_ARG_DECL)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->POA_CORBA_AttributeDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_CORBA_AttributeDef_tie<T>::type (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->type (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_IDLType_ptr POA_CORBA_AttributeDef_tie<T>::type_def (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->type_def (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_AttributeDef_tie<T>::type_def (
+ CORBA_IDLType_ptr type_def
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->type_def (
+type_def
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::AttributeMode POA_CORBA_AttributeDef_tie<T>::mode (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->mode (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_AttributeDef_tie<T>::mode (
+ CORBA::AttributeMode mode
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->mode (
+mode
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_AttributeDef_tie<T>::id (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->id (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_AttributeDef_tie<T>::id (
+ const char * id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->id (
+id
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_AttributeDef_tie<T>::name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_AttributeDef_tie<T>::name (
+ const char * name
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->name (
+name
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_AttributeDef_tie<T>::version (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->version (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_AttributeDef_tie<T>::version (
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->version (
+version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Container_ptr POA_CORBA_AttributeDef_tie<T>::defined_in (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->defined_in (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_AttributeDef_tie<T>::absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->absolute_name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Repository_ptr POA_CORBA_AttributeDef_tie<T>::containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->containing_repository (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Contained::Description * POA_CORBA_AttributeDef_tie<T>::describe (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_AttributeDef_tie<T>::move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->move (
+new_container,
+ new_name,
+ new_version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::DefinitionKind POA_CORBA_AttributeDef_tie<T>::def_kind (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_AttributeDef_tie<T>::destroy (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+POA_CORBA_OperationDef_tie<T>::POA_CORBA_OperationDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_OperationDef_tie<T>::POA_CORBA_OperationDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_OperationDef_tie<T>::POA_CORBA_OperationDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_OperationDef_tie<T>::POA_CORBA_OperationDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_OperationDef_tie<T>::~POA_CORBA_OperationDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_CORBA_OperationDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_OperationDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_OperationDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_CORBA_OperationDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_OperationDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_CORBA_OperationDef_tie<T>::_default_POA (ACE_ENV_SINGLE_ARG_DECL)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->POA_CORBA_OperationDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_CORBA_OperationDef_tie<T>::result (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->result (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_IDLType_ptr POA_CORBA_OperationDef_tie<T>::result_def (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->result_def (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_OperationDef_tie<T>::result_def (
+ CORBA_IDLType_ptr result_def
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->result_def (
+result_def
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ParDescriptionSeq * POA_CORBA_OperationDef_tie<T>::params (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->params (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_OperationDef_tie<T>::params (
+ const CORBA_ParDescriptionSeq & params
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->params (
+params
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::OperationMode POA_CORBA_OperationDef_tie<T>::mode (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->mode (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_OperationDef_tie<T>::mode (
+ CORBA::OperationMode mode
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->mode (
+mode
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ContextIdSeq * POA_CORBA_OperationDef_tie<T>::contexts (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->contexts (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_OperationDef_tie<T>::contexts (
+ const CORBA_ContextIdSeq & contexts
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->contexts (
+contexts
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ExceptionDefSeq * POA_CORBA_OperationDef_tie<T>::exceptions (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->exceptions (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_OperationDef_tie<T>::exceptions (
+ const CORBA_ExceptionDefSeq & exceptions
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->exceptions (
+exceptions
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_OperationDef_tie<T>::id (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->id (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_OperationDef_tie<T>::id (
+ const char * id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->id (
+id
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_OperationDef_tie<T>::name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_OperationDef_tie<T>::name (
+ const char * name
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->name (
+name
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_OperationDef_tie<T>::version (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->version (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_OperationDef_tie<T>::version (
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->version (
+version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Container_ptr POA_CORBA_OperationDef_tie<T>::defined_in (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->defined_in (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_OperationDef_tie<T>::absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->absolute_name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Repository_ptr POA_CORBA_OperationDef_tie<T>::containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->containing_repository (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Contained::Description * POA_CORBA_OperationDef_tie<T>::describe (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_OperationDef_tie<T>::move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->move (
+new_container,
+ new_name,
+ new_version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::DefinitionKind POA_CORBA_OperationDef_tie<T>::def_kind (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_OperationDef_tie<T>::destroy (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+POA_CORBA_InterfaceDef_tie<T>::POA_CORBA_InterfaceDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_InterfaceDef_tie<T>::POA_CORBA_InterfaceDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_InterfaceDef_tie<T>::POA_CORBA_InterfaceDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_InterfaceDef_tie<T>::POA_CORBA_InterfaceDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_InterfaceDef_tie<T>::~POA_CORBA_InterfaceDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_CORBA_InterfaceDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_InterfaceDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_InterfaceDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_CORBA_InterfaceDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_InterfaceDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_CORBA_InterfaceDef_tie<T>::_default_POA (ACE_ENV_SINGLE_ARG_DECL)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->POA_CORBA_InterfaceDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+template <class T> ACE_INLINE
+CORBA_InterfaceDefSeq * POA_CORBA_InterfaceDef_tie<T>::base_interfaces (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->base_interfaces (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_InterfaceDef_tie<T>::base_interfaces (
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->base_interfaces (
+base_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::Boolean POA_CORBA_InterfaceDef_tie<T>::is_a (
+ const char * interface_id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->is_a (
+interface_id
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_InterfaceDef::FullInterfaceDescription * POA_CORBA_InterfaceDef_tie<T>::describe_interface (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe_interface (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_AttributeDef_ptr POA_CORBA_InterfaceDef_tie<T>::create_attribute (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ CORBA::AttributeMode mode
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_attribute (
+id,
+ name,
+ version,
+ type,
+ mode
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_OperationDef_ptr POA_CORBA_InterfaceDef_tie<T>::create_operation (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr result,
+ CORBA::OperationMode mode,
+ const CORBA_ParDescriptionSeq & params,
+ const CORBA_ExceptionDefSeq & exceptions,
+ const CORBA_ContextIdSeq & contexts
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_operation (
+id,
+ name,
+ version,
+ result,
+ mode,
+ params,
+ exceptions,
+ contexts
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Contained_ptr POA_CORBA_InterfaceDef_tie<T>::lookup (
+ const char * search_name
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->lookup (
+search_name
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ContainedSeq * POA_CORBA_InterfaceDef_tie<T>::contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->contents (
+limit_type,
+ exclude_inherited
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ContainedSeq * POA_CORBA_InterfaceDef_tie<T>::lookup_name (
+ const char * search_name,
+ CORBA::Long levels_to_search,
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->lookup_name (
+search_name,
+ levels_to_search,
+ limit_type,
+ exclude_inherited
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Container::DescriptionSeq * POA_CORBA_InterfaceDef_tie<T>::describe_contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe_contents (
+limit_type,
+ exclude_inherited,
+ max_returned_objs
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ModuleDef_ptr POA_CORBA_InterfaceDef_tie<T>::create_module (
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_module (
+id,
+ name,
+ version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ConstantDef_ptr POA_CORBA_InterfaceDef_tie<T>::create_constant (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ const CORBA::Any & value
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_constant (
+id,
+ name,
+ version,
+ type,
+ value
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_StructDef_ptr POA_CORBA_InterfaceDef_tie<T>::create_struct (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_struct (
+id,
+ name,
+ version,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_UnionDef_ptr POA_CORBA_InterfaceDef_tie<T>::create_union (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr discriminator_type,
+ const CORBA_UnionMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_union (
+id,
+ name,
+ version,
+ discriminator_type,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_EnumDef_ptr POA_CORBA_InterfaceDef_tie<T>::create_enum (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_EnumMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_enum (
+id,
+ name,
+ version,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_AliasDef_ptr POA_CORBA_InterfaceDef_tie<T>::create_alias (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_alias (
+id,
+ name,
+ version,
+ original_type
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_InterfaceDef_ptr POA_CORBA_InterfaceDef_tie<T>::create_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_interface (
+id,
+ name,
+ version,
+ base_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ValueDef_ptr POA_CORBA_InterfaceDef_tie<T>::create_value (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ CORBA_ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const CORBA_ValueDefSeq & abstract_base_values,
+ const CORBA_InterfaceDefSeq & supported_interfaces,
+ const CORBA_InitializerSeq & initializers
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_value (
+id,
+ name,
+ version,
+ is_custom,
+ is_abstract,
+ base_value,
+ is_truncatable,
+ abstract_base_values,
+ supported_interfaces,
+ initializers
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ValueBoxDef_ptr POA_CORBA_InterfaceDef_tie<T>::create_value_box (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type_def
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_value_box (
+id,
+ name,
+ version,
+ original_type_def
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ExceptionDef_ptr POA_CORBA_InterfaceDef_tie<T>::create_exception (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_exception (
+id,
+ name,
+ version,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_NativeDef_ptr POA_CORBA_InterfaceDef_tie<T>::create_native (
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_native (
+id,
+ name,
+ version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_AbstractInterfaceDef_ptr POA_CORBA_InterfaceDef_tie<T>::create_abstract_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_AbstractInterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_abstract_interface (
+id,
+ name,
+ version,
+ base_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_LocalInterfaceDef_ptr POA_CORBA_InterfaceDef_tie<T>::create_local_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_local_interface (
+id,
+ name,
+ version,
+ base_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_InterfaceDef_tie<T>::id (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->id (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_InterfaceDef_tie<T>::id (
+ const char * id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->id (
+id
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_InterfaceDef_tie<T>::name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_InterfaceDef_tie<T>::name (
+ const char * name
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->name (
+name
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_InterfaceDef_tie<T>::version (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->version (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_InterfaceDef_tie<T>::version (
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->version (
+version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Container_ptr POA_CORBA_InterfaceDef_tie<T>::defined_in (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->defined_in (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_InterfaceDef_tie<T>::absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->absolute_name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Repository_ptr POA_CORBA_InterfaceDef_tie<T>::containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->containing_repository (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Contained::Description * POA_CORBA_InterfaceDef_tie<T>::describe (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_InterfaceDef_tie<T>::move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->move (
+new_container,
+ new_name,
+ new_version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_CORBA_InterfaceDef_tie<T>::type (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->type (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::DefinitionKind POA_CORBA_InterfaceDef_tie<T>::def_kind (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_InterfaceDef_tie<T>::destroy (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+POA_CORBA_AbstractInterfaceDef_tie<T>::POA_CORBA_AbstractInterfaceDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_AbstractInterfaceDef_tie<T>::POA_CORBA_AbstractInterfaceDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_AbstractInterfaceDef_tie<T>::POA_CORBA_AbstractInterfaceDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_AbstractInterfaceDef_tie<T>::POA_CORBA_AbstractInterfaceDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_AbstractInterfaceDef_tie<T>::~POA_CORBA_AbstractInterfaceDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_CORBA_AbstractInterfaceDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_AbstractInterfaceDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_AbstractInterfaceDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_CORBA_AbstractInterfaceDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_AbstractInterfaceDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_CORBA_AbstractInterfaceDef_tie<T>::_default_POA (ACE_ENV_SINGLE_ARG_DECL)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->POA_CORBA_AbstractInterfaceDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+template <class T> ACE_INLINE
+CORBA_InterfaceDefSeq * POA_CORBA_AbstractInterfaceDef_tie<T>::base_interfaces (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->base_interfaces (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_AbstractInterfaceDef_tie<T>::base_interfaces (
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->base_interfaces (
+base_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::Boolean POA_CORBA_AbstractInterfaceDef_tie<T>::is_a (
+ const char * interface_id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->is_a (
+interface_id
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_InterfaceDef::FullInterfaceDescription * POA_CORBA_AbstractInterfaceDef_tie<T>::describe_interface (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe_interface (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_AttributeDef_ptr POA_CORBA_AbstractInterfaceDef_tie<T>::create_attribute (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ CORBA::AttributeMode mode
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_attribute (
+id,
+ name,
+ version,
+ type,
+ mode
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_OperationDef_ptr POA_CORBA_AbstractInterfaceDef_tie<T>::create_operation (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr result,
+ CORBA::OperationMode mode,
+ const CORBA_ParDescriptionSeq & params,
+ const CORBA_ExceptionDefSeq & exceptions,
+ const CORBA_ContextIdSeq & contexts
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_operation (
+id,
+ name,
+ version,
+ result,
+ mode,
+ params,
+ exceptions,
+ contexts
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Contained_ptr POA_CORBA_AbstractInterfaceDef_tie<T>::lookup (
+ const char * search_name
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->lookup (
+search_name
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ContainedSeq * POA_CORBA_AbstractInterfaceDef_tie<T>::contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->contents (
+limit_type,
+ exclude_inherited
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ContainedSeq * POA_CORBA_AbstractInterfaceDef_tie<T>::lookup_name (
+ const char * search_name,
+ CORBA::Long levels_to_search,
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->lookup_name (
+search_name,
+ levels_to_search,
+ limit_type,
+ exclude_inherited
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Container::DescriptionSeq * POA_CORBA_AbstractInterfaceDef_tie<T>::describe_contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe_contents (
+limit_type,
+ exclude_inherited,
+ max_returned_objs
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ModuleDef_ptr POA_CORBA_AbstractInterfaceDef_tie<T>::create_module (
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_module (
+id,
+ name,
+ version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ConstantDef_ptr POA_CORBA_AbstractInterfaceDef_tie<T>::create_constant (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ const CORBA::Any & value
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_constant (
+id,
+ name,
+ version,
+ type,
+ value
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_StructDef_ptr POA_CORBA_AbstractInterfaceDef_tie<T>::create_struct (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_struct (
+id,
+ name,
+ version,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_UnionDef_ptr POA_CORBA_AbstractInterfaceDef_tie<T>::create_union (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr discriminator_type,
+ const CORBA_UnionMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_union (
+id,
+ name,
+ version,
+ discriminator_type,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_EnumDef_ptr POA_CORBA_AbstractInterfaceDef_tie<T>::create_enum (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_EnumMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_enum (
+id,
+ name,
+ version,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_AliasDef_ptr POA_CORBA_AbstractInterfaceDef_tie<T>::create_alias (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_alias (
+id,
+ name,
+ version,
+ original_type
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_InterfaceDef_ptr POA_CORBA_AbstractInterfaceDef_tie<T>::create_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_interface (
+id,
+ name,
+ version,
+ base_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ValueDef_ptr POA_CORBA_AbstractInterfaceDef_tie<T>::create_value (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ CORBA_ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const CORBA_ValueDefSeq & abstract_base_values,
+ const CORBA_InterfaceDefSeq & supported_interfaces,
+ const CORBA_InitializerSeq & initializers
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_value (
+id,
+ name,
+ version,
+ is_custom,
+ is_abstract,
+ base_value,
+ is_truncatable,
+ abstract_base_values,
+ supported_interfaces,
+ initializers
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ValueBoxDef_ptr POA_CORBA_AbstractInterfaceDef_tie<T>::create_value_box (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type_def
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_value_box (
+id,
+ name,
+ version,
+ original_type_def
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ExceptionDef_ptr POA_CORBA_AbstractInterfaceDef_tie<T>::create_exception (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_exception (
+id,
+ name,
+ version,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_NativeDef_ptr POA_CORBA_AbstractInterfaceDef_tie<T>::create_native (
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_native (
+id,
+ name,
+ version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_AbstractInterfaceDef_ptr POA_CORBA_AbstractInterfaceDef_tie<T>::create_abstract_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_AbstractInterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_abstract_interface (
+id,
+ name,
+ version,
+ base_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_LocalInterfaceDef_ptr POA_CORBA_AbstractInterfaceDef_tie<T>::create_local_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_local_interface (
+id,
+ name,
+ version,
+ base_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_AbstractInterfaceDef_tie<T>::id (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->id (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_AbstractInterfaceDef_tie<T>::id (
+ const char * id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->id (
+id
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_AbstractInterfaceDef_tie<T>::name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_AbstractInterfaceDef_tie<T>::name (
+ const char * name
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->name (
+name
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_AbstractInterfaceDef_tie<T>::version (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->version (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_AbstractInterfaceDef_tie<T>::version (
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->version (
+version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Container_ptr POA_CORBA_AbstractInterfaceDef_tie<T>::defined_in (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->defined_in (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_AbstractInterfaceDef_tie<T>::absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->absolute_name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Repository_ptr POA_CORBA_AbstractInterfaceDef_tie<T>::containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->containing_repository (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Contained::Description * POA_CORBA_AbstractInterfaceDef_tie<T>::describe (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_AbstractInterfaceDef_tie<T>::move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->move (
+new_container,
+ new_name,
+ new_version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_CORBA_AbstractInterfaceDef_tie<T>::type (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->type (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::DefinitionKind POA_CORBA_AbstractInterfaceDef_tie<T>::def_kind (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_AbstractInterfaceDef_tie<T>::destroy (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+POA_CORBA_LocalInterfaceDef_tie<T>::POA_CORBA_LocalInterfaceDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_LocalInterfaceDef_tie<T>::POA_CORBA_LocalInterfaceDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_LocalInterfaceDef_tie<T>::POA_CORBA_LocalInterfaceDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_LocalInterfaceDef_tie<T>::POA_CORBA_LocalInterfaceDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_LocalInterfaceDef_tie<T>::~POA_CORBA_LocalInterfaceDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_CORBA_LocalInterfaceDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_LocalInterfaceDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_LocalInterfaceDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_CORBA_LocalInterfaceDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_LocalInterfaceDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_CORBA_LocalInterfaceDef_tie<T>::_default_POA (ACE_ENV_SINGLE_ARG_DECL)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->POA_CORBA_LocalInterfaceDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+template <class T> ACE_INLINE
+CORBA_InterfaceDefSeq * POA_CORBA_LocalInterfaceDef_tie<T>::base_interfaces (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->base_interfaces (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_LocalInterfaceDef_tie<T>::base_interfaces (
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->base_interfaces (
+base_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::Boolean POA_CORBA_LocalInterfaceDef_tie<T>::is_a (
+ const char * interface_id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->is_a (
+interface_id
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_InterfaceDef::FullInterfaceDescription * POA_CORBA_LocalInterfaceDef_tie<T>::describe_interface (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe_interface (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_AttributeDef_ptr POA_CORBA_LocalInterfaceDef_tie<T>::create_attribute (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ CORBA::AttributeMode mode
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_attribute (
+id,
+ name,
+ version,
+ type,
+ mode
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_OperationDef_ptr POA_CORBA_LocalInterfaceDef_tie<T>::create_operation (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr result,
+ CORBA::OperationMode mode,
+ const CORBA_ParDescriptionSeq & params,
+ const CORBA_ExceptionDefSeq & exceptions,
+ const CORBA_ContextIdSeq & contexts
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_operation (
+id,
+ name,
+ version,
+ result,
+ mode,
+ params,
+ exceptions,
+ contexts
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Contained_ptr POA_CORBA_LocalInterfaceDef_tie<T>::lookup (
+ const char * search_name
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->lookup (
+search_name
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ContainedSeq * POA_CORBA_LocalInterfaceDef_tie<T>::contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->contents (
+limit_type,
+ exclude_inherited
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ContainedSeq * POA_CORBA_LocalInterfaceDef_tie<T>::lookup_name (
+ const char * search_name,
+ CORBA::Long levels_to_search,
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->lookup_name (
+search_name,
+ levels_to_search,
+ limit_type,
+ exclude_inherited
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Container::DescriptionSeq * POA_CORBA_LocalInterfaceDef_tie<T>::describe_contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe_contents (
+limit_type,
+ exclude_inherited,
+ max_returned_objs
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ModuleDef_ptr POA_CORBA_LocalInterfaceDef_tie<T>::create_module (
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_module (
+id,
+ name,
+ version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ConstantDef_ptr POA_CORBA_LocalInterfaceDef_tie<T>::create_constant (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ const CORBA::Any & value
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_constant (
+id,
+ name,
+ version,
+ type,
+ value
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_StructDef_ptr POA_CORBA_LocalInterfaceDef_tie<T>::create_struct (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_struct (
+id,
+ name,
+ version,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_UnionDef_ptr POA_CORBA_LocalInterfaceDef_tie<T>::create_union (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr discriminator_type,
+ const CORBA_UnionMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_union (
+id,
+ name,
+ version,
+ discriminator_type,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_EnumDef_ptr POA_CORBA_LocalInterfaceDef_tie<T>::create_enum (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_EnumMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_enum (
+id,
+ name,
+ version,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_AliasDef_ptr POA_CORBA_LocalInterfaceDef_tie<T>::create_alias (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_alias (
+id,
+ name,
+ version,
+ original_type
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_InterfaceDef_ptr POA_CORBA_LocalInterfaceDef_tie<T>::create_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_interface (
+id,
+ name,
+ version,
+ base_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ValueDef_ptr POA_CORBA_LocalInterfaceDef_tie<T>::create_value (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ CORBA_ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const CORBA_ValueDefSeq & abstract_base_values,
+ const CORBA_InterfaceDefSeq & supported_interfaces,
+ const CORBA_InitializerSeq & initializers
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_value (
+id,
+ name,
+ version,
+ is_custom,
+ is_abstract,
+ base_value,
+ is_truncatable,
+ abstract_base_values,
+ supported_interfaces,
+ initializers
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ValueBoxDef_ptr POA_CORBA_LocalInterfaceDef_tie<T>::create_value_box (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type_def
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_value_box (
+id,
+ name,
+ version,
+ original_type_def
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ExceptionDef_ptr POA_CORBA_LocalInterfaceDef_tie<T>::create_exception (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_exception (
+id,
+ name,
+ version,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_NativeDef_ptr POA_CORBA_LocalInterfaceDef_tie<T>::create_native (
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_native (
+id,
+ name,
+ version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_AbstractInterfaceDef_ptr POA_CORBA_LocalInterfaceDef_tie<T>::create_abstract_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_AbstractInterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_abstract_interface (
+id,
+ name,
+ version,
+ base_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_LocalInterfaceDef_ptr POA_CORBA_LocalInterfaceDef_tie<T>::create_local_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_local_interface (
+id,
+ name,
+ version,
+ base_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_LocalInterfaceDef_tie<T>::id (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->id (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_LocalInterfaceDef_tie<T>::id (
+ const char * id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->id (
+id
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_LocalInterfaceDef_tie<T>::name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_LocalInterfaceDef_tie<T>::name (
+ const char * name
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->name (
+name
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_LocalInterfaceDef_tie<T>::version (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->version (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_LocalInterfaceDef_tie<T>::version (
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->version (
+version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Container_ptr POA_CORBA_LocalInterfaceDef_tie<T>::defined_in (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->defined_in (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_LocalInterfaceDef_tie<T>::absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->absolute_name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Repository_ptr POA_CORBA_LocalInterfaceDef_tie<T>::containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->containing_repository (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Contained::Description * POA_CORBA_LocalInterfaceDef_tie<T>::describe (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_LocalInterfaceDef_tie<T>::move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->move (
+new_container,
+ new_name,
+ new_version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_CORBA_LocalInterfaceDef_tie<T>::type (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->type (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::DefinitionKind POA_CORBA_LocalInterfaceDef_tie<T>::def_kind (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_LocalInterfaceDef_tie<T>::destroy (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+#endif /* ACE_HAS_USING_KEYWORD */
diff --git a/TAO/orbsvcs/IFR_Service/IFR_ComponentsS.cpp b/TAO/orbsvcs/IFR_Service/IFR_ComponentsS.cpp
new file mode 100644
index 00000000000..7cea15e7880
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/IFR_ComponentsS.cpp
@@ -0,0 +1,13818 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+#ifndef _TAO_IDL__________ORBSVCS_IFR_SERVICE_ORIG_IFR_COMPONENTSS_CPP_
+#define _TAO_IDL__________ORBSVCS_IFR_SERVICE_ORIG_IFR_COMPONENTSS_CPP_
+
+#include "IFR_ComponentsS.h"
+
+#include "tao/PortableServer/Object_Adapter.h"
+#include "tao/PortableServer/Operation_Table.h"
+#include "tao/TAO_Server_Request.h"
+#include "tao/ORB_Core.h"
+#include "tao/Stub.h"
+#include "tao/IFR_Client_Adapter.h"
+#include "tao/PortableInterceptor.h"
+
+#if TAO_HAS_INTERCEPTORS == 1
+#include "tao/RequestInfo_Util.h"
+#include "tao/PortableServer/ServerRequestInfo.h"
+#include "tao/PortableServer/ServerInterceptorAdapter.h"
+#endif /* TAO_HAS_INTERCEPTORS == 1 */
+
+#include "ace/Dynamic_Service.h"
+#if defined (__BORLANDC__)
+#pragma option -w-rvl -w-rch -w-ccc -w-aus
+#endif /* __BORLANDC__ */
+
+#if !defined (__ACE_INLINE__)
+#include "IFR_ComponentsS.i"
+#endif /* !defined INLINE */
+
+class TAO_IR_ComponentRepository_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 23:08:23 */
+/* C++ code produced by gperf version 2.8 (ACE version) */
+/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0 -a -o -t -p -K opname_ -L C++ -Z TAO_IR_ComponentRepository_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_IR_ComponentRepository_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 11,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 25,
+ 66, 0, 31, 15, 66, 10, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 66, 66, 25, 0, 30,
+ 66, 25, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 0, 5, 66, 66, 66, 0, 20, 66,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 66,
+#else
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+ 66, 66, 66, 66, 66, 11, 66, 25, 66, 0,
+ 31, 15, 66, 10, 66, 66, 66, 66, 25, 0,
+ 30, 66, 25, 66, 66, 0, 5, 66, 66, 66,
+ 0, 20, 66, 66, 66, 66, 66, 66,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_IR_ComponentRepository_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 32,
+ MIN_WORD_LENGTH = 5,
+ MAX_WORD_LENGTH = 25,
+ MIN_HASH_VALUE = 8,
+ MAX_HASH_VALUE = 65,
+ HASH_VALUE_RANGE = 58,
+ DUPLICATES = 2,
+ WORDLIST_SIZE = 40
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},{"",0},{"",0},{"",0},{"",0},
+ {"contents", &POA_IR::ComponentRepository::contents_skel},
+ {"create_enum", &POA_IR::ComponentRepository::create_enum_skel},
+ {"create_alias", &POA_IR::ComponentRepository::create_alias_skel},
+ {"create_value_box", &POA_IR::ComponentRepository::create_value_box_skel},
+ {"create_struct", &POA_IR::ComponentRepository::create_struct_skel},
+ {"create_constant", &POA_IR::ComponentRepository::create_constant_skel},
+ {"create_component", &POA_IR::ComponentRepository::create_component_skel},
+ {"create_string", &POA_IR::ComponentRepository::create_string_skel},
+ {"create_wstring", &POA_IR::ComponentRepository::create_wstring_skel},
+ {"create_home", &POA_IR::ComponentRepository::create_home_skel},
+ {"create_value", &POA_IR::ComponentRepository::create_value_skel},
+ {"create_module", &POA_IR::ComponentRepository::create_module_skel},
+ {"create_native", &POA_IR::ComponentRepository::create_native_skel},
+ {"_non_existent", &POA_IR::ComponentRepository::_non_existent_skel},
+ {"create_sequence", &POA_IR::ComponentRepository::create_sequence_skel},
+ {"create_interface", &POA_IR::ComponentRepository::create_interface_skel},
+ {"create_array", &POA_IR::ComponentRepository::create_array_skel},
+ {"_interface", &POA_IR::ComponentRepository::_interface_skel},
+ {"create_local_interface", &POA_IR::ComponentRepository::create_local_interface_skel},
+ {"get_primitive", &POA_IR::ComponentRepository::get_primitive_skel},
+ {"create_abstract_interface", &POA_IR::ComponentRepository::create_abstract_interface_skel},
+ {"_is_a", &POA_IR::ComponentRepository::_is_a_skel},
+ {"create_union", &POA_IR::ComponentRepository::create_union_skel},
+ {"create_fixed", &POA_IR::ComponentRepository::create_fixed_skel},
+ {"create_exception", &POA_IR::ComponentRepository::create_exception_skel},
+ {"get_canonical_typecode", &POA_IR::ComponentRepository::get_canonical_typecode_skel},
+ {"describe_contents", &POA_IR::ComponentRepository::describe_contents_skel},
+ {"lookup_name", &POA_IR::ComponentRepository::lookup_name_skel},
+ {"_get_def_kind", &POA_IR::ComponentRepository::_get_def_kind_skel},
+ {"lookup", &POA_IR::ComponentRepository::lookup_skel},
+ {"destroy", &POA_IR::ComponentRepository::destroy_skel},
+ {"lookup_id", &POA_IR::ComponentRepository::lookup_id_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -1, -1, -1, -1, -1, -1, -1, -1, 8, -1, -1, 9, 10, -1,
+ -19, -2, 11, -1, 12, -1, 13, 14, -1, 15, 16, -1, 17, 18,
+ -79, 21, 22, 23, 24, -1, -1, -1, 25, 26, 27, -1, 28, 29,
+ 30, 31, -1, -1, 32, 33, 34, -1, -1, 35, -1, -1, -1, 36,
+ 37, -1, 38, -1, -1, -1, -1, -1, -1, 39,
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ int slot = lookup[key];
+
+ if (slot >= 0 && slot < WORDLIST_SIZE)
+ {
+ 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 23:08:24 */
+static TAO_IR_ComponentRepository_Perfect_Hash_OpTable tao_IR_ComponentRepository_optable;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+class TAO_ServerRequestInfo_IR_ComponentRepository_create_component : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_IR_ComponentRepository_create_component (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_IR::ComponentRepository *tao_impl
+ ,
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::ComponentDef_ptr base_component,
+ const CORBA_InterfaceDefSeq & supports_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (IR::ComponentDef_ptr result);
+
+private:
+ TAO_ServerRequestInfo_IR_ComponentRepository_create_component (const TAO_ServerRequestInfo_IR_ComponentRepository_create_component &);
+ void operator= (const TAO_ServerRequestInfo_IR_ComponentRepository_create_component &);
+
+private:
+ POA_IR::ComponentRepository *_tao_impl;
+ const char * id_;
+ const char * name_;
+ const char * version_;
+ IR::ComponentDef_ptr base_component_;
+ const CORBA_InterfaceDefSeq & supports_interfaces_;
+ IR::ComponentDef_ptr _result;
+};
+
+TAO_ServerRequestInfo_IR_ComponentRepository_create_component::TAO_ServerRequestInfo_IR_ComponentRepository_create_component (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_IR::ComponentRepository *tao_impl,
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::ComponentDef_ptr base_component,
+ const CORBA_InterfaceDefSeq & supports_interfaces
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ id_ (id),
+ name_ (name),
+ version_ (version),
+ base_component_ (base_component),
+ supports_interfaces_ (supports_interfaces)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_IR_ComponentRepository_create_component::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (5);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= id_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= name_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= version_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= this->base_component_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= this->supports_interfaces_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_IR_ComponentRepository_create_component::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_IR_ComponentRepository_create_component::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_IR_ComponentRepository_create_component::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_IR_ComponentRepository_create_component::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_IR_ComponentRepository_create_component::result (IR::ComponentDef_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_IR_ComponentRepository_create_home : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_IR_ComponentRepository_create_home (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_IR::ComponentRepository *tao_impl
+ ,
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::HomeDef_ptr base_home,
+ IR::ComponentDef_ptr managed_component,
+ CORBA_ValueDef_ptr primary_key
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (IR::HomeDef_ptr result);
+
+private:
+ TAO_ServerRequestInfo_IR_ComponentRepository_create_home (const TAO_ServerRequestInfo_IR_ComponentRepository_create_home &);
+ void operator= (const TAO_ServerRequestInfo_IR_ComponentRepository_create_home &);
+
+private:
+ POA_IR::ComponentRepository *_tao_impl;
+ const char * id_;
+ const char * name_;
+ const char * version_;
+ IR::HomeDef_ptr base_home_;
+ IR::ComponentDef_ptr managed_component_;
+ CORBA_ValueDef_ptr primary_key_;
+ IR::HomeDef_ptr _result;
+};
+
+TAO_ServerRequestInfo_IR_ComponentRepository_create_home::TAO_ServerRequestInfo_IR_ComponentRepository_create_home (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_IR::ComponentRepository *tao_impl,
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::HomeDef_ptr base_home,
+ IR::ComponentDef_ptr managed_component,
+ CORBA_ValueDef_ptr primary_key
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ id_ (id),
+ name_ (name),
+ version_ (version),
+ base_home_ (base_home),
+ managed_component_ (managed_component),
+ primary_key_ (primary_key)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_IR_ComponentRepository_create_home::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (6);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= id_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= name_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= version_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= this->base_home_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= this->managed_component_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= this->primary_key_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_IR_ComponentRepository_create_home::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_IR_ComponentRepository_create_home::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_IR_ComponentRepository_create_home::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_IR_ComponentRepository_create_home::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_IR_ComponentRepository_create_home::result (IR::HomeDef_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Implementation
+//
+
+// Factory function Implementation.
+POA_IR::_TAO_ComponentRepository_Strategized_Proxy_Broker *POA_IR::_TAO_ComponentRepository_Strategized_Proxy_Broker::the_TAO_ComponentRepository_Strategized_Proxy_Broker (void)
+{
+ static POA_IR::_TAO_ComponentRepository_Strategized_Proxy_Broker strategized_proxy_broker;
+ return &strategized_proxy_broker;
+}
+
+POA_IR::_TAO_ComponentRepository_Strategized_Proxy_Broker::_TAO_ComponentRepository_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ this->proxy_cache_[i] = 0;
+
+}
+
+POA_IR::_TAO_ComponentRepository_Strategized_Proxy_Broker::~_TAO_ComponentRepository_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ delete this->proxy_cache_[i];
+
+}
+
+IR::_TAO_ComponentRepository_Proxy_Impl&
+POA_IR::_TAO_ComponentRepository_Strategized_Proxy_Broker::select_proxy (
+ ::IR::ComponentRepository *object
+ ACE_ENV_ARG_DECL
+ )
+{
+ int strategy =
+ TAO_ORB_Core::collocation_strategy (object ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ if (this->proxy_cache_[strategy] != 0)
+ return *this->proxy_cache_[strategy];
+
+ this->create_proxy (strategy ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ return *this->proxy_cache_[strategy];
+
+}
+
+void
+POA_IR::_TAO_ComponentRepository_Strategized_Proxy_Broker::create_proxy (
+ int strategy
+ ACE_ENV_ARG_DECL
+ )
+{
+ ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_);
+
+ if (this->proxy_cache_[strategy] == 0)
+ {
+ switch (strategy)
+ {
+ case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ POA_IR::_TAO_ComponentRepository_ThruPOA_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY:
+ default:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ ::IR::_TAO_ComponentRepository_Remote_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ }
+
+ }
+}
+
+
+//
+// End Strategized Proxy Broker Implementation
+///////////////////////////////////////////////////////////////////////
+
+
+IR::_TAO_ComponentRepository_Proxy_Broker *
+IR__TAO_ComponentRepository_Proxy_Broker_Factory_function (CORBA::Object_ptr obj)
+{
+ ACE_UNUSED_ARG (obj);
+ return ::POA_IR::_TAO_ComponentRepository_Strategized_Proxy_Broker::the_TAO_ComponentRepository_Strategized_Proxy_Broker();
+}
+
+int
+IR__TAO_ComponentRepository_Proxy_Broker_Factory_Initializer (long)
+{
+ IR__TAO_ComponentRepository_Proxy_Broker_Factory_function_pointer =
+ IR__TAO_ComponentRepository_Proxy_Broker_Factory_function;
+
+ return 0;
+}
+
+static int IR__TAO_ComponentRepository_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
+ IR__TAO_ComponentRepository_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, IR__TAO_ComponentRepository_Proxy_Broker_Factory_Initializer));
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Proxy Implementation
+//
+
+POA_IR::_TAO_ComponentRepository_ThruPOA_Proxy_Impl::_TAO_ComponentRepository_ThruPOA_Proxy_Impl (void)
+{}
+
+// ThruPOA Implementation of the IDL interface methods
+
+IR::ComponentDef_ptr POA_IR::_TAO_ComponentRepository_ThruPOA_Proxy_Impl::create_component (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::ComponentDef_ptr base_component,
+ const CORBA_InterfaceDefSeq & supports_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::ComponentDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "create_component",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ComponentRepository_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ComponentRepository:1.0"
+ )
+ )->create_component (
+ id,
+ name,
+ version,
+ base_component,
+ supports_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+IR::HomeDef_ptr POA_IR::_TAO_ComponentRepository_ThruPOA_Proxy_Impl::create_home (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::HomeDef_ptr base_home,
+ IR::ComponentDef_ptr managed_component,
+ CORBA_ValueDef_ptr primary_key
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::HomeDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "create_home",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ComponentRepository_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ComponentRepository:1.0"
+ )
+ )->create_home (
+ id,
+ name,
+ version,
+ base_home,
+ managed_component,
+ primary_key
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+//
+// End ThruPOA Proxy Implementation
+///////////////////////////////////////////////////////////////////////
+
+// skeleton constructor
+POA_IR::ComponentRepository::ComponentRepository (void)
+{
+ this->optable_ = &tao_IR_ComponentRepository_optable;
+}
+
+// copy ctor
+POA_IR::ComponentRepository::ComponentRepository (const ComponentRepository& rhs)
+ : POA_CORBA_Repository (rhs),
+ POA_CORBA_Container (rhs),
+ POA_CORBA_IRObject (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_IR::ComponentRepository::~ComponentRepository (void)
+{
+}
+
+void POA_IR::ComponentRepository::create_component_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::ComponentRepository *_tao_impl =
+ ACE_static_cast (POA_IR::ComponentRepository *, _tao_object_reference);
+
+ IR::ComponentDef_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::String_var version;
+ IR::ComponentDef_var base_component;
+ CORBA_InterfaceDefSeq supports_interfaces;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.out ()) &&
+ (_tao_in >> version.out ()) &&
+ (_tao_in >> base_component.out ()) &&
+ (_tao_in >> supports_interfaces)
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_IR_ComponentRepository_create_component ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ id.in (),
+ name.in (),
+ version.in (),
+ base_component.in (),
+ supports_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->create_component (
+ id.in (),
+ name.in (),
+ version.in (),
+ base_component.in (),
+ supports_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ IR::ComponentDef_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_IR::ComponentRepository::create_home_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::ComponentRepository *_tao_impl =
+ ACE_static_cast (POA_IR::ComponentRepository *, _tao_object_reference);
+
+ IR::HomeDef_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::String_var version;
+ IR::HomeDef_var base_home;
+ IR::ComponentDef_var managed_component;
+ CORBA_ValueDef_var primary_key;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.out ()) &&
+ (_tao_in >> version.out ()) &&
+ (_tao_in >> base_home.out ()) &&
+ (_tao_in >> managed_component.out ()) &&
+ (_tao_in >> primary_key.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_IR_ComponentRepository_create_home ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ id.in (),
+ name.in (),
+ version.in (),
+ base_home.in (),
+ managed_component.in (),
+ primary_key.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->create_home (
+ id.in (),
+ name.in (),
+ version.in (),
+ base_home.in (),
+ managed_component.in (),
+ primary_key.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ IR::HomeDef_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_IR::ComponentRepository::_is_a_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::ComponentRepository *_tao_impl = (POA_IR::ComponentRepository *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!(_tao_in >> value.out ()))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::ComponentRepository::_non_existent_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_IR::ComponentRepository *_tao_impl = (POA_IR::ComponentRepository *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::ComponentRepository::_interface_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_IR::ComponentRepository *_tao_impl = (POA_IR::ComponentRepository *) _tao_object_reference;
+ CORBA_InterfaceDef_ptr _tao_retval = 0;
+ CORBA::Boolean _tao_result = 0;
+
+ TAO_IFR_Client_Adapter *_tao_adapter =
+ ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
+ TAO_ORB_Core::ifr_client_adapter_name ()
+ );
+
+ if (_tao_adapter == 0)
+ {
+ ACE_THROW (CORBA::INTF_REPOS ());
+ }
+
+ ACE_TRY
+ {
+ _tao_retval = _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ _tao_result =
+ _tao_adapter->interfacedef_cdr_insert (
+ _tao_out,
+ _tao_retval
+ );
+ }
+ ACE_CATCHALL
+ {
+ _tao_adapter->dispose (_tao_retval);
+ }
+ ACE_ENDTRY;
+
+ if (_tao_result == 0)
+ {
+ ACE_THROW (CORBA::MARSHAL ());
+ }
+}
+
+CORBA::Boolean POA_IR::ComponentRepository::_is_a (
+ const char* value
+ ACE_ENV_ARG_DECL
+ )
+{
+ const char *base_id = CORBA::_tc_Object->id (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/ComponentRepository:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Repository:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Container:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, base_id)))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_IR::ComponentRepository::_downcast (
+ const char* logical_type_id
+ )
+{
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/ComponentRepository:1.0") == 0)
+ return ACE_static_cast (POA_IR::ComponentRepository_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Repository:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_Repository_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Container:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_Container_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_IR::ComponentRepository::_dispatch (TAO_ServerRequest &req, void *servant_upcall ACE_ENV_ARG_DECL)
+{
+ this->synchronous_upcall_dispatch (req,
+ servant_upcall,
+ this
+ ACE_ENV_ARG_PARAMETER);
+}
+
+
+const char* POA_IR::ComponentRepository::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/IR/ComponentRepository:1.0";
+}
+
+IR::ComponentRepository*
+POA_IR::ComponentRepository::_this (ACE_ENV_SINGLE_ARG_DECL)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ TAO_Stub_Auto_Ptr safe_stub (stub);
+
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0);
+ else
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0);
+
+ CORBA::Object_var obj = tmp;
+
+ (void) safe_stub.release ();
+
+ return ::IR::ComponentRepository::_unchecked_narrow (obj.in ());
+}
+
+
+class TAO_IR_ProvidesDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 23:08:24 */
+/* C++ code produced by gperf version 2.8 (ACE version) */
+/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0 -a -o -t -p -K opname_ -L C++ -Z TAO_IR_ProvidesDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_IR_ProvidesDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 0, 0, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 0, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 10, 37, 37, 37, 37, 10, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37,
+#else
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 0, 37, 0, 37, 37,
+ 0, 0, 37, 37, 37, 37, 37, 37, 37, 0,
+ 0, 37, 37, 37, 37, 37, 10, 37, 37, 37,
+ 37, 10, 37, 37, 37, 37, 37, 37,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_IR_ProvidesDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 17,
+ MIN_WORD_LENGTH = 4,
+ MAX_WORD_LENGTH = 26,
+ MIN_HASH_VALUE = 4,
+ MAX_HASH_VALUE = 36,
+ HASH_VALUE_RANGE = 33,
+ DUPLICATES = 4,
+ WORDLIST_SIZE = 21
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},
+ {"move", &POA_IR::ProvidesDef::move_skel},
+ {"_is_a", &POA_IR::ProvidesDef::_is_a_skel},
+ {"_get_id", &POA_IR::ProvidesDef::_get_id_skel},
+ {"_set_id", &POA_IR::ProvidesDef::_set_id_skel},
+ {"describe", &POA_IR::ProvidesDef::describe_skel},
+ {"_get_name", &POA_IR::ProvidesDef::_get_name_skel},
+ {"_set_name", &POA_IR::ProvidesDef::_set_name_skel},
+ {"_interface", &POA_IR::ProvidesDef::_interface_skel},
+ {"_get_version", &POA_IR::ProvidesDef::_get_version_skel},
+ {"_set_version", &POA_IR::ProvidesDef::_set_version_skel},
+ {"_get_def_kind", &POA_IR::ProvidesDef::_get_def_kind_skel},
+ {"_get_defined_in", &POA_IR::ProvidesDef::_get_defined_in_skel},
+ {"destroy", &POA_IR::ProvidesDef::destroy_skel},
+ {"_get_absolute_name", &POA_IR::ProvidesDef::_get_absolute_name_skel},
+ {"_get_interface_type", &POA_IR::ProvidesDef::_get_interface_type_skel},
+ {"_non_existent", &POA_IR::ProvidesDef::_non_existent_skel},
+ {"_get_containing_repository", &POA_IR::ProvidesDef::_get_containing_repository_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -9, -2, -12, -2, 4, 5, -1, 49, 8, -45, 11, -1, -46, 14,
+ -1, 15, -1, 16, 17, 18, -6, -2, -1, 19, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 20,
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ int slot = lookup[key];
+
+ if (slot >= 0 && slot < WORDLIST_SIZE)
+ {
+ 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 23:08:24 */
+static TAO_IR_ProvidesDef_Perfect_Hash_OpTable tao_IR_ProvidesDef_optable;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+class TAO_ServerRequestInfo_IR_ProvidesDef_interface_type_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_IR_ProvidesDef_interface_type_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_IR::ProvidesDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_InterfaceDef_ptr result);
+
+private:
+ TAO_ServerRequestInfo_IR_ProvidesDef_interface_type_get (const TAO_ServerRequestInfo_IR_ProvidesDef_interface_type_get &);
+ void operator= (const TAO_ServerRequestInfo_IR_ProvidesDef_interface_type_get &);
+
+private:
+ POA_IR::ProvidesDef *_tao_impl;
+ CORBA_InterfaceDef_ptr _result;
+};
+
+TAO_ServerRequestInfo_IR_ProvidesDef_interface_type_get::TAO_ServerRequestInfo_IR_ProvidesDef_interface_type_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_IR::ProvidesDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_IR_ProvidesDef_interface_type_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_IR_ProvidesDef_interface_type_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_IR_ProvidesDef_interface_type_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_IR_ProvidesDef_interface_type_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_IR_ProvidesDef_interface_type_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_IR_ProvidesDef_interface_type_get::result (CORBA_InterfaceDef_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Implementation
+//
+
+// Factory function Implementation.
+POA_IR::_TAO_ProvidesDef_Strategized_Proxy_Broker *POA_IR::_TAO_ProvidesDef_Strategized_Proxy_Broker::the_TAO_ProvidesDef_Strategized_Proxy_Broker (void)
+{
+ static POA_IR::_TAO_ProvidesDef_Strategized_Proxy_Broker strategized_proxy_broker;
+ return &strategized_proxy_broker;
+}
+
+POA_IR::_TAO_ProvidesDef_Strategized_Proxy_Broker::_TAO_ProvidesDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ this->proxy_cache_[i] = 0;
+
+}
+
+POA_IR::_TAO_ProvidesDef_Strategized_Proxy_Broker::~_TAO_ProvidesDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ delete this->proxy_cache_[i];
+
+}
+
+IR::_TAO_ProvidesDef_Proxy_Impl&
+POA_IR::_TAO_ProvidesDef_Strategized_Proxy_Broker::select_proxy (
+ ::IR::ProvidesDef *object
+ ACE_ENV_ARG_DECL
+ )
+{
+ int strategy =
+ TAO_ORB_Core::collocation_strategy (object ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ if (this->proxy_cache_[strategy] != 0)
+ return *this->proxy_cache_[strategy];
+
+ this->create_proxy (strategy ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ return *this->proxy_cache_[strategy];
+
+}
+
+void
+POA_IR::_TAO_ProvidesDef_Strategized_Proxy_Broker::create_proxy (
+ int strategy
+ ACE_ENV_ARG_DECL
+ )
+{
+ ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_);
+
+ if (this->proxy_cache_[strategy] == 0)
+ {
+ switch (strategy)
+ {
+ case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ POA_IR::_TAO_ProvidesDef_ThruPOA_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY:
+ default:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ ::IR::_TAO_ProvidesDef_Remote_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ }
+
+ }
+}
+
+
+//
+// End Strategized Proxy Broker Implementation
+///////////////////////////////////////////////////////////////////////
+
+
+IR::_TAO_ProvidesDef_Proxy_Broker *
+IR__TAO_ProvidesDef_Proxy_Broker_Factory_function (CORBA::Object_ptr obj)
+{
+ ACE_UNUSED_ARG (obj);
+ return ::POA_IR::_TAO_ProvidesDef_Strategized_Proxy_Broker::the_TAO_ProvidesDef_Strategized_Proxy_Broker();
+}
+
+int
+IR__TAO_ProvidesDef_Proxy_Broker_Factory_Initializer (long)
+{
+ IR__TAO_ProvidesDef_Proxy_Broker_Factory_function_pointer =
+ IR__TAO_ProvidesDef_Proxy_Broker_Factory_function;
+
+ return 0;
+}
+
+static int IR__TAO_ProvidesDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
+ IR__TAO_ProvidesDef_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, IR__TAO_ProvidesDef_Proxy_Broker_Factory_Initializer));
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Proxy Implementation
+//
+
+POA_IR::_TAO_ProvidesDef_ThruPOA_Proxy_Impl::_TAO_ProvidesDef_ThruPOA_Proxy_Impl (void)
+{}
+
+// ThruPOA Implementation of the IDL interface methods
+
+CORBA_InterfaceDef_ptr POA_IR::_TAO_ProvidesDef_ThruPOA_Proxy_Impl::interface_type (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_InterfaceDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "interface_type",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ProvidesDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ProvidesDef:1.0"
+ )
+ )->interface_type (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+//
+// End ThruPOA Proxy Implementation
+///////////////////////////////////////////////////////////////////////
+
+// skeleton constructor
+POA_IR::ProvidesDef::ProvidesDef (void)
+{
+ this->optable_ = &tao_IR_ProvidesDef_optable;
+}
+
+// copy ctor
+POA_IR::ProvidesDef::ProvidesDef (const ProvidesDef& rhs)
+ : POA_CORBA_Contained (rhs),
+ POA_CORBA_IRObject (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_IR::ProvidesDef::~ProvidesDef (void)
+{
+}
+
+void POA_IR::ProvidesDef::_get_interface_type_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_IR::ProvidesDef *_tao_impl =
+ ACE_static_cast (POA_IR::ProvidesDef *, _tao_object_reference);
+
+ CORBA_InterfaceDef_var _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_IR_ProvidesDef_interface_type_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->interface_type (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_InterfaceDef_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_IR::ProvidesDef::_is_a_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::ProvidesDef *_tao_impl = (POA_IR::ProvidesDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!(_tao_in >> value.out ()))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::ProvidesDef::_non_existent_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_IR::ProvidesDef *_tao_impl = (POA_IR::ProvidesDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::ProvidesDef::_interface_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_IR::ProvidesDef *_tao_impl = (POA_IR::ProvidesDef *) _tao_object_reference;
+ CORBA_InterfaceDef_ptr _tao_retval = 0;
+ CORBA::Boolean _tao_result = 0;
+
+ TAO_IFR_Client_Adapter *_tao_adapter =
+ ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
+ TAO_ORB_Core::ifr_client_adapter_name ()
+ );
+
+ if (_tao_adapter == 0)
+ {
+ ACE_THROW (CORBA::INTF_REPOS ());
+ }
+
+ ACE_TRY
+ {
+ _tao_retval = _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ _tao_result =
+ _tao_adapter->interfacedef_cdr_insert (
+ _tao_out,
+ _tao_retval
+ );
+ }
+ ACE_CATCHALL
+ {
+ _tao_adapter->dispose (_tao_retval);
+ }
+ ACE_ENDTRY;
+
+ if (_tao_result == 0)
+ {
+ ACE_THROW (CORBA::MARSHAL ());
+ }
+}
+
+CORBA::Boolean POA_IR::ProvidesDef::_is_a (
+ const char* value
+ ACE_ENV_ARG_DECL
+ )
+{
+ const char *base_id = CORBA::_tc_Object->id (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/ProvidesDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Contained:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, base_id)))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_IR::ProvidesDef::_downcast (
+ const char* logical_type_id
+ )
+{
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/ProvidesDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::ProvidesDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Contained:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_Contained_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_IR::ProvidesDef::_dispatch (TAO_ServerRequest &req, void *servant_upcall ACE_ENV_ARG_DECL)
+{
+ this->synchronous_upcall_dispatch (req,
+ servant_upcall,
+ this
+ ACE_ENV_ARG_PARAMETER);
+}
+
+
+const char* POA_IR::ProvidesDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/IR/ProvidesDef:1.0";
+}
+
+IR::ProvidesDef*
+POA_IR::ProvidesDef::_this (ACE_ENV_SINGLE_ARG_DECL)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ TAO_Stub_Auto_Ptr safe_stub (stub);
+
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0);
+ else
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0);
+
+ CORBA::Object_var obj = tmp;
+
+ (void) safe_stub.release ();
+
+ return ::IR::ProvidesDef::_unchecked_narrow (obj.in ());
+}
+
+
+class TAO_IR_UsesDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 23:08:25 */
+/* C++ code produced by gperf version 2.8 (ACE version) */
+/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0 -a -o -t -p -K opname_ -L C++ -Z TAO_IR_UsesDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_IR_UsesDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 0, 0, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 0, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 10, 37, 37, 37, 37, 10, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37,
+#else
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 0, 37, 0, 37, 37,
+ 0, 0, 37, 37, 37, 37, 37, 37, 37, 0,
+ 0, 37, 37, 37, 37, 37, 10, 37, 37, 37,
+ 37, 10, 37, 37, 37, 37, 37, 37,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_IR_UsesDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 18,
+ MIN_WORD_LENGTH = 4,
+ MAX_WORD_LENGTH = 26,
+ MIN_HASH_VALUE = 4,
+ MAX_HASH_VALUE = 36,
+ HASH_VALUE_RANGE = 33,
+ DUPLICATES = 4,
+ WORDLIST_SIZE = 22
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},
+ {"move", &POA_IR::UsesDef::move_skel},
+ {"_is_a", &POA_IR::UsesDef::_is_a_skel},
+ {"_get_id", &POA_IR::UsesDef::_get_id_skel},
+ {"_set_id", &POA_IR::UsesDef::_set_id_skel},
+ {"describe", &POA_IR::UsesDef::describe_skel},
+ {"_get_name", &POA_IR::UsesDef::_get_name_skel},
+ {"_set_name", &POA_IR::UsesDef::_set_name_skel},
+ {"_interface", &POA_IR::UsesDef::_interface_skel},
+ {"_get_version", &POA_IR::UsesDef::_get_version_skel},
+ {"_set_version", &POA_IR::UsesDef::_set_version_skel},
+ {"_get_def_kind", &POA_IR::UsesDef::_get_def_kind_skel},
+ {"_get_defined_in", &POA_IR::UsesDef::_get_defined_in_skel},
+ {"_get_is_multiple", &POA_IR::UsesDef::_get_is_multiple_skel},
+ {"destroy", &POA_IR::UsesDef::destroy_skel},
+ {"_get_absolute_name", &POA_IR::UsesDef::_get_absolute_name_skel},
+ {"_get_interface_type", &POA_IR::UsesDef::_get_interface_type_skel},
+ {"_non_existent", &POA_IR::UsesDef::_non_existent_skel},
+ {"_get_containing_repository", &POA_IR::UsesDef::_get_containing_repository_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -9, -2, -12, -2, 4, 5, -1, 49, 8, -45, 11, -1, -46, 14,
+ -1, 15, 16, 17, 18, 19, -6, -2, -1, 20, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 21,
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ int slot = lookup[key];
+
+ if (slot >= 0 && slot < WORDLIST_SIZE)
+ {
+ 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 23:08:25 */
+static TAO_IR_UsesDef_Perfect_Hash_OpTable tao_IR_UsesDef_optable;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+class TAO_ServerRequestInfo_IR_UsesDef_interface_type_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_IR_UsesDef_interface_type_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_IR::UsesDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_InterfaceDef_ptr result);
+
+private:
+ TAO_ServerRequestInfo_IR_UsesDef_interface_type_get (const TAO_ServerRequestInfo_IR_UsesDef_interface_type_get &);
+ void operator= (const TAO_ServerRequestInfo_IR_UsesDef_interface_type_get &);
+
+private:
+ POA_IR::UsesDef *_tao_impl;
+ CORBA_InterfaceDef_ptr _result;
+};
+
+TAO_ServerRequestInfo_IR_UsesDef_interface_type_get::TAO_ServerRequestInfo_IR_UsesDef_interface_type_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_IR::UsesDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_IR_UsesDef_interface_type_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_IR_UsesDef_interface_type_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_IR_UsesDef_interface_type_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_IR_UsesDef_interface_type_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_IR_UsesDef_interface_type_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_IR_UsesDef_interface_type_get::result (CORBA_InterfaceDef_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_IR_UsesDef_is_multiple_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_IR_UsesDef_is_multiple_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_IR::UsesDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA::Boolean result);
+
+private:
+ TAO_ServerRequestInfo_IR_UsesDef_is_multiple_get (const TAO_ServerRequestInfo_IR_UsesDef_is_multiple_get &);
+ void operator= (const TAO_ServerRequestInfo_IR_UsesDef_is_multiple_get &);
+
+private:
+ POA_IR::UsesDef *_tao_impl;
+ CORBA::Boolean _result;
+};
+
+TAO_ServerRequestInfo_IR_UsesDef_is_multiple_get::TAO_ServerRequestInfo_IR_UsesDef_is_multiple_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_IR::UsesDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_IR_UsesDef_is_multiple_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_IR_UsesDef_is_multiple_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_IR_UsesDef_is_multiple_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= CORBA::Any::from_boolean (this->_result);
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_IR_UsesDef_is_multiple_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_IR_UsesDef_is_multiple_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_IR_UsesDef_is_multiple_get::result (CORBA::Boolean result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Implementation
+//
+
+// Factory function Implementation.
+POA_IR::_TAO_UsesDef_Strategized_Proxy_Broker *POA_IR::_TAO_UsesDef_Strategized_Proxy_Broker::the_TAO_UsesDef_Strategized_Proxy_Broker (void)
+{
+ static POA_IR::_TAO_UsesDef_Strategized_Proxy_Broker strategized_proxy_broker;
+ return &strategized_proxy_broker;
+}
+
+POA_IR::_TAO_UsesDef_Strategized_Proxy_Broker::_TAO_UsesDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ this->proxy_cache_[i] = 0;
+
+}
+
+POA_IR::_TAO_UsesDef_Strategized_Proxy_Broker::~_TAO_UsesDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ delete this->proxy_cache_[i];
+
+}
+
+IR::_TAO_UsesDef_Proxy_Impl&
+POA_IR::_TAO_UsesDef_Strategized_Proxy_Broker::select_proxy (
+ ::IR::UsesDef *object
+ ACE_ENV_ARG_DECL
+ )
+{
+ int strategy =
+ TAO_ORB_Core::collocation_strategy (object ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ if (this->proxy_cache_[strategy] != 0)
+ return *this->proxy_cache_[strategy];
+
+ this->create_proxy (strategy ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ return *this->proxy_cache_[strategy];
+
+}
+
+void
+POA_IR::_TAO_UsesDef_Strategized_Proxy_Broker::create_proxy (
+ int strategy
+ ACE_ENV_ARG_DECL
+ )
+{
+ ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_);
+
+ if (this->proxy_cache_[strategy] == 0)
+ {
+ switch (strategy)
+ {
+ case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ POA_IR::_TAO_UsesDef_ThruPOA_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY:
+ default:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ ::IR::_TAO_UsesDef_Remote_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ }
+
+ }
+}
+
+
+//
+// End Strategized Proxy Broker Implementation
+///////////////////////////////////////////////////////////////////////
+
+
+IR::_TAO_UsesDef_Proxy_Broker *
+IR__TAO_UsesDef_Proxy_Broker_Factory_function (CORBA::Object_ptr obj)
+{
+ ACE_UNUSED_ARG (obj);
+ return ::POA_IR::_TAO_UsesDef_Strategized_Proxy_Broker::the_TAO_UsesDef_Strategized_Proxy_Broker();
+}
+
+int
+IR__TAO_UsesDef_Proxy_Broker_Factory_Initializer (long)
+{
+ IR__TAO_UsesDef_Proxy_Broker_Factory_function_pointer =
+ IR__TAO_UsesDef_Proxy_Broker_Factory_function;
+
+ return 0;
+}
+
+static int IR__TAO_UsesDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
+ IR__TAO_UsesDef_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, IR__TAO_UsesDef_Proxy_Broker_Factory_Initializer));
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Proxy Implementation
+//
+
+POA_IR::_TAO_UsesDef_ThruPOA_Proxy_Impl::_TAO_UsesDef_ThruPOA_Proxy_Impl (void)
+{}
+
+// ThruPOA Implementation of the IDL interface methods
+
+CORBA_InterfaceDef_ptr POA_IR::_TAO_UsesDef_ThruPOA_Proxy_Impl::interface_type (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_InterfaceDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "interface_type",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::UsesDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/UsesDef:1.0"
+ )
+ )->interface_type (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+CORBA::Boolean POA_IR::_TAO_UsesDef_ThruPOA_Proxy_Impl::is_multiple (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::Boolean _tao_retval = 0;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "is_multiple",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (_tao_retval);
+ return ACE_reinterpret_cast (
+ POA_IR::UsesDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/UsesDef:1.0"
+ )
+ )->is_multiple (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+//
+// End ThruPOA Proxy Implementation
+///////////////////////////////////////////////////////////////////////
+
+// skeleton constructor
+POA_IR::UsesDef::UsesDef (void)
+{
+ this->optable_ = &tao_IR_UsesDef_optable;
+}
+
+// copy ctor
+POA_IR::UsesDef::UsesDef (const UsesDef& rhs)
+ : POA_CORBA_Contained (rhs),
+ POA_CORBA_IRObject (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_IR::UsesDef::~UsesDef (void)
+{
+}
+
+void POA_IR::UsesDef::_get_interface_type_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_IR::UsesDef *_tao_impl =
+ ACE_static_cast (POA_IR::UsesDef *, _tao_object_reference);
+
+ CORBA_InterfaceDef_var _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_IR_UsesDef_interface_type_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->interface_type (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_InterfaceDef_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_IR::UsesDef::_get_is_multiple_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_IR::UsesDef *_tao_impl =
+ ACE_static_cast (POA_IR::UsesDef *, _tao_object_reference);
+
+ CORBA::Boolean _tao_retval = 0;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_IR_UsesDef_is_multiple_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->is_multiple (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA::Boolean _tao_retval_info = _tao_retval;
+ ri.result (_tao_retval_info);
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << CORBA::Any::from_boolean (_tao_retval))
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_IR::UsesDef::_is_a_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::UsesDef *_tao_impl = (POA_IR::UsesDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!(_tao_in >> value.out ()))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::UsesDef::_non_existent_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_IR::UsesDef *_tao_impl = (POA_IR::UsesDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::UsesDef::_interface_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_IR::UsesDef *_tao_impl = (POA_IR::UsesDef *) _tao_object_reference;
+ CORBA_InterfaceDef_ptr _tao_retval = 0;
+ CORBA::Boolean _tao_result = 0;
+
+ TAO_IFR_Client_Adapter *_tao_adapter =
+ ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
+ TAO_ORB_Core::ifr_client_adapter_name ()
+ );
+
+ if (_tao_adapter == 0)
+ {
+ ACE_THROW (CORBA::INTF_REPOS ());
+ }
+
+ ACE_TRY
+ {
+ _tao_retval = _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ _tao_result =
+ _tao_adapter->interfacedef_cdr_insert (
+ _tao_out,
+ _tao_retval
+ );
+ }
+ ACE_CATCHALL
+ {
+ _tao_adapter->dispose (_tao_retval);
+ }
+ ACE_ENDTRY;
+
+ if (_tao_result == 0)
+ {
+ ACE_THROW (CORBA::MARSHAL ());
+ }
+}
+
+CORBA::Boolean POA_IR::UsesDef::_is_a (
+ const char* value
+ ACE_ENV_ARG_DECL
+ )
+{
+ const char *base_id = CORBA::_tc_Object->id (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/UsesDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Contained:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, base_id)))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_IR::UsesDef::_downcast (
+ const char* logical_type_id
+ )
+{
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/UsesDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::UsesDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Contained:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_Contained_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_IR::UsesDef::_dispatch (TAO_ServerRequest &req, void *servant_upcall ACE_ENV_ARG_DECL)
+{
+ this->synchronous_upcall_dispatch (req,
+ servant_upcall,
+ this
+ ACE_ENV_ARG_PARAMETER);
+}
+
+
+const char* POA_IR::UsesDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/IR/UsesDef:1.0";
+}
+
+IR::UsesDef*
+POA_IR::UsesDef::_this (ACE_ENV_SINGLE_ARG_DECL)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ TAO_Stub_Auto_Ptr safe_stub (stub);
+
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0);
+ else
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0);
+
+ CORBA::Object_var obj = tmp;
+
+ (void) safe_stub.release ();
+
+ return ::IR::UsesDef::_unchecked_narrow (obj.in ());
+}
+
+
+class TAO_IR_EventDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 23:08:25 */
+/* C++ code produced by gperf version 2.8 (ACE version) */
+/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0 -a -o -t -p -K opname_ -L C++ -Z TAO_IR_EventDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_IR_EventDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 0, 0, 37, 37, 37, 10, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 0, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 10, 37, 37, 37, 37, 10, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37,
+#else
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 0, 37, 0, 37, 37,
+ 0, 0, 37, 37, 37, 10, 37, 37, 37, 0,
+ 0, 37, 37, 37, 37, 37, 10, 37, 37, 37,
+ 37, 10, 37, 37, 37, 37, 37, 37,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_IR_EventDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 18,
+ MIN_WORD_LENGTH = 4,
+ MAX_WORD_LENGTH = 26,
+ MIN_HASH_VALUE = 4,
+ MAX_HASH_VALUE = 36,
+ HASH_VALUE_RANGE = 33,
+ DUPLICATES = 4,
+ WORDLIST_SIZE = 22
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},
+ {"move", &POA_IR::EventDef::move_skel},
+ {"_is_a", &POA_IR::EventDef::_is_a_skel},
+ {"_get_id", &POA_IR::EventDef::_get_id_skel},
+ {"_set_id", &POA_IR::EventDef::_set_id_skel},
+ {"describe", &POA_IR::EventDef::describe_skel},
+ {"_get_name", &POA_IR::EventDef::_get_name_skel},
+ {"_set_name", &POA_IR::EventDef::_set_name_skel},
+ {"_interface", &POA_IR::EventDef::_interface_skel},
+ {"_get_version", &POA_IR::EventDef::_get_version_skel},
+ {"_set_version", &POA_IR::EventDef::_set_version_skel},
+ {"_get_def_kind", &POA_IR::EventDef::_get_def_kind_skel},
+ {"is_a", &POA_IR::EventDef::is_a_skel},
+ {"_get_defined_in", &POA_IR::EventDef::_get_defined_in_skel},
+ {"destroy", &POA_IR::EventDef::destroy_skel},
+ {"_get_absolute_name", &POA_IR::EventDef::_get_absolute_name_skel},
+ {"_get_event", &POA_IR::EventDef::_get_event_skel},
+ {"_non_existent", &POA_IR::EventDef::_non_existent_skel},
+ {"_get_containing_repository", &POA_IR::EventDef::_get_containing_repository_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -9, -2, -12, -2, 4, 5, -1, 50, 8, -45, 11, -1, -46, 14,
+ 15, 16, -1, 17, 18, -1, 19, -6, -2, 20, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 21,
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ int slot = lookup[key];
+
+ if (slot >= 0 && slot < WORDLIST_SIZE)
+ {
+ 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 23:08:25 */
+static TAO_IR_EventDef_Perfect_Hash_OpTable tao_IR_EventDef_optable;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+class TAO_ServerRequestInfo_IR_EventDef_is_a : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_IR_EventDef_is_a (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_IR::EventDef *tao_impl
+ ,
+ const char * event_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA::Boolean result);
+
+private:
+ TAO_ServerRequestInfo_IR_EventDef_is_a (const TAO_ServerRequestInfo_IR_EventDef_is_a &);
+ void operator= (const TAO_ServerRequestInfo_IR_EventDef_is_a &);
+
+private:
+ POA_IR::EventDef *_tao_impl;
+ const char * event_id_;
+ CORBA::Boolean _result;
+};
+
+TAO_ServerRequestInfo_IR_EventDef_is_a::TAO_ServerRequestInfo_IR_EventDef_is_a (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_IR::EventDef *tao_impl,
+ const char * event_id
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ event_id_ (event_id)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_IR_EventDef_is_a::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (1);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= event_id_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_IR_EventDef_is_a::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_IR_EventDef_is_a::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= CORBA::Any::from_boolean (this->_result);
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_IR_EventDef_is_a::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_IR_EventDef_is_a::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_IR_EventDef_is_a::result (CORBA::Boolean result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_IR_EventDef_event_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_IR_EventDef_event_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_IR::EventDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_ValueDef_ptr result);
+
+private:
+ TAO_ServerRequestInfo_IR_EventDef_event_get (const TAO_ServerRequestInfo_IR_EventDef_event_get &);
+ void operator= (const TAO_ServerRequestInfo_IR_EventDef_event_get &);
+
+private:
+ POA_IR::EventDef *_tao_impl;
+ CORBA_ValueDef_ptr _result;
+};
+
+TAO_ServerRequestInfo_IR_EventDef_event_get::TAO_ServerRequestInfo_IR_EventDef_event_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_IR::EventDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_IR_EventDef_event_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_IR_EventDef_event_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_IR_EventDef_event_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_IR_EventDef_event_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_IR_EventDef_event_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_IR_EventDef_event_get::result (CORBA_ValueDef_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Implementation
+//
+
+// Factory function Implementation.
+POA_IR::_TAO_EventDef_Strategized_Proxy_Broker *POA_IR::_TAO_EventDef_Strategized_Proxy_Broker::the_TAO_EventDef_Strategized_Proxy_Broker (void)
+{
+ static POA_IR::_TAO_EventDef_Strategized_Proxy_Broker strategized_proxy_broker;
+ return &strategized_proxy_broker;
+}
+
+POA_IR::_TAO_EventDef_Strategized_Proxy_Broker::_TAO_EventDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ this->proxy_cache_[i] = 0;
+
+}
+
+POA_IR::_TAO_EventDef_Strategized_Proxy_Broker::~_TAO_EventDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ delete this->proxy_cache_[i];
+
+}
+
+IR::_TAO_EventDef_Proxy_Impl&
+POA_IR::_TAO_EventDef_Strategized_Proxy_Broker::select_proxy (
+ ::IR::EventDef *object
+ ACE_ENV_ARG_DECL
+ )
+{
+ int strategy =
+ TAO_ORB_Core::collocation_strategy (object ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ if (this->proxy_cache_[strategy] != 0)
+ return *this->proxy_cache_[strategy];
+
+ this->create_proxy (strategy ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ return *this->proxy_cache_[strategy];
+
+}
+
+void
+POA_IR::_TAO_EventDef_Strategized_Proxy_Broker::create_proxy (
+ int strategy
+ ACE_ENV_ARG_DECL
+ )
+{
+ ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_);
+
+ if (this->proxy_cache_[strategy] == 0)
+ {
+ switch (strategy)
+ {
+ case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ POA_IR::_TAO_EventDef_ThruPOA_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY:
+ default:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ ::IR::_TAO_EventDef_Remote_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ }
+
+ }
+}
+
+
+//
+// End Strategized Proxy Broker Implementation
+///////////////////////////////////////////////////////////////////////
+
+
+IR::_TAO_EventDef_Proxy_Broker *
+IR__TAO_EventDef_Proxy_Broker_Factory_function (CORBA::Object_ptr obj)
+{
+ ACE_UNUSED_ARG (obj);
+ return ::POA_IR::_TAO_EventDef_Strategized_Proxy_Broker::the_TAO_EventDef_Strategized_Proxy_Broker();
+}
+
+int
+IR__TAO_EventDef_Proxy_Broker_Factory_Initializer (long)
+{
+ IR__TAO_EventDef_Proxy_Broker_Factory_function_pointer =
+ IR__TAO_EventDef_Proxy_Broker_Factory_function;
+
+ return 0;
+}
+
+static int IR__TAO_EventDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
+ IR__TAO_EventDef_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, IR__TAO_EventDef_Proxy_Broker_Factory_Initializer));
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Proxy Implementation
+//
+
+POA_IR::_TAO_EventDef_ThruPOA_Proxy_Impl::_TAO_EventDef_ThruPOA_Proxy_Impl (void)
+{}
+
+// ThruPOA Implementation of the IDL interface methods
+
+CORBA::Boolean POA_IR::_TAO_EventDef_ThruPOA_Proxy_Impl::is_a (
+ CORBA_Object *_collocated_tao_target_,
+ const char * event_id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::Boolean _tao_retval = 0;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "is_a",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (_tao_retval);
+ return ACE_reinterpret_cast (
+ POA_IR::EventDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/EventDef:1.0"
+ )
+ )->is_a (
+ event_id
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+CORBA_ValueDef_ptr POA_IR::_TAO_EventDef_ThruPOA_Proxy_Impl::event (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_ValueDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "event",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::EventDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/EventDef:1.0"
+ )
+ )->event (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+//
+// End ThruPOA Proxy Implementation
+///////////////////////////////////////////////////////////////////////
+
+// skeleton constructor
+POA_IR::EventDef::EventDef (void)
+{
+ this->optable_ = &tao_IR_EventDef_optable;
+}
+
+// copy ctor
+POA_IR::EventDef::EventDef (const EventDef& rhs)
+ : POA_CORBA_Contained (rhs),
+ POA_CORBA_IRObject (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_IR::EventDef::~EventDef (void)
+{
+}
+
+void POA_IR::EventDef::is_a_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::EventDef *_tao_impl =
+ ACE_static_cast (POA_IR::EventDef *, _tao_object_reference);
+
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var event_id;
+ if (!(
+ (_tao_in >> event_id.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_IR_EventDef_is_a ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ event_id.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->is_a (
+ event_id.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA::Boolean _tao_retval_info = _tao_retval;
+ ri.result (_tao_retval_info);
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << CORBA::Any::from_boolean (_tao_retval))
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_IR::EventDef::_get_event_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_IR::EventDef *_tao_impl =
+ ACE_static_cast (POA_IR::EventDef *, _tao_object_reference);
+
+ CORBA_ValueDef_var _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_IR_EventDef_event_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->event (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_ValueDef_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_IR::EventDef::_is_a_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::EventDef *_tao_impl = (POA_IR::EventDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!(_tao_in >> value.out ()))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::EventDef::_non_existent_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_IR::EventDef *_tao_impl = (POA_IR::EventDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::EventDef::_interface_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_IR::EventDef *_tao_impl = (POA_IR::EventDef *) _tao_object_reference;
+ CORBA_InterfaceDef_ptr _tao_retval = 0;
+ CORBA::Boolean _tao_result = 0;
+
+ TAO_IFR_Client_Adapter *_tao_adapter =
+ ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
+ TAO_ORB_Core::ifr_client_adapter_name ()
+ );
+
+ if (_tao_adapter == 0)
+ {
+ ACE_THROW (CORBA::INTF_REPOS ());
+ }
+
+ ACE_TRY
+ {
+ _tao_retval = _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ _tao_result =
+ _tao_adapter->interfacedef_cdr_insert (
+ _tao_out,
+ _tao_retval
+ );
+ }
+ ACE_CATCHALL
+ {
+ _tao_adapter->dispose (_tao_retval);
+ }
+ ACE_ENDTRY;
+
+ if (_tao_result == 0)
+ {
+ ACE_THROW (CORBA::MARSHAL ());
+ }
+}
+
+CORBA::Boolean POA_IR::EventDef::_is_a (
+ const char* value
+ ACE_ENV_ARG_DECL
+ )
+{
+ const char *base_id = CORBA::_tc_Object->id (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/EventDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Contained:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, base_id)))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_IR::EventDef::_downcast (
+ const char* logical_type_id
+ )
+{
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/EventDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::EventDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Contained:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_Contained_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_IR::EventDef::_dispatch (TAO_ServerRequest &req, void *servant_upcall ACE_ENV_ARG_DECL)
+{
+ this->synchronous_upcall_dispatch (req,
+ servant_upcall,
+ this
+ ACE_ENV_ARG_PARAMETER);
+}
+
+
+const char* POA_IR::EventDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/IR/EventDef:1.0";
+}
+
+IR::EventDef*
+POA_IR::EventDef::_this (ACE_ENV_SINGLE_ARG_DECL)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ TAO_Stub_Auto_Ptr safe_stub (stub);
+
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0);
+ else
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0);
+
+ CORBA::Object_var obj = tmp;
+
+ (void) safe_stub.release ();
+
+ return ::IR::EventDef::_unchecked_narrow (obj.in ());
+}
+
+
+class TAO_IR_EmitsDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 23:08:26 */
+/* C++ code produced by gperf version 2.8 (ACE version) */
+/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0 -a -o -t -p -K opname_ -L C++ -Z TAO_IR_EmitsDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_IR_EmitsDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 0, 0, 37, 37, 37, 10, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 0, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 10, 37, 37, 37, 37, 10, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37,
+#else
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 0, 37, 0, 37, 37,
+ 0, 0, 37, 37, 37, 10, 37, 37, 37, 0,
+ 0, 37, 37, 37, 37, 37, 10, 37, 37, 37,
+ 37, 10, 37, 37, 37, 37, 37, 37,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_IR_EmitsDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 18,
+ MIN_WORD_LENGTH = 4,
+ MAX_WORD_LENGTH = 26,
+ MIN_HASH_VALUE = 4,
+ MAX_HASH_VALUE = 36,
+ HASH_VALUE_RANGE = 33,
+ DUPLICATES = 4,
+ WORDLIST_SIZE = 22
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},
+ {"move", &POA_IR::EmitsDef::move_skel},
+ {"_is_a", &POA_IR::EmitsDef::_is_a_skel},
+ {"_get_id", &POA_IR::EmitsDef::_get_id_skel},
+ {"_set_id", &POA_IR::EmitsDef::_set_id_skel},
+ {"describe", &POA_IR::EmitsDef::describe_skel},
+ {"_get_name", &POA_IR::EmitsDef::_get_name_skel},
+ {"_set_name", &POA_IR::EmitsDef::_set_name_skel},
+ {"_interface", &POA_IR::EmitsDef::_interface_skel},
+ {"_get_version", &POA_IR::EmitsDef::_get_version_skel},
+ {"_set_version", &POA_IR::EmitsDef::_set_version_skel},
+ {"_get_def_kind", &POA_IR::EmitsDef::_get_def_kind_skel},
+ {"is_a", &POA_IR::EmitsDef::is_a_skel},
+ {"_get_defined_in", &POA_IR::EmitsDef::_get_defined_in_skel},
+ {"destroy", &POA_IR::EmitsDef::destroy_skel},
+ {"_get_absolute_name", &POA_IR::EmitsDef::_get_absolute_name_skel},
+ {"_get_event", &POA_IR::EmitsDef::_get_event_skel},
+ {"_non_existent", &POA_IR::EmitsDef::_non_existent_skel},
+ {"_get_containing_repository", &POA_IR::EmitsDef::_get_containing_repository_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -9, -2, -12, -2, 4, 5, -1, 50, 8, -45, 11, -1, -46, 14,
+ 15, 16, -1, 17, 18, -1, 19, -6, -2, 20, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 21,
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ int slot = lookup[key];
+
+ if (slot >= 0 && slot < WORDLIST_SIZE)
+ {
+ 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 23:08:26 */
+static TAO_IR_EmitsDef_Perfect_Hash_OpTable tao_IR_EmitsDef_optable;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+#endif /* TAO_HAS_INTERCEPTORS */
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Implementation
+//
+
+// Factory function Implementation.
+POA_IR::_TAO_EmitsDef_Strategized_Proxy_Broker *POA_IR::_TAO_EmitsDef_Strategized_Proxy_Broker::the_TAO_EmitsDef_Strategized_Proxy_Broker (void)
+{
+ static POA_IR::_TAO_EmitsDef_Strategized_Proxy_Broker strategized_proxy_broker;
+ return &strategized_proxy_broker;
+}
+
+POA_IR::_TAO_EmitsDef_Strategized_Proxy_Broker::_TAO_EmitsDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ this->proxy_cache_[i] = 0;
+
+}
+
+POA_IR::_TAO_EmitsDef_Strategized_Proxy_Broker::~_TAO_EmitsDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ delete this->proxy_cache_[i];
+
+}
+
+IR::_TAO_EmitsDef_Proxy_Impl&
+POA_IR::_TAO_EmitsDef_Strategized_Proxy_Broker::select_proxy (
+ ::IR::EmitsDef *object
+ ACE_ENV_ARG_DECL
+ )
+{
+ int strategy =
+ TAO_ORB_Core::collocation_strategy (object ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ if (this->proxy_cache_[strategy] != 0)
+ return *this->proxy_cache_[strategy];
+
+ this->create_proxy (strategy ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ return *this->proxy_cache_[strategy];
+
+}
+
+void
+POA_IR::_TAO_EmitsDef_Strategized_Proxy_Broker::create_proxy (
+ int strategy
+ ACE_ENV_ARG_DECL
+ )
+{
+ ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_);
+
+ if (this->proxy_cache_[strategy] == 0)
+ {
+ switch (strategy)
+ {
+ case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ POA_IR::_TAO_EmitsDef_ThruPOA_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY:
+ default:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ ::IR::_TAO_EmitsDef_Remote_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ }
+
+ }
+}
+
+
+//
+// End Strategized Proxy Broker Implementation
+///////////////////////////////////////////////////////////////////////
+
+
+IR::_TAO_EmitsDef_Proxy_Broker *
+IR__TAO_EmitsDef_Proxy_Broker_Factory_function (CORBA::Object_ptr obj)
+{
+ ACE_UNUSED_ARG (obj);
+ return ::POA_IR::_TAO_EmitsDef_Strategized_Proxy_Broker::the_TAO_EmitsDef_Strategized_Proxy_Broker();
+}
+
+int
+IR__TAO_EmitsDef_Proxy_Broker_Factory_Initializer (long)
+{
+ IR__TAO_EmitsDef_Proxy_Broker_Factory_function_pointer =
+ IR__TAO_EmitsDef_Proxy_Broker_Factory_function;
+
+ return 0;
+}
+
+static int IR__TAO_EmitsDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
+ IR__TAO_EmitsDef_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, IR__TAO_EmitsDef_Proxy_Broker_Factory_Initializer));
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Proxy Implementation
+//
+
+POA_IR::_TAO_EmitsDef_ThruPOA_Proxy_Impl::_TAO_EmitsDef_ThruPOA_Proxy_Impl (void)
+{}
+
+// ThruPOA Implementation of the IDL interface methods
+
+//
+// End ThruPOA Proxy Implementation
+///////////////////////////////////////////////////////////////////////
+
+// skeleton constructor
+POA_IR::EmitsDef::EmitsDef (void)
+{
+ this->optable_ = &tao_IR_EmitsDef_optable;
+}
+
+// copy ctor
+POA_IR::EmitsDef::EmitsDef (const EmitsDef& rhs)
+ : ACE_NESTED_CLASS (POA_IR,EventDef) (rhs),
+ POA_CORBA_Contained (rhs),
+ POA_CORBA_IRObject (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_IR::EmitsDef::~EmitsDef (void)
+{
+}
+
+void POA_IR::EmitsDef::_is_a_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::EmitsDef *_tao_impl = (POA_IR::EmitsDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!(_tao_in >> value.out ()))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::EmitsDef::_non_existent_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_IR::EmitsDef *_tao_impl = (POA_IR::EmitsDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::EmitsDef::_interface_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_IR::EmitsDef *_tao_impl = (POA_IR::EmitsDef *) _tao_object_reference;
+ CORBA_InterfaceDef_ptr _tao_retval = 0;
+ CORBA::Boolean _tao_result = 0;
+
+ TAO_IFR_Client_Adapter *_tao_adapter =
+ ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
+ TAO_ORB_Core::ifr_client_adapter_name ()
+ );
+
+ if (_tao_adapter == 0)
+ {
+ ACE_THROW (CORBA::INTF_REPOS ());
+ }
+
+ ACE_TRY
+ {
+ _tao_retval = _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ _tao_result =
+ _tao_adapter->interfacedef_cdr_insert (
+ _tao_out,
+ _tao_retval
+ );
+ }
+ ACE_CATCHALL
+ {
+ _tao_adapter->dispose (_tao_retval);
+ }
+ ACE_ENDTRY;
+
+ if (_tao_result == 0)
+ {
+ ACE_THROW (CORBA::MARSHAL ());
+ }
+}
+
+CORBA::Boolean POA_IR::EmitsDef::_is_a (
+ const char* value
+ ACE_ENV_ARG_DECL
+ )
+{
+ const char *base_id = CORBA::_tc_Object->id (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/EmitsDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/EventDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Contained:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, base_id)))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_IR::EmitsDef::_downcast (
+ const char* logical_type_id
+ )
+{
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/EmitsDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::EmitsDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/EventDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::EventDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Contained:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_Contained_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_IR::EmitsDef::_dispatch (TAO_ServerRequest &req, void *servant_upcall ACE_ENV_ARG_DECL)
+{
+ this->synchronous_upcall_dispatch (req,
+ servant_upcall,
+ this
+ ACE_ENV_ARG_PARAMETER);
+}
+
+
+const char* POA_IR::EmitsDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/IR/EmitsDef:1.0";
+}
+
+IR::EmitsDef*
+POA_IR::EmitsDef::_this (ACE_ENV_SINGLE_ARG_DECL)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ TAO_Stub_Auto_Ptr safe_stub (stub);
+
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0);
+ else
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0);
+
+ CORBA::Object_var obj = tmp;
+
+ (void) safe_stub.release ();
+
+ return ::IR::EmitsDef::_unchecked_narrow (obj.in ());
+}
+
+
+class TAO_IR_PublishesDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 23:08:26 */
+/* C++ code produced by gperf version 2.8 (ACE version) */
+/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0 -a -o -t -p -K opname_ -L C++ -Z TAO_IR_PublishesDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_IR_PublishesDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 0, 0, 37, 37, 37, 10, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 0, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 10, 37, 37, 37, 37, 10, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37,
+#else
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 0, 37, 0, 37, 37,
+ 0, 0, 37, 37, 37, 10, 37, 37, 37, 0,
+ 0, 37, 37, 37, 37, 37, 10, 37, 37, 37,
+ 37, 10, 37, 37, 37, 37, 37, 37,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_IR_PublishesDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 18,
+ MIN_WORD_LENGTH = 4,
+ MAX_WORD_LENGTH = 26,
+ MIN_HASH_VALUE = 4,
+ MAX_HASH_VALUE = 36,
+ HASH_VALUE_RANGE = 33,
+ DUPLICATES = 4,
+ WORDLIST_SIZE = 22
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},
+ {"move", &POA_IR::PublishesDef::move_skel},
+ {"_is_a", &POA_IR::PublishesDef::_is_a_skel},
+ {"_get_id", &POA_IR::PublishesDef::_get_id_skel},
+ {"_set_id", &POA_IR::PublishesDef::_set_id_skel},
+ {"describe", &POA_IR::PublishesDef::describe_skel},
+ {"_get_name", &POA_IR::PublishesDef::_get_name_skel},
+ {"_set_name", &POA_IR::PublishesDef::_set_name_skel},
+ {"_interface", &POA_IR::PublishesDef::_interface_skel},
+ {"_get_version", &POA_IR::PublishesDef::_get_version_skel},
+ {"_set_version", &POA_IR::PublishesDef::_set_version_skel},
+ {"_get_def_kind", &POA_IR::PublishesDef::_get_def_kind_skel},
+ {"is_a", &POA_IR::PublishesDef::is_a_skel},
+ {"_get_defined_in", &POA_IR::PublishesDef::_get_defined_in_skel},
+ {"destroy", &POA_IR::PublishesDef::destroy_skel},
+ {"_get_absolute_name", &POA_IR::PublishesDef::_get_absolute_name_skel},
+ {"_get_event", &POA_IR::PublishesDef::_get_event_skel},
+ {"_non_existent", &POA_IR::PublishesDef::_non_existent_skel},
+ {"_get_containing_repository", &POA_IR::PublishesDef::_get_containing_repository_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -9, -2, -12, -2, 4, 5, -1, 50, 8, -45, 11, -1, -46, 14,
+ 15, 16, -1, 17, 18, -1, 19, -6, -2, 20, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 21,
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ int slot = lookup[key];
+
+ if (slot >= 0 && slot < WORDLIST_SIZE)
+ {
+ 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 23:08:26 */
+static TAO_IR_PublishesDef_Perfect_Hash_OpTable tao_IR_PublishesDef_optable;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+#endif /* TAO_HAS_INTERCEPTORS */
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Implementation
+//
+
+// Factory function Implementation.
+POA_IR::_TAO_PublishesDef_Strategized_Proxy_Broker *POA_IR::_TAO_PublishesDef_Strategized_Proxy_Broker::the_TAO_PublishesDef_Strategized_Proxy_Broker (void)
+{
+ static POA_IR::_TAO_PublishesDef_Strategized_Proxy_Broker strategized_proxy_broker;
+ return &strategized_proxy_broker;
+}
+
+POA_IR::_TAO_PublishesDef_Strategized_Proxy_Broker::_TAO_PublishesDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ this->proxy_cache_[i] = 0;
+
+}
+
+POA_IR::_TAO_PublishesDef_Strategized_Proxy_Broker::~_TAO_PublishesDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ delete this->proxy_cache_[i];
+
+}
+
+IR::_TAO_PublishesDef_Proxy_Impl&
+POA_IR::_TAO_PublishesDef_Strategized_Proxy_Broker::select_proxy (
+ ::IR::PublishesDef *object
+ ACE_ENV_ARG_DECL
+ )
+{
+ int strategy =
+ TAO_ORB_Core::collocation_strategy (object ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ if (this->proxy_cache_[strategy] != 0)
+ return *this->proxy_cache_[strategy];
+
+ this->create_proxy (strategy ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ return *this->proxy_cache_[strategy];
+
+}
+
+void
+POA_IR::_TAO_PublishesDef_Strategized_Proxy_Broker::create_proxy (
+ int strategy
+ ACE_ENV_ARG_DECL
+ )
+{
+ ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_);
+
+ if (this->proxy_cache_[strategy] == 0)
+ {
+ switch (strategy)
+ {
+ case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ POA_IR::_TAO_PublishesDef_ThruPOA_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY:
+ default:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ ::IR::_TAO_PublishesDef_Remote_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ }
+
+ }
+}
+
+
+//
+// End Strategized Proxy Broker Implementation
+///////////////////////////////////////////////////////////////////////
+
+
+IR::_TAO_PublishesDef_Proxy_Broker *
+IR__TAO_PublishesDef_Proxy_Broker_Factory_function (CORBA::Object_ptr obj)
+{
+ ACE_UNUSED_ARG (obj);
+ return ::POA_IR::_TAO_PublishesDef_Strategized_Proxy_Broker::the_TAO_PublishesDef_Strategized_Proxy_Broker();
+}
+
+int
+IR__TAO_PublishesDef_Proxy_Broker_Factory_Initializer (long)
+{
+ IR__TAO_PublishesDef_Proxy_Broker_Factory_function_pointer =
+ IR__TAO_PublishesDef_Proxy_Broker_Factory_function;
+
+ return 0;
+}
+
+static int IR__TAO_PublishesDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
+ IR__TAO_PublishesDef_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, IR__TAO_PublishesDef_Proxy_Broker_Factory_Initializer));
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Proxy Implementation
+//
+
+POA_IR::_TAO_PublishesDef_ThruPOA_Proxy_Impl::_TAO_PublishesDef_ThruPOA_Proxy_Impl (void)
+{}
+
+// ThruPOA Implementation of the IDL interface methods
+
+//
+// End ThruPOA Proxy Implementation
+///////////////////////////////////////////////////////////////////////
+
+// skeleton constructor
+POA_IR::PublishesDef::PublishesDef (void)
+{
+ this->optable_ = &tao_IR_PublishesDef_optable;
+}
+
+// copy ctor
+POA_IR::PublishesDef::PublishesDef (const PublishesDef& rhs)
+ : ACE_NESTED_CLASS (POA_IR,EventDef) (rhs),
+ POA_CORBA_Contained (rhs),
+ POA_CORBA_IRObject (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_IR::PublishesDef::~PublishesDef (void)
+{
+}
+
+void POA_IR::PublishesDef::_is_a_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::PublishesDef *_tao_impl = (POA_IR::PublishesDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!(_tao_in >> value.out ()))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::PublishesDef::_non_existent_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_IR::PublishesDef *_tao_impl = (POA_IR::PublishesDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::PublishesDef::_interface_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_IR::PublishesDef *_tao_impl = (POA_IR::PublishesDef *) _tao_object_reference;
+ CORBA_InterfaceDef_ptr _tao_retval = 0;
+ CORBA::Boolean _tao_result = 0;
+
+ TAO_IFR_Client_Adapter *_tao_adapter =
+ ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
+ TAO_ORB_Core::ifr_client_adapter_name ()
+ );
+
+ if (_tao_adapter == 0)
+ {
+ ACE_THROW (CORBA::INTF_REPOS ());
+ }
+
+ ACE_TRY
+ {
+ _tao_retval = _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ _tao_result =
+ _tao_adapter->interfacedef_cdr_insert (
+ _tao_out,
+ _tao_retval
+ );
+ }
+ ACE_CATCHALL
+ {
+ _tao_adapter->dispose (_tao_retval);
+ }
+ ACE_ENDTRY;
+
+ if (_tao_result == 0)
+ {
+ ACE_THROW (CORBA::MARSHAL ());
+ }
+}
+
+CORBA::Boolean POA_IR::PublishesDef::_is_a (
+ const char* value
+ ACE_ENV_ARG_DECL
+ )
+{
+ const char *base_id = CORBA::_tc_Object->id (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/PublishesDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/EventDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Contained:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, base_id)))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_IR::PublishesDef::_downcast (
+ const char* logical_type_id
+ )
+{
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/PublishesDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::PublishesDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/EventDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::EventDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Contained:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_Contained_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_IR::PublishesDef::_dispatch (TAO_ServerRequest &req, void *servant_upcall ACE_ENV_ARG_DECL)
+{
+ this->synchronous_upcall_dispatch (req,
+ servant_upcall,
+ this
+ ACE_ENV_ARG_PARAMETER);
+}
+
+
+const char* POA_IR::PublishesDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/IR/PublishesDef:1.0";
+}
+
+IR::PublishesDef*
+POA_IR::PublishesDef::_this (ACE_ENV_SINGLE_ARG_DECL)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ TAO_Stub_Auto_Ptr safe_stub (stub);
+
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0);
+ else
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0);
+
+ CORBA::Object_var obj = tmp;
+
+ (void) safe_stub.release ();
+
+ return ::IR::PublishesDef::_unchecked_narrow (obj.in ());
+}
+
+
+class TAO_IR_ConsumesDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 23:08:27 */
+/* C++ code produced by gperf version 2.8 (ACE version) */
+/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0 -a -o -t -p -K opname_ -L C++ -Z TAO_IR_ConsumesDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_IR_ConsumesDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 0, 0, 37, 37, 37, 10, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 0, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 10, 37, 37, 37, 37, 10, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37,
+#else
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 0, 37, 0, 37, 37,
+ 0, 0, 37, 37, 37, 10, 37, 37, 37, 0,
+ 0, 37, 37, 37, 37, 37, 10, 37, 37, 37,
+ 37, 10, 37, 37, 37, 37, 37, 37,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_IR_ConsumesDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 18,
+ MIN_WORD_LENGTH = 4,
+ MAX_WORD_LENGTH = 26,
+ MIN_HASH_VALUE = 4,
+ MAX_HASH_VALUE = 36,
+ HASH_VALUE_RANGE = 33,
+ DUPLICATES = 4,
+ WORDLIST_SIZE = 22
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},
+ {"move", &POA_IR::ConsumesDef::move_skel},
+ {"_is_a", &POA_IR::ConsumesDef::_is_a_skel},
+ {"_get_id", &POA_IR::ConsumesDef::_get_id_skel},
+ {"_set_id", &POA_IR::ConsumesDef::_set_id_skel},
+ {"describe", &POA_IR::ConsumesDef::describe_skel},
+ {"_get_name", &POA_IR::ConsumesDef::_get_name_skel},
+ {"_set_name", &POA_IR::ConsumesDef::_set_name_skel},
+ {"_interface", &POA_IR::ConsumesDef::_interface_skel},
+ {"_get_version", &POA_IR::ConsumesDef::_get_version_skel},
+ {"_set_version", &POA_IR::ConsumesDef::_set_version_skel},
+ {"_get_def_kind", &POA_IR::ConsumesDef::_get_def_kind_skel},
+ {"is_a", &POA_IR::ConsumesDef::is_a_skel},
+ {"_get_defined_in", &POA_IR::ConsumesDef::_get_defined_in_skel},
+ {"destroy", &POA_IR::ConsumesDef::destroy_skel},
+ {"_get_absolute_name", &POA_IR::ConsumesDef::_get_absolute_name_skel},
+ {"_get_event", &POA_IR::ConsumesDef::_get_event_skel},
+ {"_non_existent", &POA_IR::ConsumesDef::_non_existent_skel},
+ {"_get_containing_repository", &POA_IR::ConsumesDef::_get_containing_repository_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -9, -2, -12, -2, 4, 5, -1, 50, 8, -45, 11, -1, -46, 14,
+ 15, 16, -1, 17, 18, -1, 19, -6, -2, 20, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 21,
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ int slot = lookup[key];
+
+ if (slot >= 0 && slot < WORDLIST_SIZE)
+ {
+ 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 23:08:27 */
+static TAO_IR_ConsumesDef_Perfect_Hash_OpTable tao_IR_ConsumesDef_optable;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+#endif /* TAO_HAS_INTERCEPTORS */
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Implementation
+//
+
+// Factory function Implementation.
+POA_IR::_TAO_ConsumesDef_Strategized_Proxy_Broker *POA_IR::_TAO_ConsumesDef_Strategized_Proxy_Broker::the_TAO_ConsumesDef_Strategized_Proxy_Broker (void)
+{
+ static POA_IR::_TAO_ConsumesDef_Strategized_Proxy_Broker strategized_proxy_broker;
+ return &strategized_proxy_broker;
+}
+
+POA_IR::_TAO_ConsumesDef_Strategized_Proxy_Broker::_TAO_ConsumesDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ this->proxy_cache_[i] = 0;
+
+}
+
+POA_IR::_TAO_ConsumesDef_Strategized_Proxy_Broker::~_TAO_ConsumesDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ delete this->proxy_cache_[i];
+
+}
+
+IR::_TAO_ConsumesDef_Proxy_Impl&
+POA_IR::_TAO_ConsumesDef_Strategized_Proxy_Broker::select_proxy (
+ ::IR::ConsumesDef *object
+ ACE_ENV_ARG_DECL
+ )
+{
+ int strategy =
+ TAO_ORB_Core::collocation_strategy (object ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ if (this->proxy_cache_[strategy] != 0)
+ return *this->proxy_cache_[strategy];
+
+ this->create_proxy (strategy ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ return *this->proxy_cache_[strategy];
+
+}
+
+void
+POA_IR::_TAO_ConsumesDef_Strategized_Proxy_Broker::create_proxy (
+ int strategy
+ ACE_ENV_ARG_DECL
+ )
+{
+ ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_);
+
+ if (this->proxy_cache_[strategy] == 0)
+ {
+ switch (strategy)
+ {
+ case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ POA_IR::_TAO_ConsumesDef_ThruPOA_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY:
+ default:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ ::IR::_TAO_ConsumesDef_Remote_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ }
+
+ }
+}
+
+
+//
+// End Strategized Proxy Broker Implementation
+///////////////////////////////////////////////////////////////////////
+
+
+IR::_TAO_ConsumesDef_Proxy_Broker *
+IR__TAO_ConsumesDef_Proxy_Broker_Factory_function (CORBA::Object_ptr obj)
+{
+ ACE_UNUSED_ARG (obj);
+ return ::POA_IR::_TAO_ConsumesDef_Strategized_Proxy_Broker::the_TAO_ConsumesDef_Strategized_Proxy_Broker();
+}
+
+int
+IR__TAO_ConsumesDef_Proxy_Broker_Factory_Initializer (long)
+{
+ IR__TAO_ConsumesDef_Proxy_Broker_Factory_function_pointer =
+ IR__TAO_ConsumesDef_Proxy_Broker_Factory_function;
+
+ return 0;
+}
+
+static int IR__TAO_ConsumesDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
+ IR__TAO_ConsumesDef_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, IR__TAO_ConsumesDef_Proxy_Broker_Factory_Initializer));
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Proxy Implementation
+//
+
+POA_IR::_TAO_ConsumesDef_ThruPOA_Proxy_Impl::_TAO_ConsumesDef_ThruPOA_Proxy_Impl (void)
+{}
+
+// ThruPOA Implementation of the IDL interface methods
+
+//
+// End ThruPOA Proxy Implementation
+///////////////////////////////////////////////////////////////////////
+
+// skeleton constructor
+POA_IR::ConsumesDef::ConsumesDef (void)
+{
+ this->optable_ = &tao_IR_ConsumesDef_optable;
+}
+
+// copy ctor
+POA_IR::ConsumesDef::ConsumesDef (const ConsumesDef& rhs)
+ : ACE_NESTED_CLASS (POA_IR,EventDef) (rhs),
+ POA_CORBA_Contained (rhs),
+ POA_CORBA_IRObject (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_IR::ConsumesDef::~ConsumesDef (void)
+{
+}
+
+void POA_IR::ConsumesDef::_is_a_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::ConsumesDef *_tao_impl = (POA_IR::ConsumesDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!(_tao_in >> value.out ()))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::ConsumesDef::_non_existent_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_IR::ConsumesDef *_tao_impl = (POA_IR::ConsumesDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::ConsumesDef::_interface_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_IR::ConsumesDef *_tao_impl = (POA_IR::ConsumesDef *) _tao_object_reference;
+ CORBA_InterfaceDef_ptr _tao_retval = 0;
+ CORBA::Boolean _tao_result = 0;
+
+ TAO_IFR_Client_Adapter *_tao_adapter =
+ ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
+ TAO_ORB_Core::ifr_client_adapter_name ()
+ );
+
+ if (_tao_adapter == 0)
+ {
+ ACE_THROW (CORBA::INTF_REPOS ());
+ }
+
+ ACE_TRY
+ {
+ _tao_retval = _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ _tao_result =
+ _tao_adapter->interfacedef_cdr_insert (
+ _tao_out,
+ _tao_retval
+ );
+ }
+ ACE_CATCHALL
+ {
+ _tao_adapter->dispose (_tao_retval);
+ }
+ ACE_ENDTRY;
+
+ if (_tao_result == 0)
+ {
+ ACE_THROW (CORBA::MARSHAL ());
+ }
+}
+
+CORBA::Boolean POA_IR::ConsumesDef::_is_a (
+ const char* value
+ ACE_ENV_ARG_DECL
+ )
+{
+ const char *base_id = CORBA::_tc_Object->id (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/ConsumesDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/EventDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Contained:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, base_id)))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_IR::ConsumesDef::_downcast (
+ const char* logical_type_id
+ )
+{
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/ConsumesDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::ConsumesDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/EventDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::EventDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Contained:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_Contained_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_IR::ConsumesDef::_dispatch (TAO_ServerRequest &req, void *servant_upcall ACE_ENV_ARG_DECL)
+{
+ this->synchronous_upcall_dispatch (req,
+ servant_upcall,
+ this
+ ACE_ENV_ARG_PARAMETER);
+}
+
+
+const char* POA_IR::ConsumesDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/IR/ConsumesDef:1.0";
+}
+
+IR::ConsumesDef*
+POA_IR::ConsumesDef::_this (ACE_ENV_SINGLE_ARG_DECL)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ TAO_Stub_Auto_Ptr safe_stub (stub);
+
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0);
+ else
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0);
+
+ CORBA::Object_var obj = tmp;
+
+ (void) safe_stub.release ();
+
+ return ::IR::ConsumesDef::_unchecked_narrow (obj.in ());
+}
+
+
+class TAO_IR_ComponentDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 23:08:27 */
+/* C++ code produced by gperf version 2.8 (ACE version) */
+/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0 -a -o -t -p -K opname_ -L C++ -Z TAO_IR_ComponentDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_IR_ComponentDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 0,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 0,
+ 108, 51, 30, 20, 108, 108, 108, 0, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 5, 15, 40,
+ 108, 0, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 0, 15, 108, 108, 108, 5, 5, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108,
+#else
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 108, 108, 108, 108, 108, 0, 108, 0, 108, 51,
+ 30, 20, 108, 108, 108, 0, 108, 108, 5, 15,
+ 40, 108, 0, 108, 108, 0, 15, 108, 108, 108,
+ 5, 5, 108, 108, 108, 108, 108, 108,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_IR_ComponentDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 54,
+ MIN_WORD_LENGTH = 4,
+ MAX_WORD_LENGTH = 26,
+ MIN_HASH_VALUE = 4,
+ MAX_HASH_VALUE = 107,
+ HASH_VALUE_RANGE = 104,
+ DUPLICATES = 14,
+ WORDLIST_SIZE = 58
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},
+ {"is_a", &POA_IR::ComponentDef::is_a_skel},
+ {"_is_a", &POA_IR::ComponentDef::_is_a_skel},
+ {"lookup", &POA_IR::ComponentDef::lookup_skel},
+ {"_get_emits_events", &POA_IR::ComponentDef::_get_emits_events_skel},
+ {"_get_uses_interfaces", &POA_IR::ComponentDef::_get_uses_interfaces_skel},
+ {"_set_base_interfaces", &POA_IR::ComponentDef::_set_base_interfaces_skel},
+ {"_get_base_interfaces", &POA_IR::ComponentDef::_get_base_interfaces_skel},
+ {"_get_consumes_events", &POA_IR::ComponentDef::_get_consumes_events_skel},
+ {"_get_publishes_events", &POA_IR::ComponentDef::_get_publishes_events_skel},
+ {"_get_provides_interfaces", &POA_IR::ComponentDef::_get_provides_interfaces_skel},
+ {"_get_supported_interfaces", &POA_IR::ComponentDef::_get_supported_interfaces_skel},
+ {"_set_supported_interfaces", &POA_IR::ComponentDef::_set_supported_interfaces_skel},
+ {"_non_existent", &POA_IR::ComponentDef::_non_existent_skel},
+ {"_get_name", &POA_IR::ComponentDef::_get_name_skel},
+ {"_get_type", &POA_IR::ComponentDef::_get_type_skel},
+ {"_set_name", &POA_IR::ComponentDef::_set_name_skel},
+ {"_interface", &POA_IR::ComponentDef::_interface_skel},
+ {"_get_containing_repository", &POA_IR::ComponentDef::_get_containing_repository_skel},
+ {"_get_base_component", &POA_IR::ComponentDef::_get_base_component_skel},
+ {"lookup_name", &POA_IR::ComponentDef::lookup_name_skel},
+ {"_get_id", &POA_IR::ComponentDef::_get_id_skel},
+ {"_set_id", &POA_IR::ComponentDef::_set_id_skel},
+ {"_get_absolute_name", &POA_IR::ComponentDef::_get_absolute_name_skel},
+ {"move", &POA_IR::ComponentDef::move_skel},
+ {"destroy", &POA_IR::ComponentDef::destroy_skel},
+ {"_get_def_kind", &POA_IR::ComponentDef::_get_def_kind_skel},
+ {"describe_contents", &POA_IR::ComponentDef::describe_contents_skel},
+ {"_get_version", &POA_IR::ComponentDef::_get_version_skel},
+ {"_set_version", &POA_IR::ComponentDef::_set_version_skel},
+ {"_get_defined_in", &POA_IR::ComponentDef::_get_defined_in_skel},
+ {"describe", &POA_IR::ComponentDef::describe_skel},
+ {"contents", &POA_IR::ComponentDef::contents_skel},
+ {"create_uses", &POA_IR::ComponentDef::create_uses_skel},
+ {"create_emits", &POA_IR::ComponentDef::create_emits_skel},
+ {"create_alias", &POA_IR::ComponentDef::create_alias_skel},
+ {"_get_is_basic", &POA_IR::ComponentDef::_get_is_basic_skel},
+ {"create_provides", &POA_IR::ComponentDef::create_provides_skel},
+ {"create_consumes", &POA_IR::ComponentDef::create_consumes_skel},
+ {"create_publishes", &POA_IR::ComponentDef::create_publishes_skel},
+ {"describe_interface", &POA_IR::ComponentDef::describe_interface_skel},
+ {"create_value_box", &POA_IR::ComponentDef::create_value_box_skel},
+ {"create_enum", &POA_IR::ComponentDef::create_enum_skel},
+ {"create_struct", &POA_IR::ComponentDef::create_struct_skel},
+ {"create_constant", &POA_IR::ComponentDef::create_constant_skel},
+ {"create_value", &POA_IR::ComponentDef::create_value_skel},
+ {"create_module", &POA_IR::ComponentDef::create_module_skel},
+ {"create_native", &POA_IR::ComponentDef::create_native_skel},
+ {"create_attribute", &POA_IR::ComponentDef::create_attribute_skel},
+ {"create_interface", &POA_IR::ComponentDef::create_interface_skel},
+ {"create_local_interface", &POA_IR::ComponentDef::create_local_interface_skel},
+ {"create_abstract_interface", &POA_IR::ComponentDef::create_abstract_interface_skel},
+ {"create_union", &POA_IR::ComponentDef::create_union_skel},
+ {"create_operation", &POA_IR::ComponentDef::create_operation_skel},
+ {"create_exception", &POA_IR::ComponentDef::create_exception_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -1, -1, -1, -1, 4, 5, -1, -1, -1, -1, -1, 6, -1, -1,
+ -1, -1, -1, 7, -8, -4, -109, 12, -14, -2, 13, -110, -17, -3,
+ 16, -110, 20, 21, -24, -2, 22, -1, 23, -112, 26, 27, -1, -1,
+ 28, 29, -1, -1, -1, 30, -1, -1, -31, -2, -109, -1, -1, 33,
+ -37, -2, 34, 35, -40, -2, 36, -114, 39, -1, -113, 42, 43, -1,
+ -1, -1, 44, -1, -1, -49, -2, 45, -1, 46, -1, 47, -1, 48,
+ -116, -51, -2, -109, -1, -1, -1, -1, -1, 53, -1, -1, 54, -1,
+ -1, -1, -1, -1, -1, 55, -1, -56, -2, -109,
+ };
+
+ 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 < WORDLIST_SIZE)
+ {
+ 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 23:08:28 */
+static TAO_IR_ComponentDef_Perfect_Hash_OpTable tao_IR_ComponentDef_optable;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+class TAO_ServerRequestInfo_IR_ComponentDef_supported_interfaces_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_IR_ComponentDef_supported_interfaces_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_IR::ComponentDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_InterfaceDefSeq * result);
+
+private:
+ TAO_ServerRequestInfo_IR_ComponentDef_supported_interfaces_get (const TAO_ServerRequestInfo_IR_ComponentDef_supported_interfaces_get &);
+ void operator= (const TAO_ServerRequestInfo_IR_ComponentDef_supported_interfaces_get &);
+
+private:
+ POA_IR::ComponentDef *_tao_impl;
+ CORBA_InterfaceDefSeq * _result;
+};
+
+TAO_ServerRequestInfo_IR_ComponentDef_supported_interfaces_get::TAO_ServerRequestInfo_IR_ComponentDef_supported_interfaces_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_IR::ComponentDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_IR_ComponentDef_supported_interfaces_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_IR_ComponentDef_supported_interfaces_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_IR_ComponentDef_supported_interfaces_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_IR_ComponentDef_supported_interfaces_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_IR_ComponentDef_supported_interfaces_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_IR_ComponentDef_supported_interfaces_get::result (CORBA_InterfaceDefSeq * result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_IR_ComponentDef_supported_interfaces_set : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_IR_ComponentDef_supported_interfaces_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_IR::ComponentDef *tao_impl
+ ,
+ const CORBA_InterfaceDefSeq & supported_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+
+private:
+ TAO_ServerRequestInfo_IR_ComponentDef_supported_interfaces_set (const TAO_ServerRequestInfo_IR_ComponentDef_supported_interfaces_set &);
+ void operator= (const TAO_ServerRequestInfo_IR_ComponentDef_supported_interfaces_set &);
+
+private:
+ POA_IR::ComponentDef *_tao_impl;
+ const CORBA_InterfaceDefSeq & supported_interfaces_;
+
+};
+
+TAO_ServerRequestInfo_IR_ComponentDef_supported_interfaces_set::TAO_ServerRequestInfo_IR_ComponentDef_supported_interfaces_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_IR::ComponentDef *tao_impl,
+ const CORBA_InterfaceDefSeq & supported_interfaces
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ supported_interfaces_ (supported_interfaces)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_IR_ComponentDef_supported_interfaces_set::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (1);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= this->supported_interfaces_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_IR_ComponentDef_supported_interfaces_set::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_IR_ComponentDef_supported_interfaces_set::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 1;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return result_any;
+}
+
+char *
+TAO_ServerRequestInfo_IR_ComponentDef_supported_interfaces_set::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_IR_ComponentDef_supported_interfaces_set::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+class TAO_ServerRequestInfo_IR_ComponentDef_base_component_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_IR_ComponentDef_base_component_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_IR::ComponentDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (IR::ComponentDef_ptr result);
+
+private:
+ TAO_ServerRequestInfo_IR_ComponentDef_base_component_get (const TAO_ServerRequestInfo_IR_ComponentDef_base_component_get &);
+ void operator= (const TAO_ServerRequestInfo_IR_ComponentDef_base_component_get &);
+
+private:
+ POA_IR::ComponentDef *_tao_impl;
+ IR::ComponentDef_ptr _result;
+};
+
+TAO_ServerRequestInfo_IR_ComponentDef_base_component_get::TAO_ServerRequestInfo_IR_ComponentDef_base_component_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_IR::ComponentDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_IR_ComponentDef_base_component_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_IR_ComponentDef_base_component_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_IR_ComponentDef_base_component_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_IR_ComponentDef_base_component_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_IR_ComponentDef_base_component_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_IR_ComponentDef_base_component_get::result (IR::ComponentDef_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_IR_ComponentDef_provides_interfaces_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_IR_ComponentDef_provides_interfaces_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_IR::ComponentDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (IR::ProvidesDefSeq * result);
+
+private:
+ TAO_ServerRequestInfo_IR_ComponentDef_provides_interfaces_get (const TAO_ServerRequestInfo_IR_ComponentDef_provides_interfaces_get &);
+ void operator= (const TAO_ServerRequestInfo_IR_ComponentDef_provides_interfaces_get &);
+
+private:
+ POA_IR::ComponentDef *_tao_impl;
+ IR::ProvidesDefSeq * _result;
+};
+
+TAO_ServerRequestInfo_IR_ComponentDef_provides_interfaces_get::TAO_ServerRequestInfo_IR_ComponentDef_provides_interfaces_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_IR::ComponentDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_IR_ComponentDef_provides_interfaces_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_IR_ComponentDef_provides_interfaces_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_IR_ComponentDef_provides_interfaces_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_IR_ComponentDef_provides_interfaces_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_IR_ComponentDef_provides_interfaces_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_IR_ComponentDef_provides_interfaces_get::result (IR::ProvidesDefSeq * result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_IR_ComponentDef_uses_interfaces_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_IR_ComponentDef_uses_interfaces_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_IR::ComponentDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (IR::UsesDefSeq * result);
+
+private:
+ TAO_ServerRequestInfo_IR_ComponentDef_uses_interfaces_get (const TAO_ServerRequestInfo_IR_ComponentDef_uses_interfaces_get &);
+ void operator= (const TAO_ServerRequestInfo_IR_ComponentDef_uses_interfaces_get &);
+
+private:
+ POA_IR::ComponentDef *_tao_impl;
+ IR::UsesDefSeq * _result;
+};
+
+TAO_ServerRequestInfo_IR_ComponentDef_uses_interfaces_get::TAO_ServerRequestInfo_IR_ComponentDef_uses_interfaces_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_IR::ComponentDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_IR_ComponentDef_uses_interfaces_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_IR_ComponentDef_uses_interfaces_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_IR_ComponentDef_uses_interfaces_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_IR_ComponentDef_uses_interfaces_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_IR_ComponentDef_uses_interfaces_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_IR_ComponentDef_uses_interfaces_get::result (IR::UsesDefSeq * result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_IR_ComponentDef_emits_events_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_IR_ComponentDef_emits_events_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_IR::ComponentDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (IR::EmitsDefSeq * result);
+
+private:
+ TAO_ServerRequestInfo_IR_ComponentDef_emits_events_get (const TAO_ServerRequestInfo_IR_ComponentDef_emits_events_get &);
+ void operator= (const TAO_ServerRequestInfo_IR_ComponentDef_emits_events_get &);
+
+private:
+ POA_IR::ComponentDef *_tao_impl;
+ IR::EmitsDefSeq * _result;
+};
+
+TAO_ServerRequestInfo_IR_ComponentDef_emits_events_get::TAO_ServerRequestInfo_IR_ComponentDef_emits_events_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_IR::ComponentDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_IR_ComponentDef_emits_events_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_IR_ComponentDef_emits_events_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_IR_ComponentDef_emits_events_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_IR_ComponentDef_emits_events_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_IR_ComponentDef_emits_events_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_IR_ComponentDef_emits_events_get::result (IR::EmitsDefSeq * result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_IR_ComponentDef_publishes_events_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_IR_ComponentDef_publishes_events_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_IR::ComponentDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (IR::PublishesDefSeq * result);
+
+private:
+ TAO_ServerRequestInfo_IR_ComponentDef_publishes_events_get (const TAO_ServerRequestInfo_IR_ComponentDef_publishes_events_get &);
+ void operator= (const TAO_ServerRequestInfo_IR_ComponentDef_publishes_events_get &);
+
+private:
+ POA_IR::ComponentDef *_tao_impl;
+ IR::PublishesDefSeq * _result;
+};
+
+TAO_ServerRequestInfo_IR_ComponentDef_publishes_events_get::TAO_ServerRequestInfo_IR_ComponentDef_publishes_events_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_IR::ComponentDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_IR_ComponentDef_publishes_events_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_IR_ComponentDef_publishes_events_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_IR_ComponentDef_publishes_events_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_IR_ComponentDef_publishes_events_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_IR_ComponentDef_publishes_events_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_IR_ComponentDef_publishes_events_get::result (IR::PublishesDefSeq * result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_IR_ComponentDef_consumes_events_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_IR_ComponentDef_consumes_events_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_IR::ComponentDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (IR::ConsumesDefSeq * result);
+
+private:
+ TAO_ServerRequestInfo_IR_ComponentDef_consumes_events_get (const TAO_ServerRequestInfo_IR_ComponentDef_consumes_events_get &);
+ void operator= (const TAO_ServerRequestInfo_IR_ComponentDef_consumes_events_get &);
+
+private:
+ POA_IR::ComponentDef *_tao_impl;
+ IR::ConsumesDefSeq * _result;
+};
+
+TAO_ServerRequestInfo_IR_ComponentDef_consumes_events_get::TAO_ServerRequestInfo_IR_ComponentDef_consumes_events_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_IR::ComponentDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_IR_ComponentDef_consumes_events_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_IR_ComponentDef_consumes_events_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_IR_ComponentDef_consumes_events_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_IR_ComponentDef_consumes_events_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_IR_ComponentDef_consumes_events_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_IR_ComponentDef_consumes_events_get::result (IR::ConsumesDefSeq * result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_IR_ComponentDef_is_basic_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_IR_ComponentDef_is_basic_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_IR::ComponentDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA::Boolean result);
+
+private:
+ TAO_ServerRequestInfo_IR_ComponentDef_is_basic_get (const TAO_ServerRequestInfo_IR_ComponentDef_is_basic_get &);
+ void operator= (const TAO_ServerRequestInfo_IR_ComponentDef_is_basic_get &);
+
+private:
+ POA_IR::ComponentDef *_tao_impl;
+ CORBA::Boolean _result;
+};
+
+TAO_ServerRequestInfo_IR_ComponentDef_is_basic_get::TAO_ServerRequestInfo_IR_ComponentDef_is_basic_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_IR::ComponentDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_IR_ComponentDef_is_basic_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_IR_ComponentDef_is_basic_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_IR_ComponentDef_is_basic_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= CORBA::Any::from_boolean (this->_result);
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_IR_ComponentDef_is_basic_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_IR_ComponentDef_is_basic_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_IR_ComponentDef_is_basic_get::result (CORBA::Boolean result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_IR_ComponentDef_create_provides : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_IR_ComponentDef_create_provides (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_IR::ComponentDef *tao_impl
+ ,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_InterfaceDef_ptr interface_type
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (IR::ProvidesDef_ptr result);
+
+private:
+ TAO_ServerRequestInfo_IR_ComponentDef_create_provides (const TAO_ServerRequestInfo_IR_ComponentDef_create_provides &);
+ void operator= (const TAO_ServerRequestInfo_IR_ComponentDef_create_provides &);
+
+private:
+ POA_IR::ComponentDef *_tao_impl;
+ const char * id_;
+ const char * name_;
+ const char * version_;
+ CORBA_InterfaceDef_ptr interface_type_;
+ IR::ProvidesDef_ptr _result;
+};
+
+TAO_ServerRequestInfo_IR_ComponentDef_create_provides::TAO_ServerRequestInfo_IR_ComponentDef_create_provides (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_IR::ComponentDef *tao_impl,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_InterfaceDef_ptr interface_type
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ id_ (id),
+ name_ (name),
+ version_ (version),
+ interface_type_ (interface_type)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_IR_ComponentDef_create_provides::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (4);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= id_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= name_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= version_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= this->interface_type_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_IR_ComponentDef_create_provides::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_IR_ComponentDef_create_provides::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_IR_ComponentDef_create_provides::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_IR_ComponentDef_create_provides::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_IR_ComponentDef_create_provides::result (IR::ProvidesDef_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_IR_ComponentDef_create_uses : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_IR_ComponentDef_create_uses (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_IR::ComponentDef *tao_impl
+ ,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_InterfaceDef_ptr interface_type,
+ const CORBA::Boolean & is_multiple
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (IR::UsesDef_ptr result);
+
+private:
+ TAO_ServerRequestInfo_IR_ComponentDef_create_uses (const TAO_ServerRequestInfo_IR_ComponentDef_create_uses &);
+ void operator= (const TAO_ServerRequestInfo_IR_ComponentDef_create_uses &);
+
+private:
+ POA_IR::ComponentDef *_tao_impl;
+ const char * id_;
+ const char * name_;
+ const char * version_;
+ CORBA_InterfaceDef_ptr interface_type_;
+ const CORBA::Boolean & is_multiple_;
+ IR::UsesDef_ptr _result;
+};
+
+TAO_ServerRequestInfo_IR_ComponentDef_create_uses::TAO_ServerRequestInfo_IR_ComponentDef_create_uses (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_IR::ComponentDef *tao_impl,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_InterfaceDef_ptr interface_type,
+ const CORBA::Boolean & is_multiple
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ id_ (id),
+ name_ (name),
+ version_ (version),
+ interface_type_ (interface_type),
+ is_multiple_ (is_multiple)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_IR_ComponentDef_create_uses::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (5);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= id_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= name_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= version_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= this->interface_type_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= CORBA::Any::from_boolean (this->is_multiple_);
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_IR_ComponentDef_create_uses::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_IR_ComponentDef_create_uses::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_IR_ComponentDef_create_uses::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_IR_ComponentDef_create_uses::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_IR_ComponentDef_create_uses::result (IR::UsesDef_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_IR_ComponentDef_create_emits : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_IR_ComponentDef_create_emits (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_IR::ComponentDef *tao_impl
+ ,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_ValueDef_ptr value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (IR::EmitsDef_ptr result);
+
+private:
+ TAO_ServerRequestInfo_IR_ComponentDef_create_emits (const TAO_ServerRequestInfo_IR_ComponentDef_create_emits &);
+ void operator= (const TAO_ServerRequestInfo_IR_ComponentDef_create_emits &);
+
+private:
+ POA_IR::ComponentDef *_tao_impl;
+ const char * id_;
+ const char * name_;
+ const char * version_;
+ CORBA_ValueDef_ptr value_;
+ IR::EmitsDef_ptr _result;
+};
+
+TAO_ServerRequestInfo_IR_ComponentDef_create_emits::TAO_ServerRequestInfo_IR_ComponentDef_create_emits (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_IR::ComponentDef *tao_impl,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_ValueDef_ptr value
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ id_ (id),
+ name_ (name),
+ version_ (version),
+ value_ (value)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_IR_ComponentDef_create_emits::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (4);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= id_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= name_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= version_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= this->value_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_IR_ComponentDef_create_emits::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_IR_ComponentDef_create_emits::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_IR_ComponentDef_create_emits::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_IR_ComponentDef_create_emits::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_IR_ComponentDef_create_emits::result (IR::EmitsDef_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_IR_ComponentDef_create_publishes : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_IR_ComponentDef_create_publishes (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_IR::ComponentDef *tao_impl
+ ,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_ValueDef_ptr value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (IR::PublishesDef_ptr result);
+
+private:
+ TAO_ServerRequestInfo_IR_ComponentDef_create_publishes (const TAO_ServerRequestInfo_IR_ComponentDef_create_publishes &);
+ void operator= (const TAO_ServerRequestInfo_IR_ComponentDef_create_publishes &);
+
+private:
+ POA_IR::ComponentDef *_tao_impl;
+ const char * id_;
+ const char * name_;
+ const char * version_;
+ CORBA_ValueDef_ptr value_;
+ IR::PublishesDef_ptr _result;
+};
+
+TAO_ServerRequestInfo_IR_ComponentDef_create_publishes::TAO_ServerRequestInfo_IR_ComponentDef_create_publishes (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_IR::ComponentDef *tao_impl,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_ValueDef_ptr value
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ id_ (id),
+ name_ (name),
+ version_ (version),
+ value_ (value)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_IR_ComponentDef_create_publishes::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (4);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= id_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= name_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= version_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= this->value_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_IR_ComponentDef_create_publishes::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_IR_ComponentDef_create_publishes::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_IR_ComponentDef_create_publishes::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_IR_ComponentDef_create_publishes::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_IR_ComponentDef_create_publishes::result (IR::PublishesDef_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_IR_ComponentDef_create_consumes : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_IR_ComponentDef_create_consumes (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_IR::ComponentDef *tao_impl
+ ,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_ValueDef_ptr value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (IR::ConsumesDef_ptr result);
+
+private:
+ TAO_ServerRequestInfo_IR_ComponentDef_create_consumes (const TAO_ServerRequestInfo_IR_ComponentDef_create_consumes &);
+ void operator= (const TAO_ServerRequestInfo_IR_ComponentDef_create_consumes &);
+
+private:
+ POA_IR::ComponentDef *_tao_impl;
+ const char * id_;
+ const char * name_;
+ const char * version_;
+ CORBA_ValueDef_ptr value_;
+ IR::ConsumesDef_ptr _result;
+};
+
+TAO_ServerRequestInfo_IR_ComponentDef_create_consumes::TAO_ServerRequestInfo_IR_ComponentDef_create_consumes (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_IR::ComponentDef *tao_impl,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_ValueDef_ptr value
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ id_ (id),
+ name_ (name),
+ version_ (version),
+ value_ (value)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_IR_ComponentDef_create_consumes::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (4);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= id_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= name_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= version_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= this->value_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_IR_ComponentDef_create_consumes::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_IR_ComponentDef_create_consumes::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_IR_ComponentDef_create_consumes::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_IR_ComponentDef_create_consumes::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_IR_ComponentDef_create_consumes::result (IR::ConsumesDef_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Implementation
+//
+
+// Factory function Implementation.
+POA_IR::_TAO_ComponentDef_Strategized_Proxy_Broker *POA_IR::_TAO_ComponentDef_Strategized_Proxy_Broker::the_TAO_ComponentDef_Strategized_Proxy_Broker (void)
+{
+ static POA_IR::_TAO_ComponentDef_Strategized_Proxy_Broker strategized_proxy_broker;
+ return &strategized_proxy_broker;
+}
+
+POA_IR::_TAO_ComponentDef_Strategized_Proxy_Broker::_TAO_ComponentDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ this->proxy_cache_[i] = 0;
+
+}
+
+POA_IR::_TAO_ComponentDef_Strategized_Proxy_Broker::~_TAO_ComponentDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ delete this->proxy_cache_[i];
+
+}
+
+IR::_TAO_ComponentDef_Proxy_Impl&
+POA_IR::_TAO_ComponentDef_Strategized_Proxy_Broker::select_proxy (
+ ::IR::ComponentDef *object
+ ACE_ENV_ARG_DECL
+ )
+{
+ int strategy =
+ TAO_ORB_Core::collocation_strategy (object ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ if (this->proxy_cache_[strategy] != 0)
+ return *this->proxy_cache_[strategy];
+
+ this->create_proxy (strategy ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ return *this->proxy_cache_[strategy];
+
+}
+
+void
+POA_IR::_TAO_ComponentDef_Strategized_Proxy_Broker::create_proxy (
+ int strategy
+ ACE_ENV_ARG_DECL
+ )
+{
+ ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_);
+
+ if (this->proxy_cache_[strategy] == 0)
+ {
+ switch (strategy)
+ {
+ case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ POA_IR::_TAO_ComponentDef_ThruPOA_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY:
+ default:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ ::IR::_TAO_ComponentDef_Remote_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ }
+
+ }
+}
+
+
+//
+// End Strategized Proxy Broker Implementation
+///////////////////////////////////////////////////////////////////////
+
+
+IR::_TAO_ComponentDef_Proxy_Broker *
+IR__TAO_ComponentDef_Proxy_Broker_Factory_function (CORBA::Object_ptr obj)
+{
+ ACE_UNUSED_ARG (obj);
+ return ::POA_IR::_TAO_ComponentDef_Strategized_Proxy_Broker::the_TAO_ComponentDef_Strategized_Proxy_Broker();
+}
+
+int
+IR__TAO_ComponentDef_Proxy_Broker_Factory_Initializer (long)
+{
+ IR__TAO_ComponentDef_Proxy_Broker_Factory_function_pointer =
+ IR__TAO_ComponentDef_Proxy_Broker_Factory_function;
+
+ return 0;
+}
+
+static int IR__TAO_ComponentDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
+ IR__TAO_ComponentDef_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, IR__TAO_ComponentDef_Proxy_Broker_Factory_Initializer));
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Proxy Implementation
+//
+
+POA_IR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::_TAO_ComponentDef_ThruPOA_Proxy_Impl (void)
+{}
+
+// ThruPOA Implementation of the IDL interface methods
+
+CORBA_InterfaceDefSeq * POA_IR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::supported_interfaces (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_InterfaceDefSeq_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "supported_interfaces",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ComponentDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ComponentDef:1.0"
+ )
+ )->supported_interfaces (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+void POA_IR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::supported_interfaces (
+ CORBA_Object *_collocated_tao_target_,
+ const CORBA_InterfaceDefSeq & supported_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "supported_interfaces",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_IR::ComponentDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ComponentDef:1.0"
+ )
+ )->supported_interfaces (
+ supported_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+ return;
+}
+
+IR::ComponentDef_ptr POA_IR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::base_component (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::ComponentDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "base_component",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ComponentDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ComponentDef:1.0"
+ )
+ )->base_component (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+IR::ProvidesDefSeq * POA_IR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::provides_interfaces (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::ProvidesDefSeq_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "provides_interfaces",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ComponentDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ComponentDef:1.0"
+ )
+ )->provides_interfaces (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+IR::UsesDefSeq * POA_IR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::uses_interfaces (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::UsesDefSeq_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "uses_interfaces",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ComponentDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ComponentDef:1.0"
+ )
+ )->uses_interfaces (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+IR::EmitsDefSeq * POA_IR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::emits_events (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::EmitsDefSeq_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "emits_events",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ComponentDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ComponentDef:1.0"
+ )
+ )->emits_events (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+IR::PublishesDefSeq * POA_IR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::publishes_events (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::PublishesDefSeq_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "publishes_events",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ComponentDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ComponentDef:1.0"
+ )
+ )->publishes_events (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+IR::ConsumesDefSeq * POA_IR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::consumes_events (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::ConsumesDefSeq_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "consumes_events",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ComponentDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ComponentDef:1.0"
+ )
+ )->consumes_events (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+CORBA::Boolean POA_IR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::is_basic (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::Boolean _tao_retval = 0;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "is_basic",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (_tao_retval);
+ return ACE_reinterpret_cast (
+ POA_IR::ComponentDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ComponentDef:1.0"
+ )
+ )->is_basic (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+IR::ProvidesDef_ptr POA_IR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::create_provides (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_InterfaceDef_ptr interface_type
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::ProvidesDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "create_provides",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ComponentDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ComponentDef:1.0"
+ )
+ )->create_provides (
+ id,
+ name,
+ version,
+ interface_type
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+IR::UsesDef_ptr POA_IR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::create_uses (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_InterfaceDef_ptr interface_type,
+ CORBA::Boolean is_multiple
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::UsesDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "create_uses",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ComponentDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ComponentDef:1.0"
+ )
+ )->create_uses (
+ id,
+ name,
+ version,
+ interface_type,
+ is_multiple
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+IR::EmitsDef_ptr POA_IR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::create_emits (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_ValueDef_ptr value
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::EmitsDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "create_emits",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ComponentDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ComponentDef:1.0"
+ )
+ )->create_emits (
+ id,
+ name,
+ version,
+ value
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+IR::PublishesDef_ptr POA_IR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::create_publishes (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_ValueDef_ptr value
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::PublishesDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "create_publishes",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ComponentDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ComponentDef:1.0"
+ )
+ )->create_publishes (
+ id,
+ name,
+ version,
+ value
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+IR::ConsumesDef_ptr POA_IR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::create_consumes (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_ValueDef_ptr value
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::ConsumesDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "create_consumes",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::ComponentDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/ComponentDef:1.0"
+ )
+ )->create_consumes (
+ id,
+ name,
+ version,
+ value
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+//
+// End ThruPOA Proxy Implementation
+///////////////////////////////////////////////////////////////////////
+
+// skeleton constructor
+POA_IR::ComponentDef::ComponentDef (void)
+{
+ this->optable_ = &tao_IR_ComponentDef_optable;
+}
+
+// copy ctor
+POA_IR::ComponentDef::ComponentDef (const ComponentDef& rhs)
+ : POA_CORBA_InterfaceDef (rhs),
+ POA_CORBA_Container (rhs),
+ POA_CORBA_Contained (rhs),
+ POA_CORBA_IDLType (rhs),
+ POA_CORBA_IRObject (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_IR::ComponentDef::~ComponentDef (void)
+{
+}
+
+void POA_IR::ComponentDef::_get_supported_interfaces_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_IR::ComponentDef *_tao_impl =
+ ACE_static_cast (POA_IR::ComponentDef *, _tao_object_reference);
+
+ CORBA_InterfaceDefSeq_var _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_IR_ComponentDef_supported_interfaces_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->supported_interfaces (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_InterfaceDefSeq * _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_IR::ComponentDef::_set_supported_interfaces_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::ComponentDef *_tao_impl =
+ ACE_static_cast (POA_IR::ComponentDef *, _tao_object_reference);
+
+ _tao_server_request.argument_flag (0);
+ CORBA_InterfaceDefSeq supported_interfaces;
+ if (!(
+ (_tao_in >> supported_interfaces)
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_IR_ComponentDef_supported_interfaces_set ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ supported_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->supported_interfaces (
+ supported_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_IR::ComponentDef::_get_base_component_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_IR::ComponentDef *_tao_impl =
+ ACE_static_cast (POA_IR::ComponentDef *, _tao_object_reference);
+
+ IR::ComponentDef_var _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_IR_ComponentDef_base_component_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->base_component (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ IR::ComponentDef_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_IR::ComponentDef::_get_provides_interfaces_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_IR::ComponentDef *_tao_impl =
+ ACE_static_cast (POA_IR::ComponentDef *, _tao_object_reference);
+
+ IR::ProvidesDefSeq_var _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_IR_ComponentDef_provides_interfaces_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->provides_interfaces (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ IR::ProvidesDefSeq * _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_IR::ComponentDef::_get_uses_interfaces_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_IR::ComponentDef *_tao_impl =
+ ACE_static_cast (POA_IR::ComponentDef *, _tao_object_reference);
+
+ IR::UsesDefSeq_var _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_IR_ComponentDef_uses_interfaces_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->uses_interfaces (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ IR::UsesDefSeq * _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_IR::ComponentDef::_get_emits_events_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_IR::ComponentDef *_tao_impl =
+ ACE_static_cast (POA_IR::ComponentDef *, _tao_object_reference);
+
+ IR::EmitsDefSeq_var _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_IR_ComponentDef_emits_events_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->emits_events (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ IR::EmitsDefSeq * _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_IR::ComponentDef::_get_publishes_events_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_IR::ComponentDef *_tao_impl =
+ ACE_static_cast (POA_IR::ComponentDef *, _tao_object_reference);
+
+ IR::PublishesDefSeq_var _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_IR_ComponentDef_publishes_events_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->publishes_events (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ IR::PublishesDefSeq * _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_IR::ComponentDef::_get_consumes_events_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_IR::ComponentDef *_tao_impl =
+ ACE_static_cast (POA_IR::ComponentDef *, _tao_object_reference);
+
+ IR::ConsumesDefSeq_var _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_IR_ComponentDef_consumes_events_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->consumes_events (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ IR::ConsumesDefSeq * _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_IR::ComponentDef::_get_is_basic_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_IR::ComponentDef *_tao_impl =
+ ACE_static_cast (POA_IR::ComponentDef *, _tao_object_reference);
+
+ CORBA::Boolean _tao_retval = 0;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_IR_ComponentDef_is_basic_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->is_basic (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA::Boolean _tao_retval_info = _tao_retval;
+ ri.result (_tao_retval_info);
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << CORBA::Any::from_boolean (_tao_retval))
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_IR::ComponentDef::create_provides_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::ComponentDef *_tao_impl =
+ ACE_static_cast (POA_IR::ComponentDef *, _tao_object_reference);
+
+ IR::ProvidesDef_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::String_var version;
+ CORBA_InterfaceDef_var interface_type;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.out ()) &&
+ (_tao_in >> version.out ()) &&
+ (_tao_in >> interface_type.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_IR_ComponentDef_create_provides ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ id.in (),
+ name.in (),
+ version.in (),
+ interface_type.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->create_provides (
+ id.in (),
+ name.in (),
+ version.in (),
+ interface_type.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ IR::ProvidesDef_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_IR::ComponentDef::create_uses_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::ComponentDef *_tao_impl =
+ ACE_static_cast (POA_IR::ComponentDef *, _tao_object_reference);
+
+ IR::UsesDef_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::String_var version;
+ CORBA_InterfaceDef_var interface_type;
+ CORBA::Boolean is_multiple;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.out ()) &&
+ (_tao_in >> version.out ()) &&
+ (_tao_in >> interface_type.out ()) &&
+ (_tao_in >> CORBA::Any::to_boolean (is_multiple))
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_IR_ComponentDef_create_uses ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ id.in (),
+ name.in (),
+ version.in (),
+ interface_type.in (),
+ is_multiple
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->create_uses (
+ id.in (),
+ name.in (),
+ version.in (),
+ interface_type.in (),
+ is_multiple
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ IR::UsesDef_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_IR::ComponentDef::create_emits_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::ComponentDef *_tao_impl =
+ ACE_static_cast (POA_IR::ComponentDef *, _tao_object_reference);
+
+ IR::EmitsDef_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::String_var version;
+ CORBA_ValueDef_var value;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.out ()) &&
+ (_tao_in >> version.out ()) &&
+ (_tao_in >> value.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_IR_ComponentDef_create_emits ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ id.in (),
+ name.in (),
+ version.in (),
+ value.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->create_emits (
+ id.in (),
+ name.in (),
+ version.in (),
+ value.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ IR::EmitsDef_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_IR::ComponentDef::create_publishes_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::ComponentDef *_tao_impl =
+ ACE_static_cast (POA_IR::ComponentDef *, _tao_object_reference);
+
+ IR::PublishesDef_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::String_var version;
+ CORBA_ValueDef_var value;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.out ()) &&
+ (_tao_in >> version.out ()) &&
+ (_tao_in >> value.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_IR_ComponentDef_create_publishes ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ id.in (),
+ name.in (),
+ version.in (),
+ value.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->create_publishes (
+ id.in (),
+ name.in (),
+ version.in (),
+ value.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ IR::PublishesDef_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_IR::ComponentDef::create_consumes_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::ComponentDef *_tao_impl =
+ ACE_static_cast (POA_IR::ComponentDef *, _tao_object_reference);
+
+ IR::ConsumesDef_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::String_var version;
+ CORBA_ValueDef_var value;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.out ()) &&
+ (_tao_in >> version.out ()) &&
+ (_tao_in >> value.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_IR_ComponentDef_create_consumes ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ id.in (),
+ name.in (),
+ version.in (),
+ value.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->create_consumes (
+ id.in (),
+ name.in (),
+ version.in (),
+ value.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ IR::ConsumesDef_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_IR::ComponentDef::_is_a_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::ComponentDef *_tao_impl = (POA_IR::ComponentDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!(_tao_in >> value.out ()))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::ComponentDef::_non_existent_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_IR::ComponentDef *_tao_impl = (POA_IR::ComponentDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::ComponentDef::_interface_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_IR::ComponentDef *_tao_impl = (POA_IR::ComponentDef *) _tao_object_reference;
+ CORBA_InterfaceDef_ptr _tao_retval = 0;
+ CORBA::Boolean _tao_result = 0;
+
+ TAO_IFR_Client_Adapter *_tao_adapter =
+ ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
+ TAO_ORB_Core::ifr_client_adapter_name ()
+ );
+
+ if (_tao_adapter == 0)
+ {
+ ACE_THROW (CORBA::INTF_REPOS ());
+ }
+
+ ACE_TRY
+ {
+ _tao_retval = _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ _tao_result =
+ _tao_adapter->interfacedef_cdr_insert (
+ _tao_out,
+ _tao_retval
+ );
+ }
+ ACE_CATCHALL
+ {
+ _tao_adapter->dispose (_tao_retval);
+ }
+ ACE_ENDTRY;
+
+ if (_tao_result == 0)
+ {
+ ACE_THROW (CORBA::MARSHAL ());
+ }
+}
+
+CORBA::Boolean POA_IR::ComponentDef::_is_a (
+ const char* value
+ ACE_ENV_ARG_DECL
+ )
+{
+ const char *base_id = CORBA::_tc_Object->id (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/ComponentDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/InterfaceDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Container:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Contained:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IDLType:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, base_id)))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_IR::ComponentDef::_downcast (
+ const char* logical_type_id
+ )
+{
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/ComponentDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::ComponentDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/InterfaceDef:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_InterfaceDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Container:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_Container_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Contained:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_Contained_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IDLType:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IDLType_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_IR::ComponentDef::_dispatch (TAO_ServerRequest &req, void *servant_upcall ACE_ENV_ARG_DECL)
+{
+ this->synchronous_upcall_dispatch (req,
+ servant_upcall,
+ this
+ ACE_ENV_ARG_PARAMETER);
+}
+
+
+const char* POA_IR::ComponentDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/IR/ComponentDef:1.0";
+}
+
+IR::ComponentDef*
+POA_IR::ComponentDef::_this (ACE_ENV_SINGLE_ARG_DECL)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ TAO_Stub_Auto_Ptr safe_stub (stub);
+
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0);
+ else
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0);
+
+ CORBA::Object_var obj = tmp;
+
+ (void) safe_stub.release ();
+
+ return ::IR::ComponentDef::_unchecked_narrow (obj.in ());
+}
+
+
+class TAO_IR_PrimaryKeyDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 23:08:30 */
+/* C++ code produced by gperf version 2.8 (ACE version) */
+/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0 -a -o -t -p -K opname_ -L C++ -Z TAO_IR_PrimaryKeyDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_IR_PrimaryKeyDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 0,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 0,
+ 32, 32, 0, 0, 32, 32, 32, 10, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 0, 5,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 10, 32, 32, 32, 32, 5, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32,
+#else
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 0, 32, 0, 32, 32,
+ 0, 0, 32, 32, 32, 10, 32, 32, 32, 0,
+ 5, 32, 32, 32, 32, 32, 10, 32, 32, 32,
+ 32, 5, 32, 32, 32, 32, 32, 32,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_IR_PrimaryKeyDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 18,
+ MIN_WORD_LENGTH = 4,
+ MAX_WORD_LENGTH = 26,
+ MIN_HASH_VALUE = 4,
+ MAX_HASH_VALUE = 31,
+ HASH_VALUE_RANGE = 28,
+ DUPLICATES = 4,
+ WORDLIST_SIZE = 22
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},
+ {"move", &POA_IR::PrimaryKeyDef::move_skel},
+ {"_is_a", &POA_IR::PrimaryKeyDef::_is_a_skel},
+ {"_get_id", &POA_IR::PrimaryKeyDef::_get_id_skel},
+ {"_set_id", &POA_IR::PrimaryKeyDef::_set_id_skel},
+ {"describe", &POA_IR::PrimaryKeyDef::describe_skel},
+ {"_get_name", &POA_IR::PrimaryKeyDef::_get_name_skel},
+ {"_set_name", &POA_IR::PrimaryKeyDef::_set_name_skel},
+ {"_interface", &POA_IR::PrimaryKeyDef::_interface_skel},
+ {"destroy", &POA_IR::PrimaryKeyDef::destroy_skel},
+ {"_get_def_kind", &POA_IR::PrimaryKeyDef::_get_def_kind_skel},
+ {"is_a", &POA_IR::PrimaryKeyDef::is_a_skel},
+ {"_get_version", &POA_IR::PrimaryKeyDef::_get_version_skel},
+ {"_set_version", &POA_IR::PrimaryKeyDef::_set_version_skel},
+ {"_get_absolute_name", &POA_IR::PrimaryKeyDef::_get_absolute_name_skel},
+ {"_get_defined_in", &POA_IR::PrimaryKeyDef::_get_defined_in_skel},
+ {"_get_primary_key", &POA_IR::PrimaryKeyDef::_get_primary_key_skel},
+ {"_non_existent", &POA_IR::PrimaryKeyDef::_non_existent_skel},
+ {"_get_containing_repository", &POA_IR::PrimaryKeyDef::_get_containing_repository_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -6, -2, -9, -2, 4, 5, -1, -38, 8, -38, 11, -1, 12, 13,
+ 14, -15, -2, -33, 17, -1, 18, 19, -1, 20, -1, -1, -1, -1,
+ -1, -1, -1, 21,
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ int slot = lookup[key];
+
+ if (slot >= 0 && slot < WORDLIST_SIZE)
+ {
+ 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 23:08:30 */
+static TAO_IR_PrimaryKeyDef_Perfect_Hash_OpTable tao_IR_PrimaryKeyDef_optable;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+class TAO_ServerRequestInfo_IR_PrimaryKeyDef_is_a : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_IR_PrimaryKeyDef_is_a (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_IR::PrimaryKeyDef *tao_impl
+ ,
+ const char * primary_key_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA::Boolean result);
+
+private:
+ TAO_ServerRequestInfo_IR_PrimaryKeyDef_is_a (const TAO_ServerRequestInfo_IR_PrimaryKeyDef_is_a &);
+ void operator= (const TAO_ServerRequestInfo_IR_PrimaryKeyDef_is_a &);
+
+private:
+ POA_IR::PrimaryKeyDef *_tao_impl;
+ const char * primary_key_id_;
+ CORBA::Boolean _result;
+};
+
+TAO_ServerRequestInfo_IR_PrimaryKeyDef_is_a::TAO_ServerRequestInfo_IR_PrimaryKeyDef_is_a (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_IR::PrimaryKeyDef *tao_impl,
+ const char * primary_key_id
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ primary_key_id_ (primary_key_id)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_IR_PrimaryKeyDef_is_a::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (1);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= primary_key_id_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_IR_PrimaryKeyDef_is_a::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_IR_PrimaryKeyDef_is_a::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= CORBA::Any::from_boolean (this->_result);
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_IR_PrimaryKeyDef_is_a::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_IR_PrimaryKeyDef_is_a::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_IR_PrimaryKeyDef_is_a::result (CORBA::Boolean result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_IR_PrimaryKeyDef_primary_key_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_IR_PrimaryKeyDef_primary_key_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_IR::PrimaryKeyDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_ValueDef_ptr result);
+
+private:
+ TAO_ServerRequestInfo_IR_PrimaryKeyDef_primary_key_get (const TAO_ServerRequestInfo_IR_PrimaryKeyDef_primary_key_get &);
+ void operator= (const TAO_ServerRequestInfo_IR_PrimaryKeyDef_primary_key_get &);
+
+private:
+ POA_IR::PrimaryKeyDef *_tao_impl;
+ CORBA_ValueDef_ptr _result;
+};
+
+TAO_ServerRequestInfo_IR_PrimaryKeyDef_primary_key_get::TAO_ServerRequestInfo_IR_PrimaryKeyDef_primary_key_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_IR::PrimaryKeyDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_IR_PrimaryKeyDef_primary_key_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_IR_PrimaryKeyDef_primary_key_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_IR_PrimaryKeyDef_primary_key_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_IR_PrimaryKeyDef_primary_key_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_IR_PrimaryKeyDef_primary_key_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_IR_PrimaryKeyDef_primary_key_get::result (CORBA_ValueDef_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Implementation
+//
+
+// Factory function Implementation.
+POA_IR::_TAO_PrimaryKeyDef_Strategized_Proxy_Broker *POA_IR::_TAO_PrimaryKeyDef_Strategized_Proxy_Broker::the_TAO_PrimaryKeyDef_Strategized_Proxy_Broker (void)
+{
+ static POA_IR::_TAO_PrimaryKeyDef_Strategized_Proxy_Broker strategized_proxy_broker;
+ return &strategized_proxy_broker;
+}
+
+POA_IR::_TAO_PrimaryKeyDef_Strategized_Proxy_Broker::_TAO_PrimaryKeyDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ this->proxy_cache_[i] = 0;
+
+}
+
+POA_IR::_TAO_PrimaryKeyDef_Strategized_Proxy_Broker::~_TAO_PrimaryKeyDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ delete this->proxy_cache_[i];
+
+}
+
+IR::_TAO_PrimaryKeyDef_Proxy_Impl&
+POA_IR::_TAO_PrimaryKeyDef_Strategized_Proxy_Broker::select_proxy (
+ ::IR::PrimaryKeyDef *object
+ ACE_ENV_ARG_DECL
+ )
+{
+ int strategy =
+ TAO_ORB_Core::collocation_strategy (object ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ if (this->proxy_cache_[strategy] != 0)
+ return *this->proxy_cache_[strategy];
+
+ this->create_proxy (strategy ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ return *this->proxy_cache_[strategy];
+
+}
+
+void
+POA_IR::_TAO_PrimaryKeyDef_Strategized_Proxy_Broker::create_proxy (
+ int strategy
+ ACE_ENV_ARG_DECL
+ )
+{
+ ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_);
+
+ if (this->proxy_cache_[strategy] == 0)
+ {
+ switch (strategy)
+ {
+ case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ POA_IR::_TAO_PrimaryKeyDef_ThruPOA_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY:
+ default:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ ::IR::_TAO_PrimaryKeyDef_Remote_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ }
+
+ }
+}
+
+
+//
+// End Strategized Proxy Broker Implementation
+///////////////////////////////////////////////////////////////////////
+
+
+IR::_TAO_PrimaryKeyDef_Proxy_Broker *
+IR__TAO_PrimaryKeyDef_Proxy_Broker_Factory_function (CORBA::Object_ptr obj)
+{
+ ACE_UNUSED_ARG (obj);
+ return ::POA_IR::_TAO_PrimaryKeyDef_Strategized_Proxy_Broker::the_TAO_PrimaryKeyDef_Strategized_Proxy_Broker();
+}
+
+int
+IR__TAO_PrimaryKeyDef_Proxy_Broker_Factory_Initializer (long)
+{
+ IR__TAO_PrimaryKeyDef_Proxy_Broker_Factory_function_pointer =
+ IR__TAO_PrimaryKeyDef_Proxy_Broker_Factory_function;
+
+ return 0;
+}
+
+static int IR__TAO_PrimaryKeyDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
+ IR__TAO_PrimaryKeyDef_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, IR__TAO_PrimaryKeyDef_Proxy_Broker_Factory_Initializer));
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Proxy Implementation
+//
+
+POA_IR::_TAO_PrimaryKeyDef_ThruPOA_Proxy_Impl::_TAO_PrimaryKeyDef_ThruPOA_Proxy_Impl (void)
+{}
+
+// ThruPOA Implementation of the IDL interface methods
+
+CORBA::Boolean POA_IR::_TAO_PrimaryKeyDef_ThruPOA_Proxy_Impl::is_a (
+ CORBA_Object *_collocated_tao_target_,
+ const char * primary_key_id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::Boolean _tao_retval = 0;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "is_a",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (_tao_retval);
+ return ACE_reinterpret_cast (
+ POA_IR::PrimaryKeyDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/PrimaryKeyDef:1.0"
+ )
+ )->is_a (
+ primary_key_id
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+CORBA_ValueDef_ptr POA_IR::_TAO_PrimaryKeyDef_ThruPOA_Proxy_Impl::primary_key (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_ValueDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "primary_key",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::PrimaryKeyDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/PrimaryKeyDef:1.0"
+ )
+ )->primary_key (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+//
+// End ThruPOA Proxy Implementation
+///////////////////////////////////////////////////////////////////////
+
+// skeleton constructor
+POA_IR::PrimaryKeyDef::PrimaryKeyDef (void)
+{
+ this->optable_ = &tao_IR_PrimaryKeyDef_optable;
+}
+
+// copy ctor
+POA_IR::PrimaryKeyDef::PrimaryKeyDef (const PrimaryKeyDef& rhs)
+ : POA_CORBA_Contained (rhs),
+ POA_CORBA_IRObject (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_IR::PrimaryKeyDef::~PrimaryKeyDef (void)
+{
+}
+
+void POA_IR::PrimaryKeyDef::is_a_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::PrimaryKeyDef *_tao_impl =
+ ACE_static_cast (POA_IR::PrimaryKeyDef *, _tao_object_reference);
+
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var primary_key_id;
+ if (!(
+ (_tao_in >> primary_key_id.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_IR_PrimaryKeyDef_is_a ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ primary_key_id.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->is_a (
+ primary_key_id.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA::Boolean _tao_retval_info = _tao_retval;
+ ri.result (_tao_retval_info);
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << CORBA::Any::from_boolean (_tao_retval))
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_IR::PrimaryKeyDef::_get_primary_key_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_IR::PrimaryKeyDef *_tao_impl =
+ ACE_static_cast (POA_IR::PrimaryKeyDef *, _tao_object_reference);
+
+ CORBA_ValueDef_var _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_IR_PrimaryKeyDef_primary_key_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->primary_key (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_ValueDef_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_IR::PrimaryKeyDef::_is_a_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::PrimaryKeyDef *_tao_impl = (POA_IR::PrimaryKeyDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!(_tao_in >> value.out ()))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::PrimaryKeyDef::_non_existent_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_IR::PrimaryKeyDef *_tao_impl = (POA_IR::PrimaryKeyDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::PrimaryKeyDef::_interface_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_IR::PrimaryKeyDef *_tao_impl = (POA_IR::PrimaryKeyDef *) _tao_object_reference;
+ CORBA_InterfaceDef_ptr _tao_retval = 0;
+ CORBA::Boolean _tao_result = 0;
+
+ TAO_IFR_Client_Adapter *_tao_adapter =
+ ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
+ TAO_ORB_Core::ifr_client_adapter_name ()
+ );
+
+ if (_tao_adapter == 0)
+ {
+ ACE_THROW (CORBA::INTF_REPOS ());
+ }
+
+ ACE_TRY
+ {
+ _tao_retval = _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ _tao_result =
+ _tao_adapter->interfacedef_cdr_insert (
+ _tao_out,
+ _tao_retval
+ );
+ }
+ ACE_CATCHALL
+ {
+ _tao_adapter->dispose (_tao_retval);
+ }
+ ACE_ENDTRY;
+
+ if (_tao_result == 0)
+ {
+ ACE_THROW (CORBA::MARSHAL ());
+ }
+}
+
+CORBA::Boolean POA_IR::PrimaryKeyDef::_is_a (
+ const char* value
+ ACE_ENV_ARG_DECL
+ )
+{
+ const char *base_id = CORBA::_tc_Object->id (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/PrimaryKeyDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Contained:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, base_id)))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_IR::PrimaryKeyDef::_downcast (
+ const char* logical_type_id
+ )
+{
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/PrimaryKeyDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::PrimaryKeyDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Contained:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_Contained_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_IR::PrimaryKeyDef::_dispatch (TAO_ServerRequest &req, void *servant_upcall ACE_ENV_ARG_DECL)
+{
+ this->synchronous_upcall_dispatch (req,
+ servant_upcall,
+ this
+ ACE_ENV_ARG_PARAMETER);
+}
+
+
+const char* POA_IR::PrimaryKeyDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/IR/PrimaryKeyDef:1.0";
+}
+
+IR::PrimaryKeyDef*
+POA_IR::PrimaryKeyDef::_this (ACE_ENV_SINGLE_ARG_DECL)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ TAO_Stub_Auto_Ptr safe_stub (stub);
+
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0);
+ else
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0);
+
+ CORBA::Object_var obj = tmp;
+
+ (void) safe_stub.release ();
+
+ return ::IR::PrimaryKeyDef::_unchecked_narrow (obj.in ());
+}
+
+
+class TAO_IR_FactoryDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 23:08:30 */
+/* C++ code produced by gperf version 2.8 (ACE version) */
+/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0 -a -o -t -p -K opname_ -L C++ -Z TAO_IR_FactoryDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_IR_FactoryDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 15, 0, 10, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 0, 5,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 0, 20, 37, 37, 37, 37, 10, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37,
+#else
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 0, 37, 0, 37, 37,
+ 15, 0, 10, 37, 37, 37, 37, 37, 37, 0,
+ 5, 37, 37, 37, 37, 0, 20, 37, 37, 37,
+ 37, 10, 37, 37, 37, 37, 37, 37,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_IR_FactoryDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 27,
+ MIN_WORD_LENGTH = 4,
+ MAX_WORD_LENGTH = 26,
+ MIN_HASH_VALUE = 4,
+ MAX_HASH_VALUE = 36,
+ HASH_VALUE_RANGE = 33,
+ DUPLICATES = 10,
+ WORDLIST_SIZE = 31
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},
+ {"move", &POA_IR::FactoryDef::move_skel},
+ {"_is_a", &POA_IR::FactoryDef::_is_a_skel},
+ {"_get_mode", &POA_IR::FactoryDef::_get_mode_skel},
+ {"_set_name", &POA_IR::FactoryDef::_set_name_skel},
+ {"_get_name", &POA_IR::FactoryDef::_get_name_skel},
+ {"_set_mode", &POA_IR::FactoryDef::_set_mode_skel},
+ {"_interface", &POA_IR::FactoryDef::_interface_skel},
+ {"_get_params", &POA_IR::FactoryDef::_get_params_skel},
+ {"_set_params", &POA_IR::FactoryDef::_set_params_skel},
+ {"_get_contexts", &POA_IR::FactoryDef::_get_contexts_skel},
+ {"_set_contexts", &POA_IR::FactoryDef::_set_contexts_skel},
+ {"_get_exceptions", &POA_IR::FactoryDef::_get_exceptions_skel},
+ {"_set_exceptions", &POA_IR::FactoryDef::_set_exceptions_skel},
+ {"_get_version", &POA_IR::FactoryDef::_get_version_skel},
+ {"_set_version", &POA_IR::FactoryDef::_set_version_skel},
+ {"_get_absolute_name", &POA_IR::FactoryDef::_get_absolute_name_skel},
+ {"_get_defined_in", &POA_IR::FactoryDef::_get_defined_in_skel},
+ {"_get_id", &POA_IR::FactoryDef::_get_id_skel},
+ {"_set_id", &POA_IR::FactoryDef::_set_id_skel},
+ {"describe", &POA_IR::FactoryDef::describe_skel},
+ {"_get_result_def", &POA_IR::FactoryDef::_get_result_def_skel},
+ {"_set_result_def", &POA_IR::FactoryDef::_set_result_def_skel},
+ {"_get_def_kind", &POA_IR::FactoryDef::_get_def_kind_skel},
+ {"_get_result", &POA_IR::FactoryDef::_get_result_skel},
+ {"destroy", &POA_IR::FactoryDef::destroy_skel},
+ {"_non_existent", &POA_IR::FactoryDef::_non_existent_skel},
+ {"_get_containing_repository", &POA_IR::FactoryDef::_get_containing_repository_skel},
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ {
+ const class TAO_operation_db_entry *resword;
+
+ switch (key)
+ {
+ case 4:
+ resword = &wordlist[4]; break;
+ case 5:
+ resword = &wordlist[5]; break;
+ case 9:
+ resword = &wordlist[6];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ resword = &wordlist[7];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ resword = &wordlist[8];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ resword = &wordlist[9];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ return 0;
+ case 10:
+ resword = &wordlist[10]; break;
+ case 11:
+ resword = &wordlist[11];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ resword = &wordlist[12];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ return 0;
+ case 13:
+ resword = &wordlist[13];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ resword = &wordlist[14];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ return 0;
+ case 15:
+ resword = &wordlist[15];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ resword = &wordlist[16];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ return 0;
+ case 17:
+ resword = &wordlist[17];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ resword = &wordlist[18];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ return 0;
+ case 18:
+ resword = &wordlist[19]; break;
+ case 20:
+ resword = &wordlist[20]; break;
+ case 22:
+ resword = &wordlist[21];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ resword = &wordlist[22];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ return 0;
+ case 23:
+ resword = &wordlist[23]; break;
+ case 25:
+ resword = &wordlist[24];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ resword = &wordlist[25];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ return 0;
+ case 28:
+ resword = &wordlist[26]; break;
+ case 31:
+ resword = &wordlist[27]; break;
+ case 32:
+ resword = &wordlist[28]; break;
+ case 33:
+ resword = &wordlist[29]; break;
+ case 36:
+ resword = &wordlist[30]; break;
+ default: return 0;
+ }
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1))
+ return resword;
+ return 0;
+ }
+ }
+ }
+ return 0;
+}
+/* ending time is 23:08:30 */
+static TAO_IR_FactoryDef_Perfect_Hash_OpTable tao_IR_FactoryDef_optable;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+#endif /* TAO_HAS_INTERCEPTORS */
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Implementation
+//
+
+// Factory function Implementation.
+POA_IR::_TAO_FactoryDef_Strategized_Proxy_Broker *POA_IR::_TAO_FactoryDef_Strategized_Proxy_Broker::the_TAO_FactoryDef_Strategized_Proxy_Broker (void)
+{
+ static POA_IR::_TAO_FactoryDef_Strategized_Proxy_Broker strategized_proxy_broker;
+ return &strategized_proxy_broker;
+}
+
+POA_IR::_TAO_FactoryDef_Strategized_Proxy_Broker::_TAO_FactoryDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ this->proxy_cache_[i] = 0;
+
+}
+
+POA_IR::_TAO_FactoryDef_Strategized_Proxy_Broker::~_TAO_FactoryDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ delete this->proxy_cache_[i];
+
+}
+
+IR::_TAO_FactoryDef_Proxy_Impl&
+POA_IR::_TAO_FactoryDef_Strategized_Proxy_Broker::select_proxy (
+ ::IR::FactoryDef *object
+ ACE_ENV_ARG_DECL
+ )
+{
+ int strategy =
+ TAO_ORB_Core::collocation_strategy (object ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ if (this->proxy_cache_[strategy] != 0)
+ return *this->proxy_cache_[strategy];
+
+ this->create_proxy (strategy ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ return *this->proxy_cache_[strategy];
+
+}
+
+void
+POA_IR::_TAO_FactoryDef_Strategized_Proxy_Broker::create_proxy (
+ int strategy
+ ACE_ENV_ARG_DECL
+ )
+{
+ ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_);
+
+ if (this->proxy_cache_[strategy] == 0)
+ {
+ switch (strategy)
+ {
+ case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ POA_IR::_TAO_FactoryDef_ThruPOA_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY:
+ default:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ ::IR::_TAO_FactoryDef_Remote_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ }
+
+ }
+}
+
+
+//
+// End Strategized Proxy Broker Implementation
+///////////////////////////////////////////////////////////////////////
+
+
+IR::_TAO_FactoryDef_Proxy_Broker *
+IR__TAO_FactoryDef_Proxy_Broker_Factory_function (CORBA::Object_ptr obj)
+{
+ ACE_UNUSED_ARG (obj);
+ return ::POA_IR::_TAO_FactoryDef_Strategized_Proxy_Broker::the_TAO_FactoryDef_Strategized_Proxy_Broker();
+}
+
+int
+IR__TAO_FactoryDef_Proxy_Broker_Factory_Initializer (long)
+{
+ IR__TAO_FactoryDef_Proxy_Broker_Factory_function_pointer =
+ IR__TAO_FactoryDef_Proxy_Broker_Factory_function;
+
+ return 0;
+}
+
+static int IR__TAO_FactoryDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
+ IR__TAO_FactoryDef_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, IR__TAO_FactoryDef_Proxy_Broker_Factory_Initializer));
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Proxy Implementation
+//
+
+POA_IR::_TAO_FactoryDef_ThruPOA_Proxy_Impl::_TAO_FactoryDef_ThruPOA_Proxy_Impl (void)
+{}
+
+// ThruPOA Implementation of the IDL interface methods
+
+//
+// End ThruPOA Proxy Implementation
+///////////////////////////////////////////////////////////////////////
+
+// skeleton constructor
+POA_IR::FactoryDef::FactoryDef (void)
+{
+ this->optable_ = &tao_IR_FactoryDef_optable;
+}
+
+// copy ctor
+POA_IR::FactoryDef::FactoryDef (const FactoryDef& rhs)
+ : POA_CORBA_OperationDef (rhs),
+ POA_CORBA_Contained (rhs),
+ POA_CORBA_IRObject (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_IR::FactoryDef::~FactoryDef (void)
+{
+}
+
+void POA_IR::FactoryDef::_is_a_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::FactoryDef *_tao_impl = (POA_IR::FactoryDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!(_tao_in >> value.out ()))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::FactoryDef::_non_existent_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_IR::FactoryDef *_tao_impl = (POA_IR::FactoryDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::FactoryDef::_interface_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_IR::FactoryDef *_tao_impl = (POA_IR::FactoryDef *) _tao_object_reference;
+ CORBA_InterfaceDef_ptr _tao_retval = 0;
+ CORBA::Boolean _tao_result = 0;
+
+ TAO_IFR_Client_Adapter *_tao_adapter =
+ ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
+ TAO_ORB_Core::ifr_client_adapter_name ()
+ );
+
+ if (_tao_adapter == 0)
+ {
+ ACE_THROW (CORBA::INTF_REPOS ());
+ }
+
+ ACE_TRY
+ {
+ _tao_retval = _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ _tao_result =
+ _tao_adapter->interfacedef_cdr_insert (
+ _tao_out,
+ _tao_retval
+ );
+ }
+ ACE_CATCHALL
+ {
+ _tao_adapter->dispose (_tao_retval);
+ }
+ ACE_ENDTRY;
+
+ if (_tao_result == 0)
+ {
+ ACE_THROW (CORBA::MARSHAL ());
+ }
+}
+
+CORBA::Boolean POA_IR::FactoryDef::_is_a (
+ const char* value
+ ACE_ENV_ARG_DECL
+ )
+{
+ const char *base_id = CORBA::_tc_Object->id (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/FactoryDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/OperationDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Contained:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, base_id)))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_IR::FactoryDef::_downcast (
+ const char* logical_type_id
+ )
+{
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/FactoryDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::FactoryDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/OperationDef:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_OperationDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Contained:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_Contained_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_IR::FactoryDef::_dispatch (TAO_ServerRequest &req, void *servant_upcall ACE_ENV_ARG_DECL)
+{
+ this->synchronous_upcall_dispatch (req,
+ servant_upcall,
+ this
+ ACE_ENV_ARG_PARAMETER);
+}
+
+
+const char* POA_IR::FactoryDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/IR/FactoryDef:1.0";
+}
+
+IR::FactoryDef*
+POA_IR::FactoryDef::_this (ACE_ENV_SINGLE_ARG_DECL)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ TAO_Stub_Auto_Ptr safe_stub (stub);
+
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0);
+ else
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0);
+
+ CORBA::Object_var obj = tmp;
+
+ (void) safe_stub.release ();
+
+ return ::IR::FactoryDef::_unchecked_narrow (obj.in ());
+}
+
+
+class TAO_IR_FinderDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 23:08:31 */
+/* C++ code produced by gperf version 2.8 (ACE version) */
+/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0 -a -o -t -p -K opname_ -L C++ -Z TAO_IR_FinderDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_IR_FinderDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 15, 0, 10, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 0, 5,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 0, 20, 37, 37, 37, 37, 10, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37,
+#else
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 0, 37, 0, 37, 37,
+ 15, 0, 10, 37, 37, 37, 37, 37, 37, 0,
+ 5, 37, 37, 37, 37, 0, 20, 37, 37, 37,
+ 37, 10, 37, 37, 37, 37, 37, 37,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_IR_FinderDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 27,
+ MIN_WORD_LENGTH = 4,
+ MAX_WORD_LENGTH = 26,
+ MIN_HASH_VALUE = 4,
+ MAX_HASH_VALUE = 36,
+ HASH_VALUE_RANGE = 33,
+ DUPLICATES = 10,
+ WORDLIST_SIZE = 31
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},
+ {"move", &POA_IR::FinderDef::move_skel},
+ {"_is_a", &POA_IR::FinderDef::_is_a_skel},
+ {"_get_mode", &POA_IR::FinderDef::_get_mode_skel},
+ {"_set_name", &POA_IR::FinderDef::_set_name_skel},
+ {"_get_name", &POA_IR::FinderDef::_get_name_skel},
+ {"_set_mode", &POA_IR::FinderDef::_set_mode_skel},
+ {"_interface", &POA_IR::FinderDef::_interface_skel},
+ {"_get_params", &POA_IR::FinderDef::_get_params_skel},
+ {"_set_params", &POA_IR::FinderDef::_set_params_skel},
+ {"_get_contexts", &POA_IR::FinderDef::_get_contexts_skel},
+ {"_set_contexts", &POA_IR::FinderDef::_set_contexts_skel},
+ {"_get_exceptions", &POA_IR::FinderDef::_get_exceptions_skel},
+ {"_set_exceptions", &POA_IR::FinderDef::_set_exceptions_skel},
+ {"_get_version", &POA_IR::FinderDef::_get_version_skel},
+ {"_set_version", &POA_IR::FinderDef::_set_version_skel},
+ {"_get_absolute_name", &POA_IR::FinderDef::_get_absolute_name_skel},
+ {"_get_defined_in", &POA_IR::FinderDef::_get_defined_in_skel},
+ {"_get_id", &POA_IR::FinderDef::_get_id_skel},
+ {"_set_id", &POA_IR::FinderDef::_set_id_skel},
+ {"describe", &POA_IR::FinderDef::describe_skel},
+ {"_get_result_def", &POA_IR::FinderDef::_get_result_def_skel},
+ {"_set_result_def", &POA_IR::FinderDef::_set_result_def_skel},
+ {"_get_def_kind", &POA_IR::FinderDef::_get_def_kind_skel},
+ {"_get_result", &POA_IR::FinderDef::_get_result_skel},
+ {"destroy", &POA_IR::FinderDef::destroy_skel},
+ {"_non_existent", &POA_IR::FinderDef::_non_existent_skel},
+ {"_get_containing_repository", &POA_IR::FinderDef::_get_containing_repository_skel},
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ {
+ const class TAO_operation_db_entry *resword;
+
+ switch (key)
+ {
+ case 4:
+ resword = &wordlist[4]; break;
+ case 5:
+ resword = &wordlist[5]; break;
+ case 9:
+ resword = &wordlist[6];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ resword = &wordlist[7];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ resword = &wordlist[8];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ resword = &wordlist[9];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ return 0;
+ case 10:
+ resword = &wordlist[10]; break;
+ case 11:
+ resword = &wordlist[11];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ resword = &wordlist[12];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ return 0;
+ case 13:
+ resword = &wordlist[13];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ resword = &wordlist[14];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ return 0;
+ case 15:
+ resword = &wordlist[15];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ resword = &wordlist[16];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ return 0;
+ case 17:
+ resword = &wordlist[17];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ resword = &wordlist[18];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ return 0;
+ case 18:
+ resword = &wordlist[19]; break;
+ case 20:
+ resword = &wordlist[20]; break;
+ case 22:
+ resword = &wordlist[21];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ resword = &wordlist[22];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ return 0;
+ case 23:
+ resword = &wordlist[23]; break;
+ case 25:
+ resword = &wordlist[24];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ resword = &wordlist[25];
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
+ return 0;
+ case 28:
+ resword = &wordlist[26]; break;
+ case 31:
+ resword = &wordlist[27]; break;
+ case 32:
+ resword = &wordlist[28]; break;
+ case 33:
+ resword = &wordlist[29]; break;
+ case 36:
+ resword = &wordlist[30]; break;
+ default: return 0;
+ }
+ if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1))
+ return resword;
+ return 0;
+ }
+ }
+ }
+ return 0;
+}
+/* ending time is 23:08:31 */
+static TAO_IR_FinderDef_Perfect_Hash_OpTable tao_IR_FinderDef_optable;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+#endif /* TAO_HAS_INTERCEPTORS */
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Implementation
+//
+
+// Factory function Implementation.
+POA_IR::_TAO_FinderDef_Strategized_Proxy_Broker *POA_IR::_TAO_FinderDef_Strategized_Proxy_Broker::the_TAO_FinderDef_Strategized_Proxy_Broker (void)
+{
+ static POA_IR::_TAO_FinderDef_Strategized_Proxy_Broker strategized_proxy_broker;
+ return &strategized_proxy_broker;
+}
+
+POA_IR::_TAO_FinderDef_Strategized_Proxy_Broker::_TAO_FinderDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ this->proxy_cache_[i] = 0;
+
+}
+
+POA_IR::_TAO_FinderDef_Strategized_Proxy_Broker::~_TAO_FinderDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ delete this->proxy_cache_[i];
+
+}
+
+IR::_TAO_FinderDef_Proxy_Impl&
+POA_IR::_TAO_FinderDef_Strategized_Proxy_Broker::select_proxy (
+ ::IR::FinderDef *object
+ ACE_ENV_ARG_DECL
+ )
+{
+ int strategy =
+ TAO_ORB_Core::collocation_strategy (object ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ if (this->proxy_cache_[strategy] != 0)
+ return *this->proxy_cache_[strategy];
+
+ this->create_proxy (strategy ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ return *this->proxy_cache_[strategy];
+
+}
+
+void
+POA_IR::_TAO_FinderDef_Strategized_Proxy_Broker::create_proxy (
+ int strategy
+ ACE_ENV_ARG_DECL
+ )
+{
+ ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_);
+
+ if (this->proxy_cache_[strategy] == 0)
+ {
+ switch (strategy)
+ {
+ case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ POA_IR::_TAO_FinderDef_ThruPOA_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY:
+ default:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ ::IR::_TAO_FinderDef_Remote_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ }
+
+ }
+}
+
+
+//
+// End Strategized Proxy Broker Implementation
+///////////////////////////////////////////////////////////////////////
+
+
+IR::_TAO_FinderDef_Proxy_Broker *
+IR__TAO_FinderDef_Proxy_Broker_Factory_function (CORBA::Object_ptr obj)
+{
+ ACE_UNUSED_ARG (obj);
+ return ::POA_IR::_TAO_FinderDef_Strategized_Proxy_Broker::the_TAO_FinderDef_Strategized_Proxy_Broker();
+}
+
+int
+IR__TAO_FinderDef_Proxy_Broker_Factory_Initializer (long)
+{
+ IR__TAO_FinderDef_Proxy_Broker_Factory_function_pointer =
+ IR__TAO_FinderDef_Proxy_Broker_Factory_function;
+
+ return 0;
+}
+
+static int IR__TAO_FinderDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
+ IR__TAO_FinderDef_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, IR__TAO_FinderDef_Proxy_Broker_Factory_Initializer));
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Proxy Implementation
+//
+
+POA_IR::_TAO_FinderDef_ThruPOA_Proxy_Impl::_TAO_FinderDef_ThruPOA_Proxy_Impl (void)
+{}
+
+// ThruPOA Implementation of the IDL interface methods
+
+//
+// End ThruPOA Proxy Implementation
+///////////////////////////////////////////////////////////////////////
+
+// skeleton constructor
+POA_IR::FinderDef::FinderDef (void)
+{
+ this->optable_ = &tao_IR_FinderDef_optable;
+}
+
+// copy ctor
+POA_IR::FinderDef::FinderDef (const FinderDef& rhs)
+ : POA_CORBA_OperationDef (rhs),
+ POA_CORBA_Contained (rhs),
+ POA_CORBA_IRObject (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_IR::FinderDef::~FinderDef (void)
+{
+}
+
+void POA_IR::FinderDef::_is_a_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::FinderDef *_tao_impl = (POA_IR::FinderDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!(_tao_in >> value.out ()))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::FinderDef::_non_existent_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_IR::FinderDef *_tao_impl = (POA_IR::FinderDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::FinderDef::_interface_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_IR::FinderDef *_tao_impl = (POA_IR::FinderDef *) _tao_object_reference;
+ CORBA_InterfaceDef_ptr _tao_retval = 0;
+ CORBA::Boolean _tao_result = 0;
+
+ TAO_IFR_Client_Adapter *_tao_adapter =
+ ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
+ TAO_ORB_Core::ifr_client_adapter_name ()
+ );
+
+ if (_tao_adapter == 0)
+ {
+ ACE_THROW (CORBA::INTF_REPOS ());
+ }
+
+ ACE_TRY
+ {
+ _tao_retval = _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ _tao_result =
+ _tao_adapter->interfacedef_cdr_insert (
+ _tao_out,
+ _tao_retval
+ );
+ }
+ ACE_CATCHALL
+ {
+ _tao_adapter->dispose (_tao_retval);
+ }
+ ACE_ENDTRY;
+
+ if (_tao_result == 0)
+ {
+ ACE_THROW (CORBA::MARSHAL ());
+ }
+}
+
+CORBA::Boolean POA_IR::FinderDef::_is_a (
+ const char* value
+ ACE_ENV_ARG_DECL
+ )
+{
+ const char *base_id = CORBA::_tc_Object->id (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/FinderDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/OperationDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Contained:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, base_id)))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_IR::FinderDef::_downcast (
+ const char* logical_type_id
+ )
+{
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/FinderDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::FinderDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/OperationDef:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_OperationDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Contained:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_Contained_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_IR::FinderDef::_dispatch (TAO_ServerRequest &req, void *servant_upcall ACE_ENV_ARG_DECL)
+{
+ this->synchronous_upcall_dispatch (req,
+ servant_upcall,
+ this
+ ACE_ENV_ARG_PARAMETER);
+}
+
+
+const char* POA_IR::FinderDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/IR/FinderDef:1.0";
+}
+
+IR::FinderDef*
+POA_IR::FinderDef::_this (ACE_ENV_SINGLE_ARG_DECL)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ TAO_Stub_Auto_Ptr safe_stub (stub);
+
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0);
+ else
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0);
+
+ CORBA::Object_var obj = tmp;
+
+ (void) safe_stub.release ();
+
+ return ::IR::FinderDef::_unchecked_narrow (obj.in ());
+}
+
+
+class TAO_IR_HomeDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 23:08:31 */
+/* C++ code produced by gperf version 2.8 (ACE version) */
+/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0 -a -o -t -p -K opname_ -L C++ -Z TAO_IR_HomeDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_IR_HomeDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 0,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 0,
+ 91, 20, 5, 40, 91, 91, 91, 0, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 0, 0, 5,
+ 91, 0, 91, 5, 91, 91, 91, 91, 91, 91,
+ 91, 91, 20, 55, 91, 91, 91, 0, 45, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91,
+#else
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 91, 91, 91, 0, 91, 0, 91, 20,
+ 5, 40, 91, 91, 91, 0, 91, 91, 0, 0,
+ 5, 91, 0, 91, 5, 20, 55, 91, 91, 91,
+ 0, 45, 91, 91, 91, 91, 91, 91,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_IR_HomeDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 49,
+ MIN_WORD_LENGTH = 4,
+ MAX_WORD_LENGTH = 26,
+ MIN_HASH_VALUE = 4,
+ MAX_HASH_VALUE = 90,
+ HASH_VALUE_RANGE = 87,
+ DUPLICATES = 9,
+ WORDLIST_SIZE = 53
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},
+ {"is_a", &POA_IR::HomeDef::is_a_skel},
+ {"_is_a", &POA_IR::HomeDef::_is_a_skel},
+ {"lookup", &POA_IR::HomeDef::lookup_skel},
+ {"_get_id", &POA_IR::HomeDef::_get_id_skel},
+ {"_set_id", &POA_IR::HomeDef::_set_id_skel},
+ {"_get_version", &POA_IR::HomeDef::_get_version_skel},
+ {"_set_version", &POA_IR::HomeDef::_set_version_skel},
+ {"_get_def_kind", &POA_IR::HomeDef::_get_def_kind_skel},
+ {"_get_defined_in", &POA_IR::HomeDef::_get_defined_in_skel},
+ {"create_enum", &POA_IR::HomeDef::create_enum_skel},
+ {"_get_finders", &POA_IR::HomeDef::_get_finders_skel},
+ {"_get_is_basic", &POA_IR::HomeDef::_get_is_basic_skel},
+ {"_get_factories", &POA_IR::HomeDef::_get_factories_skel},
+ {"create_value_box", &POA_IR::HomeDef::create_value_box_skel},
+ {"create_union", &POA_IR::HomeDef::create_union_skel},
+ {"create_finder", &POA_IR::HomeDef::create_finder_skel},
+ {"_get_base_interfaces", &POA_IR::HomeDef::_get_base_interfaces_skel},
+ {"_set_base_interfaces", &POA_IR::HomeDef::_set_base_interfaces_skel},
+ {"create_operation", &POA_IR::HomeDef::create_operation_skel},
+ {"create_exception", &POA_IR::HomeDef::create_exception_skel},
+ {"describe_contents", &POA_IR::HomeDef::describe_contents_skel},
+ {"move", &POA_IR::HomeDef::move_skel},
+ {"contents", &POA_IR::HomeDef::contents_skel},
+ {"_get_name", &POA_IR::HomeDef::_get_name_skel},
+ {"_get_type", &POA_IR::HomeDef::_get_type_skel},
+ {"_set_name", &POA_IR::HomeDef::_set_name_skel},
+ {"_interface", &POA_IR::HomeDef::_interface_skel},
+ {"lookup_name", &POA_IR::HomeDef::lookup_name_skel},
+ {"create_alias", &POA_IR::HomeDef::create_alias_skel},
+ {"describe", &POA_IR::HomeDef::describe_skel},
+ {"_get_base_home", &POA_IR::HomeDef::_get_base_home_skel},
+ {"destroy", &POA_IR::HomeDef::destroy_skel},
+ {"_get_absolute_name", &POA_IR::HomeDef::_get_absolute_name_skel},
+ {"_get_primary_key", &POA_IR::HomeDef::_get_primary_key_skel},
+ {"describe_interface", &POA_IR::HomeDef::describe_interface_skel},
+ {"_non_existent", &POA_IR::HomeDef::_non_existent_skel},
+ {"_get_containing_repository", &POA_IR::HomeDef::_get_containing_repository_skel},
+ {"create_value", &POA_IR::HomeDef::create_value_skel},
+ {"create_module", &POA_IR::HomeDef::create_module_skel},
+ {"create_native", &POA_IR::HomeDef::create_native_skel},
+ {"create_attribute", &POA_IR::HomeDef::create_attribute_skel},
+ {"create_interface", &POA_IR::HomeDef::create_interface_skel},
+ {"_get_managed_component", &POA_IR::HomeDef::_get_managed_component_skel},
+ {"create_factory", &POA_IR::HomeDef::create_factory_skel},
+ {"create_local_interface", &POA_IR::HomeDef::create_local_interface_skel},
+ {"create_primary_key", &POA_IR::HomeDef::create_primary_key_skel},
+ {"create_abstract_interface", &POA_IR::HomeDef::create_abstract_interface_skel},
+ {"create_struct", &POA_IR::HomeDef::create_struct_skel},
+ {"create_constant", &POA_IR::HomeDef::create_constant_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -1, -1, -1, -1, 4, 5, 6, -1, -1, -1, -7, -2, -92, -1,
+ -1, -9, -2, -92, 11, -1, 12, -1, -1, -1, -1, -1, -1, -20,
+ -2, -22, -2, 13, 14, 15, 16, -1, 17, 18, 19, -1, -103, -102,
+ 24, -1, 25, -1, -27, -3, 26, -93, 30, 31, 32, 33, 34, -1,
+ -1, 35, 36, -1, -1, 37, -1, 38, -1, -1, -1, -1, 39, -42,
+ -2, 40, 41, -94, -44, -2, -92, 46, -1, 47, -1, -1, 48, 49,
+ -1, 50, -1, -1, 51, -1, 52,
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ int slot = lookup[key];
+
+ if (slot >= 0 && slot < WORDLIST_SIZE)
+ {
+ 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 23:08:31 */
+static TAO_IR_HomeDef_Perfect_Hash_OpTable tao_IR_HomeDef_optable;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+class TAO_ServerRequestInfo_IR_HomeDef_base_home_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_IR_HomeDef_base_home_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_IR::HomeDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (IR::HomeDef_ptr result);
+
+private:
+ TAO_ServerRequestInfo_IR_HomeDef_base_home_get (const TAO_ServerRequestInfo_IR_HomeDef_base_home_get &);
+ void operator= (const TAO_ServerRequestInfo_IR_HomeDef_base_home_get &);
+
+private:
+ POA_IR::HomeDef *_tao_impl;
+ IR::HomeDef_ptr _result;
+};
+
+TAO_ServerRequestInfo_IR_HomeDef_base_home_get::TAO_ServerRequestInfo_IR_HomeDef_base_home_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_IR::HomeDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_IR_HomeDef_base_home_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_IR_HomeDef_base_home_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_IR_HomeDef_base_home_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_IR_HomeDef_base_home_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_IR_HomeDef_base_home_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_IR_HomeDef_base_home_get::result (IR::HomeDef_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_IR_HomeDef_managed_component_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_IR_HomeDef_managed_component_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_IR::HomeDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (IR::ComponentDef_ptr result);
+
+private:
+ TAO_ServerRequestInfo_IR_HomeDef_managed_component_get (const TAO_ServerRequestInfo_IR_HomeDef_managed_component_get &);
+ void operator= (const TAO_ServerRequestInfo_IR_HomeDef_managed_component_get &);
+
+private:
+ POA_IR::HomeDef *_tao_impl;
+ IR::ComponentDef_ptr _result;
+};
+
+TAO_ServerRequestInfo_IR_HomeDef_managed_component_get::TAO_ServerRequestInfo_IR_HomeDef_managed_component_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_IR::HomeDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_IR_HomeDef_managed_component_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_IR_HomeDef_managed_component_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_IR_HomeDef_managed_component_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_IR_HomeDef_managed_component_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_IR_HomeDef_managed_component_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_IR_HomeDef_managed_component_get::result (IR::ComponentDef_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_IR_HomeDef_primary_key_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_IR_HomeDef_primary_key_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_IR::HomeDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (IR::PrimaryKeyDef_ptr result);
+
+private:
+ TAO_ServerRequestInfo_IR_HomeDef_primary_key_get (const TAO_ServerRequestInfo_IR_HomeDef_primary_key_get &);
+ void operator= (const TAO_ServerRequestInfo_IR_HomeDef_primary_key_get &);
+
+private:
+ POA_IR::HomeDef *_tao_impl;
+ IR::PrimaryKeyDef_ptr _result;
+};
+
+TAO_ServerRequestInfo_IR_HomeDef_primary_key_get::TAO_ServerRequestInfo_IR_HomeDef_primary_key_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_IR::HomeDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_IR_HomeDef_primary_key_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_IR_HomeDef_primary_key_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_IR_HomeDef_primary_key_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_IR_HomeDef_primary_key_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_IR_HomeDef_primary_key_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_IR_HomeDef_primary_key_get::result (IR::PrimaryKeyDef_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_IR_HomeDef_factories_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_IR_HomeDef_factories_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_IR::HomeDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (IR::FactoryDefSeq * result);
+
+private:
+ TAO_ServerRequestInfo_IR_HomeDef_factories_get (const TAO_ServerRequestInfo_IR_HomeDef_factories_get &);
+ void operator= (const TAO_ServerRequestInfo_IR_HomeDef_factories_get &);
+
+private:
+ POA_IR::HomeDef *_tao_impl;
+ IR::FactoryDefSeq * _result;
+};
+
+TAO_ServerRequestInfo_IR_HomeDef_factories_get::TAO_ServerRequestInfo_IR_HomeDef_factories_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_IR::HomeDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_IR_HomeDef_factories_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_IR_HomeDef_factories_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_IR_HomeDef_factories_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_IR_HomeDef_factories_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_IR_HomeDef_factories_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_IR_HomeDef_factories_get::result (IR::FactoryDefSeq * result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_IR_HomeDef_finders_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_IR_HomeDef_finders_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_IR::HomeDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (IR::FinderDefSeq * result);
+
+private:
+ TAO_ServerRequestInfo_IR_HomeDef_finders_get (const TAO_ServerRequestInfo_IR_HomeDef_finders_get &);
+ void operator= (const TAO_ServerRequestInfo_IR_HomeDef_finders_get &);
+
+private:
+ POA_IR::HomeDef *_tao_impl;
+ IR::FinderDefSeq * _result;
+};
+
+TAO_ServerRequestInfo_IR_HomeDef_finders_get::TAO_ServerRequestInfo_IR_HomeDef_finders_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_IR::HomeDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_IR_HomeDef_finders_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_IR_HomeDef_finders_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_IR_HomeDef_finders_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_IR_HomeDef_finders_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_IR_HomeDef_finders_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_IR_HomeDef_finders_get::result (IR::FinderDefSeq * result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_IR_HomeDef_is_basic_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_IR_HomeDef_is_basic_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_IR::HomeDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA::Boolean result);
+
+private:
+ TAO_ServerRequestInfo_IR_HomeDef_is_basic_get (const TAO_ServerRequestInfo_IR_HomeDef_is_basic_get &);
+ void operator= (const TAO_ServerRequestInfo_IR_HomeDef_is_basic_get &);
+
+private:
+ POA_IR::HomeDef *_tao_impl;
+ CORBA::Boolean _result;
+};
+
+TAO_ServerRequestInfo_IR_HomeDef_is_basic_get::TAO_ServerRequestInfo_IR_HomeDef_is_basic_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_IR::HomeDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_IR_HomeDef_is_basic_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_IR_HomeDef_is_basic_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_IR_HomeDef_is_basic_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= CORBA::Any::from_boolean (this->_result);
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_IR_HomeDef_is_basic_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_IR_HomeDef_is_basic_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_IR_HomeDef_is_basic_get::result (CORBA::Boolean result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_IR_HomeDef_create_primary_key : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_IR_HomeDef_create_primary_key (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_IR::HomeDef *tao_impl
+ ,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_ValueDef_ptr primary_key
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (IR::PrimaryKeyDef_ptr result);
+
+private:
+ TAO_ServerRequestInfo_IR_HomeDef_create_primary_key (const TAO_ServerRequestInfo_IR_HomeDef_create_primary_key &);
+ void operator= (const TAO_ServerRequestInfo_IR_HomeDef_create_primary_key &);
+
+private:
+ POA_IR::HomeDef *_tao_impl;
+ const char * id_;
+ const char * name_;
+ const char * version_;
+ CORBA_ValueDef_ptr primary_key_;
+ IR::PrimaryKeyDef_ptr _result;
+};
+
+TAO_ServerRequestInfo_IR_HomeDef_create_primary_key::TAO_ServerRequestInfo_IR_HomeDef_create_primary_key (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_IR::HomeDef *tao_impl,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_ValueDef_ptr primary_key
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ id_ (id),
+ name_ (name),
+ version_ (version),
+ primary_key_ (primary_key)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_IR_HomeDef_create_primary_key::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (4);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= id_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= name_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= version_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= this->primary_key_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_IR_HomeDef_create_primary_key::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_IR_HomeDef_create_primary_key::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_IR_HomeDef_create_primary_key::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_IR_HomeDef_create_primary_key::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_IR_HomeDef_create_primary_key::result (IR::PrimaryKeyDef_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_IR_HomeDef_create_factory : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_IR_HomeDef_create_factory (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_IR::HomeDef *tao_impl
+ ,
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_ParDescriptionSeq & params,
+ const CORBA_ExceptionDefSeq & exceptions
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (IR::FactoryDef_ptr result);
+
+private:
+ TAO_ServerRequestInfo_IR_HomeDef_create_factory (const TAO_ServerRequestInfo_IR_HomeDef_create_factory &);
+ void operator= (const TAO_ServerRequestInfo_IR_HomeDef_create_factory &);
+
+private:
+ POA_IR::HomeDef *_tao_impl;
+ const char * id_;
+ const char * name_;
+ const char * version_;
+ const CORBA_ParDescriptionSeq & params_;
+ const CORBA_ExceptionDefSeq & exceptions_;
+ IR::FactoryDef_ptr _result;
+};
+
+TAO_ServerRequestInfo_IR_HomeDef_create_factory::TAO_ServerRequestInfo_IR_HomeDef_create_factory (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_IR::HomeDef *tao_impl,
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_ParDescriptionSeq & params,
+ const CORBA_ExceptionDefSeq & exceptions
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ id_ (id),
+ name_ (name),
+ version_ (version),
+ params_ (params),
+ exceptions_ (exceptions)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_IR_HomeDef_create_factory::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (5);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= id_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= name_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= version_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= this->params_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= this->exceptions_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_IR_HomeDef_create_factory::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_IR_HomeDef_create_factory::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_IR_HomeDef_create_factory::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_IR_HomeDef_create_factory::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_IR_HomeDef_create_factory::result (IR::FactoryDef_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_IR_HomeDef_create_finder : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_IR_HomeDef_create_finder (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_IR::HomeDef *tao_impl
+ ,
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_ParDescriptionSeq & params,
+ const CORBA_ExceptionDefSeq & exceptions
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (IR::FinderDef_ptr result);
+
+private:
+ TAO_ServerRequestInfo_IR_HomeDef_create_finder (const TAO_ServerRequestInfo_IR_HomeDef_create_finder &);
+ void operator= (const TAO_ServerRequestInfo_IR_HomeDef_create_finder &);
+
+private:
+ POA_IR::HomeDef *_tao_impl;
+ const char * id_;
+ const char * name_;
+ const char * version_;
+ const CORBA_ParDescriptionSeq & params_;
+ const CORBA_ExceptionDefSeq & exceptions_;
+ IR::FinderDef_ptr _result;
+};
+
+TAO_ServerRequestInfo_IR_HomeDef_create_finder::TAO_ServerRequestInfo_IR_HomeDef_create_finder (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_IR::HomeDef *tao_impl,
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_ParDescriptionSeq & params,
+ const CORBA_ExceptionDefSeq & exceptions
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ id_ (id),
+ name_ (name),
+ version_ (version),
+ params_ (params),
+ exceptions_ (exceptions)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_IR_HomeDef_create_finder::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (5);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= id_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= name_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= version_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= this->params_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= this->exceptions_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_IR_HomeDef_create_finder::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_IR_HomeDef_create_finder::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_IR_HomeDef_create_finder::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_IR_HomeDef_create_finder::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_IR_HomeDef_create_finder::result (IR::FinderDef_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Implementation
+//
+
+// Factory function Implementation.
+POA_IR::_TAO_HomeDef_Strategized_Proxy_Broker *POA_IR::_TAO_HomeDef_Strategized_Proxy_Broker::the_TAO_HomeDef_Strategized_Proxy_Broker (void)
+{
+ static POA_IR::_TAO_HomeDef_Strategized_Proxy_Broker strategized_proxy_broker;
+ return &strategized_proxy_broker;
+}
+
+POA_IR::_TAO_HomeDef_Strategized_Proxy_Broker::_TAO_HomeDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ this->proxy_cache_[i] = 0;
+
+}
+
+POA_IR::_TAO_HomeDef_Strategized_Proxy_Broker::~_TAO_HomeDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ delete this->proxy_cache_[i];
+
+}
+
+IR::_TAO_HomeDef_Proxy_Impl&
+POA_IR::_TAO_HomeDef_Strategized_Proxy_Broker::select_proxy (
+ ::IR::HomeDef *object
+ ACE_ENV_ARG_DECL
+ )
+{
+ int strategy =
+ TAO_ORB_Core::collocation_strategy (object ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ if (this->proxy_cache_[strategy] != 0)
+ return *this->proxy_cache_[strategy];
+
+ this->create_proxy (strategy ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ return *this->proxy_cache_[strategy];
+
+}
+
+void
+POA_IR::_TAO_HomeDef_Strategized_Proxy_Broker::create_proxy (
+ int strategy
+ ACE_ENV_ARG_DECL
+ )
+{
+ ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_);
+
+ if (this->proxy_cache_[strategy] == 0)
+ {
+ switch (strategy)
+ {
+ case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ POA_IR::_TAO_HomeDef_ThruPOA_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY:
+ default:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ ::IR::_TAO_HomeDef_Remote_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ }
+
+ }
+}
+
+
+//
+// End Strategized Proxy Broker Implementation
+///////////////////////////////////////////////////////////////////////
+
+
+IR::_TAO_HomeDef_Proxy_Broker *
+IR__TAO_HomeDef_Proxy_Broker_Factory_function (CORBA::Object_ptr obj)
+{
+ ACE_UNUSED_ARG (obj);
+ return ::POA_IR::_TAO_HomeDef_Strategized_Proxy_Broker::the_TAO_HomeDef_Strategized_Proxy_Broker();
+}
+
+int
+IR__TAO_HomeDef_Proxy_Broker_Factory_Initializer (long)
+{
+ IR__TAO_HomeDef_Proxy_Broker_Factory_function_pointer =
+ IR__TAO_HomeDef_Proxy_Broker_Factory_function;
+
+ return 0;
+}
+
+static int IR__TAO_HomeDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
+ IR__TAO_HomeDef_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, IR__TAO_HomeDef_Proxy_Broker_Factory_Initializer));
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Proxy Implementation
+//
+
+POA_IR::_TAO_HomeDef_ThruPOA_Proxy_Impl::_TAO_HomeDef_ThruPOA_Proxy_Impl (void)
+{}
+
+// ThruPOA Implementation of the IDL interface methods
+
+IR::HomeDef_ptr POA_IR::_TAO_HomeDef_ThruPOA_Proxy_Impl::base_home (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::HomeDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "base_home",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::HomeDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/HomeDef:1.0"
+ )
+ )->base_home (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+IR::ComponentDef_ptr POA_IR::_TAO_HomeDef_ThruPOA_Proxy_Impl::managed_component (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::ComponentDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "managed_component",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::HomeDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/HomeDef:1.0"
+ )
+ )->managed_component (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+IR::PrimaryKeyDef_ptr POA_IR::_TAO_HomeDef_ThruPOA_Proxy_Impl::primary_key (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::PrimaryKeyDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "primary_key",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::HomeDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/HomeDef:1.0"
+ )
+ )->primary_key (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+IR::FactoryDefSeq * POA_IR::_TAO_HomeDef_ThruPOA_Proxy_Impl::factories (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::FactoryDefSeq_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "factories",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::HomeDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/HomeDef:1.0"
+ )
+ )->factories (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+IR::FinderDefSeq * POA_IR::_TAO_HomeDef_ThruPOA_Proxy_Impl::finders (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::FinderDefSeq_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "finders",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::HomeDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/HomeDef:1.0"
+ )
+ )->finders (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+CORBA::Boolean POA_IR::_TAO_HomeDef_ThruPOA_Proxy_Impl::is_basic (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::Boolean _tao_retval = 0;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "is_basic",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (_tao_retval);
+ return ACE_reinterpret_cast (
+ POA_IR::HomeDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/HomeDef:1.0"
+ )
+ )->is_basic (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+IR::PrimaryKeyDef_ptr POA_IR::_TAO_HomeDef_ThruPOA_Proxy_Impl::create_primary_key (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_ValueDef_ptr primary_key
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::PrimaryKeyDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "create_primary_key",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::HomeDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/HomeDef:1.0"
+ )
+ )->create_primary_key (
+ id,
+ name,
+ version,
+ primary_key
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+IR::FactoryDef_ptr POA_IR::_TAO_HomeDef_ThruPOA_Proxy_Impl::create_factory (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_ParDescriptionSeq & params,
+ const CORBA_ExceptionDefSeq & exceptions
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::FactoryDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "create_factory",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::HomeDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/HomeDef:1.0"
+ )
+ )->create_factory (
+ id,
+ name,
+ version,
+ params,
+ exceptions
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+IR::FinderDef_ptr POA_IR::_TAO_HomeDef_ThruPOA_Proxy_Impl::create_finder (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_ParDescriptionSeq & params,
+ const CORBA_ExceptionDefSeq & exceptions
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ IR::FinderDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "create_finder",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_IR::HomeDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/IR/HomeDef:1.0"
+ )
+ )->create_finder (
+ id,
+ name,
+ version,
+ params,
+ exceptions
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+//
+// End ThruPOA Proxy Implementation
+///////////////////////////////////////////////////////////////////////
+
+// skeleton constructor
+POA_IR::HomeDef::HomeDef (void)
+{
+ this->optable_ = &tao_IR_HomeDef_optable;
+}
+
+// copy ctor
+POA_IR::HomeDef::HomeDef (const HomeDef& rhs)
+ : POA_CORBA_InterfaceDef (rhs),
+ POA_CORBA_Container (rhs),
+ POA_CORBA_Contained (rhs),
+ POA_CORBA_IDLType (rhs),
+ POA_CORBA_IRObject (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_IR::HomeDef::~HomeDef (void)
+{
+}
+
+void POA_IR::HomeDef::_get_base_home_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_IR::HomeDef *_tao_impl =
+ ACE_static_cast (POA_IR::HomeDef *, _tao_object_reference);
+
+ IR::HomeDef_var _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_IR_HomeDef_base_home_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->base_home (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ IR::HomeDef_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_IR::HomeDef::_get_managed_component_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_IR::HomeDef *_tao_impl =
+ ACE_static_cast (POA_IR::HomeDef *, _tao_object_reference);
+
+ IR::ComponentDef_var _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_IR_HomeDef_managed_component_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->managed_component (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ IR::ComponentDef_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_IR::HomeDef::_get_primary_key_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_IR::HomeDef *_tao_impl =
+ ACE_static_cast (POA_IR::HomeDef *, _tao_object_reference);
+
+ IR::PrimaryKeyDef_var _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_IR_HomeDef_primary_key_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->primary_key (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ IR::PrimaryKeyDef_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_IR::HomeDef::_get_factories_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_IR::HomeDef *_tao_impl =
+ ACE_static_cast (POA_IR::HomeDef *, _tao_object_reference);
+
+ IR::FactoryDefSeq_var _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_IR_HomeDef_factories_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->factories (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ IR::FactoryDefSeq * _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_IR::HomeDef::_get_finders_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_IR::HomeDef *_tao_impl =
+ ACE_static_cast (POA_IR::HomeDef *, _tao_object_reference);
+
+ IR::FinderDefSeq_var _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_IR_HomeDef_finders_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->finders (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ IR::FinderDefSeq * _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_IR::HomeDef::_get_is_basic_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_IR::HomeDef *_tao_impl =
+ ACE_static_cast (POA_IR::HomeDef *, _tao_object_reference);
+
+ CORBA::Boolean _tao_retval = 0;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_IR_HomeDef_is_basic_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->is_basic (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA::Boolean _tao_retval_info = _tao_retval;
+ ri.result (_tao_retval_info);
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << CORBA::Any::from_boolean (_tao_retval))
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_IR::HomeDef::create_primary_key_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::HomeDef *_tao_impl =
+ ACE_static_cast (POA_IR::HomeDef *, _tao_object_reference);
+
+ IR::PrimaryKeyDef_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::String_var version;
+ CORBA_ValueDef_var primary_key;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.out ()) &&
+ (_tao_in >> version.out ()) &&
+ (_tao_in >> primary_key.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_IR_HomeDef_create_primary_key ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ id.in (),
+ name.in (),
+ version.in (),
+ primary_key.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->create_primary_key (
+ id.in (),
+ name.in (),
+ version.in (),
+ primary_key.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ IR::PrimaryKeyDef_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_IR::HomeDef::create_factory_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::HomeDef *_tao_impl =
+ ACE_static_cast (POA_IR::HomeDef *, _tao_object_reference);
+
+ IR::FactoryDef_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::String_var version;
+ CORBA_ParDescriptionSeq params;
+ CORBA_ExceptionDefSeq exceptions;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.out ()) &&
+ (_tao_in >> version.out ()) &&
+ (_tao_in >> params) &&
+ (_tao_in >> exceptions)
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_IR_HomeDef_create_factory ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ id.in (),
+ name.in (),
+ version.in (),
+ params,
+ exceptions
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->create_factory (
+ id.in (),
+ name.in (),
+ version.in (),
+ params,
+ exceptions
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ IR::FactoryDef_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_IR::HomeDef::create_finder_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::HomeDef *_tao_impl =
+ ACE_static_cast (POA_IR::HomeDef *, _tao_object_reference);
+
+ IR::FinderDef_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::String_var version;
+ CORBA_ParDescriptionSeq params;
+ CORBA_ExceptionDefSeq exceptions;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.out ()) &&
+ (_tao_in >> version.out ()) &&
+ (_tao_in >> params) &&
+ (_tao_in >> exceptions)
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_IR_HomeDef_create_finder ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ id.in (),
+ name.in (),
+ version.in (),
+ params,
+ exceptions
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->create_finder (
+ id.in (),
+ name.in (),
+ version.in (),
+ params,
+ exceptions
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ IR::FinderDef_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_IR::HomeDef::_is_a_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_IR::HomeDef *_tao_impl = (POA_IR::HomeDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!(_tao_in >> value.out ()))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::HomeDef::_non_existent_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_IR::HomeDef *_tao_impl = (POA_IR::HomeDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_IR::HomeDef::_interface_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_IR::HomeDef *_tao_impl = (POA_IR::HomeDef *) _tao_object_reference;
+ CORBA_InterfaceDef_ptr _tao_retval = 0;
+ CORBA::Boolean _tao_result = 0;
+
+ TAO_IFR_Client_Adapter *_tao_adapter =
+ ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
+ TAO_ORB_Core::ifr_client_adapter_name ()
+ );
+
+ if (_tao_adapter == 0)
+ {
+ ACE_THROW (CORBA::INTF_REPOS ());
+ }
+
+ ACE_TRY
+ {
+ _tao_retval = _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ _tao_result =
+ _tao_adapter->interfacedef_cdr_insert (
+ _tao_out,
+ _tao_retval
+ );
+ }
+ ACE_CATCHALL
+ {
+ _tao_adapter->dispose (_tao_retval);
+ }
+ ACE_ENDTRY;
+
+ if (_tao_result == 0)
+ {
+ ACE_THROW (CORBA::MARSHAL ());
+ }
+}
+
+CORBA::Boolean POA_IR::HomeDef::_is_a (
+ const char* value
+ ACE_ENV_ARG_DECL
+ )
+{
+ const char *base_id = CORBA::_tc_Object->id (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/IR/HomeDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/InterfaceDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Container:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Contained:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IDLType:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, base_id)))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_IR::HomeDef::_downcast (
+ const char* logical_type_id
+ )
+{
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/IR/HomeDef:1.0") == 0)
+ return ACE_static_cast (POA_IR::HomeDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/InterfaceDef:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_InterfaceDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Container:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_Container_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Contained:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_Contained_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IDLType:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IDLType_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_IR::HomeDef::_dispatch (TAO_ServerRequest &req, void *servant_upcall ACE_ENV_ARG_DECL)
+{
+ this->synchronous_upcall_dispatch (req,
+ servant_upcall,
+ this
+ ACE_ENV_ARG_PARAMETER);
+}
+
+
+const char* POA_IR::HomeDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/IR/HomeDef:1.0";
+}
+
+IR::HomeDef*
+POA_IR::HomeDef::_this (ACE_ENV_SINGLE_ARG_DECL)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ TAO_Stub_Auto_Ptr safe_stub (stub);
+
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0);
+ else
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0);
+
+ CORBA::Object_var obj = tmp;
+
+ (void) safe_stub.release ();
+
+ return ::IR::HomeDef::_unchecked_narrow (obj.in ());
+}
+
+
+
+#endif /* ifndef */
diff --git a/TAO/orbsvcs/IFR_Service/IFR_ComponentsS.h b/TAO/orbsvcs/IFR_Service/IFR_ComponentsS.h
new file mode 100644
index 00000000000..cd49eb534e2
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/IFR_ComponentsS.h
@@ -0,0 +1,4190 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+#ifndef _TAO_IDL__________ORBSVCS_IFR_SERVICE_ORIG_IFR_COMPONENTSS_H_
+#define _TAO_IDL__________ORBSVCS_IFR_SERVICE_ORIG_IFR_COMPONENTSS_H_
+
+#include "ace/pre.h"
+#include "IFR_ExtendedS.h"
+#include "tao/IFR_Client/IFR_ComponentsC.h"
+
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "tao/PortableServer/PortableServer.h"
+#include "tao/PortableServer/Servant_Base.h"
+#include "tao/PortableServer/Collocated_Object.h"
+#include "tao/PortableServer/ThruPOA_Object_Proxy_Impl.h"
+#include "tao/PortableServer/Direct_Object_Proxy_Impl.h"
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+#if defined (__BORLANDC__)
+#pragma option push -w-rvl -w-rch -w-ccc -w-inl
+#endif /* __BORLANDC__ */
+
+TAO_NAMESPACE POA_IR
+{
+ class ComponentRepository;
+ typedef ComponentRepository *ComponentRepository_ptr;
+ // Forward Classes Declaration
+ class _TAO_ComponentRepository_ThruPOA_Proxy_Impl;
+ class _TAO_ComponentRepository_Strategized_Proxy_Broker;
+
+ class ComponentRepository : public virtual POA_CORBA_Repository
+ {
+ protected:
+ ComponentRepository (void);
+
+ public:
+ ComponentRepository (const ComponentRepository& rhs);
+ virtual ~ComponentRepository (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _non_existent_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void _dispatch (
+ TAO_ServerRequest &req,
+ void *_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ ::IR::ComponentRepository *_this (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual IR::ComponentDef_ptr create_component (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::ComponentDef_ptr base_component,
+ const CORBA_InterfaceDefSeq & supports_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_component_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual IR::HomeDef_ptr create_home (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::HomeDef_ptr base_home,
+ IR::ComponentDef_ptr managed_component,
+ CORBA_ValueDef_ptr primary_key
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_home_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void lookup_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void get_canonical_typecode_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void get_primitive_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_string_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_wstring_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_sequence_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_array_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_fixed_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void lookup_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void contents_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void lookup_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void describe_contents_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_module_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_constant_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_struct_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_union_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_enum_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_alias_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_value_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_value_box_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_exception_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_native_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_abstract_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_local_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+
+ };
+
+
+ ///////////////////////////////////////////////////////////////////////
+ // Strategized Proxy Broker Declaration
+ //
+
+ class _TAO_ComponentRepository_Strategized_Proxy_Broker : public virtual ::IR::_TAO_ComponentRepository_Proxy_Broker
+ {
+ public:
+ _TAO_ComponentRepository_Strategized_Proxy_Broker (void);
+
+ virtual ~_TAO_ComponentRepository_Strategized_Proxy_Broker (void);
+
+ virtual ::IR::_TAO_ComponentRepository_Proxy_Impl &select_proxy (
+ ::IR::ComponentRepository *object
+ ACE_ENV_ARG_DECL
+ );
+
+ private:
+
+ // Helper methods that takes care to create the proxy
+ // as soon as their use is necessary.
+ void create_proxy (
+ int collocation_strategy
+ ACE_ENV_ARG_DECL
+ );
+
+ private:
+
+ // Caches the proxy implementations. The proxy implementation
+ // are totally stateless, and those can be shared by all the
+ // instances of a given IDL interface type.
+ ::IR::_TAO_ComponentRepository_Proxy_Impl
+ *proxy_cache_[TAO_Collocation_Strategies::CS_LAST];
+
+ TAO_SYNCH_MUTEX mutex_;
+ // This funxtion is used to get an handle to the unique instance
+ // of the Strategized Proxy Broker that is available for a given
+ // interface.
+
+ public:
+ static _TAO_ComponentRepository_Strategized_Proxy_Broker *the_TAO_ComponentRepository_Strategized_Proxy_Broker (void);
+ };
+
+
+ //
+ // End Strategized Proxy Broker Declaration
+ ///////////////////////////////////////////////////////////////////////
+
+
+ ///////////////////////////////////////////////////////////////////////
+ // ThruPOA Impl. Declaration
+ //
+
+ class _TAO_ComponentRepository_ThruPOA_Proxy_Impl :
+ public virtual ::IR::_TAO_ComponentRepository_Proxy_Impl,
+ public virtual TAO_ThruPOA_Object_Proxy_Impl,
+ public virtual ::_TAO_CORBA_Repository_ThruPOA_Proxy_Impl
+
+ {
+ public:
+ _TAO_ComponentRepository_ThruPOA_Proxy_Impl (void);
+
+ virtual ~_TAO_ComponentRepository_ThruPOA_Proxy_Impl (void) { }
+
+ virtual IR::ComponentDef_ptr create_component (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::ComponentDef_ptr base_component,
+ const CORBA_InterfaceDefSeq & supports_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::HomeDef_ptr create_home (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::HomeDef_ptr base_home,
+ IR::ComponentDef_ptr managed_component,
+ CORBA_ValueDef_ptr primary_key
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+
+ };
+
+ //
+ // ThruPOA Proxy Impl. Declaration
+ ///////////////////////////////////////////////////////////////////////
+
+
+ class ProvidesDef;
+ typedef ProvidesDef *ProvidesDef_ptr;
+ // Forward Classes Declaration
+ class _TAO_ProvidesDef_ThruPOA_Proxy_Impl;
+ class _TAO_ProvidesDef_Strategized_Proxy_Broker;
+
+ class ProvidesDef : public virtual POA_CORBA_Contained
+ {
+ protected:
+ ProvidesDef (void);
+
+ public:
+ ProvidesDef (const ProvidesDef& rhs);
+ virtual ~ProvidesDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _non_existent_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void _dispatch (
+ TAO_ServerRequest &req,
+ void *_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ ::IR::ProvidesDef *_this (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual CORBA_InterfaceDef_ptr interface_type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_interface_type_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _get_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_defined_in_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_absolute_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_containing_repository_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void describe_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void move_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+
+ };
+
+
+ ///////////////////////////////////////////////////////////////////////
+ // Strategized Proxy Broker Declaration
+ //
+
+ class _TAO_ProvidesDef_Strategized_Proxy_Broker : public virtual ::IR::_TAO_ProvidesDef_Proxy_Broker
+ {
+ public:
+ _TAO_ProvidesDef_Strategized_Proxy_Broker (void);
+
+ virtual ~_TAO_ProvidesDef_Strategized_Proxy_Broker (void);
+
+ virtual ::IR::_TAO_ProvidesDef_Proxy_Impl &select_proxy (
+ ::IR::ProvidesDef *object
+ ACE_ENV_ARG_DECL
+ );
+
+ private:
+
+ // Helper methods that takes care to create the proxy
+ // as soon as their use is necessary.
+ void create_proxy (
+ int collocation_strategy
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Caches the proxy implementations. The proxy implementation
+ // are totally stateless, and those can be shared by all the
+ // instances of a given IDL interface type.
+ ::IR::_TAO_ProvidesDef_Proxy_Impl
+ *proxy_cache_[TAO_Collocation_Strategies::CS_LAST];
+
+ TAO_SYNCH_MUTEX mutex_;
+ // This funxtion is used to get an handle to the unique instance
+ // of the Strategized Proxy Broker that is available for a given
+ // interface.
+
+ public:
+ static _TAO_ProvidesDef_Strategized_Proxy_Broker *the_TAO_ProvidesDef_Strategized_Proxy_Broker (void);
+ };
+
+
+ //
+ // End Strategized Proxy Broker Declaration
+ ///////////////////////////////////////////////////////////////////////
+
+
+ ///////////////////////////////////////////////////////////////////////
+ // ThruPOA Impl. Declaration
+ //
+
+ class _TAO_ProvidesDef_ThruPOA_Proxy_Impl :
+ public virtual ::IR::_TAO_ProvidesDef_Proxy_Impl,
+ public virtual TAO_ThruPOA_Object_Proxy_Impl,
+ public virtual ::_TAO_CORBA_Contained_ThruPOA_Proxy_Impl
+
+ {
+ public:
+ _TAO_ProvidesDef_ThruPOA_Proxy_Impl (void);
+
+ virtual ~_TAO_ProvidesDef_ThruPOA_Proxy_Impl (void) { }
+
+ virtual CORBA_InterfaceDef_ptr interface_type (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+
+ };
+
+ //
+ // ThruPOA Proxy Impl. Declaration
+ ///////////////////////////////////////////////////////////////////////
+
+
+ class UsesDef;
+ typedef UsesDef *UsesDef_ptr;
+ // Forward Classes Declaration
+ class _TAO_UsesDef_ThruPOA_Proxy_Impl;
+ class _TAO_UsesDef_Strategized_Proxy_Broker;
+
+ class UsesDef : public virtual POA_CORBA_Contained
+ {
+ protected:
+ UsesDef (void);
+
+ public:
+ UsesDef (const UsesDef& rhs);
+ virtual ~UsesDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _non_existent_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void _dispatch (
+ TAO_ServerRequest &req,
+ void *_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ ::IR::UsesDef *_this (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual CORBA_InterfaceDef_ptr interface_type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_interface_type_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA::Boolean is_multiple (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_is_multiple_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _get_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_defined_in_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_absolute_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_containing_repository_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void describe_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void move_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+
+ };
+
+
+ ///////////////////////////////////////////////////////////////////////
+ // Strategized Proxy Broker Declaration
+ //
+
+ class _TAO_UsesDef_Strategized_Proxy_Broker : public virtual ::IR::_TAO_UsesDef_Proxy_Broker
+ {
+ public:
+ _TAO_UsesDef_Strategized_Proxy_Broker (void);
+
+ virtual ~_TAO_UsesDef_Strategized_Proxy_Broker (void);
+
+ virtual ::IR::_TAO_UsesDef_Proxy_Impl &select_proxy (
+ ::IR::UsesDef *object
+ ACE_ENV_ARG_DECL
+ );
+
+ private:
+
+ // Helper methods that takes care to create the proxy
+ // as soon as their use is necessary.
+ void create_proxy (
+ int collocation_strategy
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Caches the proxy implementations. The proxy implementation
+ // are totally stateless, and those can be shared by all the
+ // instances of a given IDL interface type.
+ ::IR::_TAO_UsesDef_Proxy_Impl
+ *proxy_cache_[TAO_Collocation_Strategies::CS_LAST];
+
+ TAO_SYNCH_MUTEX mutex_;
+ // This funxtion is used to get an handle to the unique instance
+ // of the Strategized Proxy Broker that is available for a given
+ // interface.
+
+ public:
+ static _TAO_UsesDef_Strategized_Proxy_Broker *the_TAO_UsesDef_Strategized_Proxy_Broker (void);
+ };
+
+
+ //
+ // End Strategized Proxy Broker Declaration
+ ///////////////////////////////////////////////////////////////////////
+
+
+ ///////////////////////////////////////////////////////////////////////
+ // ThruPOA Impl. Declaration
+ //
+
+ class _TAO_UsesDef_ThruPOA_Proxy_Impl :
+ public virtual ::IR::_TAO_UsesDef_Proxy_Impl,
+ public virtual TAO_ThruPOA_Object_Proxy_Impl,
+ public virtual ::_TAO_CORBA_Contained_ThruPOA_Proxy_Impl
+
+ {
+ public:
+ _TAO_UsesDef_ThruPOA_Proxy_Impl (void);
+
+ virtual ~_TAO_UsesDef_ThruPOA_Proxy_Impl (void) { }
+
+ virtual CORBA_InterfaceDef_ptr interface_type (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA::Boolean is_multiple (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+
+ };
+
+ //
+ // ThruPOA Proxy Impl. Declaration
+ ///////////////////////////////////////////////////////////////////////
+
+
+ class EventDef;
+ typedef EventDef *EventDef_ptr;
+ // Forward Classes Declaration
+ class _TAO_EventDef_ThruPOA_Proxy_Impl;
+ class _TAO_EventDef_Strategized_Proxy_Broker;
+
+ class EventDef : public virtual POA_CORBA_Contained
+ {
+ protected:
+ EventDef (void);
+
+ public:
+ EventDef (const EventDef& rhs);
+ virtual ~EventDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _non_existent_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void _dispatch (
+ TAO_ServerRequest &req,
+ void *_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ ::IR::EventDef *_this (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual CORBA::Boolean is_a (
+ const char * event_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void is_a_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA_ValueDef_ptr event (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_event_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _get_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_defined_in_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_absolute_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_containing_repository_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void describe_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void move_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+
+ };
+
+
+ ///////////////////////////////////////////////////////////////////////
+ // Strategized Proxy Broker Declaration
+ //
+
+ class _TAO_EventDef_Strategized_Proxy_Broker : public virtual ::IR::_TAO_EventDef_Proxy_Broker
+ {
+ public:
+ _TAO_EventDef_Strategized_Proxy_Broker (void);
+
+ virtual ~_TAO_EventDef_Strategized_Proxy_Broker (void);
+
+ virtual ::IR::_TAO_EventDef_Proxy_Impl &select_proxy (
+ ::IR::EventDef *object
+ ACE_ENV_ARG_DECL
+ );
+
+ private:
+
+ // Helper methods that takes care to create the proxy
+ // as soon as their use is necessary.
+ void create_proxy (
+ int collocation_strategy
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Caches the proxy implementations. The proxy implementation
+ // are totally stateless, and those can be shared by all the
+ // instances of a given IDL interface type.
+ ::IR::_TAO_EventDef_Proxy_Impl
+ *proxy_cache_[TAO_Collocation_Strategies::CS_LAST];
+
+ TAO_SYNCH_MUTEX mutex_;
+ // This funxtion is used to get an handle to the unique instance
+ // of the Strategized Proxy Broker that is available for a given
+ // interface.
+
+ public:
+ static _TAO_EventDef_Strategized_Proxy_Broker *the_TAO_EventDef_Strategized_Proxy_Broker (void);
+ };
+
+
+ //
+ // End Strategized Proxy Broker Declaration
+ ///////////////////////////////////////////////////////////////////////
+
+
+ ///////////////////////////////////////////////////////////////////////
+ // ThruPOA Impl. Declaration
+ //
+
+ class _TAO_EventDef_ThruPOA_Proxy_Impl :
+ public virtual ::IR::_TAO_EventDef_Proxy_Impl,
+ public virtual TAO_ThruPOA_Object_Proxy_Impl,
+ public virtual ::_TAO_CORBA_Contained_ThruPOA_Proxy_Impl
+
+ {
+ public:
+ _TAO_EventDef_ThruPOA_Proxy_Impl (void);
+
+ virtual ~_TAO_EventDef_ThruPOA_Proxy_Impl (void) { }
+
+ virtual CORBA::Boolean is_a (
+ CORBA_Object *_collocated_tao_target_,
+ const char * event_id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA_ValueDef_ptr event (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+
+ };
+
+ //
+ // ThruPOA Proxy Impl. Declaration
+ ///////////////////////////////////////////////////////////////////////
+
+
+ class EmitsDef;
+ typedef EmitsDef *EmitsDef_ptr;
+ // Forward Classes Declaration
+ class _TAO_EmitsDef_ThruPOA_Proxy_Impl;
+ class _TAO_EmitsDef_Strategized_Proxy_Broker;
+
+ class EmitsDef : public virtual EventDef
+ {
+ protected:
+ EmitsDef (void);
+
+ public:
+ EmitsDef (const EmitsDef& rhs);
+ virtual ~EmitsDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _non_existent_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void _dispatch (
+ TAO_ServerRequest &req,
+ void *_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ ::IR::EmitsDef *_this (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual const char* _interface_repository_id (void) const;
+
+ static void is_a_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_event_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_defined_in_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_absolute_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_containing_repository_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void describe_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void move_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+
+ };
+
+
+ ///////////////////////////////////////////////////////////////////////
+ // Strategized Proxy Broker Declaration
+ //
+
+ class _TAO_EmitsDef_Strategized_Proxy_Broker : public virtual ::IR::_TAO_EmitsDef_Proxy_Broker
+ {
+ public:
+ _TAO_EmitsDef_Strategized_Proxy_Broker (void);
+
+ virtual ~_TAO_EmitsDef_Strategized_Proxy_Broker (void);
+
+ virtual ::IR::_TAO_EmitsDef_Proxy_Impl &select_proxy (
+ ::IR::EmitsDef *object
+ ACE_ENV_ARG_DECL
+ );
+
+ private:
+
+ // Helper methods that takes care to create the proxy
+ // as soon as their use is necessary.
+ void create_proxy (
+ int collocation_strategy
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Caches the proxy implementations. The proxy implementation
+ // are totally stateless, and those can be shared by all the
+ // instances of a given IDL interface type.
+ ::IR::_TAO_EmitsDef_Proxy_Impl
+ *proxy_cache_[TAO_Collocation_Strategies::CS_LAST];
+
+ TAO_SYNCH_MUTEX mutex_;
+ // This funxtion is used to get an handle to the unique instance
+ // of the Strategized Proxy Broker that is available for a given
+ // interface.
+
+ public:
+ static _TAO_EmitsDef_Strategized_Proxy_Broker *the_TAO_EmitsDef_Strategized_Proxy_Broker (void);
+ };
+
+
+ //
+ // End Strategized Proxy Broker Declaration
+ ///////////////////////////////////////////////////////////////////////
+
+
+ ///////////////////////////////////////////////////////////////////////
+ // ThruPOA Impl. Declaration
+ //
+
+ class _TAO_EmitsDef_ThruPOA_Proxy_Impl :
+ public virtual ::IR::_TAO_EmitsDef_Proxy_Impl,
+ public virtual TAO_ThruPOA_Object_Proxy_Impl,
+ public virtual ::POA_IR::_TAO_EventDef_ThruPOA_Proxy_Impl
+
+ {
+ public:
+ _TAO_EmitsDef_ThruPOA_Proxy_Impl (void);
+
+ virtual ~_TAO_EmitsDef_ThruPOA_Proxy_Impl (void) { }
+
+ };
+
+
+ //
+ // ThruPOA Proxy Impl. Declaration
+ ///////////////////////////////////////////////////////////////////////
+
+
+ class PublishesDef;
+ typedef PublishesDef *PublishesDef_ptr;
+ // Forward Classes Declaration
+ class _TAO_PublishesDef_ThruPOA_Proxy_Impl;
+ class _TAO_PublishesDef_Strategized_Proxy_Broker;
+
+ class PublishesDef : public virtual EventDef
+ {
+ protected:
+ PublishesDef (void);
+
+ public:
+ PublishesDef (const PublishesDef& rhs);
+ virtual ~PublishesDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _non_existent_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void _dispatch (
+ TAO_ServerRequest &req,
+ void *_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ ::IR::PublishesDef *_this (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual const char* _interface_repository_id (void) const;
+
+ static void is_a_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_event_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_defined_in_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_absolute_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_containing_repository_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void describe_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void move_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+
+ };
+
+
+ ///////////////////////////////////////////////////////////////////////
+ // Strategized Proxy Broker Declaration
+ //
+
+ class _TAO_PublishesDef_Strategized_Proxy_Broker : public virtual ::IR::_TAO_PublishesDef_Proxy_Broker
+ {
+ public:
+ _TAO_PublishesDef_Strategized_Proxy_Broker (void);
+
+ virtual ~_TAO_PublishesDef_Strategized_Proxy_Broker (void);
+
+ virtual ::IR::_TAO_PublishesDef_Proxy_Impl &select_proxy (
+ ::IR::PublishesDef *object
+ ACE_ENV_ARG_DECL
+ );
+
+ private:
+
+ // Helper methods that takes care to create the proxy
+ // as soon as their use is necessary.
+ void create_proxy (
+ int collocation_strategy
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Caches the proxy implementations. The proxy implementation
+ // are totally stateless, and those can be shared by all the
+ // instances of a given IDL interface type.
+ ::IR::_TAO_PublishesDef_Proxy_Impl
+ *proxy_cache_[TAO_Collocation_Strategies::CS_LAST];
+
+ TAO_SYNCH_MUTEX mutex_;
+ // This funxtion is used to get an handle to the unique instance
+ // of the Strategized Proxy Broker that is available for a given
+ // interface.
+
+ public:
+ static _TAO_PublishesDef_Strategized_Proxy_Broker *the_TAO_PublishesDef_Strategized_Proxy_Broker (void);
+ };
+
+
+ //
+ // End Strategized Proxy Broker Declaration
+ ///////////////////////////////////////////////////////////////////////
+
+
+ ///////////////////////////////////////////////////////////////////////
+ // ThruPOA Impl. Declaration
+ //
+
+ class _TAO_PublishesDef_ThruPOA_Proxy_Impl :
+ public virtual ::IR::_TAO_PublishesDef_Proxy_Impl,
+ public virtual TAO_ThruPOA_Object_Proxy_Impl,
+ public virtual ::POA_IR::_TAO_EventDef_ThruPOA_Proxy_Impl
+
+ {
+ public:
+ _TAO_PublishesDef_ThruPOA_Proxy_Impl (void);
+
+ virtual ~_TAO_PublishesDef_ThruPOA_Proxy_Impl (void) { }
+
+ };
+
+
+ //
+ // ThruPOA Proxy Impl. Declaration
+ ///////////////////////////////////////////////////////////////////////
+
+
+ class ConsumesDef;
+ typedef ConsumesDef *ConsumesDef_ptr;
+ // Forward Classes Declaration
+ class _TAO_ConsumesDef_ThruPOA_Proxy_Impl;
+ class _TAO_ConsumesDef_Strategized_Proxy_Broker;
+
+ class ConsumesDef : public virtual EventDef
+ {
+ protected:
+ ConsumesDef (void);
+
+ public:
+ ConsumesDef (const ConsumesDef& rhs);
+ virtual ~ConsumesDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _non_existent_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void _dispatch (
+ TAO_ServerRequest &req,
+ void *_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ ::IR::ConsumesDef *_this (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual const char* _interface_repository_id (void) const;
+
+ static void is_a_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_event_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_defined_in_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_absolute_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_containing_repository_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void describe_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void move_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+
+ };
+
+
+ ///////////////////////////////////////////////////////////////////////
+ // Strategized Proxy Broker Declaration
+ //
+
+ class _TAO_ConsumesDef_Strategized_Proxy_Broker : public virtual ::IR::_TAO_ConsumesDef_Proxy_Broker
+ {
+ public:
+ _TAO_ConsumesDef_Strategized_Proxy_Broker (void);
+
+ virtual ~_TAO_ConsumesDef_Strategized_Proxy_Broker (void);
+
+ virtual ::IR::_TAO_ConsumesDef_Proxy_Impl &select_proxy (
+ ::IR::ConsumesDef *object
+ ACE_ENV_ARG_DECL
+ );
+
+ private:
+
+ // Helper methods that takes care to create the proxy
+ // as soon as their use is necessary.
+ void create_proxy (
+ int collocation_strategy
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Caches the proxy implementations. The proxy implementation
+ // are totally stateless, and those can be shared by all the
+ // instances of a given IDL interface type.
+ ::IR::_TAO_ConsumesDef_Proxy_Impl
+ *proxy_cache_[TAO_Collocation_Strategies::CS_LAST];
+
+ TAO_SYNCH_MUTEX mutex_;
+ // This funxtion is used to get an handle to the unique instance
+ // of the Strategized Proxy Broker that is available for a given
+ // interface.
+
+ public:
+ static _TAO_ConsumesDef_Strategized_Proxy_Broker *the_TAO_ConsumesDef_Strategized_Proxy_Broker (void);
+ };
+
+
+ //
+ // End Strategized Proxy Broker Declaration
+ ///////////////////////////////////////////////////////////////////////
+
+
+ ///////////////////////////////////////////////////////////////////////
+ // ThruPOA Impl. Declaration
+ //
+
+ class _TAO_ConsumesDef_ThruPOA_Proxy_Impl :
+ public virtual ::IR::_TAO_ConsumesDef_Proxy_Impl,
+ public virtual TAO_ThruPOA_Object_Proxy_Impl,
+ public virtual ::POA_IR::_TAO_EventDef_ThruPOA_Proxy_Impl
+
+ {
+ public:
+ _TAO_ConsumesDef_ThruPOA_Proxy_Impl (void);
+
+ virtual ~_TAO_ConsumesDef_ThruPOA_Proxy_Impl (void) { }
+
+ };
+
+
+ //
+ // ThruPOA Proxy Impl. Declaration
+ ///////////////////////////////////////////////////////////////////////
+
+
+ class ComponentDef;
+ typedef ComponentDef *ComponentDef_ptr;
+ // Forward Classes Declaration
+ class _TAO_ComponentDef_ThruPOA_Proxy_Impl;
+ class _TAO_ComponentDef_Strategized_Proxy_Broker;
+
+ class ComponentDef : public virtual POA_CORBA_InterfaceDef
+ {
+ protected:
+ ComponentDef (void);
+
+ public:
+ ComponentDef (const ComponentDef& rhs);
+ virtual ~ComponentDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _non_existent_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void _dispatch (
+ TAO_ServerRequest &req,
+ void *_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ ::IR::ComponentDef *_this (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual CORBA_InterfaceDefSeq * supported_interfaces (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_supported_interfaces_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void supported_interfaces (
+ const CORBA_InterfaceDefSeq & supported_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_supported_interfaces_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual IR::ComponentDef_ptr base_component (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_base_component_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual IR::ProvidesDefSeq * provides_interfaces (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_provides_interfaces_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual IR::UsesDefSeq * uses_interfaces (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_uses_interfaces_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual IR::EmitsDefSeq * emits_events (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_emits_events_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual IR::PublishesDefSeq * publishes_events (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_publishes_events_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual IR::ConsumesDefSeq * consumes_events (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_consumes_events_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA::Boolean is_basic (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_is_basic_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual IR::ProvidesDef_ptr create_provides (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_InterfaceDef_ptr interface_type
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_provides_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual IR::UsesDef_ptr create_uses (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_InterfaceDef_ptr interface_type,
+ CORBA::Boolean is_multiple
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_uses_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual IR::EmitsDef_ptr create_emits (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_ValueDef_ptr value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_emits_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual IR::PublishesDef_ptr create_publishes (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_ValueDef_ptr value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_publishes_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual IR::ConsumesDef_ptr create_consumes (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_ValueDef_ptr value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_consumes_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _get_base_interfaces_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_base_interfaces_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void is_a_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void describe_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_attribute_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_operation_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void lookup_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void contents_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void lookup_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void describe_contents_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_module_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_constant_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_struct_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_union_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_enum_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_alias_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_value_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_value_box_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_exception_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_native_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_abstract_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_local_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_defined_in_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_absolute_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_containing_repository_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void describe_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void move_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_type_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+
+ };
+
+
+ ///////////////////////////////////////////////////////////////////////
+ // Strategized Proxy Broker Declaration
+ //
+
+ class _TAO_ComponentDef_Strategized_Proxy_Broker : public virtual ::IR::_TAO_ComponentDef_Proxy_Broker
+ {
+ public:
+ _TAO_ComponentDef_Strategized_Proxy_Broker (void);
+
+ virtual ~_TAO_ComponentDef_Strategized_Proxy_Broker (void);
+
+ virtual ::IR::_TAO_ComponentDef_Proxy_Impl &select_proxy (
+ ::IR::ComponentDef *object
+ ACE_ENV_ARG_DECL
+ );
+
+ private:
+
+ // Helper methods that takes care to create the proxy
+ // as soon as their use is necessary.
+ void create_proxy (
+ int collocation_strategy
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Caches the proxy implementations. The proxy implementation
+ // are totally stateless, and those can be shared by all the
+ // instances of a given IDL interface type.
+ ::IR::_TAO_ComponentDef_Proxy_Impl
+ *proxy_cache_[TAO_Collocation_Strategies::CS_LAST];
+
+ TAO_SYNCH_MUTEX mutex_;
+ // This funxtion is used to get an handle to the unique instance
+ // of the Strategized Proxy Broker that is available for a given
+ // interface.
+
+ public:
+ static _TAO_ComponentDef_Strategized_Proxy_Broker *the_TAO_ComponentDef_Strategized_Proxy_Broker (void);
+ };
+
+
+ //
+ // End Strategized Proxy Broker Declaration
+ ///////////////////////////////////////////////////////////////////////
+
+
+ ///////////////////////////////////////////////////////////////////////
+ // ThruPOA Impl. Declaration
+ //
+
+ class _TAO_ComponentDef_ThruPOA_Proxy_Impl :
+ public virtual ::IR::_TAO_ComponentDef_Proxy_Impl,
+ public virtual TAO_ThruPOA_Object_Proxy_Impl,
+ public virtual ::_TAO_CORBA_InterfaceDef_ThruPOA_Proxy_Impl
+
+ {
+ public:
+ _TAO_ComponentDef_ThruPOA_Proxy_Impl (void);
+
+ virtual ~_TAO_ComponentDef_ThruPOA_Proxy_Impl (void) { }
+
+ virtual CORBA_InterfaceDefSeq * supported_interfaces (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void supported_interfaces (
+ CORBA_Object *_collocated_tao_target_,
+ const CORBA_InterfaceDefSeq & supported_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::ComponentDef_ptr base_component (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::ProvidesDefSeq * provides_interfaces (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::UsesDefSeq * uses_interfaces (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::EmitsDefSeq * emits_events (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::PublishesDefSeq * publishes_events (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::ConsumesDefSeq * consumes_events (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA::Boolean is_basic (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::ProvidesDef_ptr create_provides (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_InterfaceDef_ptr interface_type
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::UsesDef_ptr create_uses (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_InterfaceDef_ptr interface_type,
+ CORBA::Boolean is_multiple
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::EmitsDef_ptr create_emits (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_ValueDef_ptr value
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::PublishesDef_ptr create_publishes (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_ValueDef_ptr value
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::ConsumesDef_ptr create_consumes (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_ValueDef_ptr value
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+
+ };
+
+ //
+ // ThruPOA Proxy Impl. Declaration
+ ///////////////////////////////////////////////////////////////////////
+
+
+ class PrimaryKeyDef;
+ typedef PrimaryKeyDef *PrimaryKeyDef_ptr;
+ // Forward Classes Declaration
+ class _TAO_PrimaryKeyDef_ThruPOA_Proxy_Impl;
+ class _TAO_PrimaryKeyDef_Strategized_Proxy_Broker;
+
+ class PrimaryKeyDef : public virtual POA_CORBA_Contained
+ {
+ protected:
+ PrimaryKeyDef (void);
+
+ public:
+ PrimaryKeyDef (const PrimaryKeyDef& rhs);
+ virtual ~PrimaryKeyDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _non_existent_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void _dispatch (
+ TAO_ServerRequest &req,
+ void *_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ ::IR::PrimaryKeyDef *_this (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual CORBA::Boolean is_a (
+ const char * primary_key_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void is_a_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA_ValueDef_ptr primary_key (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_primary_key_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _get_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_defined_in_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_absolute_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_containing_repository_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void describe_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void move_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+
+ };
+
+
+ ///////////////////////////////////////////////////////////////////////
+ // Strategized Proxy Broker Declaration
+ //
+
+ class _TAO_PrimaryKeyDef_Strategized_Proxy_Broker : public virtual ::IR::_TAO_PrimaryKeyDef_Proxy_Broker
+ {
+ public:
+ _TAO_PrimaryKeyDef_Strategized_Proxy_Broker (void);
+
+ virtual ~_TAO_PrimaryKeyDef_Strategized_Proxy_Broker (void);
+
+ virtual ::IR::_TAO_PrimaryKeyDef_Proxy_Impl &select_proxy (
+ ::IR::PrimaryKeyDef *object
+ ACE_ENV_ARG_DECL
+ );
+
+ private:
+
+ // Helper methods that takes care to create the proxy
+ // as soon as their use is necessary.
+ void create_proxy (
+ int collocation_strategy
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Caches the proxy implementations. The proxy implementation
+ // are totally stateless, and those can be shared by all the
+ // instances of a given IDL interface type.
+ ::IR::_TAO_PrimaryKeyDef_Proxy_Impl
+ *proxy_cache_[TAO_Collocation_Strategies::CS_LAST];
+
+ TAO_SYNCH_MUTEX mutex_;
+ // This funxtion is used to get an handle to the unique instance
+ // of the Strategized Proxy Broker that is available for a given
+ // interface.
+
+ public:
+ static _TAO_PrimaryKeyDef_Strategized_Proxy_Broker *the_TAO_PrimaryKeyDef_Strategized_Proxy_Broker (void);
+ };
+
+
+ //
+ // End Strategized Proxy Broker Declaration
+ ///////////////////////////////////////////////////////////////////////
+
+
+ ///////////////////////////////////////////////////////////////////////
+ // ThruPOA Impl. Declaration
+ //
+
+ class _TAO_PrimaryKeyDef_ThruPOA_Proxy_Impl :
+ public virtual ::IR::_TAO_PrimaryKeyDef_Proxy_Impl,
+ public virtual TAO_ThruPOA_Object_Proxy_Impl,
+ public virtual ::_TAO_CORBA_Contained_ThruPOA_Proxy_Impl
+
+ {
+ public:
+ _TAO_PrimaryKeyDef_ThruPOA_Proxy_Impl (void);
+
+ virtual ~_TAO_PrimaryKeyDef_ThruPOA_Proxy_Impl (void) { }
+
+ virtual CORBA::Boolean is_a (
+ CORBA_Object *_collocated_tao_target_,
+ const char * primary_key_id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA_ValueDef_ptr primary_key (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+
+ };
+
+ //
+ // ThruPOA Proxy Impl. Declaration
+ ///////////////////////////////////////////////////////////////////////
+
+
+ class FactoryDef;
+ typedef FactoryDef *FactoryDef_ptr;
+ // Forward Classes Declaration
+ class _TAO_FactoryDef_ThruPOA_Proxy_Impl;
+ class _TAO_FactoryDef_Strategized_Proxy_Broker;
+
+ class FactoryDef : public virtual POA_CORBA_OperationDef
+ {
+ protected:
+ FactoryDef (void);
+
+ public:
+ FactoryDef (const FactoryDef& rhs);
+ virtual ~FactoryDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _non_existent_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void _dispatch (
+ TAO_ServerRequest &req,
+ void *_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ ::IR::FactoryDef *_this (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual const char* _interface_repository_id (void) const;
+
+ static void _get_result_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_result_def_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_result_def_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_params_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_params_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_mode_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_mode_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_contexts_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_contexts_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_exceptions_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_exceptions_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_defined_in_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_absolute_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_containing_repository_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void describe_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void move_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+
+ };
+
+
+ ///////////////////////////////////////////////////////////////////////
+ // Strategized Proxy Broker Declaration
+ //
+
+ class _TAO_FactoryDef_Strategized_Proxy_Broker : public virtual ::IR::_TAO_FactoryDef_Proxy_Broker
+ {
+ public:
+ _TAO_FactoryDef_Strategized_Proxy_Broker (void);
+
+ virtual ~_TAO_FactoryDef_Strategized_Proxy_Broker (void);
+
+ virtual ::IR::_TAO_FactoryDef_Proxy_Impl &select_proxy (
+ ::IR::FactoryDef *object
+ ACE_ENV_ARG_DECL
+ );
+
+ private:
+
+ // Helper methods that takes care to create the proxy
+ // as soon as their use is necessary.
+ void create_proxy (
+ int collocation_strategy
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Caches the proxy implementations. The proxy implementation
+ // are totally stateless, and those can be shared by all the
+ // instances of a given IDL interface type.
+ ::IR::_TAO_FactoryDef_Proxy_Impl
+ *proxy_cache_[TAO_Collocation_Strategies::CS_LAST];
+
+ TAO_SYNCH_MUTEX mutex_;
+ // This funxtion is used to get an handle to the unique instance
+ // of the Strategized Proxy Broker that is available for a given
+ // interface.
+
+ public:
+ static _TAO_FactoryDef_Strategized_Proxy_Broker *the_TAO_FactoryDef_Strategized_Proxy_Broker (void);
+ };
+
+
+ //
+ // End Strategized Proxy Broker Declaration
+ ///////////////////////////////////////////////////////////////////////
+
+
+ ///////////////////////////////////////////////////////////////////////
+ // ThruPOA Impl. Declaration
+ //
+
+ class _TAO_FactoryDef_ThruPOA_Proxy_Impl :
+ public virtual ::IR::_TAO_FactoryDef_Proxy_Impl,
+ public virtual TAO_ThruPOA_Object_Proxy_Impl,
+ public virtual ::_TAO_CORBA_OperationDef_ThruPOA_Proxy_Impl
+
+ {
+ public:
+ _TAO_FactoryDef_ThruPOA_Proxy_Impl (void);
+
+ virtual ~_TAO_FactoryDef_ThruPOA_Proxy_Impl (void) { }
+
+ };
+
+
+ //
+ // ThruPOA Proxy Impl. Declaration
+ ///////////////////////////////////////////////////////////////////////
+
+
+ class FinderDef;
+ typedef FinderDef *FinderDef_ptr;
+ // Forward Classes Declaration
+ class _TAO_FinderDef_ThruPOA_Proxy_Impl;
+ class _TAO_FinderDef_Strategized_Proxy_Broker;
+
+ class FinderDef : public virtual POA_CORBA_OperationDef
+ {
+ protected:
+ FinderDef (void);
+
+ public:
+ FinderDef (const FinderDef& rhs);
+ virtual ~FinderDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _non_existent_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void _dispatch (
+ TAO_ServerRequest &req,
+ void *_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ ::IR::FinderDef *_this (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual const char* _interface_repository_id (void) const;
+
+ static void _get_result_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_result_def_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_result_def_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_params_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_params_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_mode_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_mode_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_contexts_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_contexts_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_exceptions_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_exceptions_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_defined_in_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_absolute_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_containing_repository_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void describe_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void move_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+
+ };
+
+
+ ///////////////////////////////////////////////////////////////////////
+ // Strategized Proxy Broker Declaration
+ //
+
+ class _TAO_FinderDef_Strategized_Proxy_Broker : public virtual ::IR::_TAO_FinderDef_Proxy_Broker
+ {
+ public:
+ _TAO_FinderDef_Strategized_Proxy_Broker (void);
+
+ virtual ~_TAO_FinderDef_Strategized_Proxy_Broker (void);
+
+ virtual ::IR::_TAO_FinderDef_Proxy_Impl &select_proxy (
+ ::IR::FinderDef *object
+ ACE_ENV_ARG_DECL
+ );
+
+ private:
+
+ // Helper methods that takes care to create the proxy
+ // as soon as their use is necessary.
+ void create_proxy (
+ int collocation_strategy
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Caches the proxy implementations. The proxy implementation
+ // are totally stateless, and those can be shared by all the
+ // instances of a given IDL interface type.
+ ::IR::_TAO_FinderDef_Proxy_Impl
+ *proxy_cache_[TAO_Collocation_Strategies::CS_LAST];
+
+ TAO_SYNCH_MUTEX mutex_;
+ // This funxtion is used to get an handle to the unique instance
+ // of the Strategized Proxy Broker that is available for a given
+ // interface.
+
+ public:
+ static _TAO_FinderDef_Strategized_Proxy_Broker *the_TAO_FinderDef_Strategized_Proxy_Broker (void);
+ };
+
+
+ //
+ // End Strategized Proxy Broker Declaration
+ ///////////////////////////////////////////////////////////////////////
+
+
+ ///////////////////////////////////////////////////////////////////////
+ // ThruPOA Impl. Declaration
+ //
+
+ class _TAO_FinderDef_ThruPOA_Proxy_Impl :
+ public virtual ::IR::_TAO_FinderDef_Proxy_Impl,
+ public virtual TAO_ThruPOA_Object_Proxy_Impl,
+ public virtual ::_TAO_CORBA_OperationDef_ThruPOA_Proxy_Impl
+
+ {
+ public:
+ _TAO_FinderDef_ThruPOA_Proxy_Impl (void);
+
+ virtual ~_TAO_FinderDef_ThruPOA_Proxy_Impl (void) { }
+
+ };
+
+
+ //
+ // ThruPOA Proxy Impl. Declaration
+ ///////////////////////////////////////////////////////////////////////
+
+
+ class HomeDef;
+ typedef HomeDef *HomeDef_ptr;
+ // Forward Classes Declaration
+ class _TAO_HomeDef_ThruPOA_Proxy_Impl;
+ class _TAO_HomeDef_Strategized_Proxy_Broker;
+
+ class HomeDef : public virtual POA_CORBA_InterfaceDef
+ {
+ protected:
+ HomeDef (void);
+
+ public:
+ HomeDef (const HomeDef& rhs);
+ virtual ~HomeDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _non_existent_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void _dispatch (
+ TAO_ServerRequest &req,
+ void *_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ ::IR::HomeDef *_this (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual IR::HomeDef_ptr base_home (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_base_home_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual IR::ComponentDef_ptr managed_component (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_managed_component_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual IR::PrimaryKeyDef_ptr primary_key (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_primary_key_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual IR::FactoryDefSeq * factories (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_factories_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual IR::FinderDefSeq * finders (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_finders_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA::Boolean is_basic (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_is_basic_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual IR::PrimaryKeyDef_ptr create_primary_key (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_ValueDef_ptr primary_key
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_primary_key_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual IR::FactoryDef_ptr create_factory (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_ParDescriptionSeq & params,
+ const CORBA_ExceptionDefSeq & exceptions
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_factory_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual IR::FinderDef_ptr create_finder (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_ParDescriptionSeq & params,
+ const CORBA_ExceptionDefSeq & exceptions
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_finder_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _get_base_interfaces_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_base_interfaces_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void is_a_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void describe_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_attribute_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_operation_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void lookup_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void contents_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void lookup_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void describe_contents_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_module_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_constant_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_struct_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_union_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_enum_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_alias_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_value_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_value_box_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_exception_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_native_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_abstract_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_local_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_defined_in_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_absolute_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_containing_repository_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void describe_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void move_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_type_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+
+ };
+
+
+ ///////////////////////////////////////////////////////////////////////
+ // Strategized Proxy Broker Declaration
+ //
+
+ class _TAO_HomeDef_Strategized_Proxy_Broker : public virtual ::IR::_TAO_HomeDef_Proxy_Broker
+ {
+ public:
+ _TAO_HomeDef_Strategized_Proxy_Broker (void);
+
+ virtual ~_TAO_HomeDef_Strategized_Proxy_Broker (void);
+
+ virtual ::IR::_TAO_HomeDef_Proxy_Impl &select_proxy (
+ ::IR::HomeDef *object
+ ACE_ENV_ARG_DECL
+ );
+
+ private:
+
+ // Helper methods that takes care to create the proxy
+ // as soon as their use is necessary.
+ void create_proxy (
+ int collocation_strategy
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Caches the proxy implementations. The proxy implementation
+ // are totally stateless, and those can be shared by all the
+ // instances of a given IDL interface type.
+ ::IR::_TAO_HomeDef_Proxy_Impl
+ *proxy_cache_[TAO_Collocation_Strategies::CS_LAST];
+
+ TAO_SYNCH_MUTEX mutex_;
+ // This funxtion is used to get an handle to the unique instance
+ // of the Strategized Proxy Broker that is available for a given
+ // interface.
+
+ public:
+ static _TAO_HomeDef_Strategized_Proxy_Broker *the_TAO_HomeDef_Strategized_Proxy_Broker (void);
+ };
+
+
+ //
+ // End Strategized Proxy Broker Declaration
+ ///////////////////////////////////////////////////////////////////////
+
+
+ ///////////////////////////////////////////////////////////////////////
+ // ThruPOA Impl. Declaration
+ //
+
+ class _TAO_HomeDef_ThruPOA_Proxy_Impl :
+ public virtual ::IR::_TAO_HomeDef_Proxy_Impl,
+ public virtual TAO_ThruPOA_Object_Proxy_Impl,
+ public virtual ::_TAO_CORBA_InterfaceDef_ThruPOA_Proxy_Impl
+
+ {
+ public:
+ _TAO_HomeDef_ThruPOA_Proxy_Impl (void);
+
+ virtual ~_TAO_HomeDef_ThruPOA_Proxy_Impl (void) { }
+
+ virtual IR::HomeDef_ptr base_home (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::ComponentDef_ptr managed_component (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::PrimaryKeyDef_ptr primary_key (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::FactoryDefSeq * factories (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::FinderDefSeq * finders (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA::Boolean is_basic (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::PrimaryKeyDef_ptr create_primary_key (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_ValueDef_ptr primary_key
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::FactoryDef_ptr create_factory (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_ParDescriptionSeq & params,
+ const CORBA_ExceptionDefSeq & exceptions
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::FinderDef_ptr create_finder (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_ParDescriptionSeq & params,
+ const CORBA_ExceptionDefSeq & exceptions
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+
+ };
+
+ //
+ // ThruPOA Proxy Impl. Declaration
+ ///////////////////////////////////////////////////////////////////////
+
+
+}
+TAO_NAMESPACE_CLOSE // module IR
+
+#include "IFR_ComponentsS_T.h"
+
+#if defined (__ACE_INLINE__)
+#include "IFR_ComponentsS.i"
+#endif /* defined INLINE */
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#if defined (__BORLANDC__)
+#pragma option pop
+#endif /* __BORLANDC__ */
+
+#include "ace/post.h"
+#endif /* ifndef */
diff --git a/TAO/orbsvcs/IFR_Service/IFR_ComponentsS.i b/TAO/orbsvcs/IFR_Service/IFR_ComponentsS.i
new file mode 100644
index 00000000000..8a5a82037d4
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/IFR_ComponentsS.i
@@ -0,0 +1,3711 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+ACE_INLINE void POA_IR::ComponentRepository::lookup_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Repository_ptr impl = (POA_IR::ComponentRepository_ptr) obj;
+ POA_CORBA_Repository::lookup_id_skel (
+ req,
+ (POA_CORBA_Repository_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentRepository::get_canonical_typecode_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Repository_ptr impl = (POA_IR::ComponentRepository_ptr) obj;
+ POA_CORBA_Repository::get_canonical_typecode_skel (
+ req,
+ (POA_CORBA_Repository_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentRepository::get_primitive_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Repository_ptr impl = (POA_IR::ComponentRepository_ptr) obj;
+ POA_CORBA_Repository::get_primitive_skel (
+ req,
+ (POA_CORBA_Repository_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentRepository::create_string_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Repository_ptr impl = (POA_IR::ComponentRepository_ptr) obj;
+ POA_CORBA_Repository::create_string_skel (
+ req,
+ (POA_CORBA_Repository_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentRepository::create_wstring_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Repository_ptr impl = (POA_IR::ComponentRepository_ptr) obj;
+ POA_CORBA_Repository::create_wstring_skel (
+ req,
+ (POA_CORBA_Repository_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentRepository::create_sequence_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Repository_ptr impl = (POA_IR::ComponentRepository_ptr) obj;
+ POA_CORBA_Repository::create_sequence_skel (
+ req,
+ (POA_CORBA_Repository_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentRepository::create_array_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Repository_ptr impl = (POA_IR::ComponentRepository_ptr) obj;
+ POA_CORBA_Repository::create_array_skel (
+ req,
+ (POA_CORBA_Repository_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentRepository::create_fixed_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Repository_ptr impl = (POA_IR::ComponentRepository_ptr) obj;
+ POA_CORBA_Repository::create_fixed_skel (
+ req,
+ (POA_CORBA_Repository_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentRepository::lookup_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_IR::ComponentRepository_ptr) obj;
+ POA_CORBA_Container::lookup_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentRepository::contents_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_IR::ComponentRepository_ptr) obj;
+ POA_CORBA_Container::contents_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentRepository::lookup_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_IR::ComponentRepository_ptr) obj;
+ POA_CORBA_Container::lookup_name_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentRepository::describe_contents_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_IR::ComponentRepository_ptr) obj;
+ POA_CORBA_Container::describe_contents_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentRepository::create_module_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_IR::ComponentRepository_ptr) obj;
+ POA_CORBA_Container::create_module_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentRepository::create_constant_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_IR::ComponentRepository_ptr) obj;
+ POA_CORBA_Container::create_constant_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentRepository::create_struct_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_IR::ComponentRepository_ptr) obj;
+ POA_CORBA_Container::create_struct_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentRepository::create_union_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_IR::ComponentRepository_ptr) obj;
+ POA_CORBA_Container::create_union_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentRepository::create_enum_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_IR::ComponentRepository_ptr) obj;
+ POA_CORBA_Container::create_enum_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentRepository::create_alias_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_IR::ComponentRepository_ptr) obj;
+ POA_CORBA_Container::create_alias_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentRepository::create_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_IR::ComponentRepository_ptr) obj;
+ POA_CORBA_Container::create_interface_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentRepository::create_value_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_IR::ComponentRepository_ptr) obj;
+ POA_CORBA_Container::create_value_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentRepository::create_value_box_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_IR::ComponentRepository_ptr) obj;
+ POA_CORBA_Container::create_value_box_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentRepository::create_exception_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_IR::ComponentRepository_ptr) obj;
+ POA_CORBA_Container::create_exception_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentRepository::create_native_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_IR::ComponentRepository_ptr) obj;
+ POA_CORBA_Container::create_native_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentRepository::create_abstract_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_IR::ComponentRepository_ptr) obj;
+ POA_CORBA_Container::create_abstract_interface_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentRepository::create_local_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_IR::ComponentRepository_ptr) obj;
+ POA_CORBA_Container::create_local_interface_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentRepository::_get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_IR::ComponentRepository_ptr) obj;
+ POA_CORBA_IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentRepository::destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_IR::ComponentRepository_ptr) obj;
+ POA_CORBA_IRObject::destroy_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ProvidesDef::_get_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::ProvidesDef_ptr) obj;
+ POA_CORBA_Contained::_get_id_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ProvidesDef::_set_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::ProvidesDef_ptr) obj;
+ POA_CORBA_Contained::_set_id_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ProvidesDef::_get_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::ProvidesDef_ptr) obj;
+ POA_CORBA_Contained::_get_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ProvidesDef::_set_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::ProvidesDef_ptr) obj;
+ POA_CORBA_Contained::_set_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ProvidesDef::_get_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::ProvidesDef_ptr) obj;
+ POA_CORBA_Contained::_get_version_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ProvidesDef::_set_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::ProvidesDef_ptr) obj;
+ POA_CORBA_Contained::_set_version_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ProvidesDef::_get_defined_in_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::ProvidesDef_ptr) obj;
+ POA_CORBA_Contained::_get_defined_in_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ProvidesDef::_get_absolute_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::ProvidesDef_ptr) obj;
+ POA_CORBA_Contained::_get_absolute_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ProvidesDef::_get_containing_repository_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::ProvidesDef_ptr) obj;
+ POA_CORBA_Contained::_get_containing_repository_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ProvidesDef::describe_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::ProvidesDef_ptr) obj;
+ POA_CORBA_Contained::describe_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ProvidesDef::move_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::ProvidesDef_ptr) obj;
+ POA_CORBA_Contained::move_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ProvidesDef::_get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_IR::ProvidesDef_ptr) obj;
+ POA_CORBA_IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ProvidesDef::destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_IR::ProvidesDef_ptr) obj;
+ POA_CORBA_IRObject::destroy_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::UsesDef::_get_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::UsesDef_ptr) obj;
+ POA_CORBA_Contained::_get_id_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::UsesDef::_set_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::UsesDef_ptr) obj;
+ POA_CORBA_Contained::_set_id_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::UsesDef::_get_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::UsesDef_ptr) obj;
+ POA_CORBA_Contained::_get_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::UsesDef::_set_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::UsesDef_ptr) obj;
+ POA_CORBA_Contained::_set_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::UsesDef::_get_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::UsesDef_ptr) obj;
+ POA_CORBA_Contained::_get_version_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::UsesDef::_set_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::UsesDef_ptr) obj;
+ POA_CORBA_Contained::_set_version_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::UsesDef::_get_defined_in_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::UsesDef_ptr) obj;
+ POA_CORBA_Contained::_get_defined_in_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::UsesDef::_get_absolute_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::UsesDef_ptr) obj;
+ POA_CORBA_Contained::_get_absolute_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::UsesDef::_get_containing_repository_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::UsesDef_ptr) obj;
+ POA_CORBA_Contained::_get_containing_repository_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::UsesDef::describe_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::UsesDef_ptr) obj;
+ POA_CORBA_Contained::describe_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::UsesDef::move_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::UsesDef_ptr) obj;
+ POA_CORBA_Contained::move_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::UsesDef::_get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_IR::UsesDef_ptr) obj;
+ POA_CORBA_IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::UsesDef::destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_IR::UsesDef_ptr) obj;
+ POA_CORBA_IRObject::destroy_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::EventDef::_get_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::EventDef_ptr) obj;
+ POA_CORBA_Contained::_get_id_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::EventDef::_set_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::EventDef_ptr) obj;
+ POA_CORBA_Contained::_set_id_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::EventDef::_get_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::EventDef_ptr) obj;
+ POA_CORBA_Contained::_get_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::EventDef::_set_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::EventDef_ptr) obj;
+ POA_CORBA_Contained::_set_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::EventDef::_get_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::EventDef_ptr) obj;
+ POA_CORBA_Contained::_get_version_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::EventDef::_set_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::EventDef_ptr) obj;
+ POA_CORBA_Contained::_set_version_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::EventDef::_get_defined_in_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::EventDef_ptr) obj;
+ POA_CORBA_Contained::_get_defined_in_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::EventDef::_get_absolute_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::EventDef_ptr) obj;
+ POA_CORBA_Contained::_get_absolute_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::EventDef::_get_containing_repository_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::EventDef_ptr) obj;
+ POA_CORBA_Contained::_get_containing_repository_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::EventDef::describe_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::EventDef_ptr) obj;
+ POA_CORBA_Contained::describe_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::EventDef::move_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::EventDef_ptr) obj;
+ POA_CORBA_Contained::move_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::EventDef::_get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_IR::EventDef_ptr) obj;
+ POA_CORBA_IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::EventDef::destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_IR::EventDef_ptr) obj;
+ POA_CORBA_IRObject::destroy_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::EmitsDef::is_a_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_IR::EventDef_ptr impl = (POA_IR::EmitsDef_ptr) obj;
+ POA_IR::EventDef::is_a_skel (
+ req,
+ (POA_IR::EventDef_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::EmitsDef::_get_event_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_IR::EventDef_ptr impl = (POA_IR::EmitsDef_ptr) obj;
+ POA_IR::EventDef::_get_event_skel (
+ req,
+ (POA_IR::EventDef_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::EmitsDef::_get_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::EmitsDef_ptr) obj;
+ POA_CORBA_Contained::_get_id_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::EmitsDef::_set_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::EmitsDef_ptr) obj;
+ POA_CORBA_Contained::_set_id_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::EmitsDef::_get_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::EmitsDef_ptr) obj;
+ POA_CORBA_Contained::_get_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::EmitsDef::_set_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::EmitsDef_ptr) obj;
+ POA_CORBA_Contained::_set_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::EmitsDef::_get_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::EmitsDef_ptr) obj;
+ POA_CORBA_Contained::_get_version_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::EmitsDef::_set_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::EmitsDef_ptr) obj;
+ POA_CORBA_Contained::_set_version_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::EmitsDef::_get_defined_in_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::EmitsDef_ptr) obj;
+ POA_CORBA_Contained::_get_defined_in_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::EmitsDef::_get_absolute_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::EmitsDef_ptr) obj;
+ POA_CORBA_Contained::_get_absolute_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::EmitsDef::_get_containing_repository_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::EmitsDef_ptr) obj;
+ POA_CORBA_Contained::_get_containing_repository_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::EmitsDef::describe_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::EmitsDef_ptr) obj;
+ POA_CORBA_Contained::describe_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::EmitsDef::move_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::EmitsDef_ptr) obj;
+ POA_CORBA_Contained::move_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::EmitsDef::_get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_IR::EmitsDef_ptr) obj;
+ POA_CORBA_IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::EmitsDef::destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_IR::EmitsDef_ptr) obj;
+ POA_CORBA_IRObject::destroy_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::PublishesDef::is_a_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_IR::EventDef_ptr impl = (POA_IR::PublishesDef_ptr) obj;
+ POA_IR::EventDef::is_a_skel (
+ req,
+ (POA_IR::EventDef_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::PublishesDef::_get_event_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_IR::EventDef_ptr impl = (POA_IR::PublishesDef_ptr) obj;
+ POA_IR::EventDef::_get_event_skel (
+ req,
+ (POA_IR::EventDef_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::PublishesDef::_get_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::PublishesDef_ptr) obj;
+ POA_CORBA_Contained::_get_id_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::PublishesDef::_set_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::PublishesDef_ptr) obj;
+ POA_CORBA_Contained::_set_id_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::PublishesDef::_get_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::PublishesDef_ptr) obj;
+ POA_CORBA_Contained::_get_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::PublishesDef::_set_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::PublishesDef_ptr) obj;
+ POA_CORBA_Contained::_set_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::PublishesDef::_get_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::PublishesDef_ptr) obj;
+ POA_CORBA_Contained::_get_version_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::PublishesDef::_set_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::PublishesDef_ptr) obj;
+ POA_CORBA_Contained::_set_version_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::PublishesDef::_get_defined_in_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::PublishesDef_ptr) obj;
+ POA_CORBA_Contained::_get_defined_in_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::PublishesDef::_get_absolute_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::PublishesDef_ptr) obj;
+ POA_CORBA_Contained::_get_absolute_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::PublishesDef::_get_containing_repository_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::PublishesDef_ptr) obj;
+ POA_CORBA_Contained::_get_containing_repository_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::PublishesDef::describe_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::PublishesDef_ptr) obj;
+ POA_CORBA_Contained::describe_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::PublishesDef::move_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::PublishesDef_ptr) obj;
+ POA_CORBA_Contained::move_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::PublishesDef::_get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_IR::PublishesDef_ptr) obj;
+ POA_CORBA_IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::PublishesDef::destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_IR::PublishesDef_ptr) obj;
+ POA_CORBA_IRObject::destroy_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ConsumesDef::is_a_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_IR::EventDef_ptr impl = (POA_IR::ConsumesDef_ptr) obj;
+ POA_IR::EventDef::is_a_skel (
+ req,
+ (POA_IR::EventDef_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ConsumesDef::_get_event_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_IR::EventDef_ptr impl = (POA_IR::ConsumesDef_ptr) obj;
+ POA_IR::EventDef::_get_event_skel (
+ req,
+ (POA_IR::EventDef_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ConsumesDef::_get_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::ConsumesDef_ptr) obj;
+ POA_CORBA_Contained::_get_id_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ConsumesDef::_set_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::ConsumesDef_ptr) obj;
+ POA_CORBA_Contained::_set_id_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ConsumesDef::_get_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::ConsumesDef_ptr) obj;
+ POA_CORBA_Contained::_get_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ConsumesDef::_set_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::ConsumesDef_ptr) obj;
+ POA_CORBA_Contained::_set_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ConsumesDef::_get_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::ConsumesDef_ptr) obj;
+ POA_CORBA_Contained::_get_version_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ConsumesDef::_set_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::ConsumesDef_ptr) obj;
+ POA_CORBA_Contained::_set_version_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ConsumesDef::_get_defined_in_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::ConsumesDef_ptr) obj;
+ POA_CORBA_Contained::_get_defined_in_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ConsumesDef::_get_absolute_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::ConsumesDef_ptr) obj;
+ POA_CORBA_Contained::_get_absolute_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ConsumesDef::_get_containing_repository_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::ConsumesDef_ptr) obj;
+ POA_CORBA_Contained::_get_containing_repository_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ConsumesDef::describe_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::ConsumesDef_ptr) obj;
+ POA_CORBA_Contained::describe_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ConsumesDef::move_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::ConsumesDef_ptr) obj;
+ POA_CORBA_Contained::move_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ConsumesDef::_get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_IR::ConsumesDef_ptr) obj;
+ POA_CORBA_IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ConsumesDef::destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_IR::ConsumesDef_ptr) obj;
+ POA_CORBA_IRObject::destroy_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::_get_base_interfaces_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_InterfaceDef_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_CORBA_InterfaceDef::_get_base_interfaces_skel (
+ req,
+ (POA_CORBA_InterfaceDef_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::_set_base_interfaces_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_InterfaceDef_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_CORBA_InterfaceDef::_set_base_interfaces_skel (
+ req,
+ (POA_CORBA_InterfaceDef_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::is_a_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_InterfaceDef_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_CORBA_InterfaceDef::is_a_skel (
+ req,
+ (POA_CORBA_InterfaceDef_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::describe_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_InterfaceDef_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_CORBA_InterfaceDef::describe_interface_skel (
+ req,
+ (POA_CORBA_InterfaceDef_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::create_attribute_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_InterfaceDef_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_CORBA_InterfaceDef::create_attribute_skel (
+ req,
+ (POA_CORBA_InterfaceDef_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::create_operation_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_InterfaceDef_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_CORBA_InterfaceDef::create_operation_skel (
+ req,
+ (POA_CORBA_InterfaceDef_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::lookup_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_CORBA_Container::lookup_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::contents_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_CORBA_Container::contents_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::lookup_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_CORBA_Container::lookup_name_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::describe_contents_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_CORBA_Container::describe_contents_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::create_module_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_CORBA_Container::create_module_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::create_constant_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_CORBA_Container::create_constant_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::create_struct_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_CORBA_Container::create_struct_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::create_union_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_CORBA_Container::create_union_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::create_enum_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_CORBA_Container::create_enum_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::create_alias_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_CORBA_Container::create_alias_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::create_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_CORBA_Container::create_interface_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::create_value_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_CORBA_Container::create_value_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::create_value_box_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_CORBA_Container::create_value_box_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::create_exception_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_CORBA_Container::create_exception_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::create_native_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_CORBA_Container::create_native_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::create_abstract_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_CORBA_Container::create_abstract_interface_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::create_local_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_CORBA_Container::create_local_interface_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::_get_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_CORBA_Contained::_get_id_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::_set_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_CORBA_Contained::_set_id_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::_get_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_CORBA_Contained::_get_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::_set_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_CORBA_Contained::_set_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::_get_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_CORBA_Contained::_get_version_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::_set_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_CORBA_Contained::_set_version_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::_get_defined_in_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_CORBA_Contained::_get_defined_in_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::_get_absolute_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_CORBA_Contained::_get_absolute_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::_get_containing_repository_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_CORBA_Contained::_get_containing_repository_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::describe_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_CORBA_Contained::describe_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::move_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_CORBA_Contained::move_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::_get_type_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IDLType_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_CORBA_IDLType::_get_type_skel (
+ req,
+ (POA_CORBA_IDLType_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::_get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_CORBA_IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::ComponentDef::destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_IR::ComponentDef_ptr) obj;
+ POA_CORBA_IRObject::destroy_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::PrimaryKeyDef::_get_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::PrimaryKeyDef_ptr) obj;
+ POA_CORBA_Contained::_get_id_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::PrimaryKeyDef::_set_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::PrimaryKeyDef_ptr) obj;
+ POA_CORBA_Contained::_set_id_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::PrimaryKeyDef::_get_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::PrimaryKeyDef_ptr) obj;
+ POA_CORBA_Contained::_get_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::PrimaryKeyDef::_set_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::PrimaryKeyDef_ptr) obj;
+ POA_CORBA_Contained::_set_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::PrimaryKeyDef::_get_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::PrimaryKeyDef_ptr) obj;
+ POA_CORBA_Contained::_get_version_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::PrimaryKeyDef::_set_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::PrimaryKeyDef_ptr) obj;
+ POA_CORBA_Contained::_set_version_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::PrimaryKeyDef::_get_defined_in_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::PrimaryKeyDef_ptr) obj;
+ POA_CORBA_Contained::_get_defined_in_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::PrimaryKeyDef::_get_absolute_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::PrimaryKeyDef_ptr) obj;
+ POA_CORBA_Contained::_get_absolute_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::PrimaryKeyDef::_get_containing_repository_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::PrimaryKeyDef_ptr) obj;
+ POA_CORBA_Contained::_get_containing_repository_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::PrimaryKeyDef::describe_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::PrimaryKeyDef_ptr) obj;
+ POA_CORBA_Contained::describe_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::PrimaryKeyDef::move_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::PrimaryKeyDef_ptr) obj;
+ POA_CORBA_Contained::move_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::PrimaryKeyDef::_get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_IR::PrimaryKeyDef_ptr) obj;
+ POA_CORBA_IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::PrimaryKeyDef::destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_IR::PrimaryKeyDef_ptr) obj;
+ POA_CORBA_IRObject::destroy_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::FactoryDef::_get_result_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_OperationDef_ptr impl = (POA_IR::FactoryDef_ptr) obj;
+ POA_CORBA_OperationDef::_get_result_skel (
+ req,
+ (POA_CORBA_OperationDef_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::FactoryDef::_get_result_def_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_OperationDef_ptr impl = (POA_IR::FactoryDef_ptr) obj;
+ POA_CORBA_OperationDef::_get_result_def_skel (
+ req,
+ (POA_CORBA_OperationDef_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::FactoryDef::_set_result_def_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_OperationDef_ptr impl = (POA_IR::FactoryDef_ptr) obj;
+ POA_CORBA_OperationDef::_set_result_def_skel (
+ req,
+ (POA_CORBA_OperationDef_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::FactoryDef::_get_params_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_OperationDef_ptr impl = (POA_IR::FactoryDef_ptr) obj;
+ POA_CORBA_OperationDef::_get_params_skel (
+ req,
+ (POA_CORBA_OperationDef_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::FactoryDef::_set_params_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_OperationDef_ptr impl = (POA_IR::FactoryDef_ptr) obj;
+ POA_CORBA_OperationDef::_set_params_skel (
+ req,
+ (POA_CORBA_OperationDef_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::FactoryDef::_get_mode_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_OperationDef_ptr impl = (POA_IR::FactoryDef_ptr) obj;
+ POA_CORBA_OperationDef::_get_mode_skel (
+ req,
+ (POA_CORBA_OperationDef_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::FactoryDef::_set_mode_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_OperationDef_ptr impl = (POA_IR::FactoryDef_ptr) obj;
+ POA_CORBA_OperationDef::_set_mode_skel (
+ req,
+ (POA_CORBA_OperationDef_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::FactoryDef::_get_contexts_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_OperationDef_ptr impl = (POA_IR::FactoryDef_ptr) obj;
+ POA_CORBA_OperationDef::_get_contexts_skel (
+ req,
+ (POA_CORBA_OperationDef_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::FactoryDef::_set_contexts_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_OperationDef_ptr impl = (POA_IR::FactoryDef_ptr) obj;
+ POA_CORBA_OperationDef::_set_contexts_skel (
+ req,
+ (POA_CORBA_OperationDef_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::FactoryDef::_get_exceptions_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_OperationDef_ptr impl = (POA_IR::FactoryDef_ptr) obj;
+ POA_CORBA_OperationDef::_get_exceptions_skel (
+ req,
+ (POA_CORBA_OperationDef_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::FactoryDef::_set_exceptions_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_OperationDef_ptr impl = (POA_IR::FactoryDef_ptr) obj;
+ POA_CORBA_OperationDef::_set_exceptions_skel (
+ req,
+ (POA_CORBA_OperationDef_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::FactoryDef::_get_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::FactoryDef_ptr) obj;
+ POA_CORBA_Contained::_get_id_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::FactoryDef::_set_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::FactoryDef_ptr) obj;
+ POA_CORBA_Contained::_set_id_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::FactoryDef::_get_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::FactoryDef_ptr) obj;
+ POA_CORBA_Contained::_get_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::FactoryDef::_set_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::FactoryDef_ptr) obj;
+ POA_CORBA_Contained::_set_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::FactoryDef::_get_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::FactoryDef_ptr) obj;
+ POA_CORBA_Contained::_get_version_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::FactoryDef::_set_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::FactoryDef_ptr) obj;
+ POA_CORBA_Contained::_set_version_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::FactoryDef::_get_defined_in_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::FactoryDef_ptr) obj;
+ POA_CORBA_Contained::_get_defined_in_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::FactoryDef::_get_absolute_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::FactoryDef_ptr) obj;
+ POA_CORBA_Contained::_get_absolute_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::FactoryDef::_get_containing_repository_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::FactoryDef_ptr) obj;
+ POA_CORBA_Contained::_get_containing_repository_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::FactoryDef::describe_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::FactoryDef_ptr) obj;
+ POA_CORBA_Contained::describe_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::FactoryDef::move_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::FactoryDef_ptr) obj;
+ POA_CORBA_Contained::move_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::FactoryDef::_get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_IR::FactoryDef_ptr) obj;
+ POA_CORBA_IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::FactoryDef::destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_IR::FactoryDef_ptr) obj;
+ POA_CORBA_IRObject::destroy_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::FinderDef::_get_result_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_OperationDef_ptr impl = (POA_IR::FinderDef_ptr) obj;
+ POA_CORBA_OperationDef::_get_result_skel (
+ req,
+ (POA_CORBA_OperationDef_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::FinderDef::_get_result_def_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_OperationDef_ptr impl = (POA_IR::FinderDef_ptr) obj;
+ POA_CORBA_OperationDef::_get_result_def_skel (
+ req,
+ (POA_CORBA_OperationDef_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::FinderDef::_set_result_def_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_OperationDef_ptr impl = (POA_IR::FinderDef_ptr) obj;
+ POA_CORBA_OperationDef::_set_result_def_skel (
+ req,
+ (POA_CORBA_OperationDef_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::FinderDef::_get_params_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_OperationDef_ptr impl = (POA_IR::FinderDef_ptr) obj;
+ POA_CORBA_OperationDef::_get_params_skel (
+ req,
+ (POA_CORBA_OperationDef_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::FinderDef::_set_params_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_OperationDef_ptr impl = (POA_IR::FinderDef_ptr) obj;
+ POA_CORBA_OperationDef::_set_params_skel (
+ req,
+ (POA_CORBA_OperationDef_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::FinderDef::_get_mode_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_OperationDef_ptr impl = (POA_IR::FinderDef_ptr) obj;
+ POA_CORBA_OperationDef::_get_mode_skel (
+ req,
+ (POA_CORBA_OperationDef_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::FinderDef::_set_mode_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_OperationDef_ptr impl = (POA_IR::FinderDef_ptr) obj;
+ POA_CORBA_OperationDef::_set_mode_skel (
+ req,
+ (POA_CORBA_OperationDef_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::FinderDef::_get_contexts_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_OperationDef_ptr impl = (POA_IR::FinderDef_ptr) obj;
+ POA_CORBA_OperationDef::_get_contexts_skel (
+ req,
+ (POA_CORBA_OperationDef_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::FinderDef::_set_contexts_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_OperationDef_ptr impl = (POA_IR::FinderDef_ptr) obj;
+ POA_CORBA_OperationDef::_set_contexts_skel (
+ req,
+ (POA_CORBA_OperationDef_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::FinderDef::_get_exceptions_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_OperationDef_ptr impl = (POA_IR::FinderDef_ptr) obj;
+ POA_CORBA_OperationDef::_get_exceptions_skel (
+ req,
+ (POA_CORBA_OperationDef_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::FinderDef::_set_exceptions_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_OperationDef_ptr impl = (POA_IR::FinderDef_ptr) obj;
+ POA_CORBA_OperationDef::_set_exceptions_skel (
+ req,
+ (POA_CORBA_OperationDef_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::FinderDef::_get_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::FinderDef_ptr) obj;
+ POA_CORBA_Contained::_get_id_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::FinderDef::_set_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::FinderDef_ptr) obj;
+ POA_CORBA_Contained::_set_id_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::FinderDef::_get_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::FinderDef_ptr) obj;
+ POA_CORBA_Contained::_get_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::FinderDef::_set_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::FinderDef_ptr) obj;
+ POA_CORBA_Contained::_set_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::FinderDef::_get_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::FinderDef_ptr) obj;
+ POA_CORBA_Contained::_get_version_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::FinderDef::_set_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::FinderDef_ptr) obj;
+ POA_CORBA_Contained::_set_version_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::FinderDef::_get_defined_in_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::FinderDef_ptr) obj;
+ POA_CORBA_Contained::_get_defined_in_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::FinderDef::_get_absolute_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::FinderDef_ptr) obj;
+ POA_CORBA_Contained::_get_absolute_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::FinderDef::_get_containing_repository_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::FinderDef_ptr) obj;
+ POA_CORBA_Contained::_get_containing_repository_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::FinderDef::describe_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::FinderDef_ptr) obj;
+ POA_CORBA_Contained::describe_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::FinderDef::move_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::FinderDef_ptr) obj;
+ POA_CORBA_Contained::move_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::FinderDef::_get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_IR::FinderDef_ptr) obj;
+ POA_CORBA_IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::FinderDef::destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_IR::FinderDef_ptr) obj;
+ POA_CORBA_IRObject::destroy_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::_get_base_interfaces_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_InterfaceDef_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_CORBA_InterfaceDef::_get_base_interfaces_skel (
+ req,
+ (POA_CORBA_InterfaceDef_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::_set_base_interfaces_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_InterfaceDef_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_CORBA_InterfaceDef::_set_base_interfaces_skel (
+ req,
+ (POA_CORBA_InterfaceDef_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::is_a_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_InterfaceDef_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_CORBA_InterfaceDef::is_a_skel (
+ req,
+ (POA_CORBA_InterfaceDef_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::describe_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_InterfaceDef_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_CORBA_InterfaceDef::describe_interface_skel (
+ req,
+ (POA_CORBA_InterfaceDef_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::create_attribute_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_InterfaceDef_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_CORBA_InterfaceDef::create_attribute_skel (
+ req,
+ (POA_CORBA_InterfaceDef_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::create_operation_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_InterfaceDef_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_CORBA_InterfaceDef::create_operation_skel (
+ req,
+ (POA_CORBA_InterfaceDef_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::lookup_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_CORBA_Container::lookup_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::contents_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_CORBA_Container::contents_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::lookup_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_CORBA_Container::lookup_name_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::describe_contents_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_CORBA_Container::describe_contents_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::create_module_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_CORBA_Container::create_module_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::create_constant_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_CORBA_Container::create_constant_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::create_struct_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_CORBA_Container::create_struct_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::create_union_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_CORBA_Container::create_union_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::create_enum_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_CORBA_Container::create_enum_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::create_alias_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_CORBA_Container::create_alias_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::create_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_CORBA_Container::create_interface_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::create_value_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_CORBA_Container::create_value_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::create_value_box_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_CORBA_Container::create_value_box_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::create_exception_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_CORBA_Container::create_exception_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::create_native_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_CORBA_Container::create_native_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::create_abstract_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_CORBA_Container::create_abstract_interface_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::create_local_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_CORBA_Container::create_local_interface_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::_get_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_CORBA_Contained::_get_id_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::_set_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_CORBA_Contained::_set_id_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::_get_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_CORBA_Contained::_get_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::_set_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_CORBA_Contained::_set_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::_get_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_CORBA_Contained::_get_version_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::_set_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_CORBA_Contained::_set_version_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::_get_defined_in_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_CORBA_Contained::_get_defined_in_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::_get_absolute_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_CORBA_Contained::_get_absolute_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::_get_containing_repository_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_CORBA_Contained::_get_containing_repository_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::describe_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_CORBA_Contained::describe_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::move_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_CORBA_Contained::move_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::_get_type_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IDLType_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_CORBA_IDLType::_get_type_skel (
+ req,
+ (POA_CORBA_IDLType_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::_get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_CORBA_IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_IR::HomeDef::destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_IR::HomeDef_ptr) obj;
+ POA_CORBA_IRObject::destroy_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
diff --git a/TAO/orbsvcs/IFR_Service/IFR_ComponentsS_T.cpp b/TAO/orbsvcs/IFR_Service/IFR_ComponentsS_T.cpp
new file mode 100644
index 00000000000..2dd545c475f
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/IFR_ComponentsS_T.cpp
@@ -0,0 +1,32 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+#ifndef _TAO_IDL_IFR_COMPONENTSS_T_CPP_
+#define _TAO_IDL_IFR_COMPONENTSS_T_CPP_
+
+#include "IFR_ComponentsS_T.h"
+
+#if !defined (__ACE_INLINE__)
+#include "IFR_ComponentsS_T.i"
+#endif /* !defined INLINE */
+
+
+#endif /* ifndef */
diff --git a/TAO/orbsvcs/IFR_Service/IFR_ComponentsS_T.h b/TAO/orbsvcs/IFR_Service/IFR_ComponentsS_T.h
new file mode 100644
index 00000000000..cc915fc6a37
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/IFR_ComponentsS_T.h
@@ -0,0 +1,2884 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+#ifndef _TAO_IDL_IFR_COMPONENTSS_T_H_
+#define _TAO_IDL_IFR_COMPONENTSS_T_H_
+
+#include "ace/pre.h"
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+#if defined (ACE_HAS_USING_KEYWORD)
+
+TAO_NAMESPACE POA_IR
+{
+ // TIE class: Refer to CORBA v2.2, Section 20.34.4
+ template <class T>
+ class ComponentRepository_tie : public ComponentRepository
+ {
+ public:
+ ComponentRepository_tie (T &t);
+ // the T& ctor
+ ComponentRepository_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ ComponentRepository_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ ComponentRepository_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~ComponentRepository_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+ IR::ComponentDef_ptr create_component (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::ComponentDef_ptr base_component,
+ const CORBA_InterfaceDefSeq & supports_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::HomeDef_ptr create_home (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::HomeDef_ptr base_home,
+ IR::ComponentDef_ptr managed_component,
+ CORBA_ValueDef_ptr primary_key
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Contained_ptr lookup_id (
+ const char * search_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::TypeCode_ptr get_canonical_typecode (
+ CORBA::TypeCode_ptr tc
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_PrimitiveDef_ptr get_primitive (
+ CORBA::PrimitiveKind kind
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_StringDef_ptr create_string (
+ CORBA::ULong bound
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_WstringDef_ptr create_wstring (
+ CORBA::ULong bound
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_SequenceDef_ptr create_sequence (
+ CORBA::ULong bound,
+ CORBA_IDLType_ptr element_type
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ArrayDef_ptr create_array (
+ CORBA::ULong length,
+ CORBA_IDLType_ptr element_type
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_FixedDef_ptr create_fixed (
+ CORBA::UShort digits,
+ CORBA::Short scale
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Contained_ptr lookup (
+ const char * search_name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ContainedSeq * contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ContainedSeq * lookup_name (
+ const char * search_name,
+ CORBA::Long levels_to_search,
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Container::DescriptionSeq * describe_contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ModuleDef_ptr create_module (
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ConstantDef_ptr create_constant (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ const CORBA::Any & value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_StructDef_ptr create_struct (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_UnionDef_ptr create_union (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr discriminator_type,
+ const CORBA_UnionMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_EnumDef_ptr create_enum (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_EnumMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_AliasDef_ptr create_alias (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_InterfaceDef_ptr create_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ValueDef_ptr create_value (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ CORBA_ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const CORBA_ValueDefSeq & abstract_base_values,
+ const CORBA_InterfaceDefSeq & supported_interfaces,
+ const CORBA_InitializerSeq & initializers
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ValueBoxDef_ptr create_value_box (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ExceptionDef_ptr create_exception (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_NativeDef_ptr create_native (
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_AbstractInterfaceDef_ptr create_abstract_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_AbstractInterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_LocalInterfaceDef_ptr create_local_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ ComponentRepository_tie (const ComponentRepository_tie &);
+ void operator= (const ComponentRepository_tie &);
+ };
+
+ // TIE class: Refer to CORBA v2.2, Section 20.34.4
+ template <class T>
+ class ProvidesDef_tie : public ProvidesDef
+ {
+ public:
+ ProvidesDef_tie (T &t);
+ // the T& ctor
+ ProvidesDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ ProvidesDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ ProvidesDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~ProvidesDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+ CORBA_InterfaceDef_ptr interface_type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * id (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void id (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void name (
+ const char * name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * version (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void version (
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Container_ptr defined_in (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Repository_ptr containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Contained::Description * describe (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ ProvidesDef_tie (const ProvidesDef_tie &);
+ void operator= (const ProvidesDef_tie &);
+ };
+
+ // TIE class: Refer to CORBA v2.2, Section 20.34.4
+ template <class T>
+ class UsesDef_tie : public UsesDef
+ {
+ public:
+ UsesDef_tie (T &t);
+ // the T& ctor
+ UsesDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ UsesDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ UsesDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~UsesDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+ CORBA_InterfaceDef_ptr interface_type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::Boolean is_multiple (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * id (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void id (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void name (
+ const char * name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * version (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void version (
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Container_ptr defined_in (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Repository_ptr containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Contained::Description * describe (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ UsesDef_tie (const UsesDef_tie &);
+ void operator= (const UsesDef_tie &);
+ };
+
+ // TIE class: Refer to CORBA v2.2, Section 20.34.4
+ template <class T>
+ class EventDef_tie : public EventDef
+ {
+ public:
+ EventDef_tie (T &t);
+ // the T& ctor
+ EventDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ EventDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ EventDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~EventDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+ CORBA::Boolean is_a (
+ const char * event_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ValueDef_ptr event (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * id (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void id (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void name (
+ const char * name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * version (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void version (
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Container_ptr defined_in (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Repository_ptr containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Contained::Description * describe (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ EventDef_tie (const EventDef_tie &);
+ void operator= (const EventDef_tie &);
+ };
+
+ // TIE class: Refer to CORBA v2.2, Section 20.34.4
+ template <class T>
+ class EmitsDef_tie : public EmitsDef
+ {
+ public:
+ EmitsDef_tie (T &t);
+ // the T& ctor
+ EmitsDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ EmitsDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ EmitsDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~EmitsDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+ CORBA::Boolean is_a (
+ const char * event_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ValueDef_ptr event (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * id (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void id (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void name (
+ const char * name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * version (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void version (
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Container_ptr defined_in (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Repository_ptr containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Contained::Description * describe (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ EmitsDef_tie (const EmitsDef_tie &);
+ void operator= (const EmitsDef_tie &);
+ };
+
+ // TIE class: Refer to CORBA v2.2, Section 20.34.4
+ template <class T>
+ class PublishesDef_tie : public PublishesDef
+ {
+ public:
+ PublishesDef_tie (T &t);
+ // the T& ctor
+ PublishesDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ PublishesDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ PublishesDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~PublishesDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+ CORBA::Boolean is_a (
+ const char * event_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ValueDef_ptr event (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * id (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void id (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void name (
+ const char * name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * version (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void version (
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Container_ptr defined_in (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Repository_ptr containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Contained::Description * describe (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ PublishesDef_tie (const PublishesDef_tie &);
+ void operator= (const PublishesDef_tie &);
+ };
+
+ // TIE class: Refer to CORBA v2.2, Section 20.34.4
+ template <class T>
+ class ConsumesDef_tie : public ConsumesDef
+ {
+ public:
+ ConsumesDef_tie (T &t);
+ // the T& ctor
+ ConsumesDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ ConsumesDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ ConsumesDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~ConsumesDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+ CORBA::Boolean is_a (
+ const char * event_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ValueDef_ptr event (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * id (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void id (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void name (
+ const char * name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * version (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void version (
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Container_ptr defined_in (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Repository_ptr containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Contained::Description * describe (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ ConsumesDef_tie (const ConsumesDef_tie &);
+ void operator= (const ConsumesDef_tie &);
+ };
+
+ // TIE class: Refer to CORBA v2.2, Section 20.34.4
+ template <class T>
+ class ComponentDef_tie : public ComponentDef
+ {
+ public:
+ ComponentDef_tie (T &t);
+ // the T& ctor
+ ComponentDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ ComponentDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ ComponentDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~ComponentDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+ CORBA_InterfaceDefSeq * supported_interfaces (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void supported_interfaces (
+ const CORBA_InterfaceDefSeq & supported_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ComponentDef_ptr base_component (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ProvidesDefSeq * provides_interfaces (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::UsesDefSeq * uses_interfaces (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::EmitsDefSeq * emits_events (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::PublishesDefSeq * publishes_events (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ConsumesDefSeq * consumes_events (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::Boolean is_basic (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ProvidesDef_ptr create_provides (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_InterfaceDef_ptr interface_type
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::UsesDef_ptr create_uses (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_InterfaceDef_ptr interface_type,
+ CORBA::Boolean is_multiple
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::EmitsDef_ptr create_emits (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_ValueDef_ptr value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::PublishesDef_ptr create_publishes (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_ValueDef_ptr value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ConsumesDef_ptr create_consumes (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_ValueDef_ptr value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_InterfaceDefSeq * base_interfaces (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void base_interfaces (
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::Boolean is_a (
+ const char * interface_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_InterfaceDef::FullInterfaceDescription * describe_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_AttributeDef_ptr create_attribute (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ CORBA::AttributeMode mode
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_OperationDef_ptr create_operation (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr result,
+ CORBA::OperationMode mode,
+ const CORBA_ParDescriptionSeq & params,
+ const CORBA_ExceptionDefSeq & exceptions,
+ const CORBA_ContextIdSeq & contexts
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Contained_ptr lookup (
+ const char * search_name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ContainedSeq * contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ContainedSeq * lookup_name (
+ const char * search_name,
+ CORBA::Long levels_to_search,
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Container::DescriptionSeq * describe_contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ModuleDef_ptr create_module (
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ConstantDef_ptr create_constant (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ const CORBA::Any & value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_StructDef_ptr create_struct (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_UnionDef_ptr create_union (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr discriminator_type,
+ const CORBA_UnionMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_EnumDef_ptr create_enum (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_EnumMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_AliasDef_ptr create_alias (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_InterfaceDef_ptr create_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ValueDef_ptr create_value (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ CORBA_ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const CORBA_ValueDefSeq & abstract_base_values,
+ const CORBA_InterfaceDefSeq & supported_interfaces,
+ const CORBA_InitializerSeq & initializers
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ValueBoxDef_ptr create_value_box (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ExceptionDef_ptr create_exception (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_NativeDef_ptr create_native (
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_AbstractInterfaceDef_ptr create_abstract_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_AbstractInterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_LocalInterfaceDef_ptr create_local_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * id (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void id (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void name (
+ const char * name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * version (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void version (
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Container_ptr defined_in (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Repository_ptr containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Contained::Description * describe (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::TypeCode_ptr type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ ComponentDef_tie (const ComponentDef_tie &);
+ void operator= (const ComponentDef_tie &);
+ };
+
+ // TIE class: Refer to CORBA v2.2, Section 20.34.4
+ template <class T>
+ class PrimaryKeyDef_tie : public PrimaryKeyDef
+ {
+ public:
+ PrimaryKeyDef_tie (T &t);
+ // the T& ctor
+ PrimaryKeyDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ PrimaryKeyDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ PrimaryKeyDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~PrimaryKeyDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+ CORBA::Boolean is_a (
+ const char * primary_key_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ValueDef_ptr primary_key (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * id (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void id (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void name (
+ const char * name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * version (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void version (
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Container_ptr defined_in (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Repository_ptr containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Contained::Description * describe (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ PrimaryKeyDef_tie (const PrimaryKeyDef_tie &);
+ void operator= (const PrimaryKeyDef_tie &);
+ };
+
+ // TIE class: Refer to CORBA v2.2, Section 20.34.4
+ template <class T>
+ class FactoryDef_tie : public FactoryDef
+ {
+ public:
+ FactoryDef_tie (T &t);
+ // the T& ctor
+ FactoryDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ FactoryDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ FactoryDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~FactoryDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+ CORBA::TypeCode_ptr result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_IDLType_ptr result_def (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void result_def (
+ CORBA_IDLType_ptr result_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ParDescriptionSeq * params (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void params (
+ const CORBA_ParDescriptionSeq & params
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::OperationMode mode (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void mode (
+ CORBA::OperationMode mode
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ContextIdSeq * contexts (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void contexts (
+ const CORBA_ContextIdSeq & contexts
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ExceptionDefSeq * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void exceptions (
+ const CORBA_ExceptionDefSeq & exceptions
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * id (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void id (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void name (
+ const char * name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * version (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void version (
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Container_ptr defined_in (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Repository_ptr containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Contained::Description * describe (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ FactoryDef_tie (const FactoryDef_tie &);
+ void operator= (const FactoryDef_tie &);
+ };
+
+ // TIE class: Refer to CORBA v2.2, Section 20.34.4
+ template <class T>
+ class FinderDef_tie : public FinderDef
+ {
+ public:
+ FinderDef_tie (T &t);
+ // the T& ctor
+ FinderDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ FinderDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ FinderDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~FinderDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+ CORBA::TypeCode_ptr result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_IDLType_ptr result_def (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void result_def (
+ CORBA_IDLType_ptr result_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ParDescriptionSeq * params (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void params (
+ const CORBA_ParDescriptionSeq & params
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::OperationMode mode (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void mode (
+ CORBA::OperationMode mode
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ContextIdSeq * contexts (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void contexts (
+ const CORBA_ContextIdSeq & contexts
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ExceptionDefSeq * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void exceptions (
+ const CORBA_ExceptionDefSeq & exceptions
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * id (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void id (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void name (
+ const char * name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * version (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void version (
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Container_ptr defined_in (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Repository_ptr containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Contained::Description * describe (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ FinderDef_tie (const FinderDef_tie &);
+ void operator= (const FinderDef_tie &);
+ };
+
+ // TIE class: Refer to CORBA v2.2, Section 20.34.4
+ template <class T>
+ class HomeDef_tie : public HomeDef
+ {
+ public:
+ HomeDef_tie (T &t);
+ // the T& ctor
+ HomeDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ HomeDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ HomeDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~HomeDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+ IR::HomeDef_ptr base_home (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::ComponentDef_ptr managed_component (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::PrimaryKeyDef_ptr primary_key (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::FactoryDefSeq * factories (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::FinderDefSeq * finders (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::Boolean is_basic (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::PrimaryKeyDef_ptr create_primary_key (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_ValueDef_ptr primary_key
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::FactoryDef_ptr create_factory (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_ParDescriptionSeq & params,
+ const CORBA_ExceptionDefSeq & exceptions
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::FinderDef_ptr create_finder (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_ParDescriptionSeq & params,
+ const CORBA_ExceptionDefSeq & exceptions
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_InterfaceDefSeq * base_interfaces (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void base_interfaces (
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::Boolean is_a (
+ const char * interface_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_InterfaceDef::FullInterfaceDescription * describe_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_AttributeDef_ptr create_attribute (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ CORBA::AttributeMode mode
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_OperationDef_ptr create_operation (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr result,
+ CORBA::OperationMode mode,
+ const CORBA_ParDescriptionSeq & params,
+ const CORBA_ExceptionDefSeq & exceptions,
+ const CORBA_ContextIdSeq & contexts
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Contained_ptr lookup (
+ const char * search_name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ContainedSeq * contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ContainedSeq * lookup_name (
+ const char * search_name,
+ CORBA::Long levels_to_search,
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Container::DescriptionSeq * describe_contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ModuleDef_ptr create_module (
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ConstantDef_ptr create_constant (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ const CORBA::Any & value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_StructDef_ptr create_struct (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_UnionDef_ptr create_union (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr discriminator_type,
+ const CORBA_UnionMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_EnumDef_ptr create_enum (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_EnumMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_AliasDef_ptr create_alias (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_InterfaceDef_ptr create_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ValueDef_ptr create_value (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ CORBA_ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const CORBA_ValueDefSeq & abstract_base_values,
+ const CORBA_InterfaceDefSeq & supported_interfaces,
+ const CORBA_InitializerSeq & initializers
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ValueBoxDef_ptr create_value_box (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ExceptionDef_ptr create_exception (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_NativeDef_ptr create_native (
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_AbstractInterfaceDef_ptr create_abstract_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_AbstractInterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_LocalInterfaceDef_ptr create_local_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * id (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void id (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void name (
+ const char * name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * version (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void version (
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Container_ptr defined_in (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Repository_ptr containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Contained::Description * describe (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::TypeCode_ptr type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ HomeDef_tie (const HomeDef_tie &);
+ void operator= (const HomeDef_tie &);
+ };
+
+}
+TAO_NAMESPACE_CLOSE // module IR
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+#if defined (__ACE_INLINE__)
+#include "IFR_ComponentsS_T.i"
+#endif /* defined INLINE */
+
+
+#if defined (ACE_TEMPLATES_REQUIRE_SOURCE)
+#include "IFR_ComponentsS_T.cpp"
+#endif /* defined REQUIRED SOURCE */
+
+
+#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA)
+#pragma implementation ("IFR_ComponentsS_T.cpp")
+#endif /* defined REQUIRED PRAGMA */
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#include "ace/post.h"
+#endif /* ifndef */
diff --git a/TAO/orbsvcs/IFR_Service/IFR_ComponentsS_T.i b/TAO/orbsvcs/IFR_Service/IFR_ComponentsS_T.i
new file mode 100644
index 00000000000..4b3ff1655a0
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/IFR_ComponentsS_T.i
@@ -0,0 +1,5308 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+#if defined (ACE_HAS_USING_KEYWORD)
+
+template <class T> ACE_INLINE
+POA_IR::ComponentRepository_tie<T>::ComponentRepository_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ComponentRepository_tie<T>::ComponentRepository_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ComponentRepository_tie<T>::ComponentRepository_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ComponentRepository_tie<T>::ComponentRepository_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ComponentRepository_tie<T>::~ComponentRepository_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_IR::ComponentRepository_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::ComponentRepository_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::ComponentRepository_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_IR::ComponentRepository_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::ComponentRepository_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_IR::ComponentRepository_tie<T>::_default_POA (ACE_ENV_SINGLE_ARG_DECL)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->ComponentRepository::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+template <class T> ACE_INLINE
+IR::ComponentDef_ptr POA_IR::ComponentRepository_tie<T>::create_component (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::ComponentDef_ptr base_component,
+ const CORBA_InterfaceDefSeq & supports_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_component (
+id,
+ name,
+ version,
+ base_component,
+ supports_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+IR::HomeDef_ptr POA_IR::ComponentRepository_tie<T>::create_home (
+ const char * id,
+ const char * name,
+ const char * version,
+ IR::HomeDef_ptr base_home,
+ IR::ComponentDef_ptr managed_component,
+ CORBA_ValueDef_ptr primary_key
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_home (
+id,
+ name,
+ version,
+ base_home,
+ managed_component,
+ primary_key
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Contained_ptr POA_IR::ComponentRepository_tie<T>::lookup_id (
+ const char * search_id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->lookup_id (
+search_id
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_IR::ComponentRepository_tie<T>::get_canonical_typecode (
+ CORBA::TypeCode_ptr tc
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->get_canonical_typecode (
+tc
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_PrimitiveDef_ptr POA_IR::ComponentRepository_tie<T>::get_primitive (
+ CORBA::PrimitiveKind kind
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->get_primitive (
+kind
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_StringDef_ptr POA_IR::ComponentRepository_tie<T>::create_string (
+ CORBA::ULong bound
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_string (
+bound
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_WstringDef_ptr POA_IR::ComponentRepository_tie<T>::create_wstring (
+ CORBA::ULong bound
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_wstring (
+bound
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_SequenceDef_ptr POA_IR::ComponentRepository_tie<T>::create_sequence (
+ CORBA::ULong bound,
+ CORBA_IDLType_ptr element_type
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_sequence (
+bound,
+ element_type
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ArrayDef_ptr POA_IR::ComponentRepository_tie<T>::create_array (
+ CORBA::ULong length,
+ CORBA_IDLType_ptr element_type
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_array (
+length,
+ element_type
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_FixedDef_ptr POA_IR::ComponentRepository_tie<T>::create_fixed (
+ CORBA::UShort digits,
+ CORBA::Short scale
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_fixed (
+digits,
+ scale
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Contained_ptr POA_IR::ComponentRepository_tie<T>::lookup (
+ const char * search_name
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->lookup (
+search_name
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ContainedSeq * POA_IR::ComponentRepository_tie<T>::contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->contents (
+limit_type,
+ exclude_inherited
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ContainedSeq * POA_IR::ComponentRepository_tie<T>::lookup_name (
+ const char * search_name,
+ CORBA::Long levels_to_search,
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->lookup_name (
+search_name,
+ levels_to_search,
+ limit_type,
+ exclude_inherited
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Container::DescriptionSeq * POA_IR::ComponentRepository_tie<T>::describe_contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe_contents (
+limit_type,
+ exclude_inherited,
+ max_returned_objs
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ModuleDef_ptr POA_IR::ComponentRepository_tie<T>::create_module (
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_module (
+id,
+ name,
+ version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ConstantDef_ptr POA_IR::ComponentRepository_tie<T>::create_constant (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ const CORBA::Any & value
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_constant (
+id,
+ name,
+ version,
+ type,
+ value
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_StructDef_ptr POA_IR::ComponentRepository_tie<T>::create_struct (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_struct (
+id,
+ name,
+ version,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_UnionDef_ptr POA_IR::ComponentRepository_tie<T>::create_union (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr discriminator_type,
+ const CORBA_UnionMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_union (
+id,
+ name,
+ version,
+ discriminator_type,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_EnumDef_ptr POA_IR::ComponentRepository_tie<T>::create_enum (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_EnumMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_enum (
+id,
+ name,
+ version,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_AliasDef_ptr POA_IR::ComponentRepository_tie<T>::create_alias (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_alias (
+id,
+ name,
+ version,
+ original_type
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_InterfaceDef_ptr POA_IR::ComponentRepository_tie<T>::create_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_interface (
+id,
+ name,
+ version,
+ base_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ValueDef_ptr POA_IR::ComponentRepository_tie<T>::create_value (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ CORBA_ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const CORBA_ValueDefSeq & abstract_base_values,
+ const CORBA_InterfaceDefSeq & supported_interfaces,
+ const CORBA_InitializerSeq & initializers
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_value (
+id,
+ name,
+ version,
+ is_custom,
+ is_abstract,
+ base_value,
+ is_truncatable,
+ abstract_base_values,
+ supported_interfaces,
+ initializers
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ValueBoxDef_ptr POA_IR::ComponentRepository_tie<T>::create_value_box (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type_def
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_value_box (
+id,
+ name,
+ version,
+ original_type_def
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ExceptionDef_ptr POA_IR::ComponentRepository_tie<T>::create_exception (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_exception (
+id,
+ name,
+ version,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_NativeDef_ptr POA_IR::ComponentRepository_tie<T>::create_native (
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_native (
+id,
+ name,
+ version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_AbstractInterfaceDef_ptr POA_IR::ComponentRepository_tie<T>::create_abstract_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_AbstractInterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_abstract_interface (
+id,
+ name,
+ version,
+ base_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_LocalInterfaceDef_ptr POA_IR::ComponentRepository_tie<T>::create_local_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_local_interface (
+id,
+ name,
+ version,
+ base_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::DefinitionKind POA_IR::ComponentRepository_tie<T>::def_kind (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ComponentRepository_tie<T>::destroy (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+POA_IR::ProvidesDef_tie<T>::ProvidesDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ProvidesDef_tie<T>::ProvidesDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ProvidesDef_tie<T>::ProvidesDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ProvidesDef_tie<T>::ProvidesDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ProvidesDef_tie<T>::~ProvidesDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_IR::ProvidesDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::ProvidesDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::ProvidesDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_IR::ProvidesDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::ProvidesDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_IR::ProvidesDef_tie<T>::_default_POA (ACE_ENV_SINGLE_ARG_DECL)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->ProvidesDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+template <class T> ACE_INLINE
+CORBA_InterfaceDef_ptr POA_IR::ProvidesDef_tie<T>::interface_type (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->interface_type (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::ProvidesDef_tie<T>::id (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->id (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ProvidesDef_tie<T>::id (
+ const char * id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->id (
+id
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::ProvidesDef_tie<T>::name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ProvidesDef_tie<T>::name (
+ const char * name
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->name (
+name
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::ProvidesDef_tie<T>::version (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->version (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ProvidesDef_tie<T>::version (
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->version (
+version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Container_ptr POA_IR::ProvidesDef_tie<T>::defined_in (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->defined_in (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::ProvidesDef_tie<T>::absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->absolute_name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Repository_ptr POA_IR::ProvidesDef_tie<T>::containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->containing_repository (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Contained::Description * POA_IR::ProvidesDef_tie<T>::describe (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ProvidesDef_tie<T>::move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->move (
+new_container,
+ new_name,
+ new_version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::DefinitionKind POA_IR::ProvidesDef_tie<T>::def_kind (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ProvidesDef_tie<T>::destroy (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+POA_IR::UsesDef_tie<T>::UsesDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::UsesDef_tie<T>::UsesDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::UsesDef_tie<T>::UsesDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::UsesDef_tie<T>::UsesDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::UsesDef_tie<T>::~UsesDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_IR::UsesDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::UsesDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::UsesDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_IR::UsesDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::UsesDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_IR::UsesDef_tie<T>::_default_POA (ACE_ENV_SINGLE_ARG_DECL)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->UsesDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+template <class T> ACE_INLINE
+CORBA_InterfaceDef_ptr POA_IR::UsesDef_tie<T>::interface_type (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->interface_type (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::Boolean POA_IR::UsesDef_tie<T>::is_multiple (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->is_multiple (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::UsesDef_tie<T>::id (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->id (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::UsesDef_tie<T>::id (
+ const char * id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->id (
+id
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::UsesDef_tie<T>::name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::UsesDef_tie<T>::name (
+ const char * name
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->name (
+name
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::UsesDef_tie<T>::version (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->version (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::UsesDef_tie<T>::version (
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->version (
+version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Container_ptr POA_IR::UsesDef_tie<T>::defined_in (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->defined_in (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::UsesDef_tie<T>::absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->absolute_name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Repository_ptr POA_IR::UsesDef_tie<T>::containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->containing_repository (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Contained::Description * POA_IR::UsesDef_tie<T>::describe (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::UsesDef_tie<T>::move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->move (
+new_container,
+ new_name,
+ new_version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::DefinitionKind POA_IR::UsesDef_tie<T>::def_kind (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::UsesDef_tie<T>::destroy (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+POA_IR::EventDef_tie<T>::EventDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::EventDef_tie<T>::EventDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::EventDef_tie<T>::EventDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::EventDef_tie<T>::EventDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::EventDef_tie<T>::~EventDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_IR::EventDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::EventDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::EventDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_IR::EventDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::EventDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_IR::EventDef_tie<T>::_default_POA (ACE_ENV_SINGLE_ARG_DECL)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->EventDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+template <class T> ACE_INLINE
+CORBA::Boolean POA_IR::EventDef_tie<T>::is_a (
+ const char * event_id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->is_a (
+event_id
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ValueDef_ptr POA_IR::EventDef_tie<T>::event (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->event (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::EventDef_tie<T>::id (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->id (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::EventDef_tie<T>::id (
+ const char * id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->id (
+id
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::EventDef_tie<T>::name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::EventDef_tie<T>::name (
+ const char * name
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->name (
+name
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::EventDef_tie<T>::version (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->version (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::EventDef_tie<T>::version (
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->version (
+version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Container_ptr POA_IR::EventDef_tie<T>::defined_in (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->defined_in (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::EventDef_tie<T>::absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->absolute_name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Repository_ptr POA_IR::EventDef_tie<T>::containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->containing_repository (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Contained::Description * POA_IR::EventDef_tie<T>::describe (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::EventDef_tie<T>::move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->move (
+new_container,
+ new_name,
+ new_version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::DefinitionKind POA_IR::EventDef_tie<T>::def_kind (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::EventDef_tie<T>::destroy (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+POA_IR::EmitsDef_tie<T>::EmitsDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::EmitsDef_tie<T>::EmitsDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::EmitsDef_tie<T>::EmitsDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::EmitsDef_tie<T>::EmitsDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::EmitsDef_tie<T>::~EmitsDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_IR::EmitsDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::EmitsDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::EmitsDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_IR::EmitsDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::EmitsDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_IR::EmitsDef_tie<T>::_default_POA (ACE_ENV_SINGLE_ARG_DECL)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->EmitsDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+template <class T> ACE_INLINE
+CORBA::Boolean POA_IR::EmitsDef_tie<T>::is_a (
+ const char * event_id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->is_a (
+event_id
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ValueDef_ptr POA_IR::EmitsDef_tie<T>::event (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->event (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::EmitsDef_tie<T>::id (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->id (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::EmitsDef_tie<T>::id (
+ const char * id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->id (
+id
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::EmitsDef_tie<T>::name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::EmitsDef_tie<T>::name (
+ const char * name
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->name (
+name
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::EmitsDef_tie<T>::version (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->version (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::EmitsDef_tie<T>::version (
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->version (
+version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Container_ptr POA_IR::EmitsDef_tie<T>::defined_in (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->defined_in (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::EmitsDef_tie<T>::absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->absolute_name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Repository_ptr POA_IR::EmitsDef_tie<T>::containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->containing_repository (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Contained::Description * POA_IR::EmitsDef_tie<T>::describe (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::EmitsDef_tie<T>::move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->move (
+new_container,
+ new_name,
+ new_version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::DefinitionKind POA_IR::EmitsDef_tie<T>::def_kind (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::EmitsDef_tie<T>::destroy (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+POA_IR::PublishesDef_tie<T>::PublishesDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::PublishesDef_tie<T>::PublishesDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::PublishesDef_tie<T>::PublishesDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::PublishesDef_tie<T>::PublishesDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::PublishesDef_tie<T>::~PublishesDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_IR::PublishesDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::PublishesDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::PublishesDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_IR::PublishesDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::PublishesDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_IR::PublishesDef_tie<T>::_default_POA (ACE_ENV_SINGLE_ARG_DECL)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->PublishesDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+template <class T> ACE_INLINE
+CORBA::Boolean POA_IR::PublishesDef_tie<T>::is_a (
+ const char * event_id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->is_a (
+event_id
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ValueDef_ptr POA_IR::PublishesDef_tie<T>::event (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->event (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::PublishesDef_tie<T>::id (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->id (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::PublishesDef_tie<T>::id (
+ const char * id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->id (
+id
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::PublishesDef_tie<T>::name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::PublishesDef_tie<T>::name (
+ const char * name
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->name (
+name
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::PublishesDef_tie<T>::version (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->version (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::PublishesDef_tie<T>::version (
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->version (
+version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Container_ptr POA_IR::PublishesDef_tie<T>::defined_in (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->defined_in (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::PublishesDef_tie<T>::absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->absolute_name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Repository_ptr POA_IR::PublishesDef_tie<T>::containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->containing_repository (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Contained::Description * POA_IR::PublishesDef_tie<T>::describe (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::PublishesDef_tie<T>::move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->move (
+new_container,
+ new_name,
+ new_version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::DefinitionKind POA_IR::PublishesDef_tie<T>::def_kind (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::PublishesDef_tie<T>::destroy (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+POA_IR::ConsumesDef_tie<T>::ConsumesDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ConsumesDef_tie<T>::ConsumesDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ConsumesDef_tie<T>::ConsumesDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ConsumesDef_tie<T>::ConsumesDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ConsumesDef_tie<T>::~ConsumesDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_IR::ConsumesDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::ConsumesDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::ConsumesDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_IR::ConsumesDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::ConsumesDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_IR::ConsumesDef_tie<T>::_default_POA (ACE_ENV_SINGLE_ARG_DECL)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->ConsumesDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+template <class T> ACE_INLINE
+CORBA::Boolean POA_IR::ConsumesDef_tie<T>::is_a (
+ const char * event_id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->is_a (
+event_id
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ValueDef_ptr POA_IR::ConsumesDef_tie<T>::event (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->event (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::ConsumesDef_tie<T>::id (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->id (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ConsumesDef_tie<T>::id (
+ const char * id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->id (
+id
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::ConsumesDef_tie<T>::name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ConsumesDef_tie<T>::name (
+ const char * name
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->name (
+name
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::ConsumesDef_tie<T>::version (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->version (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ConsumesDef_tie<T>::version (
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->version (
+version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Container_ptr POA_IR::ConsumesDef_tie<T>::defined_in (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->defined_in (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::ConsumesDef_tie<T>::absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->absolute_name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Repository_ptr POA_IR::ConsumesDef_tie<T>::containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->containing_repository (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Contained::Description * POA_IR::ConsumesDef_tie<T>::describe (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ConsumesDef_tie<T>::move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->move (
+new_container,
+ new_name,
+ new_version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::DefinitionKind POA_IR::ConsumesDef_tie<T>::def_kind (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ConsumesDef_tie<T>::destroy (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+POA_IR::ComponentDef_tie<T>::ComponentDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ComponentDef_tie<T>::ComponentDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ComponentDef_tie<T>::ComponentDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ComponentDef_tie<T>::ComponentDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::ComponentDef_tie<T>::~ComponentDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_IR::ComponentDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::ComponentDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::ComponentDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_IR::ComponentDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::ComponentDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_IR::ComponentDef_tie<T>::_default_POA (ACE_ENV_SINGLE_ARG_DECL)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->ComponentDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+template <class T> ACE_INLINE
+CORBA_InterfaceDefSeq * POA_IR::ComponentDef_tie<T>::supported_interfaces (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->supported_interfaces (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ComponentDef_tie<T>::supported_interfaces (
+ const CORBA_InterfaceDefSeq & supported_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->supported_interfaces (
+supported_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ComponentDef_ptr POA_IR::ComponentDef_tie<T>::base_component (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->base_component (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ProvidesDefSeq * POA_IR::ComponentDef_tie<T>::provides_interfaces (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->provides_interfaces (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+IR::UsesDefSeq * POA_IR::ComponentDef_tie<T>::uses_interfaces (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->uses_interfaces (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+IR::EmitsDefSeq * POA_IR::ComponentDef_tie<T>::emits_events (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->emits_events (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+IR::PublishesDefSeq * POA_IR::ComponentDef_tie<T>::publishes_events (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->publishes_events (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ConsumesDefSeq * POA_IR::ComponentDef_tie<T>::consumes_events (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->consumes_events (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::Boolean POA_IR::ComponentDef_tie<T>::is_basic (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->is_basic (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ProvidesDef_ptr POA_IR::ComponentDef_tie<T>::create_provides (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_InterfaceDef_ptr interface_type
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_provides (
+id,
+ name,
+ version,
+ interface_type
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+IR::UsesDef_ptr POA_IR::ComponentDef_tie<T>::create_uses (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_InterfaceDef_ptr interface_type,
+ CORBA::Boolean is_multiple
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_uses (
+id,
+ name,
+ version,
+ interface_type,
+ is_multiple
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+IR::EmitsDef_ptr POA_IR::ComponentDef_tie<T>::create_emits (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_ValueDef_ptr value
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_emits (
+id,
+ name,
+ version,
+ value
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+IR::PublishesDef_ptr POA_IR::ComponentDef_tie<T>::create_publishes (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_ValueDef_ptr value
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_publishes (
+id,
+ name,
+ version,
+ value
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ConsumesDef_ptr POA_IR::ComponentDef_tie<T>::create_consumes (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_ValueDef_ptr value
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_consumes (
+id,
+ name,
+ version,
+ value
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_InterfaceDefSeq * POA_IR::ComponentDef_tie<T>::base_interfaces (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->base_interfaces (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ComponentDef_tie<T>::base_interfaces (
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->base_interfaces (
+base_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::Boolean POA_IR::ComponentDef_tie<T>::is_a (
+ const char * interface_id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->is_a (
+interface_id
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_InterfaceDef::FullInterfaceDescription * POA_IR::ComponentDef_tie<T>::describe_interface (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe_interface (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_AttributeDef_ptr POA_IR::ComponentDef_tie<T>::create_attribute (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ CORBA::AttributeMode mode
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_attribute (
+id,
+ name,
+ version,
+ type,
+ mode
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_OperationDef_ptr POA_IR::ComponentDef_tie<T>::create_operation (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr result,
+ CORBA::OperationMode mode,
+ const CORBA_ParDescriptionSeq & params,
+ const CORBA_ExceptionDefSeq & exceptions,
+ const CORBA_ContextIdSeq & contexts
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_operation (
+id,
+ name,
+ version,
+ result,
+ mode,
+ params,
+ exceptions,
+ contexts
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Contained_ptr POA_IR::ComponentDef_tie<T>::lookup (
+ const char * search_name
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->lookup (
+search_name
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ContainedSeq * POA_IR::ComponentDef_tie<T>::contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->contents (
+limit_type,
+ exclude_inherited
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ContainedSeq * POA_IR::ComponentDef_tie<T>::lookup_name (
+ const char * search_name,
+ CORBA::Long levels_to_search,
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->lookup_name (
+search_name,
+ levels_to_search,
+ limit_type,
+ exclude_inherited
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Container::DescriptionSeq * POA_IR::ComponentDef_tie<T>::describe_contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe_contents (
+limit_type,
+ exclude_inherited,
+ max_returned_objs
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ModuleDef_ptr POA_IR::ComponentDef_tie<T>::create_module (
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_module (
+id,
+ name,
+ version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ConstantDef_ptr POA_IR::ComponentDef_tie<T>::create_constant (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ const CORBA::Any & value
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_constant (
+id,
+ name,
+ version,
+ type,
+ value
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_StructDef_ptr POA_IR::ComponentDef_tie<T>::create_struct (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_struct (
+id,
+ name,
+ version,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_UnionDef_ptr POA_IR::ComponentDef_tie<T>::create_union (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr discriminator_type,
+ const CORBA_UnionMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_union (
+id,
+ name,
+ version,
+ discriminator_type,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_EnumDef_ptr POA_IR::ComponentDef_tie<T>::create_enum (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_EnumMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_enum (
+id,
+ name,
+ version,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_AliasDef_ptr POA_IR::ComponentDef_tie<T>::create_alias (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_alias (
+id,
+ name,
+ version,
+ original_type
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_InterfaceDef_ptr POA_IR::ComponentDef_tie<T>::create_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_interface (
+id,
+ name,
+ version,
+ base_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ValueDef_ptr POA_IR::ComponentDef_tie<T>::create_value (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ CORBA_ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const CORBA_ValueDefSeq & abstract_base_values,
+ const CORBA_InterfaceDefSeq & supported_interfaces,
+ const CORBA_InitializerSeq & initializers
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_value (
+id,
+ name,
+ version,
+ is_custom,
+ is_abstract,
+ base_value,
+ is_truncatable,
+ abstract_base_values,
+ supported_interfaces,
+ initializers
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ValueBoxDef_ptr POA_IR::ComponentDef_tie<T>::create_value_box (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type_def
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_value_box (
+id,
+ name,
+ version,
+ original_type_def
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ExceptionDef_ptr POA_IR::ComponentDef_tie<T>::create_exception (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_exception (
+id,
+ name,
+ version,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_NativeDef_ptr POA_IR::ComponentDef_tie<T>::create_native (
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_native (
+id,
+ name,
+ version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_AbstractInterfaceDef_ptr POA_IR::ComponentDef_tie<T>::create_abstract_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_AbstractInterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_abstract_interface (
+id,
+ name,
+ version,
+ base_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_LocalInterfaceDef_ptr POA_IR::ComponentDef_tie<T>::create_local_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_local_interface (
+id,
+ name,
+ version,
+ base_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::ComponentDef_tie<T>::id (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->id (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ComponentDef_tie<T>::id (
+ const char * id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->id (
+id
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::ComponentDef_tie<T>::name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ComponentDef_tie<T>::name (
+ const char * name
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->name (
+name
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::ComponentDef_tie<T>::version (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->version (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ComponentDef_tie<T>::version (
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->version (
+version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Container_ptr POA_IR::ComponentDef_tie<T>::defined_in (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->defined_in (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::ComponentDef_tie<T>::absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->absolute_name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Repository_ptr POA_IR::ComponentDef_tie<T>::containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->containing_repository (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Contained::Description * POA_IR::ComponentDef_tie<T>::describe (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ComponentDef_tie<T>::move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->move (
+new_container,
+ new_name,
+ new_version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_IR::ComponentDef_tie<T>::type (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->type (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::DefinitionKind POA_IR::ComponentDef_tie<T>::def_kind (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::ComponentDef_tie<T>::destroy (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+POA_IR::PrimaryKeyDef_tie<T>::PrimaryKeyDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::PrimaryKeyDef_tie<T>::PrimaryKeyDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::PrimaryKeyDef_tie<T>::PrimaryKeyDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::PrimaryKeyDef_tie<T>::PrimaryKeyDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::PrimaryKeyDef_tie<T>::~PrimaryKeyDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_IR::PrimaryKeyDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::PrimaryKeyDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::PrimaryKeyDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_IR::PrimaryKeyDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::PrimaryKeyDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_IR::PrimaryKeyDef_tie<T>::_default_POA (ACE_ENV_SINGLE_ARG_DECL)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->PrimaryKeyDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+template <class T> ACE_INLINE
+CORBA::Boolean POA_IR::PrimaryKeyDef_tie<T>::is_a (
+ const char * primary_key_id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->is_a (
+primary_key_id
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ValueDef_ptr POA_IR::PrimaryKeyDef_tie<T>::primary_key (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->primary_key (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::PrimaryKeyDef_tie<T>::id (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->id (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::PrimaryKeyDef_tie<T>::id (
+ const char * id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->id (
+id
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::PrimaryKeyDef_tie<T>::name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::PrimaryKeyDef_tie<T>::name (
+ const char * name
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->name (
+name
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::PrimaryKeyDef_tie<T>::version (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->version (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::PrimaryKeyDef_tie<T>::version (
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->version (
+version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Container_ptr POA_IR::PrimaryKeyDef_tie<T>::defined_in (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->defined_in (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::PrimaryKeyDef_tie<T>::absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->absolute_name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Repository_ptr POA_IR::PrimaryKeyDef_tie<T>::containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->containing_repository (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Contained::Description * POA_IR::PrimaryKeyDef_tie<T>::describe (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::PrimaryKeyDef_tie<T>::move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->move (
+new_container,
+ new_name,
+ new_version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::DefinitionKind POA_IR::PrimaryKeyDef_tie<T>::def_kind (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::PrimaryKeyDef_tie<T>::destroy (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+POA_IR::FactoryDef_tie<T>::FactoryDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::FactoryDef_tie<T>::FactoryDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::FactoryDef_tie<T>::FactoryDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::FactoryDef_tie<T>::FactoryDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::FactoryDef_tie<T>::~FactoryDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_IR::FactoryDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::FactoryDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::FactoryDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_IR::FactoryDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::FactoryDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_IR::FactoryDef_tie<T>::_default_POA (ACE_ENV_SINGLE_ARG_DECL)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->FactoryDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_IR::FactoryDef_tie<T>::result (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->result (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_IDLType_ptr POA_IR::FactoryDef_tie<T>::result_def (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->result_def (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::FactoryDef_tie<T>::result_def (
+ CORBA_IDLType_ptr result_def
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->result_def (
+result_def
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ParDescriptionSeq * POA_IR::FactoryDef_tie<T>::params (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->params (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::FactoryDef_tie<T>::params (
+ const CORBA_ParDescriptionSeq & params
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->params (
+params
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::OperationMode POA_IR::FactoryDef_tie<T>::mode (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->mode (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::FactoryDef_tie<T>::mode (
+ CORBA::OperationMode mode
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->mode (
+mode
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ContextIdSeq * POA_IR::FactoryDef_tie<T>::contexts (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->contexts (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::FactoryDef_tie<T>::contexts (
+ const CORBA_ContextIdSeq & contexts
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->contexts (
+contexts
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ExceptionDefSeq * POA_IR::FactoryDef_tie<T>::exceptions (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->exceptions (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::FactoryDef_tie<T>::exceptions (
+ const CORBA_ExceptionDefSeq & exceptions
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->exceptions (
+exceptions
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::FactoryDef_tie<T>::id (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->id (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::FactoryDef_tie<T>::id (
+ const char * id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->id (
+id
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::FactoryDef_tie<T>::name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::FactoryDef_tie<T>::name (
+ const char * name
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->name (
+name
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::FactoryDef_tie<T>::version (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->version (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::FactoryDef_tie<T>::version (
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->version (
+version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Container_ptr POA_IR::FactoryDef_tie<T>::defined_in (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->defined_in (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::FactoryDef_tie<T>::absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->absolute_name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Repository_ptr POA_IR::FactoryDef_tie<T>::containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->containing_repository (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Contained::Description * POA_IR::FactoryDef_tie<T>::describe (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::FactoryDef_tie<T>::move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->move (
+new_container,
+ new_name,
+ new_version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::DefinitionKind POA_IR::FactoryDef_tie<T>::def_kind (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::FactoryDef_tie<T>::destroy (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+POA_IR::FinderDef_tie<T>::FinderDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::FinderDef_tie<T>::FinderDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::FinderDef_tie<T>::FinderDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::FinderDef_tie<T>::FinderDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::FinderDef_tie<T>::~FinderDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_IR::FinderDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::FinderDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::FinderDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_IR::FinderDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::FinderDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_IR::FinderDef_tie<T>::_default_POA (ACE_ENV_SINGLE_ARG_DECL)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->FinderDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_IR::FinderDef_tie<T>::result (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->result (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_IDLType_ptr POA_IR::FinderDef_tie<T>::result_def (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->result_def (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::FinderDef_tie<T>::result_def (
+ CORBA_IDLType_ptr result_def
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->result_def (
+result_def
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ParDescriptionSeq * POA_IR::FinderDef_tie<T>::params (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->params (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::FinderDef_tie<T>::params (
+ const CORBA_ParDescriptionSeq & params
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->params (
+params
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::OperationMode POA_IR::FinderDef_tie<T>::mode (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->mode (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::FinderDef_tie<T>::mode (
+ CORBA::OperationMode mode
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->mode (
+mode
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ContextIdSeq * POA_IR::FinderDef_tie<T>::contexts (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->contexts (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::FinderDef_tie<T>::contexts (
+ const CORBA_ContextIdSeq & contexts
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->contexts (
+contexts
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ExceptionDefSeq * POA_IR::FinderDef_tie<T>::exceptions (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->exceptions (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::FinderDef_tie<T>::exceptions (
+ const CORBA_ExceptionDefSeq & exceptions
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->exceptions (
+exceptions
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::FinderDef_tie<T>::id (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->id (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::FinderDef_tie<T>::id (
+ const char * id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->id (
+id
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::FinderDef_tie<T>::name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::FinderDef_tie<T>::name (
+ const char * name
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->name (
+name
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::FinderDef_tie<T>::version (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->version (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::FinderDef_tie<T>::version (
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->version (
+version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Container_ptr POA_IR::FinderDef_tie<T>::defined_in (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->defined_in (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::FinderDef_tie<T>::absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->absolute_name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Repository_ptr POA_IR::FinderDef_tie<T>::containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->containing_repository (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Contained::Description * POA_IR::FinderDef_tie<T>::describe (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::FinderDef_tie<T>::move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->move (
+new_container,
+ new_name,
+ new_version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::DefinitionKind POA_IR::FinderDef_tie<T>::def_kind (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::FinderDef_tie<T>::destroy (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+POA_IR::HomeDef_tie<T>::HomeDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::HomeDef_tie<T>::HomeDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::HomeDef_tie<T>::HomeDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::HomeDef_tie<T>::HomeDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_IR::HomeDef_tie<T>::~HomeDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_IR::HomeDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::HomeDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::HomeDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_IR::HomeDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_IR::HomeDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_IR::HomeDef_tie<T>::_default_POA (ACE_ENV_SINGLE_ARG_DECL)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->HomeDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+template <class T> ACE_INLINE
+IR::HomeDef_ptr POA_IR::HomeDef_tie<T>::base_home (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->base_home (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+IR::ComponentDef_ptr POA_IR::HomeDef_tie<T>::managed_component (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->managed_component (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+IR::PrimaryKeyDef_ptr POA_IR::HomeDef_tie<T>::primary_key (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->primary_key (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+IR::FactoryDefSeq * POA_IR::HomeDef_tie<T>::factories (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->factories (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+IR::FinderDefSeq * POA_IR::HomeDef_tie<T>::finders (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->finders (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::Boolean POA_IR::HomeDef_tie<T>::is_basic (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->is_basic (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+IR::PrimaryKeyDef_ptr POA_IR::HomeDef_tie<T>::create_primary_key (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_ValueDef_ptr primary_key
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_primary_key (
+id,
+ name,
+ version,
+ primary_key
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+IR::FactoryDef_ptr POA_IR::HomeDef_tie<T>::create_factory (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_ParDescriptionSeq & params,
+ const CORBA_ExceptionDefSeq & exceptions
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_factory (
+id,
+ name,
+ version,
+ params,
+ exceptions
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+IR::FinderDef_ptr POA_IR::HomeDef_tie<T>::create_finder (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_ParDescriptionSeq & params,
+ const CORBA_ExceptionDefSeq & exceptions
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_finder (
+id,
+ name,
+ version,
+ params,
+ exceptions
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_InterfaceDefSeq * POA_IR::HomeDef_tie<T>::base_interfaces (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->base_interfaces (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::HomeDef_tie<T>::base_interfaces (
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->base_interfaces (
+base_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::Boolean POA_IR::HomeDef_tie<T>::is_a (
+ const char * interface_id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->is_a (
+interface_id
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_InterfaceDef::FullInterfaceDescription * POA_IR::HomeDef_tie<T>::describe_interface (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe_interface (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_AttributeDef_ptr POA_IR::HomeDef_tie<T>::create_attribute (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ CORBA::AttributeMode mode
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_attribute (
+id,
+ name,
+ version,
+ type,
+ mode
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_OperationDef_ptr POA_IR::HomeDef_tie<T>::create_operation (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr result,
+ CORBA::OperationMode mode,
+ const CORBA_ParDescriptionSeq & params,
+ const CORBA_ExceptionDefSeq & exceptions,
+ const CORBA_ContextIdSeq & contexts
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_operation (
+id,
+ name,
+ version,
+ result,
+ mode,
+ params,
+ exceptions,
+ contexts
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Contained_ptr POA_IR::HomeDef_tie<T>::lookup (
+ const char * search_name
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->lookup (
+search_name
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ContainedSeq * POA_IR::HomeDef_tie<T>::contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->contents (
+limit_type,
+ exclude_inherited
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ContainedSeq * POA_IR::HomeDef_tie<T>::lookup_name (
+ const char * search_name,
+ CORBA::Long levels_to_search,
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->lookup_name (
+search_name,
+ levels_to_search,
+ limit_type,
+ exclude_inherited
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Container::DescriptionSeq * POA_IR::HomeDef_tie<T>::describe_contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe_contents (
+limit_type,
+ exclude_inherited,
+ max_returned_objs
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ModuleDef_ptr POA_IR::HomeDef_tie<T>::create_module (
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_module (
+id,
+ name,
+ version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ConstantDef_ptr POA_IR::HomeDef_tie<T>::create_constant (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ const CORBA::Any & value
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_constant (
+id,
+ name,
+ version,
+ type,
+ value
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_StructDef_ptr POA_IR::HomeDef_tie<T>::create_struct (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_struct (
+id,
+ name,
+ version,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_UnionDef_ptr POA_IR::HomeDef_tie<T>::create_union (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr discriminator_type,
+ const CORBA_UnionMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_union (
+id,
+ name,
+ version,
+ discriminator_type,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_EnumDef_ptr POA_IR::HomeDef_tie<T>::create_enum (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_EnumMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_enum (
+id,
+ name,
+ version,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_AliasDef_ptr POA_IR::HomeDef_tie<T>::create_alias (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_alias (
+id,
+ name,
+ version,
+ original_type
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_InterfaceDef_ptr POA_IR::HomeDef_tie<T>::create_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_interface (
+id,
+ name,
+ version,
+ base_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ValueDef_ptr POA_IR::HomeDef_tie<T>::create_value (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ CORBA_ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const CORBA_ValueDefSeq & abstract_base_values,
+ const CORBA_InterfaceDefSeq & supported_interfaces,
+ const CORBA_InitializerSeq & initializers
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_value (
+id,
+ name,
+ version,
+ is_custom,
+ is_abstract,
+ base_value,
+ is_truncatable,
+ abstract_base_values,
+ supported_interfaces,
+ initializers
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ValueBoxDef_ptr POA_IR::HomeDef_tie<T>::create_value_box (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type_def
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_value_box (
+id,
+ name,
+ version,
+ original_type_def
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ExceptionDef_ptr POA_IR::HomeDef_tie<T>::create_exception (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_exception (
+id,
+ name,
+ version,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_NativeDef_ptr POA_IR::HomeDef_tie<T>::create_native (
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_native (
+id,
+ name,
+ version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_AbstractInterfaceDef_ptr POA_IR::HomeDef_tie<T>::create_abstract_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_AbstractInterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_abstract_interface (
+id,
+ name,
+ version,
+ base_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_LocalInterfaceDef_ptr POA_IR::HomeDef_tie<T>::create_local_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_local_interface (
+id,
+ name,
+ version,
+ base_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::HomeDef_tie<T>::id (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->id (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::HomeDef_tie<T>::id (
+ const char * id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->id (
+id
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::HomeDef_tie<T>::name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::HomeDef_tie<T>::name (
+ const char * name
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->name (
+name
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::HomeDef_tie<T>::version (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->version (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::HomeDef_tie<T>::version (
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->version (
+version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Container_ptr POA_IR::HomeDef_tie<T>::defined_in (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->defined_in (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_IR::HomeDef_tie<T>::absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->absolute_name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Repository_ptr POA_IR::HomeDef_tie<T>::containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->containing_repository (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Contained::Description * POA_IR::HomeDef_tie<T>::describe (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::HomeDef_tie<T>::move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->move (
+new_container,
+ new_name,
+ new_version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_IR::HomeDef_tie<T>::type (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->type (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::DefinitionKind POA_IR::HomeDef_tie<T>::def_kind (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_IR::HomeDef_tie<T>::destroy (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+#endif /* ACE_HAS_USING_KEYWORD */
diff --git a/TAO/orbsvcs/IFR_Service/IFR_ExtendedS.cpp b/TAO/orbsvcs/IFR_Service/IFR_ExtendedS.cpp
new file mode 100644
index 00000000000..66afb133074
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/IFR_ExtendedS.cpp
@@ -0,0 +1,9173 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+#ifndef _TAO_IDL__________ORBSVCS_IFR_SERVICE_ORIG_IFR_EXTENDEDS_CPP_
+#define _TAO_IDL__________ORBSVCS_IFR_SERVICE_ORIG_IFR_EXTENDEDS_CPP_
+
+#include "IFR_ExtendedS.h"
+
+#include "tao/PortableServer/Object_Adapter.h"
+#include "tao/PortableServer/Operation_Table.h"
+#include "tao/TAO_Server_Request.h"
+#include "tao/ORB_Core.h"
+#include "tao/Stub.h"
+#include "tao/IFR_Client_Adapter.h"
+#include "tao/PortableInterceptor.h"
+
+#if TAO_HAS_INTERCEPTORS == 1
+#include "tao/RequestInfo_Util.h"
+#include "tao/PortableServer/ServerRequestInfo.h"
+#include "tao/PortableServer/ServerInterceptorAdapter.h"
+#endif /* TAO_HAS_INTERCEPTORS == 1 */
+
+#include "ace/Dynamic_Service.h"
+#if defined (__BORLANDC__)
+#pragma option -w-rvl -w-rch -w-ccc -w-aus
+#endif /* __BORLANDC__ */
+
+#if !defined (__ACE_INLINE__)
+#include "IFR_ExtendedS.i"
+#endif /* !defined INLINE */
+
+class TAO_CORBA_FixedDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 23:00:03 */
+/* 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_FixedDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_CORBA_FixedDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 0,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 0,
+ 19, 19, 0, 0, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 0, 5, 19, 19, 19, 19, 0, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19,
+#else
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 0, 19, 0, 19, 19,
+ 0, 0, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 0, 5, 19, 19, 19,
+ 19, 0, 19, 19, 19, 19, 19, 19,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_CORBA_FixedDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 10,
+ MIN_WORD_LENGTH = 5,
+ MAX_WORD_LENGTH = 13,
+ MIN_HASH_VALUE = 5,
+ MAX_HASH_VALUE = 18,
+ HASH_VALUE_RANGE = 14,
+ DUPLICATES = 4,
+ WORDLIST_SIZE = 15
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},{"",0},
+ {"_is_a", &POA_CORBA_FixedDef::_is_a_skel},
+ {"destroy", &POA_CORBA_FixedDef::destroy_skel},
+ {"_get_type", &POA_CORBA_FixedDef::_get_type_skel},
+ {"_get_scale", &POA_CORBA_FixedDef::_get_scale_skel},
+ {"_interface", &POA_CORBA_FixedDef::_interface_skel},
+ {"_set_scale", &POA_CORBA_FixedDef::_set_scale_skel},
+ {"_get_digits", &POA_CORBA_FixedDef::_get_digits_skel},
+ {"_set_digits", &POA_CORBA_FixedDef::_set_digits_skel},
+ {"_get_def_kind", &POA_CORBA_FixedDef::_get_def_kind_skel},
+ {"_non_existent", &POA_CORBA_FixedDef::_non_existent_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -1, -8, -3, -11, -2, 5, -1, 6, -1, 7, -27, -26, -1, 13,
+ -1, -1, -1, -1, 14,
+ };
+
+ 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 < WORDLIST_SIZE)
+ {
+ 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 23:00:03 */
+static TAO_CORBA_FixedDef_Perfect_Hash_OpTable tao_CORBA_FixedDef_optable;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+class TAO_ServerRequestInfo_CORBA_FixedDef_digits_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_FixedDef_digits_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_FixedDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA::UShort result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_FixedDef_digits_get (const TAO_ServerRequestInfo_CORBA_FixedDef_digits_get &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_FixedDef_digits_get &);
+
+private:
+ POA_CORBA_FixedDef *_tao_impl;
+ CORBA::UShort _result;
+};
+
+TAO_ServerRequestInfo_CORBA_FixedDef_digits_get::TAO_ServerRequestInfo_CORBA_FixedDef_digits_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_FixedDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_FixedDef_digits_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_FixedDef_digits_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_FixedDef_digits_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_FixedDef_digits_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_FixedDef_digits_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_FixedDef_digits_get::result (CORBA::UShort result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_FixedDef_digits_set : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_FixedDef_digits_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_FixedDef *tao_impl
+ ,
+ const CORBA::UShort & digits
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+
+private:
+ TAO_ServerRequestInfo_CORBA_FixedDef_digits_set (const TAO_ServerRequestInfo_CORBA_FixedDef_digits_set &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_FixedDef_digits_set &);
+
+private:
+ POA_CORBA_FixedDef *_tao_impl;
+ const CORBA::UShort & digits_;
+
+};
+
+TAO_ServerRequestInfo_CORBA_FixedDef_digits_set::TAO_ServerRequestInfo_CORBA_FixedDef_digits_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_FixedDef *tao_impl,
+ const CORBA::UShort & digits
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ digits_ (digits)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_FixedDef_digits_set::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (1);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= digits_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_FixedDef_digits_set::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_FixedDef_digits_set::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 1;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return result_any;
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_FixedDef_digits_set::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_FixedDef_digits_set::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+class TAO_ServerRequestInfo_CORBA_FixedDef_scale_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_FixedDef_scale_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_FixedDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA::Short result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_FixedDef_scale_get (const TAO_ServerRequestInfo_CORBA_FixedDef_scale_get &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_FixedDef_scale_get &);
+
+private:
+ POA_CORBA_FixedDef *_tao_impl;
+ CORBA::Short _result;
+};
+
+TAO_ServerRequestInfo_CORBA_FixedDef_scale_get::TAO_ServerRequestInfo_CORBA_FixedDef_scale_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_FixedDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_FixedDef_scale_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_FixedDef_scale_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_FixedDef_scale_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_FixedDef_scale_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_FixedDef_scale_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_FixedDef_scale_get::result (CORBA::Short result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_FixedDef_scale_set : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_FixedDef_scale_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_FixedDef *tao_impl
+ ,
+ const CORBA::Short & scale
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+
+private:
+ TAO_ServerRequestInfo_CORBA_FixedDef_scale_set (const TAO_ServerRequestInfo_CORBA_FixedDef_scale_set &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_FixedDef_scale_set &);
+
+private:
+ POA_CORBA_FixedDef *_tao_impl;
+ const CORBA::Short & scale_;
+
+};
+
+TAO_ServerRequestInfo_CORBA_FixedDef_scale_set::TAO_ServerRequestInfo_CORBA_FixedDef_scale_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_FixedDef *tao_impl,
+ const CORBA::Short & scale
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ scale_ (scale)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_FixedDef_scale_set::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (1);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= scale_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_FixedDef_scale_set::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_FixedDef_scale_set::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 1;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return result_any;
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_FixedDef_scale_set::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_FixedDef_scale_set::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Implementation
+//
+
+// Factory function Implementation.
+_TAO_CORBA_FixedDef_Strategized_Proxy_Broker *_TAO_CORBA_FixedDef_Strategized_Proxy_Broker::the_TAO_CORBA_FixedDef_Strategized_Proxy_Broker (void)
+{
+ static _TAO_CORBA_FixedDef_Strategized_Proxy_Broker strategized_proxy_broker;
+ return &strategized_proxy_broker;
+}
+
+_TAO_CORBA_FixedDef_Strategized_Proxy_Broker::_TAO_CORBA_FixedDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ this->proxy_cache_[i] = 0;
+
+}
+
+_TAO_CORBA_FixedDef_Strategized_Proxy_Broker::~_TAO_CORBA_FixedDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ delete this->proxy_cache_[i];
+
+}
+
+_TAO_CORBA_FixedDef_Proxy_Impl&
+_TAO_CORBA_FixedDef_Strategized_Proxy_Broker::select_proxy (
+ ::CORBA_FixedDef *object
+ ACE_ENV_ARG_DECL
+ )
+{
+ int strategy =
+ TAO_ORB_Core::collocation_strategy (object ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ if (this->proxy_cache_[strategy] != 0)
+ return *this->proxy_cache_[strategy];
+
+ this->create_proxy (strategy ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ return *this->proxy_cache_[strategy];
+
+}
+
+void
+_TAO_CORBA_FixedDef_Strategized_Proxy_Broker::create_proxy (
+ int strategy
+ ACE_ENV_ARG_DECL
+ )
+{
+ ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_);
+
+ if (this->proxy_cache_[strategy] == 0)
+ {
+ switch (strategy)
+ {
+ case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ _TAO_CORBA_FixedDef_ThruPOA_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY:
+ default:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ ::_TAO_CORBA_FixedDef_Remote_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ }
+
+ }
+}
+
+
+//
+// End Strategized Proxy Broker Implementation
+///////////////////////////////////////////////////////////////////////
+
+
+_TAO_CORBA_FixedDef_Proxy_Broker *
+_TAO_CORBA_FixedDef_Proxy_Broker_Factory_function (CORBA::Object_ptr obj)
+{
+ ACE_UNUSED_ARG (obj);
+ return ::_TAO_CORBA_FixedDef_Strategized_Proxy_Broker::the_TAO_CORBA_FixedDef_Strategized_Proxy_Broker();
+}
+
+int
+_TAO_CORBA_FixedDef_Proxy_Broker_Factory_Initializer (long)
+{
+ _TAO_CORBA_FixedDef_Proxy_Broker_Factory_function_pointer =
+ _TAO_CORBA_FixedDef_Proxy_Broker_Factory_function;
+
+ return 0;
+}
+
+static int _TAO_CORBA_FixedDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
+ _TAO_CORBA_FixedDef_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_CORBA_FixedDef_Proxy_Broker_Factory_Initializer));
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Proxy Implementation
+//
+
+_TAO_CORBA_FixedDef_ThruPOA_Proxy_Impl::_TAO_CORBA_FixedDef_ThruPOA_Proxy_Impl (void)
+{}
+
+// ThruPOA Implementation of the IDL interface methods
+
+CORBA::UShort _TAO_CORBA_FixedDef_ThruPOA_Proxy_Impl::digits (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::UShort _tao_retval = 0;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "digits",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (_tao_retval);
+ return ACE_reinterpret_cast (
+ POA_CORBA_FixedDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/FixedDef:1.0"
+ )
+ )->digits (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+void _TAO_CORBA_FixedDef_ThruPOA_Proxy_Impl::digits (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::UShort digits
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "digits",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_CORBA_FixedDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/FixedDef:1.0"
+ )
+ )->digits (
+ digits
+ ACE_ENV_ARG_PARAMETER
+ );
+ return;
+}
+
+CORBA::Short _TAO_CORBA_FixedDef_ThruPOA_Proxy_Impl::scale (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::Short _tao_retval = 0;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "scale",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (_tao_retval);
+ return ACE_reinterpret_cast (
+ POA_CORBA_FixedDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/FixedDef:1.0"
+ )
+ )->scale (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+void _TAO_CORBA_FixedDef_ThruPOA_Proxy_Impl::scale (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::Short scale
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "scale",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_CORBA_FixedDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/FixedDef:1.0"
+ )
+ )->scale (
+ scale
+ ACE_ENV_ARG_PARAMETER
+ );
+ return;
+}
+
+//
+// End ThruPOA Proxy Implementation
+///////////////////////////////////////////////////////////////////////
+
+// skeleton constructor
+POA_CORBA_FixedDef::POA_CORBA_FixedDef (void)
+{
+ this->optable_ = &tao_CORBA_FixedDef_optable;
+}
+
+// copy ctor
+POA_CORBA_FixedDef::POA_CORBA_FixedDef (const POA_CORBA_FixedDef& rhs)
+ : POA_CORBA_IDLType (rhs),
+ POA_CORBA_IRObject (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_CORBA_FixedDef::~POA_CORBA_FixedDef (void)
+{
+}
+
+void POA_CORBA_FixedDef::_get_digits_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_FixedDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_FixedDef *, _tao_object_reference);
+
+ CORBA::UShort _tao_retval = 0;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_FixedDef_digits_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->digits (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA::UShort _tao_retval_info = _tao_retval;
+ ri.result (_tao_retval_info);
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval)
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_FixedDef::_set_digits_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_FixedDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_FixedDef *, _tao_object_reference);
+
+ _tao_server_request.argument_flag (0);
+ CORBA::UShort digits;
+ if (!(
+ (_tao_in >> digits)
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_FixedDef_digits_set ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ digits
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->digits (
+ digits
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_FixedDef::_get_scale_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_FixedDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_FixedDef *, _tao_object_reference);
+
+ CORBA::Short _tao_retval = 0;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_FixedDef_scale_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->scale (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA::Short _tao_retval_info = _tao_retval;
+ ri.result (_tao_retval_info);
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval)
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_FixedDef::_set_scale_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_FixedDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_FixedDef *, _tao_object_reference);
+
+ _tao_server_request.argument_flag (0);
+ CORBA::Short scale;
+ if (!(
+ (_tao_in >> scale)
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_FixedDef_scale_set ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ scale
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->scale (
+ scale
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_FixedDef::_is_a_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_FixedDef *_tao_impl = (POA_CORBA_FixedDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!(_tao_in >> value.out ()))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_CORBA_FixedDef::_non_existent_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_FixedDef *_tao_impl = (POA_CORBA_FixedDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_CORBA_FixedDef::_interface_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_FixedDef *_tao_impl = (POA_CORBA_FixedDef *) _tao_object_reference;
+ CORBA_InterfaceDef_ptr _tao_retval = 0;
+ CORBA::Boolean _tao_result = 0;
+
+ TAO_IFR_Client_Adapter *_tao_adapter =
+ ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
+ TAO_ORB_Core::ifr_client_adapter_name ()
+ );
+
+ if (_tao_adapter == 0)
+ {
+ ACE_THROW (CORBA::INTF_REPOS ());
+ }
+
+ ACE_TRY
+ {
+ _tao_retval = _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ _tao_result =
+ _tao_adapter->interfacedef_cdr_insert (
+ _tao_out,
+ _tao_retval
+ );
+ }
+ ACE_CATCHALL
+ {
+ _tao_adapter->dispose (_tao_retval);
+ }
+ ACE_ENDTRY;
+
+ if (_tao_result == 0)
+ {
+ ACE_THROW (CORBA::MARSHAL ());
+ }
+}
+
+CORBA::Boolean POA_CORBA_FixedDef::_is_a (
+ const char* value
+ ACE_ENV_ARG_DECL
+ )
+{
+ const char *base_id = CORBA::_tc_Object->id (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/FixedDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IDLType:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, base_id)))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_CORBA_FixedDef::_downcast (
+ const char* logical_type_id
+ )
+{
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/FixedDef:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_FixedDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IDLType:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IDLType_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_CORBA_FixedDef::_dispatch (TAO_ServerRequest &req, void *servant_upcall ACE_ENV_ARG_DECL)
+{
+ this->synchronous_upcall_dispatch (req,
+ servant_upcall,
+ this
+ ACE_ENV_ARG_PARAMETER);
+}
+
+
+const char* POA_CORBA_FixedDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/CORBA/FixedDef:1.0";
+}
+
+CORBA_FixedDef*
+POA_CORBA_FixedDef::_this (ACE_ENV_SINGLE_ARG_DECL)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ TAO_Stub_Auto_Ptr safe_stub (stub);
+
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0);
+ else
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0);
+
+ CORBA::Object_var obj = tmp;
+
+ (void) safe_stub.release ();
+
+ return ::CORBA_FixedDef::_unchecked_narrow (obj.in ());
+}
+
+
+class TAO_CORBA_ValueMemberDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 23:00:04 */
+/* 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_ValueMemberDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_CORBA_ValueMemberDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 0, 0, 10, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 0, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 0, 15, 37, 37, 37, 37, 10, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37,
+#else
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 0, 37, 0, 37, 37,
+ 0, 0, 10, 37, 37, 37, 37, 37, 37, 0,
+ 0, 37, 37, 37, 37, 0, 15, 37, 37, 37,
+ 37, 10, 37, 37, 37, 37, 37, 37,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_CORBA_ValueMemberDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 21,
+ MIN_WORD_LENGTH = 4,
+ MAX_WORD_LENGTH = 26,
+ MIN_HASH_VALUE = 4,
+ MAX_HASH_VALUE = 36,
+ HASH_VALUE_RANGE = 33,
+ DUPLICATES = 7,
+ WORDLIST_SIZE = 25
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},
+ {"move", &POA_CORBA_ValueMemberDef::move_skel},
+ {"_is_a", &POA_CORBA_ValueMemberDef::_is_a_skel},
+ {"_get_id", &POA_CORBA_ValueMemberDef::_get_id_skel},
+ {"_set_id", &POA_CORBA_ValueMemberDef::_set_id_skel},
+ {"describe", &POA_CORBA_ValueMemberDef::describe_skel},
+ {"_get_type", &POA_CORBA_ValueMemberDef::_get_type_skel},
+ {"_set_name", &POA_CORBA_ValueMemberDef::_set_name_skel},
+ {"_get_name", &POA_CORBA_ValueMemberDef::_get_name_skel},
+ {"_interface", &POA_CORBA_ValueMemberDef::_interface_skel},
+ {"_get_access", &POA_CORBA_ValueMemberDef::_get_access_skel},
+ {"_set_access", &POA_CORBA_ValueMemberDef::_set_access_skel},
+ {"_get_version", &POA_CORBA_ValueMemberDef::_get_version_skel},
+ {"_set_version", &POA_CORBA_ValueMemberDef::_set_version_skel},
+ {"_get_def_kind", &POA_CORBA_ValueMemberDef::_get_def_kind_skel},
+ {"_get_defined_in", &POA_CORBA_ValueMemberDef::_get_defined_in_skel},
+ {"destroy", &POA_CORBA_ValueMemberDef::destroy_skel},
+ {"_get_absolute_name", &POA_CORBA_ValueMemberDef::_get_absolute_name_skel},
+ {"_get_type_def", &POA_CORBA_ValueMemberDef::_get_type_def_skel},
+ {"_set_type_def", &POA_CORBA_ValueMemberDef::_set_type_def_skel},
+ {"_non_existent", &POA_CORBA_ValueMemberDef::_non_existent_skel},
+ {"_get_containing_repository", &POA_CORBA_ValueMemberDef::_get_containing_repository_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -13, -2, -15, -2, 4, 5, -1, 53, 8, 46, 12, -47, -46, 17,
+ -1, 18, -1, 19, 20, -9, -3, -21, -2, -38, -6, -2, -1, -1,
+ 23, -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 < WORDLIST_SIZE)
+ {
+ 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 23:00:04 */
+static TAO_CORBA_ValueMemberDef_Perfect_Hash_OpTable tao_CORBA_ValueMemberDef_optable;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+class TAO_ServerRequestInfo_CORBA_ValueMemberDef_type_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_ValueMemberDef_type_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_ValueMemberDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA::TypeCode_ptr result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_ValueMemberDef_type_get (const TAO_ServerRequestInfo_CORBA_ValueMemberDef_type_get &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_ValueMemberDef_type_get &);
+
+private:
+ POA_CORBA_ValueMemberDef *_tao_impl;
+ CORBA::TypeCode_ptr _result;
+};
+
+TAO_ServerRequestInfo_CORBA_ValueMemberDef_type_get::TAO_ServerRequestInfo_CORBA_ValueMemberDef_type_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_ValueMemberDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_ValueMemberDef_type_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_ValueMemberDef_type_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_ValueMemberDef_type_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_ValueMemberDef_type_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_ValueMemberDef_type_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_ValueMemberDef_type_get::result (CORBA::TypeCode_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_ValueMemberDef_type_def_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_ValueMemberDef_type_def_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_ValueMemberDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_IDLType_ptr result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_ValueMemberDef_type_def_get (const TAO_ServerRequestInfo_CORBA_ValueMemberDef_type_def_get &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_ValueMemberDef_type_def_get &);
+
+private:
+ POA_CORBA_ValueMemberDef *_tao_impl;
+ CORBA_IDLType_ptr _result;
+};
+
+TAO_ServerRequestInfo_CORBA_ValueMemberDef_type_def_get::TAO_ServerRequestInfo_CORBA_ValueMemberDef_type_def_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_ValueMemberDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_ValueMemberDef_type_def_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_ValueMemberDef_type_def_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_ValueMemberDef_type_def_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_ValueMemberDef_type_def_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_ValueMemberDef_type_def_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_ValueMemberDef_type_def_get::result (CORBA_IDLType_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_ValueMemberDef_type_def_set : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_ValueMemberDef_type_def_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_ValueMemberDef *tao_impl
+ ,
+ CORBA_IDLType_ptr type_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+
+private:
+ TAO_ServerRequestInfo_CORBA_ValueMemberDef_type_def_set (const TAO_ServerRequestInfo_CORBA_ValueMemberDef_type_def_set &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_ValueMemberDef_type_def_set &);
+
+private:
+ POA_CORBA_ValueMemberDef *_tao_impl;
+ CORBA_IDLType_ptr type_def_;
+
+};
+
+TAO_ServerRequestInfo_CORBA_ValueMemberDef_type_def_set::TAO_ServerRequestInfo_CORBA_ValueMemberDef_type_def_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_ValueMemberDef *tao_impl,
+ CORBA_IDLType_ptr type_def
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ type_def_ (type_def)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_ValueMemberDef_type_def_set::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (1);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= this->type_def_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_ValueMemberDef_type_def_set::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_ValueMemberDef_type_def_set::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 1;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return result_any;
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_ValueMemberDef_type_def_set::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_ValueMemberDef_type_def_set::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+class TAO_ServerRequestInfo_CORBA_ValueMemberDef_access_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_ValueMemberDef_access_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_ValueMemberDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA::Visibility result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_ValueMemberDef_access_get (const TAO_ServerRequestInfo_CORBA_ValueMemberDef_access_get &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_ValueMemberDef_access_get &);
+
+private:
+ POA_CORBA_ValueMemberDef *_tao_impl;
+ CORBA::Visibility _result;
+};
+
+TAO_ServerRequestInfo_CORBA_ValueMemberDef_access_get::TAO_ServerRequestInfo_CORBA_ValueMemberDef_access_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_ValueMemberDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_ValueMemberDef_access_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_ValueMemberDef_access_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_ValueMemberDef_access_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_ValueMemberDef_access_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_ValueMemberDef_access_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_ValueMemberDef_access_get::result (CORBA::Visibility result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_ValueMemberDef_access_set : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_ValueMemberDef_access_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_ValueMemberDef *tao_impl
+ ,
+ const CORBA::Visibility & access
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+
+private:
+ TAO_ServerRequestInfo_CORBA_ValueMemberDef_access_set (const TAO_ServerRequestInfo_CORBA_ValueMemberDef_access_set &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_ValueMemberDef_access_set &);
+
+private:
+ POA_CORBA_ValueMemberDef *_tao_impl;
+ const CORBA::Visibility & access_;
+
+};
+
+TAO_ServerRequestInfo_CORBA_ValueMemberDef_access_set::TAO_ServerRequestInfo_CORBA_ValueMemberDef_access_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_ValueMemberDef *tao_impl,
+ const CORBA::Visibility & access
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ access_ (access)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_ValueMemberDef_access_set::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (1);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= access_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_ValueMemberDef_access_set::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_ValueMemberDef_access_set::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 1;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return result_any;
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_ValueMemberDef_access_set::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_ValueMemberDef_access_set::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Implementation
+//
+
+// Factory function Implementation.
+_TAO_CORBA_ValueMemberDef_Strategized_Proxy_Broker *_TAO_CORBA_ValueMemberDef_Strategized_Proxy_Broker::the_TAO_CORBA_ValueMemberDef_Strategized_Proxy_Broker (void)
+{
+ static _TAO_CORBA_ValueMemberDef_Strategized_Proxy_Broker strategized_proxy_broker;
+ return &strategized_proxy_broker;
+}
+
+_TAO_CORBA_ValueMemberDef_Strategized_Proxy_Broker::_TAO_CORBA_ValueMemberDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ this->proxy_cache_[i] = 0;
+
+}
+
+_TAO_CORBA_ValueMemberDef_Strategized_Proxy_Broker::~_TAO_CORBA_ValueMemberDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ delete this->proxy_cache_[i];
+
+}
+
+_TAO_CORBA_ValueMemberDef_Proxy_Impl&
+_TAO_CORBA_ValueMemberDef_Strategized_Proxy_Broker::select_proxy (
+ ::CORBA_ValueMemberDef *object
+ ACE_ENV_ARG_DECL
+ )
+{
+ int strategy =
+ TAO_ORB_Core::collocation_strategy (object ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ if (this->proxy_cache_[strategy] != 0)
+ return *this->proxy_cache_[strategy];
+
+ this->create_proxy (strategy ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ return *this->proxy_cache_[strategy];
+
+}
+
+void
+_TAO_CORBA_ValueMemberDef_Strategized_Proxy_Broker::create_proxy (
+ int strategy
+ ACE_ENV_ARG_DECL
+ )
+{
+ ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_);
+
+ if (this->proxy_cache_[strategy] == 0)
+ {
+ switch (strategy)
+ {
+ case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ _TAO_CORBA_ValueMemberDef_ThruPOA_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY:
+ default:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ ::_TAO_CORBA_ValueMemberDef_Remote_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ }
+
+ }
+}
+
+
+//
+// End Strategized Proxy Broker Implementation
+///////////////////////////////////////////////////////////////////////
+
+
+_TAO_CORBA_ValueMemberDef_Proxy_Broker *
+_TAO_CORBA_ValueMemberDef_Proxy_Broker_Factory_function (CORBA::Object_ptr obj)
+{
+ ACE_UNUSED_ARG (obj);
+ return ::_TAO_CORBA_ValueMemberDef_Strategized_Proxy_Broker::the_TAO_CORBA_ValueMemberDef_Strategized_Proxy_Broker();
+}
+
+int
+_TAO_CORBA_ValueMemberDef_Proxy_Broker_Factory_Initializer (long)
+{
+ _TAO_CORBA_ValueMemberDef_Proxy_Broker_Factory_function_pointer =
+ _TAO_CORBA_ValueMemberDef_Proxy_Broker_Factory_function;
+
+ return 0;
+}
+
+static int _TAO_CORBA_ValueMemberDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
+ _TAO_CORBA_ValueMemberDef_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_CORBA_ValueMemberDef_Proxy_Broker_Factory_Initializer));
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Proxy Implementation
+//
+
+_TAO_CORBA_ValueMemberDef_ThruPOA_Proxy_Impl::_TAO_CORBA_ValueMemberDef_ThruPOA_Proxy_Impl (void)
+{}
+
+// ThruPOA Implementation of the IDL interface methods
+
+CORBA::TypeCode_ptr _TAO_CORBA_ValueMemberDef_ThruPOA_Proxy_Impl::type (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::TypeCode_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "type",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_ValueMemberDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/ValueMemberDef:1.0"
+ )
+ )->type (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+CORBA_IDLType_ptr _TAO_CORBA_ValueMemberDef_ThruPOA_Proxy_Impl::type_def (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_IDLType_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "type_def",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_ValueMemberDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/ValueMemberDef:1.0"
+ )
+ )->type_def (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+void _TAO_CORBA_ValueMemberDef_ThruPOA_Proxy_Impl::type_def (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA_IDLType_ptr type_def
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "type_def",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_CORBA_ValueMemberDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/ValueMemberDef:1.0"
+ )
+ )->type_def (
+ type_def
+ ACE_ENV_ARG_PARAMETER
+ );
+ return;
+}
+
+CORBA::Visibility _TAO_CORBA_ValueMemberDef_ThruPOA_Proxy_Impl::access (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::Visibility _tao_retval = 0;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "access",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (_tao_retval);
+ return ACE_reinterpret_cast (
+ POA_CORBA_ValueMemberDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/ValueMemberDef:1.0"
+ )
+ )->access (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+void _TAO_CORBA_ValueMemberDef_ThruPOA_Proxy_Impl::access (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::Visibility access
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "access",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_CORBA_ValueMemberDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/ValueMemberDef:1.0"
+ )
+ )->access (
+ access
+ ACE_ENV_ARG_PARAMETER
+ );
+ return;
+}
+
+//
+// End ThruPOA Proxy Implementation
+///////////////////////////////////////////////////////////////////////
+
+// skeleton constructor
+POA_CORBA_ValueMemberDef::POA_CORBA_ValueMemberDef (void)
+{
+ this->optable_ = &tao_CORBA_ValueMemberDef_optable;
+}
+
+// copy ctor
+POA_CORBA_ValueMemberDef::POA_CORBA_ValueMemberDef (const POA_CORBA_ValueMemberDef& rhs)
+ : POA_CORBA_Contained (rhs),
+ POA_CORBA_IRObject (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_CORBA_ValueMemberDef::~POA_CORBA_ValueMemberDef (void)
+{
+}
+
+void POA_CORBA_ValueMemberDef::_get_type_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_ValueMemberDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_ValueMemberDef *, _tao_object_reference);
+
+ CORBA::TypeCode_var _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_ValueMemberDef_type_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->type (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA::TypeCode_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_ValueMemberDef::_get_type_def_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_ValueMemberDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_ValueMemberDef *, _tao_object_reference);
+
+ CORBA_IDLType_var _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_ValueMemberDef_type_def_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->type_def (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_IDLType_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_ValueMemberDef::_set_type_def_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_ValueMemberDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_ValueMemberDef *, _tao_object_reference);
+
+ _tao_server_request.argument_flag (0);
+ CORBA_IDLType_var type_def;
+ if (!(
+ (_tao_in >> type_def.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_ValueMemberDef_type_def_set ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ type_def.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->type_def (
+ type_def.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_ValueMemberDef::_get_access_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_ValueMemberDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_ValueMemberDef *, _tao_object_reference);
+
+ CORBA::Visibility _tao_retval = 0;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_ValueMemberDef_access_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->access (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA::Visibility _tao_retval_info = _tao_retval;
+ ri.result (_tao_retval_info);
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval)
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_ValueMemberDef::_set_access_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_ValueMemberDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_ValueMemberDef *, _tao_object_reference);
+
+ _tao_server_request.argument_flag (0);
+ CORBA::Visibility access;
+ if (!(
+ (_tao_in >> access)
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_ValueMemberDef_access_set ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ access
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->access (
+ access
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_ValueMemberDef::_is_a_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_ValueMemberDef *_tao_impl = (POA_CORBA_ValueMemberDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!(_tao_in >> value.out ()))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_CORBA_ValueMemberDef::_non_existent_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_ValueMemberDef *_tao_impl = (POA_CORBA_ValueMemberDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_CORBA_ValueMemberDef::_interface_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_ValueMemberDef *_tao_impl = (POA_CORBA_ValueMemberDef *) _tao_object_reference;
+ CORBA_InterfaceDef_ptr _tao_retval = 0;
+ CORBA::Boolean _tao_result = 0;
+
+ TAO_IFR_Client_Adapter *_tao_adapter =
+ ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
+ TAO_ORB_Core::ifr_client_adapter_name ()
+ );
+
+ if (_tao_adapter == 0)
+ {
+ ACE_THROW (CORBA::INTF_REPOS ());
+ }
+
+ ACE_TRY
+ {
+ _tao_retval = _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ _tao_result =
+ _tao_adapter->interfacedef_cdr_insert (
+ _tao_out,
+ _tao_retval
+ );
+ }
+ ACE_CATCHALL
+ {
+ _tao_adapter->dispose (_tao_retval);
+ }
+ ACE_ENDTRY;
+
+ if (_tao_result == 0)
+ {
+ ACE_THROW (CORBA::MARSHAL ());
+ }
+}
+
+CORBA::Boolean POA_CORBA_ValueMemberDef::_is_a (
+ const char* value
+ ACE_ENV_ARG_DECL
+ )
+{
+ const char *base_id = CORBA::_tc_Object->id (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/ValueMemberDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Contained:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, base_id)))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_CORBA_ValueMemberDef::_downcast (
+ const char* logical_type_id
+ )
+{
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/ValueMemberDef:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_ValueMemberDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Contained:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_Contained_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_CORBA_ValueMemberDef::_dispatch (TAO_ServerRequest &req, void *servant_upcall ACE_ENV_ARG_DECL)
+{
+ this->synchronous_upcall_dispatch (req,
+ servant_upcall,
+ this
+ ACE_ENV_ARG_PARAMETER);
+}
+
+
+const char* POA_CORBA_ValueMemberDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/CORBA/ValueMemberDef:1.0";
+}
+
+CORBA_ValueMemberDef*
+POA_CORBA_ValueMemberDef::_this (ACE_ENV_SINGLE_ARG_DECL)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ TAO_Stub_Auto_Ptr safe_stub (stub);
+
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0);
+ else
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0);
+
+ CORBA::Object_var obj = tmp;
+
+ (void) safe_stub.release ();
+
+ return ::CORBA_ValueMemberDef::_unchecked_narrow (obj.in ());
+}
+
+
+class TAO_CORBA_ValueDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 23:00:05 */
+/* 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_ValueDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_CORBA_ValueDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 0,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 0,
+ 86, 55, 30, 0, 86, 86, 86, 20, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 0, 0, 5,
+ 86, 0, 86, 0, 86, 86, 86, 86, 86, 86,
+ 86, 86, 15, 15, 86, 86, 86, 10, 10, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86,
+#else
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 0, 86, 0, 86, 55,
+ 30, 0, 86, 86, 86, 20, 86, 86, 0, 0,
+ 5, 86, 0, 86, 0, 15, 15, 86, 86, 86,
+ 10, 10, 86, 86, 86, 86, 86, 86,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_CORBA_ValueDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 53,
+ MIN_WORD_LENGTH = 4,
+ MAX_WORD_LENGTH = 26,
+ MIN_HASH_VALUE = 4,
+ MAX_HASH_VALUE = 85,
+ HASH_VALUE_RANGE = 82,
+ DUPLICATES = 16,
+ WORDLIST_SIZE = 57
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},
+ {"move", &POA_CORBA_ValueDef::move_skel},
+ {"_is_a", &POA_CORBA_ValueDef::_is_a_skel},
+ {"lookup", &POA_CORBA_ValueDef::lookup_skel},
+ {"_get_name", &POA_CORBA_ValueDef::_get_name_skel},
+ {"_get_type", &POA_CORBA_ValueDef::_get_type_skel},
+ {"_set_name", &POA_CORBA_ValueDef::_set_name_skel},
+ {"_interface", &POA_CORBA_ValueDef::_interface_skel},
+ {"lookup_name", &POA_CORBA_ValueDef::lookup_name_skel},
+ {"_get_is_custom", &POA_CORBA_ValueDef::_get_is_custom_skel},
+ {"_set_is_custom", &POA_CORBA_ValueDef::_set_is_custom_skel},
+ {"_get_base_value", &POA_CORBA_ValueDef::_get_base_value_skel},
+ {"_set_base_value", &POA_CORBA_ValueDef::_set_base_value_skel},
+ {"_get_version", &POA_CORBA_ValueDef::_get_version_skel},
+ {"_set_version", &POA_CORBA_ValueDef::_set_version_skel},
+ {"_get_absolute_name", &POA_CORBA_ValueDef::_get_absolute_name_skel},
+ {"_get_is_truncatable", &POA_CORBA_ValueDef::_get_is_truncatable_skel},
+ {"_set_is_truncatable", &POA_CORBA_ValueDef::_set_is_truncatable_skel},
+ {"_get_defined_in", &POA_CORBA_ValueDef::_get_defined_in_skel},
+ {"is_a", &POA_CORBA_ValueDef::is_a_skel},
+ {"_non_existent", &POA_CORBA_ValueDef::_non_existent_skel},
+ {"_get_is_abstract", &POA_CORBA_ValueDef::_get_is_abstract_skel},
+ {"_set_is_abstract", &POA_CORBA_ValueDef::_set_is_abstract_skel},
+ {"_get_initializers", &POA_CORBA_ValueDef::_get_initializers_skel},
+ {"_set_initializers", &POA_CORBA_ValueDef::_set_initializers_skel},
+ {"_get_containing_repository", &POA_CORBA_ValueDef::_get_containing_repository_skel},
+ {"_get_id", &POA_CORBA_ValueDef::_get_id_skel},
+ {"_set_id", &POA_CORBA_ValueDef::_set_id_skel},
+ {"describe", &POA_CORBA_ValueDef::describe_skel},
+ {"_get_supported_interfaces", &POA_CORBA_ValueDef::_get_supported_interfaces_skel},
+ {"_set_abstract_base_values", &POA_CORBA_ValueDef::_set_abstract_base_values_skel},
+ {"_get_abstract_base_values", &POA_CORBA_ValueDef::_get_abstract_base_values_skel},
+ {"_set_supported_interfaces", &POA_CORBA_ValueDef::_set_supported_interfaces_skel},
+ {"_get_def_kind", &POA_CORBA_ValueDef::_get_def_kind_skel},
+ {"describe_value", &POA_CORBA_ValueDef::describe_value_skel},
+ {"destroy", &POA_CORBA_ValueDef::destroy_skel},
+ {"describe_contents", &POA_CORBA_ValueDef::describe_contents_skel},
+ {"create_enum", &POA_CORBA_ValueDef::create_enum_skel},
+ {"create_value", &POA_CORBA_ValueDef::create_value_skel},
+ {"create_module", &POA_CORBA_ValueDef::create_module_skel},
+ {"create_native", &POA_CORBA_ValueDef::create_native_skel},
+ {"create_attribute", &POA_CORBA_ValueDef::create_attribute_skel},
+ {"create_interface", &POA_CORBA_ValueDef::create_interface_skel},
+ {"create_union", &POA_CORBA_ValueDef::create_union_skel},
+ {"create_value_member", &POA_CORBA_ValueDef::create_value_member_skel},
+ {"create_operation", &POA_CORBA_ValueDef::create_operation_skel},
+ {"create_exception", &POA_CORBA_ValueDef::create_exception_skel},
+ {"create_local_interface", &POA_CORBA_ValueDef::create_local_interface_skel},
+ {"contents", &POA_CORBA_ValueDef::contents_skel},
+ {"create_abstract_interface", &POA_CORBA_ValueDef::create_abstract_interface_skel},
+ {"create_value_box", &POA_CORBA_ValueDef::create_value_box_skel},
+ {"create_alias", &POA_CORBA_ValueDef::create_alias_skel},
+ {"create_struct", &POA_CORBA_ValueDef::create_struct_skel},
+ {"create_constant", &POA_CORBA_ValueDef::create_constant_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -12, -2, -14, -2, 4, 5, 6, -16, -2, 117, 10, 11, -19, -2,
+ -99, -98, -1, -95, 18, -92, 21, -1, -24, -2, 22, -1, -26, -2,
+ 23, -29, -2, -94, -91, -1, -32, -4, 28, -93, 31, -1, -91, -7,
+ -3, 36, 37, -1, -1, 38, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -42, -2, 39, -1, -44, -2, 40, 41, -93, -48,
+ -2, -92, 46, -1, 47, -1, -92, 50, 51, -1, 52, 53, 54, 55,
+ -1, 56,
+ };
+
+ 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 < WORDLIST_SIZE)
+ {
+ 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 23:00:05 */
+static TAO_CORBA_ValueDef_Perfect_Hash_OpTable tao_CORBA_ValueDef_optable;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+class TAO_ServerRequestInfo_CORBA_ValueDef_supported_interfaces_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_ValueDef_supported_interfaces_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_ValueDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_InterfaceDefSeq * result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_ValueDef_supported_interfaces_get (const TAO_ServerRequestInfo_CORBA_ValueDef_supported_interfaces_get &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_ValueDef_supported_interfaces_get &);
+
+private:
+ POA_CORBA_ValueDef *_tao_impl;
+ CORBA_InterfaceDefSeq * _result;
+};
+
+TAO_ServerRequestInfo_CORBA_ValueDef_supported_interfaces_get::TAO_ServerRequestInfo_CORBA_ValueDef_supported_interfaces_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_ValueDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_ValueDef_supported_interfaces_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_ValueDef_supported_interfaces_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_ValueDef_supported_interfaces_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_ValueDef_supported_interfaces_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_ValueDef_supported_interfaces_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_ValueDef_supported_interfaces_get::result (CORBA_InterfaceDefSeq * result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_ValueDef_supported_interfaces_set : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_ValueDef_supported_interfaces_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_ValueDef *tao_impl
+ ,
+ const CORBA_InterfaceDefSeq & supported_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+
+private:
+ TAO_ServerRequestInfo_CORBA_ValueDef_supported_interfaces_set (const TAO_ServerRequestInfo_CORBA_ValueDef_supported_interfaces_set &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_ValueDef_supported_interfaces_set &);
+
+private:
+ POA_CORBA_ValueDef *_tao_impl;
+ const CORBA_InterfaceDefSeq & supported_interfaces_;
+
+};
+
+TAO_ServerRequestInfo_CORBA_ValueDef_supported_interfaces_set::TAO_ServerRequestInfo_CORBA_ValueDef_supported_interfaces_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_ValueDef *tao_impl,
+ const CORBA_InterfaceDefSeq & supported_interfaces
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ supported_interfaces_ (supported_interfaces)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_ValueDef_supported_interfaces_set::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (1);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= this->supported_interfaces_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_ValueDef_supported_interfaces_set::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_ValueDef_supported_interfaces_set::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 1;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return result_any;
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_ValueDef_supported_interfaces_set::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_ValueDef_supported_interfaces_set::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+class TAO_ServerRequestInfo_CORBA_ValueDef_initializers_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_ValueDef_initializers_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_ValueDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_InitializerSeq * result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_ValueDef_initializers_get (const TAO_ServerRequestInfo_CORBA_ValueDef_initializers_get &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_ValueDef_initializers_get &);
+
+private:
+ POA_CORBA_ValueDef *_tao_impl;
+ CORBA_InitializerSeq * _result;
+};
+
+TAO_ServerRequestInfo_CORBA_ValueDef_initializers_get::TAO_ServerRequestInfo_CORBA_ValueDef_initializers_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_ValueDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_ValueDef_initializers_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_ValueDef_initializers_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_ValueDef_initializers_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_ValueDef_initializers_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_ValueDef_initializers_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_ValueDef_initializers_get::result (CORBA_InitializerSeq * result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_ValueDef_initializers_set : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_ValueDef_initializers_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_ValueDef *tao_impl
+ ,
+ const CORBA_InitializerSeq & initializers
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+
+private:
+ TAO_ServerRequestInfo_CORBA_ValueDef_initializers_set (const TAO_ServerRequestInfo_CORBA_ValueDef_initializers_set &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_ValueDef_initializers_set &);
+
+private:
+ POA_CORBA_ValueDef *_tao_impl;
+ const CORBA_InitializerSeq & initializers_;
+
+};
+
+TAO_ServerRequestInfo_CORBA_ValueDef_initializers_set::TAO_ServerRequestInfo_CORBA_ValueDef_initializers_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_ValueDef *tao_impl,
+ const CORBA_InitializerSeq & initializers
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ initializers_ (initializers)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_ValueDef_initializers_set::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (1);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= this->initializers_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_ValueDef_initializers_set::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_ValueDef_initializers_set::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 1;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return result_any;
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_ValueDef_initializers_set::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_ValueDef_initializers_set::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+class TAO_ServerRequestInfo_CORBA_ValueDef_base_value_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_ValueDef_base_value_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_ValueDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_ValueDef_ptr result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_ValueDef_base_value_get (const TAO_ServerRequestInfo_CORBA_ValueDef_base_value_get &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_ValueDef_base_value_get &);
+
+private:
+ POA_CORBA_ValueDef *_tao_impl;
+ CORBA_ValueDef_ptr _result;
+};
+
+TAO_ServerRequestInfo_CORBA_ValueDef_base_value_get::TAO_ServerRequestInfo_CORBA_ValueDef_base_value_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_ValueDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_ValueDef_base_value_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_ValueDef_base_value_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_ValueDef_base_value_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_ValueDef_base_value_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_ValueDef_base_value_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_ValueDef_base_value_get::result (CORBA_ValueDef_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_ValueDef_base_value_set : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_ValueDef_base_value_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_ValueDef *tao_impl
+ ,
+ CORBA_ValueDef_ptr base_value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+
+private:
+ TAO_ServerRequestInfo_CORBA_ValueDef_base_value_set (const TAO_ServerRequestInfo_CORBA_ValueDef_base_value_set &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_ValueDef_base_value_set &);
+
+private:
+ POA_CORBA_ValueDef *_tao_impl;
+ CORBA_ValueDef_ptr base_value_;
+
+};
+
+TAO_ServerRequestInfo_CORBA_ValueDef_base_value_set::TAO_ServerRequestInfo_CORBA_ValueDef_base_value_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_ValueDef *tao_impl,
+ CORBA_ValueDef_ptr base_value
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ base_value_ (base_value)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_ValueDef_base_value_set::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (1);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= this->base_value_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_ValueDef_base_value_set::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_ValueDef_base_value_set::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 1;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return result_any;
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_ValueDef_base_value_set::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_ValueDef_base_value_set::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+class TAO_ServerRequestInfo_CORBA_ValueDef_abstract_base_values_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_ValueDef_abstract_base_values_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_ValueDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_ValueDefSeq * result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_ValueDef_abstract_base_values_get (const TAO_ServerRequestInfo_CORBA_ValueDef_abstract_base_values_get &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_ValueDef_abstract_base_values_get &);
+
+private:
+ POA_CORBA_ValueDef *_tao_impl;
+ CORBA_ValueDefSeq * _result;
+};
+
+TAO_ServerRequestInfo_CORBA_ValueDef_abstract_base_values_get::TAO_ServerRequestInfo_CORBA_ValueDef_abstract_base_values_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_ValueDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_ValueDef_abstract_base_values_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_ValueDef_abstract_base_values_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_ValueDef_abstract_base_values_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_ValueDef_abstract_base_values_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_ValueDef_abstract_base_values_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_ValueDef_abstract_base_values_get::result (CORBA_ValueDefSeq * result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_ValueDef_abstract_base_values_set : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_ValueDef_abstract_base_values_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_ValueDef *tao_impl
+ ,
+ const CORBA_ValueDefSeq & abstract_base_values
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+
+private:
+ TAO_ServerRequestInfo_CORBA_ValueDef_abstract_base_values_set (const TAO_ServerRequestInfo_CORBA_ValueDef_abstract_base_values_set &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_ValueDef_abstract_base_values_set &);
+
+private:
+ POA_CORBA_ValueDef *_tao_impl;
+ const CORBA_ValueDefSeq & abstract_base_values_;
+
+};
+
+TAO_ServerRequestInfo_CORBA_ValueDef_abstract_base_values_set::TAO_ServerRequestInfo_CORBA_ValueDef_abstract_base_values_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_ValueDef *tao_impl,
+ const CORBA_ValueDefSeq & abstract_base_values
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ abstract_base_values_ (abstract_base_values)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_ValueDef_abstract_base_values_set::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (1);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= this->abstract_base_values_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_ValueDef_abstract_base_values_set::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_ValueDef_abstract_base_values_set::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 1;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return result_any;
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_ValueDef_abstract_base_values_set::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_ValueDef_abstract_base_values_set::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+class TAO_ServerRequestInfo_CORBA_ValueDef_is_abstract_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_ValueDef_is_abstract_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_ValueDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA::Boolean result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_ValueDef_is_abstract_get (const TAO_ServerRequestInfo_CORBA_ValueDef_is_abstract_get &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_ValueDef_is_abstract_get &);
+
+private:
+ POA_CORBA_ValueDef *_tao_impl;
+ CORBA::Boolean _result;
+};
+
+TAO_ServerRequestInfo_CORBA_ValueDef_is_abstract_get::TAO_ServerRequestInfo_CORBA_ValueDef_is_abstract_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_ValueDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_ValueDef_is_abstract_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_ValueDef_is_abstract_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_ValueDef_is_abstract_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= CORBA::Any::from_boolean (this->_result);
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_ValueDef_is_abstract_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_ValueDef_is_abstract_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_ValueDef_is_abstract_get::result (CORBA::Boolean result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_ValueDef_is_abstract_set : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_ValueDef_is_abstract_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_ValueDef *tao_impl
+ ,
+ const CORBA::Boolean & is_abstract
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+
+private:
+ TAO_ServerRequestInfo_CORBA_ValueDef_is_abstract_set (const TAO_ServerRequestInfo_CORBA_ValueDef_is_abstract_set &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_ValueDef_is_abstract_set &);
+
+private:
+ POA_CORBA_ValueDef *_tao_impl;
+ const CORBA::Boolean & is_abstract_;
+
+};
+
+TAO_ServerRequestInfo_CORBA_ValueDef_is_abstract_set::TAO_ServerRequestInfo_CORBA_ValueDef_is_abstract_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_ValueDef *tao_impl,
+ const CORBA::Boolean & is_abstract
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ is_abstract_ (is_abstract)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_ValueDef_is_abstract_set::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (1);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= CORBA::Any::from_boolean (this->is_abstract_);
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_ValueDef_is_abstract_set::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_ValueDef_is_abstract_set::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 1;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return result_any;
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_ValueDef_is_abstract_set::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_ValueDef_is_abstract_set::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+class TAO_ServerRequestInfo_CORBA_ValueDef_is_custom_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_ValueDef_is_custom_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_ValueDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA::Boolean result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_ValueDef_is_custom_get (const TAO_ServerRequestInfo_CORBA_ValueDef_is_custom_get &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_ValueDef_is_custom_get &);
+
+private:
+ POA_CORBA_ValueDef *_tao_impl;
+ CORBA::Boolean _result;
+};
+
+TAO_ServerRequestInfo_CORBA_ValueDef_is_custom_get::TAO_ServerRequestInfo_CORBA_ValueDef_is_custom_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_ValueDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_ValueDef_is_custom_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_ValueDef_is_custom_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_ValueDef_is_custom_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= CORBA::Any::from_boolean (this->_result);
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_ValueDef_is_custom_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_ValueDef_is_custom_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_ValueDef_is_custom_get::result (CORBA::Boolean result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_ValueDef_is_custom_set : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_ValueDef_is_custom_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_ValueDef *tao_impl
+ ,
+ const CORBA::Boolean & is_custom
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+
+private:
+ TAO_ServerRequestInfo_CORBA_ValueDef_is_custom_set (const TAO_ServerRequestInfo_CORBA_ValueDef_is_custom_set &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_ValueDef_is_custom_set &);
+
+private:
+ POA_CORBA_ValueDef *_tao_impl;
+ const CORBA::Boolean & is_custom_;
+
+};
+
+TAO_ServerRequestInfo_CORBA_ValueDef_is_custom_set::TAO_ServerRequestInfo_CORBA_ValueDef_is_custom_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_ValueDef *tao_impl,
+ const CORBA::Boolean & is_custom
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ is_custom_ (is_custom)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_ValueDef_is_custom_set::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (1);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= CORBA::Any::from_boolean (this->is_custom_);
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_ValueDef_is_custom_set::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_ValueDef_is_custom_set::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 1;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return result_any;
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_ValueDef_is_custom_set::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_ValueDef_is_custom_set::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+class TAO_ServerRequestInfo_CORBA_ValueDef_is_truncatable_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_ValueDef_is_truncatable_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_ValueDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA::Boolean result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_ValueDef_is_truncatable_get (const TAO_ServerRequestInfo_CORBA_ValueDef_is_truncatable_get &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_ValueDef_is_truncatable_get &);
+
+private:
+ POA_CORBA_ValueDef *_tao_impl;
+ CORBA::Boolean _result;
+};
+
+TAO_ServerRequestInfo_CORBA_ValueDef_is_truncatable_get::TAO_ServerRequestInfo_CORBA_ValueDef_is_truncatable_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_ValueDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_ValueDef_is_truncatable_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_ValueDef_is_truncatable_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_ValueDef_is_truncatable_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= CORBA::Any::from_boolean (this->_result);
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_ValueDef_is_truncatable_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_ValueDef_is_truncatable_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_ValueDef_is_truncatable_get::result (CORBA::Boolean result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_ValueDef_is_truncatable_set : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_ValueDef_is_truncatable_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_ValueDef *tao_impl
+ ,
+ const CORBA::Boolean & is_truncatable
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+
+private:
+ TAO_ServerRequestInfo_CORBA_ValueDef_is_truncatable_set (const TAO_ServerRequestInfo_CORBA_ValueDef_is_truncatable_set &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_ValueDef_is_truncatable_set &);
+
+private:
+ POA_CORBA_ValueDef *_tao_impl;
+ const CORBA::Boolean & is_truncatable_;
+
+};
+
+TAO_ServerRequestInfo_CORBA_ValueDef_is_truncatable_set::TAO_ServerRequestInfo_CORBA_ValueDef_is_truncatable_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_ValueDef *tao_impl,
+ const CORBA::Boolean & is_truncatable
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ is_truncatable_ (is_truncatable)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_ValueDef_is_truncatable_set::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (1);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= CORBA::Any::from_boolean (this->is_truncatable_);
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_ValueDef_is_truncatable_set::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_ValueDef_is_truncatable_set::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 1;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return result_any;
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_ValueDef_is_truncatable_set::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_ValueDef_is_truncatable_set::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+class TAO_ServerRequestInfo_CORBA_ValueDef_is_a : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_ValueDef_is_a (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_ValueDef *tao_impl
+ ,
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA::Boolean result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_ValueDef_is_a (const TAO_ServerRequestInfo_CORBA_ValueDef_is_a &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_ValueDef_is_a &);
+
+private:
+ POA_CORBA_ValueDef *_tao_impl;
+ const char * id_;
+ CORBA::Boolean _result;
+};
+
+TAO_ServerRequestInfo_CORBA_ValueDef_is_a::TAO_ServerRequestInfo_CORBA_ValueDef_is_a (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_ValueDef *tao_impl,
+ const char * id
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ id_ (id)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_ValueDef_is_a::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (1);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= id_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_ValueDef_is_a::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_ValueDef_is_a::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= CORBA::Any::from_boolean (this->_result);
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_ValueDef_is_a::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_ValueDef_is_a::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_ValueDef_is_a::result (CORBA::Boolean result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_ValueDef_describe_value : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_ValueDef_describe_value (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_ValueDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_ValueDef::FullValueDescription * result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_ValueDef_describe_value (const TAO_ServerRequestInfo_CORBA_ValueDef_describe_value &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_ValueDef_describe_value &);
+
+private:
+ POA_CORBA_ValueDef *_tao_impl;
+ CORBA_ValueDef::FullValueDescription * _result;
+};
+
+TAO_ServerRequestInfo_CORBA_ValueDef_describe_value::TAO_ServerRequestInfo_CORBA_ValueDef_describe_value (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_ValueDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_ValueDef_describe_value::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_ValueDef_describe_value::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_ValueDef_describe_value::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_ValueDef_describe_value::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_ValueDef_describe_value::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_ValueDef_describe_value::result (CORBA_ValueDef::FullValueDescription * result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_ValueDef_create_value_member : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_ValueDef_create_value_member (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_ValueDef *tao_impl
+ ,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ const CORBA::Visibility & access
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_ValueMemberDef_ptr result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_ValueDef_create_value_member (const TAO_ServerRequestInfo_CORBA_ValueDef_create_value_member &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_ValueDef_create_value_member &);
+
+private:
+ POA_CORBA_ValueDef *_tao_impl;
+ const char * id_;
+ const char * name_;
+ const char * version_;
+ CORBA_IDLType_ptr type_;
+ const CORBA::Visibility & access_;
+ CORBA_ValueMemberDef_ptr _result;
+};
+
+TAO_ServerRequestInfo_CORBA_ValueDef_create_value_member::TAO_ServerRequestInfo_CORBA_ValueDef_create_value_member (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_ValueDef *tao_impl,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ const CORBA::Visibility & access
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ id_ (id),
+ name_ (name),
+ version_ (version),
+ type_ (type),
+ access_ (access)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_ValueDef_create_value_member::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (5);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= id_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= name_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= version_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= this->type_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= access_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_ValueDef_create_value_member::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_ValueDef_create_value_member::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_ValueDef_create_value_member::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_ValueDef_create_value_member::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_ValueDef_create_value_member::result (CORBA_ValueMemberDef_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_ValueDef_create_attribute : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_ValueDef_create_attribute (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_ValueDef *tao_impl
+ ,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ CORBA::AttributeMode & mode
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_AttributeDef_ptr result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_ValueDef_create_attribute (const TAO_ServerRequestInfo_CORBA_ValueDef_create_attribute &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_ValueDef_create_attribute &);
+
+private:
+ POA_CORBA_ValueDef *_tao_impl;
+ const char * id_;
+ const char * name_;
+ const char * version_;
+ CORBA_IDLType_ptr type_;
+ const CORBA::AttributeMode & mode_;
+ CORBA_AttributeDef_ptr _result;
+};
+
+TAO_ServerRequestInfo_CORBA_ValueDef_create_attribute::TAO_ServerRequestInfo_CORBA_ValueDef_create_attribute (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_ValueDef *tao_impl,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ CORBA::AttributeMode & mode
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ id_ (id),
+ name_ (name),
+ version_ (version),
+ type_ (type),
+ mode_ (mode)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_ValueDef_create_attribute::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (5);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= id_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= name_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= version_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= this->type_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= this->mode_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_ValueDef_create_attribute::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_ValueDef_create_attribute::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_ValueDef_create_attribute::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_ValueDef_create_attribute::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_ValueDef_create_attribute::result (CORBA_AttributeDef_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_ValueDef_create_operation : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_ValueDef_create_operation (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_ValueDef *tao_impl
+ ,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr result,
+ CORBA::OperationMode & mode,
+ const CORBA_ParDescriptionSeq & params,
+ const CORBA_ExceptionDefSeq & exceptions,
+ const CORBA_ContextIdSeq & contexts
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_OperationDef_ptr result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_ValueDef_create_operation (const TAO_ServerRequestInfo_CORBA_ValueDef_create_operation &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_ValueDef_create_operation &);
+
+private:
+ POA_CORBA_ValueDef *_tao_impl;
+ const char * id_;
+ const char * name_;
+ const char * version_;
+ CORBA_IDLType_ptr result_;
+ const CORBA::OperationMode & mode_;
+ const CORBA_ParDescriptionSeq & params_;
+ const CORBA_ExceptionDefSeq & exceptions_;
+ const CORBA_ContextIdSeq & contexts_;
+ CORBA_OperationDef_ptr _result;
+};
+
+TAO_ServerRequestInfo_CORBA_ValueDef_create_operation::TAO_ServerRequestInfo_CORBA_ValueDef_create_operation (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_ValueDef *tao_impl,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr result,
+ CORBA::OperationMode & mode,
+ const CORBA_ParDescriptionSeq & params,
+ const CORBA_ExceptionDefSeq & exceptions,
+ const CORBA_ContextIdSeq & contexts
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ id_ (id),
+ name_ (name),
+ version_ (version),
+ result_ (result),
+ mode_ (mode),
+ params_ (params),
+ exceptions_ (exceptions),
+ contexts_ (contexts)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_ValueDef_create_operation::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (8);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= id_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= name_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= version_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= this->result_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= this->mode_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= this->params_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= this->exceptions_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+ (*parameter_list)[len].argument <<= this->contexts_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_ValueDef_create_operation::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_ValueDef_create_operation::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_ValueDef_create_operation::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_ValueDef_create_operation::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_ValueDef_create_operation::result (CORBA_OperationDef_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Implementation
+//
+
+// Factory function Implementation.
+_TAO_CORBA_ValueDef_Strategized_Proxy_Broker *_TAO_CORBA_ValueDef_Strategized_Proxy_Broker::the_TAO_CORBA_ValueDef_Strategized_Proxy_Broker (void)
+{
+ static _TAO_CORBA_ValueDef_Strategized_Proxy_Broker strategized_proxy_broker;
+ return &strategized_proxy_broker;
+}
+
+_TAO_CORBA_ValueDef_Strategized_Proxy_Broker::_TAO_CORBA_ValueDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ this->proxy_cache_[i] = 0;
+
+}
+
+_TAO_CORBA_ValueDef_Strategized_Proxy_Broker::~_TAO_CORBA_ValueDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ delete this->proxy_cache_[i];
+
+}
+
+_TAO_CORBA_ValueDef_Proxy_Impl&
+_TAO_CORBA_ValueDef_Strategized_Proxy_Broker::select_proxy (
+ ::CORBA_ValueDef *object
+ ACE_ENV_ARG_DECL
+ )
+{
+ int strategy =
+ TAO_ORB_Core::collocation_strategy (object ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ if (this->proxy_cache_[strategy] != 0)
+ return *this->proxy_cache_[strategy];
+
+ this->create_proxy (strategy ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ return *this->proxy_cache_[strategy];
+
+}
+
+void
+_TAO_CORBA_ValueDef_Strategized_Proxy_Broker::create_proxy (
+ int strategy
+ ACE_ENV_ARG_DECL
+ )
+{
+ ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_);
+
+ if (this->proxy_cache_[strategy] == 0)
+ {
+ switch (strategy)
+ {
+ case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ _TAO_CORBA_ValueDef_ThruPOA_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY:
+ default:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ ::_TAO_CORBA_ValueDef_Remote_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ }
+
+ }
+}
+
+
+//
+// End Strategized Proxy Broker Implementation
+///////////////////////////////////////////////////////////////////////
+
+
+_TAO_CORBA_ValueDef_Proxy_Broker *
+_TAO_CORBA_ValueDef_Proxy_Broker_Factory_function (CORBA::Object_ptr obj)
+{
+ ACE_UNUSED_ARG (obj);
+ return ::_TAO_CORBA_ValueDef_Strategized_Proxy_Broker::the_TAO_CORBA_ValueDef_Strategized_Proxy_Broker();
+}
+
+int
+_TAO_CORBA_ValueDef_Proxy_Broker_Factory_Initializer (long)
+{
+ _TAO_CORBA_ValueDef_Proxy_Broker_Factory_function_pointer =
+ _TAO_CORBA_ValueDef_Proxy_Broker_Factory_function;
+
+ return 0;
+}
+
+static int _TAO_CORBA_ValueDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
+ _TAO_CORBA_ValueDef_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_CORBA_ValueDef_Proxy_Broker_Factory_Initializer));
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Proxy Implementation
+//
+
+_TAO_CORBA_ValueDef_ThruPOA_Proxy_Impl::_TAO_CORBA_ValueDef_ThruPOA_Proxy_Impl (void)
+{}
+
+// ThruPOA Implementation of the IDL interface methods
+
+CORBA_InterfaceDefSeq * _TAO_CORBA_ValueDef_ThruPOA_Proxy_Impl::supported_interfaces (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_InterfaceDefSeq_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "supported_interfaces",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_ValueDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/ValueDef:1.0"
+ )
+ )->supported_interfaces (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+void _TAO_CORBA_ValueDef_ThruPOA_Proxy_Impl::supported_interfaces (
+ CORBA_Object *_collocated_tao_target_,
+ const CORBA_InterfaceDefSeq & supported_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "supported_interfaces",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_CORBA_ValueDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/ValueDef:1.0"
+ )
+ )->supported_interfaces (
+ supported_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+ return;
+}
+
+CORBA_InitializerSeq * _TAO_CORBA_ValueDef_ThruPOA_Proxy_Impl::initializers (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_InitializerSeq_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "initializers",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_ValueDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/ValueDef:1.0"
+ )
+ )->initializers (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+void _TAO_CORBA_ValueDef_ThruPOA_Proxy_Impl::initializers (
+ CORBA_Object *_collocated_tao_target_,
+ const CORBA_InitializerSeq & initializers
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "initializers",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_CORBA_ValueDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/ValueDef:1.0"
+ )
+ )->initializers (
+ initializers
+ ACE_ENV_ARG_PARAMETER
+ );
+ return;
+}
+
+CORBA_ValueDef_ptr _TAO_CORBA_ValueDef_ThruPOA_Proxy_Impl::base_value (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_ValueDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "base_value",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_ValueDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/ValueDef:1.0"
+ )
+ )->base_value (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+void _TAO_CORBA_ValueDef_ThruPOA_Proxy_Impl::base_value (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA_ValueDef_ptr base_value
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "base_value",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_CORBA_ValueDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/ValueDef:1.0"
+ )
+ )->base_value (
+ base_value
+ ACE_ENV_ARG_PARAMETER
+ );
+ return;
+}
+
+CORBA_ValueDefSeq * _TAO_CORBA_ValueDef_ThruPOA_Proxy_Impl::abstract_base_values (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_ValueDefSeq_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "abstract_base_values",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_ValueDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/ValueDef:1.0"
+ )
+ )->abstract_base_values (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+void _TAO_CORBA_ValueDef_ThruPOA_Proxy_Impl::abstract_base_values (
+ CORBA_Object *_collocated_tao_target_,
+ const CORBA_ValueDefSeq & abstract_base_values
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "abstract_base_values",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_CORBA_ValueDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/ValueDef:1.0"
+ )
+ )->abstract_base_values (
+ abstract_base_values
+ ACE_ENV_ARG_PARAMETER
+ );
+ return;
+}
+
+CORBA::Boolean _TAO_CORBA_ValueDef_ThruPOA_Proxy_Impl::is_abstract (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::Boolean _tao_retval = 0;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "is_abstract",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (_tao_retval);
+ return ACE_reinterpret_cast (
+ POA_CORBA_ValueDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/ValueDef:1.0"
+ )
+ )->is_abstract (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+void _TAO_CORBA_ValueDef_ThruPOA_Proxy_Impl::is_abstract (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::Boolean is_abstract
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "is_abstract",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_CORBA_ValueDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/ValueDef:1.0"
+ )
+ )->is_abstract (
+ is_abstract
+ ACE_ENV_ARG_PARAMETER
+ );
+ return;
+}
+
+CORBA::Boolean _TAO_CORBA_ValueDef_ThruPOA_Proxy_Impl::is_custom (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::Boolean _tao_retval = 0;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "is_custom",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (_tao_retval);
+ return ACE_reinterpret_cast (
+ POA_CORBA_ValueDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/ValueDef:1.0"
+ )
+ )->is_custom (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+void _TAO_CORBA_ValueDef_ThruPOA_Proxy_Impl::is_custom (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::Boolean is_custom
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "is_custom",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_CORBA_ValueDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/ValueDef:1.0"
+ )
+ )->is_custom (
+ is_custom
+ ACE_ENV_ARG_PARAMETER
+ );
+ return;
+}
+
+CORBA::Boolean _TAO_CORBA_ValueDef_ThruPOA_Proxy_Impl::is_truncatable (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::Boolean _tao_retval = 0;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "is_truncatable",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (_tao_retval);
+ return ACE_reinterpret_cast (
+ POA_CORBA_ValueDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/ValueDef:1.0"
+ )
+ )->is_truncatable (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+void _TAO_CORBA_ValueDef_ThruPOA_Proxy_Impl::is_truncatable (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::Boolean is_truncatable
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "is_truncatable",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_CORBA_ValueDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/ValueDef:1.0"
+ )
+ )->is_truncatable (
+ is_truncatable
+ ACE_ENV_ARG_PARAMETER
+ );
+ return;
+}
+
+CORBA::Boolean _TAO_CORBA_ValueDef_ThruPOA_Proxy_Impl::is_a (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA::Boolean _tao_retval = 0;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "is_a",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (_tao_retval);
+ return ACE_reinterpret_cast (
+ POA_CORBA_ValueDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/ValueDef:1.0"
+ )
+ )->is_a (
+ id
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+CORBA_ValueDef::FullValueDescription * _TAO_CORBA_ValueDef_ThruPOA_Proxy_Impl::describe_value (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_ValueDef::FullValueDescription_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "describe_value",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_ValueDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/ValueDef:1.0"
+ )
+ )->describe_value (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+CORBA_ValueMemberDef_ptr _TAO_CORBA_ValueDef_ThruPOA_Proxy_Impl::create_value_member (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ CORBA::Visibility access
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_ValueMemberDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "create_value_member",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_ValueDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/ValueDef:1.0"
+ )
+ )->create_value_member (
+ id,
+ name,
+ version,
+ type,
+ access
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+CORBA_AttributeDef_ptr _TAO_CORBA_ValueDef_ThruPOA_Proxy_Impl::create_attribute (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ CORBA::AttributeMode mode
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_AttributeDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "create_attribute",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_ValueDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/ValueDef:1.0"
+ )
+ )->create_attribute (
+ id,
+ name,
+ version,
+ type,
+ mode
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+CORBA_OperationDef_ptr _TAO_CORBA_ValueDef_ThruPOA_Proxy_Impl::create_operation (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr result,
+ CORBA::OperationMode mode,
+ const CORBA_ParDescriptionSeq & params,
+ const CORBA_ExceptionDefSeq & exceptions,
+ const CORBA_ContextIdSeq & contexts
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_OperationDef_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "create_operation",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_ValueDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/ValueDef:1.0"
+ )
+ )->create_operation (
+ id,
+ name,
+ version,
+ result,
+ mode,
+ params,
+ exceptions,
+ contexts
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+//
+// End ThruPOA Proxy Implementation
+///////////////////////////////////////////////////////////////////////
+
+// skeleton constructor
+POA_CORBA_ValueDef::POA_CORBA_ValueDef (void)
+{
+ this->optable_ = &tao_CORBA_ValueDef_optable;
+}
+
+// copy ctor
+POA_CORBA_ValueDef::POA_CORBA_ValueDef (const POA_CORBA_ValueDef& rhs)
+ : POA_CORBA_Container (rhs),
+ POA_CORBA_Contained (rhs),
+ POA_CORBA_IDLType (rhs),
+ POA_CORBA_IRObject (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_CORBA_ValueDef::~POA_CORBA_ValueDef (void)
+{
+}
+
+void POA_CORBA_ValueDef::_get_supported_interfaces_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_ValueDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_ValueDef *, _tao_object_reference);
+
+ CORBA_InterfaceDefSeq_var _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_ValueDef_supported_interfaces_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->supported_interfaces (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_InterfaceDefSeq * _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_ValueDef::_set_supported_interfaces_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_ValueDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_ValueDef *, _tao_object_reference);
+
+ _tao_server_request.argument_flag (0);
+ CORBA_InterfaceDefSeq supported_interfaces;
+ if (!(
+ (_tao_in >> supported_interfaces)
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_ValueDef_supported_interfaces_set ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ supported_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->supported_interfaces (
+ supported_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_ValueDef::_get_initializers_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_ValueDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_ValueDef *, _tao_object_reference);
+
+ CORBA_InitializerSeq_var _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_ValueDef_initializers_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->initializers (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_InitializerSeq * _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_ValueDef::_set_initializers_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_ValueDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_ValueDef *, _tao_object_reference);
+
+ _tao_server_request.argument_flag (0);
+ CORBA_InitializerSeq initializers;
+ if (!(
+ (_tao_in >> initializers)
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_ValueDef_initializers_set ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ initializers
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->initializers (
+ initializers
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_ValueDef::_get_base_value_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_ValueDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_ValueDef *, _tao_object_reference);
+
+ CORBA_ValueDef_var _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_ValueDef_base_value_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->base_value (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_ValueDef_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_ValueDef::_set_base_value_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_ValueDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_ValueDef *, _tao_object_reference);
+
+ _tao_server_request.argument_flag (0);
+ CORBA_ValueDef_var base_value;
+ if (!(
+ (_tao_in >> base_value.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_ValueDef_base_value_set ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ base_value.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->base_value (
+ base_value.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_ValueDef::_get_abstract_base_values_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_ValueDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_ValueDef *, _tao_object_reference);
+
+ CORBA_ValueDefSeq_var _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_ValueDef_abstract_base_values_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->abstract_base_values (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_ValueDefSeq * _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_ValueDef::_set_abstract_base_values_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_ValueDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_ValueDef *, _tao_object_reference);
+
+ _tao_server_request.argument_flag (0);
+ CORBA_ValueDefSeq abstract_base_values;
+ if (!(
+ (_tao_in >> abstract_base_values)
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_ValueDef_abstract_base_values_set ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ abstract_base_values
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->abstract_base_values (
+ abstract_base_values
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_ValueDef::_get_is_abstract_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_ValueDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_ValueDef *, _tao_object_reference);
+
+ CORBA::Boolean _tao_retval = 0;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_ValueDef_is_abstract_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->is_abstract (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA::Boolean _tao_retval_info = _tao_retval;
+ ri.result (_tao_retval_info);
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << CORBA::Any::from_boolean (_tao_retval))
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_ValueDef::_set_is_abstract_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_ValueDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_ValueDef *, _tao_object_reference);
+
+ _tao_server_request.argument_flag (0);
+ CORBA::Boolean is_abstract;
+ if (!(
+ (_tao_in >> CORBA::Any::to_boolean (is_abstract))
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_ValueDef_is_abstract_set ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ is_abstract
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->is_abstract (
+ is_abstract
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_ValueDef::_get_is_custom_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_ValueDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_ValueDef *, _tao_object_reference);
+
+ CORBA::Boolean _tao_retval = 0;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_ValueDef_is_custom_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->is_custom (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA::Boolean _tao_retval_info = _tao_retval;
+ ri.result (_tao_retval_info);
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << CORBA::Any::from_boolean (_tao_retval))
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_ValueDef::_set_is_custom_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_ValueDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_ValueDef *, _tao_object_reference);
+
+ _tao_server_request.argument_flag (0);
+ CORBA::Boolean is_custom;
+ if (!(
+ (_tao_in >> CORBA::Any::to_boolean (is_custom))
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_ValueDef_is_custom_set ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ is_custom
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->is_custom (
+ is_custom
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_ValueDef::_get_is_truncatable_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_ValueDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_ValueDef *, _tao_object_reference);
+
+ CORBA::Boolean _tao_retval = 0;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_ValueDef_is_truncatable_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->is_truncatable (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA::Boolean _tao_retval_info = _tao_retval;
+ ri.result (_tao_retval_info);
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << CORBA::Any::from_boolean (_tao_retval))
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_ValueDef::_set_is_truncatable_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_ValueDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_ValueDef *, _tao_object_reference);
+
+ _tao_server_request.argument_flag (0);
+ CORBA::Boolean is_truncatable;
+ if (!(
+ (_tao_in >> CORBA::Any::to_boolean (is_truncatable))
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_ValueDef_is_truncatable_set ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ is_truncatable
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->is_truncatable (
+ is_truncatable
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_ValueDef::is_a_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_ValueDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_ValueDef *, _tao_object_reference);
+
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var id;
+ if (!(
+ (_tao_in >> id.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_ValueDef_is_a ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ id.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->is_a (
+ id.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA::Boolean _tao_retval_info = _tao_retval;
+ ri.result (_tao_retval_info);
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << CORBA::Any::from_boolean (_tao_retval))
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_ValueDef::describe_value_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_ValueDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_ValueDef *, _tao_object_reference);
+
+ CORBA_ValueDef::FullValueDescription_var _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_ValueDef_describe_value ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->describe_value (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_ValueDef::FullValueDescription * _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_ValueDef::create_value_member_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_ValueDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_ValueDef *, _tao_object_reference);
+
+ CORBA_ValueMemberDef_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::String_var version;
+ CORBA_IDLType_var type;
+ CORBA::Visibility access;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.out ()) &&
+ (_tao_in >> version.out ()) &&
+ (_tao_in >> type.out ()) &&
+ (_tao_in >> access)
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_ValueDef_create_value_member ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ id.in (),
+ name.in (),
+ version.in (),
+ type.in (),
+ access
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->create_value_member (
+ id.in (),
+ name.in (),
+ version.in (),
+ type.in (),
+ access
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_ValueMemberDef_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_ValueDef::create_attribute_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_ValueDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_ValueDef *, _tao_object_reference);
+
+ CORBA_AttributeDef_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::String_var version;
+ CORBA_IDLType_var type;
+ CORBA::AttributeMode mode;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.out ()) &&
+ (_tao_in >> version.out ()) &&
+ (_tao_in >> type.out ()) &&
+ (_tao_in >> mode)
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_ValueDef_create_attribute ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ id.in (),
+ name.in (),
+ version.in (),
+ type.in (),
+ mode
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->create_attribute (
+ id.in (),
+ name.in (),
+ version.in (),
+ type.in (),
+ mode
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_AttributeDef_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_ValueDef::create_operation_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_ValueDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_ValueDef *, _tao_object_reference);
+
+ CORBA_OperationDef_var _tao_retval;
+ CORBA::String_var id;
+ CORBA::String_var name;
+ CORBA::String_var version;
+ CORBA_IDLType_var result;
+ CORBA::OperationMode mode;
+ CORBA_ParDescriptionSeq params;
+ CORBA_ExceptionDefSeq exceptions;
+ CORBA_ContextIdSeq contexts;
+ if (!(
+ (_tao_in >> id.out ()) &&
+ (_tao_in >> name.out ()) &&
+ (_tao_in >> version.out ()) &&
+ (_tao_in >> result.out ()) &&
+ (_tao_in >> mode) &&
+ (_tao_in >> params) &&
+ (_tao_in >> exceptions) &&
+ (_tao_in >> contexts)
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_ValueDef_create_operation ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ id.in (),
+ name.in (),
+ version.in (),
+ result.in (),
+ mode,
+ params,
+ exceptions,
+ contexts
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->create_operation (
+ id.in (),
+ name.in (),
+ version.in (),
+ result.in (),
+ mode,
+ params,
+ exceptions,
+ contexts
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_OperationDef_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_ValueDef::_is_a_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_ValueDef *_tao_impl = (POA_CORBA_ValueDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!(_tao_in >> value.out ()))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_CORBA_ValueDef::_non_existent_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_ValueDef *_tao_impl = (POA_CORBA_ValueDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_CORBA_ValueDef::_interface_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_ValueDef *_tao_impl = (POA_CORBA_ValueDef *) _tao_object_reference;
+ CORBA_InterfaceDef_ptr _tao_retval = 0;
+ CORBA::Boolean _tao_result = 0;
+
+ TAO_IFR_Client_Adapter *_tao_adapter =
+ ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
+ TAO_ORB_Core::ifr_client_adapter_name ()
+ );
+
+ if (_tao_adapter == 0)
+ {
+ ACE_THROW (CORBA::INTF_REPOS ());
+ }
+
+ ACE_TRY
+ {
+ _tao_retval = _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ _tao_result =
+ _tao_adapter->interfacedef_cdr_insert (
+ _tao_out,
+ _tao_retval
+ );
+ }
+ ACE_CATCHALL
+ {
+ _tao_adapter->dispose (_tao_retval);
+ }
+ ACE_ENDTRY;
+
+ if (_tao_result == 0)
+ {
+ ACE_THROW (CORBA::MARSHAL ());
+ }
+}
+
+CORBA::Boolean POA_CORBA_ValueDef::_is_a (
+ const char* value
+ ACE_ENV_ARG_DECL
+ )
+{
+ const char *base_id = CORBA::_tc_Object->id (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/ValueDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Container:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Contained:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IDLType:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, base_id)))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_CORBA_ValueDef::_downcast (
+ const char* logical_type_id
+ )
+{
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/ValueDef:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_ValueDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Container:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_Container_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Contained:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_Contained_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IDLType:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IDLType_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_CORBA_ValueDef::_dispatch (TAO_ServerRequest &req, void *servant_upcall ACE_ENV_ARG_DECL)
+{
+ this->synchronous_upcall_dispatch (req,
+ servant_upcall,
+ this
+ ACE_ENV_ARG_PARAMETER);
+}
+
+
+const char* POA_CORBA_ValueDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/CORBA/ValueDef:1.0";
+}
+
+CORBA_ValueDef*
+POA_CORBA_ValueDef::_this (ACE_ENV_SINGLE_ARG_DECL)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ TAO_Stub_Auto_Ptr safe_stub (stub);
+
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0);
+ else
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0);
+
+ CORBA::Object_var obj = tmp;
+
+ (void) safe_stub.release ();
+
+ return ::CORBA_ValueDef::_unchecked_narrow (obj.in ());
+}
+
+
+class TAO_CORBA_ValueBoxDef_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+/* starting time is 23:00:08 */
+/* 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_ValueBoxDef_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_CORBA_ValueBoxDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
+ 37, 37, 0, 0, 0, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 0, 0,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 10, 37, 37, 37, 37, 10, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37,
+#else
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
+ 37, 37, 37, 37, 37, 0, 37, 0, 37, 37,
+ 0, 0, 0, 37, 37, 37, 37, 37, 37, 0,
+ 0, 37, 37, 37, 37, 37, 10, 37, 37, 37,
+ 37, 10, 37, 37, 37, 37, 37, 37,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[str[len - 1]] + asso_values[str[0]];
+}
+
+const class TAO_operation_db_entry *
+TAO_CORBA_ValueBoxDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 19,
+ MIN_WORD_LENGTH = 4,
+ MAX_WORD_LENGTH = 26,
+ MIN_HASH_VALUE = 4,
+ MAX_HASH_VALUE = 36,
+ HASH_VALUE_RANGE = 33,
+ DUPLICATES = 6,
+ WORDLIST_SIZE = 23
+ };
+
+ static const class TAO_operation_db_entry wordlist[] =
+ {
+ {"",0},{"",0},{"",0},{"",0},
+ {"move", &POA_CORBA_ValueBoxDef::move_skel},
+ {"_is_a", &POA_CORBA_ValueBoxDef::_is_a_skel},
+ {"_get_id", &POA_CORBA_ValueBoxDef::_get_id_skel},
+ {"_set_id", &POA_CORBA_ValueBoxDef::_set_id_skel},
+ {"describe", &POA_CORBA_ValueBoxDef::describe_skel},
+ {"_get_name", &POA_CORBA_ValueBoxDef::_get_name_skel},
+ {"_get_type", &POA_CORBA_ValueBoxDef::_get_type_skel},
+ {"_set_name", &POA_CORBA_ValueBoxDef::_set_name_skel},
+ {"_interface", &POA_CORBA_ValueBoxDef::_interface_skel},
+ {"_get_version", &POA_CORBA_ValueBoxDef::_get_version_skel},
+ {"_set_version", &POA_CORBA_ValueBoxDef::_set_version_skel},
+ {"_get_def_kind", &POA_CORBA_ValueBoxDef::_get_def_kind_skel},
+ {"_get_defined_in", &POA_CORBA_ValueBoxDef::_get_defined_in_skel},
+ {"destroy", &POA_CORBA_ValueBoxDef::destroy_skel},
+ {"_get_absolute_name", &POA_CORBA_ValueBoxDef::_get_absolute_name_skel},
+ {"_get_original_type_def", &POA_CORBA_ValueBoxDef::_get_original_type_def_skel},
+ {"_set_original_type_def", &POA_CORBA_ValueBoxDef::_set_original_type_def_skel},
+ {"_non_existent", &POA_CORBA_ValueBoxDef::_non_existent_skel},
+ {"_get_containing_repository", &POA_CORBA_ValueBoxDef::_get_containing_repository_skel},
+ };
+
+ static const signed char lookup[] =
+ {
+ -9, -3, -13, -2, 4, 5, -1, 53, 8, -45, 12, -1, -46, 15,
+ -1, 16, -1, 17, 18, -1, -19, -2, -38, 21, -6, -2, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 22,
+ };
+
+ 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 < WORDLIST_SIZE)
+ {
+ 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 23:00:08 */
+static TAO_CORBA_ValueBoxDef_Perfect_Hash_OpTable tao_CORBA_ValueBoxDef_optable;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+class TAO_ServerRequestInfo_CORBA_ValueBoxDef_original_type_def_get : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_ValueBoxDef_original_type_def_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_ValueBoxDef *tao_impl
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result (CORBA_IDLType_ptr result);
+
+private:
+ TAO_ServerRequestInfo_CORBA_ValueBoxDef_original_type_def_get (const TAO_ServerRequestInfo_CORBA_ValueBoxDef_original_type_def_get &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_ValueBoxDef_original_type_def_get &);
+
+private:
+ POA_CORBA_ValueBoxDef *_tao_impl;
+ CORBA_IDLType_ptr _result;
+};
+
+TAO_ServerRequestInfo_CORBA_ValueBoxDef_original_type_def_get::TAO_ServerRequestInfo_CORBA_ValueBoxDef_original_type_def_get (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_ValueBoxDef *tao_impl
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_ValueBoxDef_original_type_def_get::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return parameter_list;
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_ValueBoxDef_original_type_def_get::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_ValueBoxDef_original_type_def_get::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 0;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Any_var safe_result_any = result_any;
+
+ (*result_any) <<= this->_result;
+
+ return safe_result_any._retn ();
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_ValueBoxDef_original_type_def_get::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_ValueBoxDef_original_type_def_get::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ServerRequestInfo_CORBA_ValueBoxDef_original_type_def_get::result (CORBA_IDLType_ptr result)
+{
+ // Update the result.
+ this->_result = result;
+}
+
+class TAO_ServerRequestInfo_CORBA_ValueBoxDef_original_type_def_set : public TAO_ServerRequestInfo
+{
+public:
+ TAO_ServerRequestInfo_CORBA_ValueBoxDef_original_type_def_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,POA_CORBA_ValueBoxDef *tao_impl
+ ,
+ CORBA_IDLType_ptr original_type_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual Dynamic::ParameterList * arguments (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual Dynamic::ExceptionList * exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Any * result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual char * target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+
+private:
+ TAO_ServerRequestInfo_CORBA_ValueBoxDef_original_type_def_set (const TAO_ServerRequestInfo_CORBA_ValueBoxDef_original_type_def_set &);
+ void operator= (const TAO_ServerRequestInfo_CORBA_ValueBoxDef_original_type_def_set &);
+
+private:
+ POA_CORBA_ValueBoxDef *_tao_impl;
+ CORBA_IDLType_ptr original_type_def_;
+
+};
+
+TAO_ServerRequestInfo_CORBA_ValueBoxDef_original_type_def_set::TAO_ServerRequestInfo_CORBA_ValueBoxDef_original_type_def_set (
+ TAO_ServerRequest &_tao_server_request,
+ TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
+ POA_CORBA_ValueBoxDef *tao_impl,
+ CORBA_IDLType_ptr original_type_def
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
+ _tao_impl (tao_impl),
+ original_type_def_ (original_type_def)
+{}
+
+Dynamic::ParameterList *
+TAO_ServerRequestInfo_CORBA_ValueBoxDef_original_type_def_set::arguments (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the argument list on demand.
+ Dynamic::ParameterList *parameter_list =
+ TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ Dynamic::ParameterList_var safe_parameter_list = parameter_list;
+
+ parameter_list->length (1);
+ CORBA::ULong len = 0;
+
+ (*parameter_list)[len].argument <<= this->original_type_def_;
+ (*parameter_list)[len].mode = CORBA::PARAM_IN;
+ len++;
+
+ return safe_parameter_list._retn ();
+}
+
+Dynamic::ExceptionList *
+TAO_ServerRequestInfo_CORBA_ValueBoxDef_original_type_def_set::exceptions (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the exception list on demand.
+ Dynamic::ExceptionList *exception_list =
+ TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return exception_list;
+}
+
+CORBA::Any *
+TAO_ServerRequestInfo_CORBA_ValueBoxDef_original_type_def_set::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Generate the result on demand.
+ CORBA::Boolean tk_void_any = 1;
+ CORBA::Any *result_any =
+ TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return result_any;
+}
+
+char *
+TAO_ServerRequestInfo_CORBA_ValueBoxDef_original_type_def_set::target_most_derived_interface (
+ ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return
+ CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
+}
+
+CORBA::Boolean
+TAO_ServerRequestInfo_CORBA_ValueBoxDef_original_type_def_set::target_is_a (
+ const char * id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
+}
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Implementation
+//
+
+// Factory function Implementation.
+_TAO_CORBA_ValueBoxDef_Strategized_Proxy_Broker *_TAO_CORBA_ValueBoxDef_Strategized_Proxy_Broker::the_TAO_CORBA_ValueBoxDef_Strategized_Proxy_Broker (void)
+{
+ static _TAO_CORBA_ValueBoxDef_Strategized_Proxy_Broker strategized_proxy_broker;
+ return &strategized_proxy_broker;
+}
+
+_TAO_CORBA_ValueBoxDef_Strategized_Proxy_Broker::_TAO_CORBA_ValueBoxDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ this->proxy_cache_[i] = 0;
+
+}
+
+_TAO_CORBA_ValueBoxDef_Strategized_Proxy_Broker::~_TAO_CORBA_ValueBoxDef_Strategized_Proxy_Broker (void)
+{
+ for (int i = 0; i < TAO_Collocation_Strategies::CS_LAST; ++i)
+ delete this->proxy_cache_[i];
+
+}
+
+_TAO_CORBA_ValueBoxDef_Proxy_Impl&
+_TAO_CORBA_ValueBoxDef_Strategized_Proxy_Broker::select_proxy (
+ ::CORBA_ValueBoxDef *object
+ ACE_ENV_ARG_DECL
+ )
+{
+ int strategy =
+ TAO_ORB_Core::collocation_strategy (object ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ if (this->proxy_cache_[strategy] != 0)
+ return *this->proxy_cache_[strategy];
+
+ this->create_proxy (strategy ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (*this->proxy_cache_[strategy]);
+
+ return *this->proxy_cache_[strategy];
+
+}
+
+void
+_TAO_CORBA_ValueBoxDef_Strategized_Proxy_Broker::create_proxy (
+ int strategy
+ ACE_ENV_ARG_DECL
+ )
+{
+ ACE_GUARD (TAO_SYNCH_MUTEX, guard, this->mutex_);
+
+ if (this->proxy_cache_[strategy] == 0)
+ {
+ switch (strategy)
+ {
+ case TAO_Collocation_Strategies::CS_THRU_POA_STRATEGY:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ _TAO_CORBA_ValueBoxDef_ThruPOA_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ case TAO_Collocation_Strategies::CS_REMOTE_STRATEGY:
+ default:
+ ACE_NEW_THROW_EX (
+ this->proxy_cache_[strategy],
+ ::_TAO_CORBA_ValueBoxDef_Remote_Proxy_Impl,
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK;
+ break;
+
+ }
+
+ }
+}
+
+
+//
+// End Strategized Proxy Broker Implementation
+///////////////////////////////////////////////////////////////////////
+
+
+_TAO_CORBA_ValueBoxDef_Proxy_Broker *
+_TAO_CORBA_ValueBoxDef_Proxy_Broker_Factory_function (CORBA::Object_ptr obj)
+{
+ ACE_UNUSED_ARG (obj);
+ return ::_TAO_CORBA_ValueBoxDef_Strategized_Proxy_Broker::the_TAO_CORBA_ValueBoxDef_Strategized_Proxy_Broker();
+}
+
+int
+_TAO_CORBA_ValueBoxDef_Proxy_Broker_Factory_Initializer (long)
+{
+ _TAO_CORBA_ValueBoxDef_Proxy_Broker_Factory_function_pointer =
+ _TAO_CORBA_ValueBoxDef_Proxy_Broker_Factory_function;
+
+ return 0;
+}
+
+static int _TAO_CORBA_ValueBoxDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
+ _TAO_CORBA_ValueBoxDef_Proxy_Broker_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_CORBA_ValueBoxDef_Proxy_Broker_Factory_Initializer));
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Proxy Implementation
+//
+
+_TAO_CORBA_ValueBoxDef_ThruPOA_Proxy_Impl::_TAO_CORBA_ValueBoxDef_ThruPOA_Proxy_Impl (void)
+{}
+
+// ThruPOA Implementation of the IDL interface methods
+
+CORBA_IDLType_ptr _TAO_CORBA_ValueBoxDef_ThruPOA_Proxy_Impl::original_type_def (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ CORBA_IDLType_var _tao_retval;
+ ACE_UNUSED_ARG (_tao_retval);
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "original_type_def",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+ return ACE_reinterpret_cast (
+ POA_CORBA_ValueBoxDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/ValueBoxDef:1.0"
+ )
+ )->original_type_def (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+void _TAO_CORBA_ValueBoxDef_ThruPOA_Proxy_Impl::original_type_def (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA_IDLType_ptr original_type_def
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ TAO_Object_Adapter::Servant_Upcall servant_upcall (
+ _collocated_tao_target_->_stubobj ()->servant_orb_var ()->orb_core ()
+ );
+ CORBA::Object_var forward_to;
+ servant_upcall.prepare_for_upcall (
+ _collocated_tao_target_->_object_key (),
+ "original_type_def",
+ forward_to.out ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK;
+ ACE_reinterpret_cast (
+ POA_CORBA_ValueBoxDef_ptr,
+ servant_upcall.servant ()->_downcast (
+ "IDL:omg.org/CORBA/ValueBoxDef:1.0"
+ )
+ )->original_type_def (
+ original_type_def
+ ACE_ENV_ARG_PARAMETER
+ );
+ return;
+}
+
+//
+// End ThruPOA Proxy Implementation
+///////////////////////////////////////////////////////////////////////
+
+// skeleton constructor
+POA_CORBA_ValueBoxDef::POA_CORBA_ValueBoxDef (void)
+{
+ this->optable_ = &tao_CORBA_ValueBoxDef_optable;
+}
+
+// copy ctor
+POA_CORBA_ValueBoxDef::POA_CORBA_ValueBoxDef (const POA_CORBA_ValueBoxDef& rhs)
+ : POA_CORBA_TypedefDef (rhs),
+ POA_CORBA_Contained (rhs),
+ POA_CORBA_IDLType (rhs),
+ POA_CORBA_IRObject (rhs),
+ TAO_ServantBase (rhs)
+{}
+
+// skeleton destructor
+POA_CORBA_ValueBoxDef::~POA_CORBA_ValueBoxDef (void)
+{
+}
+
+void POA_CORBA_ValueBoxDef::_get_original_type_def_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_ValueBoxDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_ValueBoxDef *, _tao_object_reference);
+
+ CORBA_IDLType_var _tao_retval;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_ValueBoxDef_original_type_def_get ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+ _tao_retval =
+ _tao_impl->original_type_def (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ CORBA_IDLType_ptr _tao_retval_info = _tao_retval._retn ();
+ ri.result (_tao_retval_info);
+ _tao_retval = _tao_retval_info;
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ if (!(
+ (_tao_out << _tao_retval.in ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_ValueBoxDef::_set_original_type_def_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void *_tao_object_reference,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_ValueBoxDef *_tao_impl =
+ ACE_static_cast (POA_CORBA_ValueBoxDef *, _tao_object_reference);
+
+ _tao_server_request.argument_flag (0);
+ CORBA_IDLType_var original_type_def;
+ if (!(
+ (_tao_in >> original_type_def.out ())
+ ))
+ ACE_THROW (CORBA::MARSHAL());
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
+ ACE_static_cast (TAO_Object_Adapter::Servant_Upcall *, _tao_servant_upcall);
+
+ TAO_ServerRequestInterceptor_Adapter _tao_vfr (
+ _tao_server_request.orb_core ()->server_request_interceptors (),
+ _tao_server_request.interceptor_count ()
+ );
+
+ TAO_ServerRequestInfo_CORBA_ValueBoxDef_original_type_def_set ri (
+ _tao_server_request,
+ _tao_upcall,
+ _tao_impl,
+ original_type_def.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+
+ ACE_TRY
+ {
+ _tao_vfr.receive_request (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_impl->original_type_def (
+ original_type_def.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ TAO_INTERCEPTOR_CHECK;
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ ri.reply_status (PortableInterceptor::SUCCESSFUL);
+ _tao_vfr.send_reply (&ri ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ri.exception (&ACE_ANY_EXCEPTION);
+ _tao_vfr.send_exception (
+ &ri
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_TRY_CHECK;
+
+ PortableInterceptor::ReplyStatus _tao_status =
+ ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
+ || _tao_status == PortableInterceptor::USER_EXCEPTION)
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ _tao_server_request.init_reply ();
+
+ // In case _tao_servant_upcall is not used in this function
+ ACE_UNUSED_ARG (_tao_servant_upcall);
+}
+
+void POA_CORBA_ValueBoxDef::_is_a_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
+ POA_CORBA_ValueBoxDef *_tao_impl = (POA_CORBA_ValueBoxDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = 0;
+ CORBA::String_var value;
+ if (!(_tao_in >> value.out ()))
+ ACE_THROW (CORBA::MARSHAL ());
+
+ _tao_retval = _tao_impl->_is_a (value.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_CORBA_ValueBoxDef::_non_existent_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_ValueBoxDef *_tao_impl = (POA_CORBA_ValueBoxDef *) _tao_object_reference;
+ CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ _tao_server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+ if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
+ ACE_THROW (CORBA::MARSHAL ());
+}
+
+void POA_CORBA_ValueBoxDef::_interface_skel (
+ TAO_ServerRequest &_tao_server_request,
+ void * _tao_object_reference,
+ void * /* Servant_Upcall */
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_ValueBoxDef *_tao_impl = (POA_CORBA_ValueBoxDef *) _tao_object_reference;
+ CORBA_InterfaceDef_ptr _tao_retval = 0;
+ CORBA::Boolean _tao_result = 0;
+
+ TAO_IFR_Client_Adapter *_tao_adapter =
+ ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
+ TAO_ORB_Core::ifr_client_adapter_name ()
+ );
+
+ if (_tao_adapter == 0)
+ {
+ ACE_THROW (CORBA::INTF_REPOS ());
+ }
+
+ ACE_TRY
+ {
+ _tao_retval = _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ _tao_server_request.init_reply ();
+
+ TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
+
+ _tao_result =
+ _tao_adapter->interfacedef_cdr_insert (
+ _tao_out,
+ _tao_retval
+ );
+ }
+ ACE_CATCHALL
+ {
+ _tao_adapter->dispose (_tao_retval);
+ }
+ ACE_ENDTRY;
+
+ if (_tao_result == 0)
+ {
+ ACE_THROW (CORBA::MARSHAL ());
+ }
+}
+
+CORBA::Boolean POA_CORBA_ValueBoxDef::_is_a (
+ const char* value
+ ACE_ENV_ARG_DECL
+ )
+{
+ const char *base_id = CORBA::_tc_Object->id (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ if (
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/ValueBoxDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/TypedefDef:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Contained:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IDLType:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/IRObject:1.0")) ||
+ (!ACE_OS::strcmp ((char *)value, base_id)))
+ return 1;
+ else
+ return 0;
+}
+
+void* POA_CORBA_ValueBoxDef::_downcast (
+ const char* logical_type_id
+ )
+{
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/ValueBoxDef:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_ValueBoxDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/TypedefDef:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_TypedefDef_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Contained:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_Contained_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IDLType:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IDLType_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/IRObject:1.0") == 0)
+ return ACE_static_cast (POA_CORBA_IRObject_ptr, this);
+ if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ return ACE_static_cast(PortableServer::Servant, this);
+ return 0;
+}
+
+void POA_CORBA_ValueBoxDef::_dispatch (TAO_ServerRequest &req, void *servant_upcall ACE_ENV_ARG_DECL)
+{
+ this->synchronous_upcall_dispatch (req,
+ servant_upcall,
+ this
+ ACE_ENV_ARG_PARAMETER);
+}
+
+
+const char* POA_CORBA_ValueBoxDef::_interface_repository_id (void) const
+{
+ return "IDL:omg.org/CORBA/ValueBoxDef:1.0";
+}
+
+CORBA_ValueBoxDef*
+POA_CORBA_ValueBoxDef::_this (ACE_ENV_SINGLE_ARG_DECL)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ TAO_Stub_Auto_Ptr safe_stub (stub);
+
+ CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+
+ if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 1, this), 0);
+ else
+ ACE_NEW_RETURN (tmp, CORBA::Object (stub, 0, this), 0);
+
+ CORBA::Object_var obj = tmp;
+
+ (void) safe_stub.release ();
+
+ return ::CORBA_ValueBoxDef::_unchecked_narrow (obj.in ());
+}
+
+
+
+#endif /* ifndef */
diff --git a/TAO/orbsvcs/IFR_Service/IFR_ExtendedS.h b/TAO/orbsvcs/IFR_Service/IFR_ExtendedS.h
new file mode 100644
index 00000000000..722fd223576
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/IFR_ExtendedS.h
@@ -0,0 +1,1748 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+#ifndef _TAO_IDL__________ORBSVCS_IFR_SERVICE_ORIG_IFR_EXTENDEDS_H_
+#define _TAO_IDL__________ORBSVCS_IFR_SERVICE_ORIG_IFR_EXTENDEDS_H_
+
+#include "ace/pre.h"
+#include "IFR_BasicS.h"
+#include "tao/IFR_Client/IFR_ExtendedC.h"
+
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "tao/PortableServer/PortableServer.h"
+#include "tao/PortableServer/Servant_Base.h"
+#include "tao/PortableServer/Collocated_Object.h"
+#include "tao/PortableServer/ThruPOA_Object_Proxy_Impl.h"
+#include "tao/PortableServer/Direct_Object_Proxy_Impl.h"
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+#if defined (__BORLANDC__)
+#pragma option push -w-rvl -w-rch -w-ccc -w-inl
+#endif /* __BORLANDC__ */
+
+class POA_CORBA_FixedDef;
+typedef POA_CORBA_FixedDef *POA_CORBA_FixedDef_ptr;
+// Forward Classes Declaration
+class _TAO_CORBA_FixedDef_ThruPOA_Proxy_Impl;
+class _TAO_CORBA_FixedDef_Strategized_Proxy_Broker;
+
+class POA_CORBA_FixedDef : public virtual POA_CORBA_IDLType
+{
+protected:
+ POA_CORBA_FixedDef (void);
+
+public:
+ POA_CORBA_FixedDef (const POA_CORBA_FixedDef& rhs);
+ virtual ~POA_CORBA_FixedDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _non_existent_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void _dispatch (
+ TAO_ServerRequest &req,
+ void *_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ ::CORBA_FixedDef *_this (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual CORBA::UShort digits (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_digits_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void digits (
+ CORBA::UShort digits
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_digits_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA::Short scale (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_scale_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void scale (
+ CORBA::Short scale
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_scale_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _get_type_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+
+};
+
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Declaration
+//
+
+class _TAO_CORBA_FixedDef_Strategized_Proxy_Broker : public virtual ::_TAO_CORBA_FixedDef_Proxy_Broker
+{
+public:
+ _TAO_CORBA_FixedDef_Strategized_Proxy_Broker (void);
+
+ virtual ~_TAO_CORBA_FixedDef_Strategized_Proxy_Broker (void);
+
+ virtual ::_TAO_CORBA_FixedDef_Proxy_Impl &select_proxy (
+ ::CORBA_FixedDef *object
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Helper methods that takes care to create the proxy
+ // as soon as their use is necessary.
+ void create_proxy (
+ int collocation_strategy
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Caches the proxy implementations. The proxy implementation
+ // are totally stateless, and those can be shared by all the
+ // instances of a given IDL interface type.
+ ::_TAO_CORBA_FixedDef_Proxy_Impl
+ *proxy_cache_[TAO_Collocation_Strategies::CS_LAST];
+
+ TAO_SYNCH_MUTEX mutex_;
+ // This funxtion is used to get an handle to the unique instance
+ // of the Strategized Proxy Broker that is available for a given
+ // interface.
+
+public:
+ static _TAO_CORBA_FixedDef_Strategized_Proxy_Broker *the_TAO_CORBA_FixedDef_Strategized_Proxy_Broker (void);
+};
+
+
+//
+// End Strategized Proxy Broker Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Impl. Declaration
+//
+
+class _TAO_CORBA_FixedDef_ThruPOA_Proxy_Impl :
+ public virtual ::_TAO_CORBA_FixedDef_Proxy_Impl,
+ public virtual TAO_ThruPOA_Object_Proxy_Impl,
+ public virtual ::_TAO_CORBA_IDLType_ThruPOA_Proxy_Impl
+
+{
+public:
+ _TAO_CORBA_FixedDef_ThruPOA_Proxy_Impl (void);
+
+ virtual ~_TAO_CORBA_FixedDef_ThruPOA_Proxy_Impl (void) { }
+
+ virtual CORBA::UShort digits (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void digits (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::UShort digits
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA::Short scale (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void scale (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::Short scale
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+
+};
+
+//
+// ThruPOA Proxy Impl. Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+class POA_CORBA_ValueMemberDef;
+typedef POA_CORBA_ValueMemberDef *POA_CORBA_ValueMemberDef_ptr;
+// Forward Classes Declaration
+class _TAO_CORBA_ValueMemberDef_ThruPOA_Proxy_Impl;
+class _TAO_CORBA_ValueMemberDef_Strategized_Proxy_Broker;
+
+class POA_CORBA_ValueMemberDef : public virtual POA_CORBA_Contained
+{
+protected:
+ POA_CORBA_ValueMemberDef (void);
+
+public:
+ POA_CORBA_ValueMemberDef (const POA_CORBA_ValueMemberDef& rhs);
+ virtual ~POA_CORBA_ValueMemberDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _non_existent_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void _dispatch (
+ TAO_ServerRequest &req,
+ void *_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ ::CORBA_ValueMemberDef *_this (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual CORBA::TypeCode_ptr type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_type_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA_IDLType_ptr type_def (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_type_def_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void type_def (
+ CORBA_IDLType_ptr type_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_type_def_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA::Visibility access (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_access_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void access (
+ CORBA::Visibility access
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_access_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _get_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_defined_in_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_absolute_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_containing_repository_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void describe_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void move_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+
+};
+
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Declaration
+//
+
+class _TAO_CORBA_ValueMemberDef_Strategized_Proxy_Broker : public virtual ::_TAO_CORBA_ValueMemberDef_Proxy_Broker
+{
+public:
+ _TAO_CORBA_ValueMemberDef_Strategized_Proxy_Broker (void);
+
+ virtual ~_TAO_CORBA_ValueMemberDef_Strategized_Proxy_Broker (void);
+
+ virtual ::_TAO_CORBA_ValueMemberDef_Proxy_Impl &select_proxy (
+ ::CORBA_ValueMemberDef *object
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Helper methods that takes care to create the proxy
+ // as soon as their use is necessary.
+ void create_proxy (
+ int collocation_strategy
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Caches the proxy implementations. The proxy implementation
+ // are totally stateless, and those can be shared by all the
+ // instances of a given IDL interface type.
+ ::_TAO_CORBA_ValueMemberDef_Proxy_Impl
+ *proxy_cache_[TAO_Collocation_Strategies::CS_LAST];
+
+ TAO_SYNCH_MUTEX mutex_;
+ // This funxtion is used to get an handle to the unique instance
+ // of the Strategized Proxy Broker that is available for a given
+ // interface.
+
+public:
+ static _TAO_CORBA_ValueMemberDef_Strategized_Proxy_Broker *the_TAO_CORBA_ValueMemberDef_Strategized_Proxy_Broker (void);
+};
+
+
+//
+// End Strategized Proxy Broker Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Impl. Declaration
+//
+
+class _TAO_CORBA_ValueMemberDef_ThruPOA_Proxy_Impl :
+ public virtual ::_TAO_CORBA_ValueMemberDef_Proxy_Impl,
+ public virtual TAO_ThruPOA_Object_Proxy_Impl,
+ public virtual ::_TAO_CORBA_Contained_ThruPOA_Proxy_Impl
+
+{
+public:
+ _TAO_CORBA_ValueMemberDef_ThruPOA_Proxy_Impl (void);
+
+ virtual ~_TAO_CORBA_ValueMemberDef_ThruPOA_Proxy_Impl (void) { }
+
+ virtual CORBA::TypeCode_ptr type (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA_IDLType_ptr type_def (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void type_def (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA_IDLType_ptr type_def
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA::Visibility access (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void access (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::Visibility access
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+
+};
+
+//
+// ThruPOA Proxy Impl. Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+class POA_CORBA_ValueDef;
+typedef POA_CORBA_ValueDef *POA_CORBA_ValueDef_ptr;
+// Forward Classes Declaration
+class _TAO_CORBA_ValueDef_ThruPOA_Proxy_Impl;
+class _TAO_CORBA_ValueDef_Strategized_Proxy_Broker;
+
+class POA_CORBA_ValueDef : public virtual POA_CORBA_Container, public virtual POA_CORBA_Contained, public virtual POA_CORBA_IDLType
+{
+protected:
+ POA_CORBA_ValueDef (void);
+
+public:
+ POA_CORBA_ValueDef (const POA_CORBA_ValueDef& rhs);
+ virtual ~POA_CORBA_ValueDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _non_existent_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void _dispatch (
+ TAO_ServerRequest &req,
+ void *_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ ::CORBA_ValueDef *_this (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual CORBA_InterfaceDefSeq * supported_interfaces (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_supported_interfaces_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void supported_interfaces (
+ const CORBA_InterfaceDefSeq & supported_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_supported_interfaces_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA_InitializerSeq * initializers (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_initializers_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void initializers (
+ const CORBA_InitializerSeq & initializers
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_initializers_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA_ValueDef_ptr base_value (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_base_value_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void base_value (
+ CORBA_ValueDef_ptr base_value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_base_value_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA_ValueDefSeq * abstract_base_values (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_abstract_base_values_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void abstract_base_values (
+ const CORBA_ValueDefSeq & abstract_base_values
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_abstract_base_values_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA::Boolean is_abstract (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_is_abstract_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void is_abstract (
+ CORBA::Boolean is_abstract
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_is_abstract_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA::Boolean is_custom (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_is_custom_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void is_custom (
+ CORBA::Boolean is_custom
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_is_custom_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA::Boolean is_truncatable (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_is_truncatable_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void is_truncatable (
+ CORBA::Boolean is_truncatable
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_is_truncatable_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA::Boolean is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void is_a_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA_ValueDef::FullValueDescription * describe_value (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void describe_value_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA_ValueMemberDef_ptr create_value_member (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ CORBA::Visibility access
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_value_member_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA_AttributeDef_ptr create_attribute (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ CORBA::AttributeMode mode
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_attribute_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual CORBA_OperationDef_ptr create_operation (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr result,
+ CORBA::OperationMode mode,
+ const CORBA_ParDescriptionSeq & params,
+ const CORBA_ExceptionDefSeq & exceptions,
+ const CORBA_ContextIdSeq & contexts
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_operation_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void lookup_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void contents_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void lookup_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void describe_contents_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_module_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_constant_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_struct_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_union_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_enum_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_alias_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_value_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_value_box_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_exception_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_native_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_abstract_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void create_local_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_defined_in_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_absolute_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_containing_repository_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void describe_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void move_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_type_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+
+};
+
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Declaration
+//
+
+class _TAO_CORBA_ValueDef_Strategized_Proxy_Broker : public virtual ::_TAO_CORBA_ValueDef_Proxy_Broker
+{
+public:
+ _TAO_CORBA_ValueDef_Strategized_Proxy_Broker (void);
+
+ virtual ~_TAO_CORBA_ValueDef_Strategized_Proxy_Broker (void);
+
+ virtual ::_TAO_CORBA_ValueDef_Proxy_Impl &select_proxy (
+ ::CORBA_ValueDef *object
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Helper methods that takes care to create the proxy
+ // as soon as their use is necessary.
+ void create_proxy (
+ int collocation_strategy
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Caches the proxy implementations. The proxy implementation
+ // are totally stateless, and those can be shared by all the
+ // instances of a given IDL interface type.
+ ::_TAO_CORBA_ValueDef_Proxy_Impl
+ *proxy_cache_[TAO_Collocation_Strategies::CS_LAST];
+
+ TAO_SYNCH_MUTEX mutex_;
+ // This funxtion is used to get an handle to the unique instance
+ // of the Strategized Proxy Broker that is available for a given
+ // interface.
+
+public:
+ static _TAO_CORBA_ValueDef_Strategized_Proxy_Broker *the_TAO_CORBA_ValueDef_Strategized_Proxy_Broker (void);
+};
+
+
+//
+// End Strategized Proxy Broker Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Impl. Declaration
+//
+
+class _TAO_CORBA_ValueDef_ThruPOA_Proxy_Impl :
+ public virtual ::_TAO_CORBA_ValueDef_Proxy_Impl,
+ public virtual TAO_ThruPOA_Object_Proxy_Impl,
+ public virtual ::_TAO_CORBA_Container_ThruPOA_Proxy_Impl,
+ public virtual ::_TAO_CORBA_Contained_ThruPOA_Proxy_Impl,
+ public virtual ::_TAO_CORBA_IDLType_ThruPOA_Proxy_Impl
+
+{
+public:
+ _TAO_CORBA_ValueDef_ThruPOA_Proxy_Impl (void);
+
+ virtual ~_TAO_CORBA_ValueDef_ThruPOA_Proxy_Impl (void) { }
+
+ virtual CORBA_InterfaceDefSeq * supported_interfaces (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void supported_interfaces (
+ CORBA_Object *_collocated_tao_target_,
+ const CORBA_InterfaceDefSeq & supported_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA_InitializerSeq * initializers (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void initializers (
+ CORBA_Object *_collocated_tao_target_,
+ const CORBA_InitializerSeq & initializers
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA_ValueDef_ptr base_value (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void base_value (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA_ValueDef_ptr base_value
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA_ValueDefSeq * abstract_base_values (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void abstract_base_values (
+ CORBA_Object *_collocated_tao_target_,
+ const CORBA_ValueDefSeq & abstract_base_values
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA::Boolean is_abstract (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void is_abstract (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::Boolean is_abstract
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA::Boolean is_custom (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void is_custom (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::Boolean is_custom
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA::Boolean is_truncatable (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void is_truncatable (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::Boolean is_truncatable
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA::Boolean is_a (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA_ValueDef::FullValueDescription * describe_value (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA_ValueMemberDef_ptr create_value_member (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ CORBA::Visibility access
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA_AttributeDef_ptr create_attribute (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ CORBA::AttributeMode mode
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA_OperationDef_ptr create_operation (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr result,
+ CORBA::OperationMode mode,
+ const CORBA_ParDescriptionSeq & params,
+ const CORBA_ExceptionDefSeq & exceptions,
+ const CORBA_ContextIdSeq & contexts
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+
+};
+
+//
+// ThruPOA Proxy Impl. Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+class POA_CORBA_ValueBoxDef;
+typedef POA_CORBA_ValueBoxDef *POA_CORBA_ValueBoxDef_ptr;
+// Forward Classes Declaration
+class _TAO_CORBA_ValueBoxDef_ThruPOA_Proxy_Impl;
+class _TAO_CORBA_ValueBoxDef_Strategized_Proxy_Broker;
+
+class POA_CORBA_ValueBoxDef : public virtual POA_CORBA_TypedefDef
+{
+protected:
+ POA_CORBA_ValueBoxDef (void);
+
+public:
+ POA_CORBA_ValueBoxDef (const POA_CORBA_ValueBoxDef& rhs);
+ virtual ~POA_CORBA_ValueBoxDef (void);
+
+
+ virtual CORBA::Boolean _is_a (
+ const char* logical_type_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual void* _downcast (
+ const char* logical_type_id
+ );
+
+ static void _is_a_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _non_existent_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void _dispatch (
+ TAO_ServerRequest &req,
+ void *_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ ::CORBA_ValueBoxDef *_this (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual CORBA_IDLType_ptr original_type_def (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_original_type_def_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void original_type_def (
+ CORBA_IDLType_ptr original_type_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _set_original_type_def_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _get_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _set_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_defined_in_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_absolute_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_containing_repository_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void describe_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void move_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_type_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void _get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+ static void destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+
+
+};
+
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Declaration
+//
+
+class _TAO_CORBA_ValueBoxDef_Strategized_Proxy_Broker : public virtual ::_TAO_CORBA_ValueBoxDef_Proxy_Broker
+{
+public:
+ _TAO_CORBA_ValueBoxDef_Strategized_Proxy_Broker (void);
+
+ virtual ~_TAO_CORBA_ValueBoxDef_Strategized_Proxy_Broker (void);
+
+ virtual ::_TAO_CORBA_ValueBoxDef_Proxy_Impl &select_proxy (
+ ::CORBA_ValueBoxDef *object
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Helper methods that takes care to create the proxy
+ // as soon as their use is necessary.
+ void create_proxy (
+ int collocation_strategy
+ ACE_ENV_ARG_DECL
+ );
+
+private:
+
+ // Caches the proxy implementations. The proxy implementation
+ // are totally stateless, and those can be shared by all the
+ // instances of a given IDL interface type.
+ ::_TAO_CORBA_ValueBoxDef_Proxy_Impl
+ *proxy_cache_[TAO_Collocation_Strategies::CS_LAST];
+
+ TAO_SYNCH_MUTEX mutex_;
+ // This funxtion is used to get an handle to the unique instance
+ // of the Strategized Proxy Broker that is available for a given
+ // interface.
+
+public:
+ static _TAO_CORBA_ValueBoxDef_Strategized_Proxy_Broker *the_TAO_CORBA_ValueBoxDef_Strategized_Proxy_Broker (void);
+};
+
+
+//
+// End Strategized Proxy Broker Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Impl. Declaration
+//
+
+class _TAO_CORBA_ValueBoxDef_ThruPOA_Proxy_Impl :
+ public virtual ::_TAO_CORBA_ValueBoxDef_Proxy_Impl,
+ public virtual TAO_ThruPOA_Object_Proxy_Impl,
+ public virtual ::_TAO_CORBA_TypedefDef_ThruPOA_Proxy_Impl
+
+{
+public:
+ _TAO_CORBA_ValueBoxDef_ThruPOA_Proxy_Impl (void);
+
+ virtual ~_TAO_CORBA_ValueBoxDef_ThruPOA_Proxy_Impl (void) { }
+
+ virtual CORBA_IDLType_ptr original_type_def (
+ CORBA_Object *_collocated_tao_target_
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void original_type_def (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA_IDLType_ptr original_type_def
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+
+};
+
+//
+// ThruPOA Proxy Impl. Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+#include "IFR_ExtendedS_T.h"
+
+#if defined (__ACE_INLINE__)
+#include "IFR_ExtendedS.i"
+#endif /* defined INLINE */
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#if defined (__BORLANDC__)
+#pragma option pop
+#endif /* __BORLANDC__ */
+
+#include "ace/post.h"
+#endif /* ifndef */
diff --git a/TAO/orbsvcs/IFR_Service/IFR_ExtendedS.i b/TAO/orbsvcs/IFR_Service/IFR_ExtendedS.i
new file mode 100644
index 00000000000..7248973257f
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/IFR_ExtendedS.i
@@ -0,0 +1,936 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+ACE_INLINE void POA_CORBA_FixedDef::_get_type_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IDLType_ptr impl = (POA_CORBA_FixedDef_ptr) obj;
+ POA_CORBA_IDLType::_get_type_skel (
+ req,
+ (POA_CORBA_IDLType_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_FixedDef::_get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_CORBA_FixedDef_ptr) obj;
+ POA_CORBA_IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_FixedDef::destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_CORBA_FixedDef_ptr) obj;
+ POA_CORBA_IRObject::destroy_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueMemberDef::_get_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ValueMemberDef_ptr) obj;
+ POA_CORBA_Contained::_get_id_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueMemberDef::_set_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ValueMemberDef_ptr) obj;
+ POA_CORBA_Contained::_set_id_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueMemberDef::_get_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ValueMemberDef_ptr) obj;
+ POA_CORBA_Contained::_get_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueMemberDef::_set_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ValueMemberDef_ptr) obj;
+ POA_CORBA_Contained::_set_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueMemberDef::_get_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ValueMemberDef_ptr) obj;
+ POA_CORBA_Contained::_get_version_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueMemberDef::_set_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ValueMemberDef_ptr) obj;
+ POA_CORBA_Contained::_set_version_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueMemberDef::_get_defined_in_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ValueMemberDef_ptr) obj;
+ POA_CORBA_Contained::_get_defined_in_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueMemberDef::_get_absolute_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ValueMemberDef_ptr) obj;
+ POA_CORBA_Contained::_get_absolute_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueMemberDef::_get_containing_repository_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ValueMemberDef_ptr) obj;
+ POA_CORBA_Contained::_get_containing_repository_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueMemberDef::describe_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ValueMemberDef_ptr) obj;
+ POA_CORBA_Contained::describe_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueMemberDef::move_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ValueMemberDef_ptr) obj;
+ POA_CORBA_Contained::move_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueMemberDef::_get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_CORBA_ValueMemberDef_ptr) obj;
+ POA_CORBA_IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueMemberDef::destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_CORBA_ValueMemberDef_ptr) obj;
+ POA_CORBA_IRObject::destroy_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueDef::lookup_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_ValueDef_ptr) obj;
+ POA_CORBA_Container::lookup_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueDef::contents_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_ValueDef_ptr) obj;
+ POA_CORBA_Container::contents_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueDef::lookup_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_ValueDef_ptr) obj;
+ POA_CORBA_Container::lookup_name_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueDef::describe_contents_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_ValueDef_ptr) obj;
+ POA_CORBA_Container::describe_contents_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueDef::create_module_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_ValueDef_ptr) obj;
+ POA_CORBA_Container::create_module_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueDef::create_constant_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_ValueDef_ptr) obj;
+ POA_CORBA_Container::create_constant_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueDef::create_struct_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_ValueDef_ptr) obj;
+ POA_CORBA_Container::create_struct_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueDef::create_union_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_ValueDef_ptr) obj;
+ POA_CORBA_Container::create_union_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueDef::create_enum_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_ValueDef_ptr) obj;
+ POA_CORBA_Container::create_enum_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueDef::create_alias_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_ValueDef_ptr) obj;
+ POA_CORBA_Container::create_alias_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueDef::create_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_ValueDef_ptr) obj;
+ POA_CORBA_Container::create_interface_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueDef::create_value_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_ValueDef_ptr) obj;
+ POA_CORBA_Container::create_value_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueDef::create_value_box_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_ValueDef_ptr) obj;
+ POA_CORBA_Container::create_value_box_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueDef::create_exception_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_ValueDef_ptr) obj;
+ POA_CORBA_Container::create_exception_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueDef::create_native_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_ValueDef_ptr) obj;
+ POA_CORBA_Container::create_native_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueDef::create_abstract_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_ValueDef_ptr) obj;
+ POA_CORBA_Container::create_abstract_interface_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueDef::create_local_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Container_ptr impl = (POA_CORBA_ValueDef_ptr) obj;
+ POA_CORBA_Container::create_local_interface_skel (
+ req,
+ (POA_CORBA_Container_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueDef::_get_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ValueDef_ptr) obj;
+ POA_CORBA_Contained::_get_id_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueDef::_set_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ValueDef_ptr) obj;
+ POA_CORBA_Contained::_set_id_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueDef::_get_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ValueDef_ptr) obj;
+ POA_CORBA_Contained::_get_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueDef::_set_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ValueDef_ptr) obj;
+ POA_CORBA_Contained::_set_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueDef::_get_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ValueDef_ptr) obj;
+ POA_CORBA_Contained::_get_version_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueDef::_set_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ValueDef_ptr) obj;
+ POA_CORBA_Contained::_set_version_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueDef::_get_defined_in_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ValueDef_ptr) obj;
+ POA_CORBA_Contained::_get_defined_in_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueDef::_get_absolute_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ValueDef_ptr) obj;
+ POA_CORBA_Contained::_get_absolute_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueDef::_get_containing_repository_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ValueDef_ptr) obj;
+ POA_CORBA_Contained::_get_containing_repository_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueDef::describe_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ValueDef_ptr) obj;
+ POA_CORBA_Contained::describe_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueDef::move_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ValueDef_ptr) obj;
+ POA_CORBA_Contained::move_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueDef::_get_type_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IDLType_ptr impl = (POA_CORBA_ValueDef_ptr) obj;
+ POA_CORBA_IDLType::_get_type_skel (
+ req,
+ (POA_CORBA_IDLType_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueDef::_get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_CORBA_ValueDef_ptr) obj;
+ POA_CORBA_IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueDef::destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_CORBA_ValueDef_ptr) obj;
+ POA_CORBA_IRObject::destroy_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueBoxDef::_get_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ValueBoxDef_ptr) obj;
+ POA_CORBA_Contained::_get_id_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueBoxDef::_set_id_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ValueBoxDef_ptr) obj;
+ POA_CORBA_Contained::_set_id_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueBoxDef::_get_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ValueBoxDef_ptr) obj;
+ POA_CORBA_Contained::_get_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueBoxDef::_set_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ValueBoxDef_ptr) obj;
+ POA_CORBA_Contained::_set_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueBoxDef::_get_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ValueBoxDef_ptr) obj;
+ POA_CORBA_Contained::_get_version_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueBoxDef::_set_version_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ValueBoxDef_ptr) obj;
+ POA_CORBA_Contained::_set_version_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueBoxDef::_get_defined_in_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ValueBoxDef_ptr) obj;
+ POA_CORBA_Contained::_get_defined_in_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueBoxDef::_get_absolute_name_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ValueBoxDef_ptr) obj;
+ POA_CORBA_Contained::_get_absolute_name_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueBoxDef::_get_containing_repository_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ValueBoxDef_ptr) obj;
+ POA_CORBA_Contained::_get_containing_repository_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueBoxDef::describe_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ValueBoxDef_ptr) obj;
+ POA_CORBA_Contained::describe_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueBoxDef::move_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_Contained_ptr impl = (POA_CORBA_ValueBoxDef_ptr) obj;
+ POA_CORBA_Contained::move_skel (
+ req,
+ (POA_CORBA_Contained_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueBoxDef::_get_type_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IDLType_ptr impl = (POA_CORBA_ValueBoxDef_ptr) obj;
+ POA_CORBA_IDLType::_get_type_skel (
+ req,
+ (POA_CORBA_IDLType_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueBoxDef::_get_def_kind_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_CORBA_ValueBoxDef_ptr) obj;
+ POA_CORBA_IRObject::_get_def_kind_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+ACE_INLINE void POA_CORBA_ValueBoxDef::destroy_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context
+ ACE_ENV_ARG_DECL
+ )
+{
+ POA_CORBA_IRObject_ptr impl = (POA_CORBA_ValueBoxDef_ptr) obj;
+ POA_CORBA_IRObject::destroy_skel (
+ req,
+ (POA_CORBA_IRObject_ptr) impl,
+ context
+ ACE_ENV_ARG_PARAMETER
+ );
+}
diff --git a/TAO/orbsvcs/IFR_Service/IFR_ExtendedS_T.cpp b/TAO/orbsvcs/IFR_Service/IFR_ExtendedS_T.cpp
new file mode 100644
index 00000000000..9c3aad599bd
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/IFR_ExtendedS_T.cpp
@@ -0,0 +1,32 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+#ifndef _TAO_IDL_IFR_EXTENDEDS_T_CPP_
+#define _TAO_IDL_IFR_EXTENDEDS_T_CPP_
+
+#include "IFR_ExtendedS_T.h"
+
+#if !defined (__ACE_INLINE__)
+#include "IFR_ExtendedS_T.i"
+#endif /* !defined INLINE */
+
+
+#endif /* ifndef */
diff --git a/TAO/orbsvcs/IFR_Service/IFR_ExtendedS_T.h b/TAO/orbsvcs/IFR_Service/IFR_ExtendedS_T.h
new file mode 100644
index 00000000000..0fd833515c9
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/IFR_ExtendedS_T.h
@@ -0,0 +1,983 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+#ifndef _TAO_IDL_IFR_EXTENDEDS_T_H_
+#define _TAO_IDL_IFR_EXTENDEDS_T_H_
+
+#include "ace/pre.h"
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+#if defined (ACE_HAS_USING_KEYWORD)
+
+TAO_NAMESPACE POA_CORBA
+{
+}
+TAO_NAMESPACE_CLOSE // module CORBA
+
+// TIE class: Refer to CORBA v2.2, Section 20.34.4
+template <class T>
+class POA_CORBA_FixedDef_tie : public POA_CORBA_FixedDef
+{
+public:
+ POA_CORBA_FixedDef_tie (T &t);
+ // the T& ctor
+ POA_CORBA_FixedDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ POA_CORBA_FixedDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ POA_CORBA_FixedDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~POA_CORBA_FixedDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+ CORBA::UShort digits (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void digits (
+ CORBA::UShort digits
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::Short scale (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void scale (
+ CORBA::Short scale
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::TypeCode_ptr type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ POA_CORBA_FixedDef_tie (const POA_CORBA_FixedDef_tie &);
+ void operator= (const POA_CORBA_FixedDef_tie &);
+};
+
+// TIE class: Refer to CORBA v2.2, Section 20.34.4
+template <class T>
+class POA_CORBA_ValueMemberDef_tie : public POA_CORBA_ValueMemberDef
+{
+public:
+ POA_CORBA_ValueMemberDef_tie (T &t);
+ // the T& ctor
+ POA_CORBA_ValueMemberDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ POA_CORBA_ValueMemberDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ POA_CORBA_ValueMemberDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~POA_CORBA_ValueMemberDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+ CORBA::TypeCode_ptr type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_IDLType_ptr type_def (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void type_def (
+ CORBA_IDLType_ptr type_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::Visibility access (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void access (
+ CORBA::Visibility access
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * id (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void id (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void name (
+ const char * name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * version (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void version (
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Container_ptr defined_in (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Repository_ptr containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Contained::Description * describe (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ POA_CORBA_ValueMemberDef_tie (const POA_CORBA_ValueMemberDef_tie &);
+ void operator= (const POA_CORBA_ValueMemberDef_tie &);
+};
+
+// TIE class: Refer to CORBA v2.2, Section 20.34.4
+template <class T>
+class POA_CORBA_ValueDef_tie : public POA_CORBA_ValueDef
+{
+public:
+ POA_CORBA_ValueDef_tie (T &t);
+ // the T& ctor
+ POA_CORBA_ValueDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ POA_CORBA_ValueDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ POA_CORBA_ValueDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~POA_CORBA_ValueDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+ CORBA_InterfaceDefSeq * supported_interfaces (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void supported_interfaces (
+ const CORBA_InterfaceDefSeq & supported_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_InitializerSeq * initializers (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void initializers (
+ const CORBA_InitializerSeq & initializers
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ValueDef_ptr base_value (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void base_value (
+ CORBA_ValueDef_ptr base_value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ValueDefSeq * abstract_base_values (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void abstract_base_values (
+ const CORBA_ValueDefSeq & abstract_base_values
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::Boolean is_abstract (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void is_abstract (
+ CORBA::Boolean is_abstract
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::Boolean is_custom (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void is_custom (
+ CORBA::Boolean is_custom
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::Boolean is_truncatable (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void is_truncatable (
+ CORBA::Boolean is_truncatable
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::Boolean is_a (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ValueDef::FullValueDescription * describe_value (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ValueMemberDef_ptr create_value_member (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ CORBA::Visibility access
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_AttributeDef_ptr create_attribute (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ CORBA::AttributeMode mode
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_OperationDef_ptr create_operation (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr result,
+ CORBA::OperationMode mode,
+ const CORBA_ParDescriptionSeq & params,
+ const CORBA_ExceptionDefSeq & exceptions,
+ const CORBA_ContextIdSeq & contexts
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Contained_ptr lookup (
+ const char * search_name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ContainedSeq * contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ContainedSeq * lookup_name (
+ const char * search_name,
+ CORBA::Long levels_to_search,
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Container::DescriptionSeq * describe_contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ModuleDef_ptr create_module (
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ConstantDef_ptr create_constant (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ const CORBA::Any & value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_StructDef_ptr create_struct (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_UnionDef_ptr create_union (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr discriminator_type,
+ const CORBA_UnionMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_EnumDef_ptr create_enum (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_EnumMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_AliasDef_ptr create_alias (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_InterfaceDef_ptr create_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ValueDef_ptr create_value (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ CORBA_ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const CORBA_ValueDefSeq & abstract_base_values,
+ const CORBA_InterfaceDefSeq & supported_interfaces,
+ const CORBA_InitializerSeq & initializers
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ValueBoxDef_ptr create_value_box (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_ExceptionDef_ptr create_exception (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_NativeDef_ptr create_native (
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_AbstractInterfaceDef_ptr create_abstract_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_AbstractInterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_LocalInterfaceDef_ptr create_local_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * id (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void id (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void name (
+ const char * name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * version (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void version (
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Container_ptr defined_in (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Repository_ptr containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Contained::Description * describe (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::TypeCode_ptr type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ POA_CORBA_ValueDef_tie (const POA_CORBA_ValueDef_tie &);
+ void operator= (const POA_CORBA_ValueDef_tie &);
+};
+
+// TIE class: Refer to CORBA v2.2, Section 20.34.4
+template <class T>
+class POA_CORBA_ValueBoxDef_tie : public POA_CORBA_ValueBoxDef
+{
+public:
+ POA_CORBA_ValueBoxDef_tie (T &t);
+ // the T& ctor
+ POA_CORBA_ValueBoxDef_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ POA_CORBA_ValueBoxDef_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ POA_CORBA_ValueBoxDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~POA_CORBA_ValueBoxDef_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, CORBA::Boolean release=1);
+ // set the underlying object and the ownership flag
+ CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner (CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+
+ CORBA_IDLType_ptr original_type_def (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void original_type_def (
+ CORBA_IDLType_ptr original_type_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * id (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void id (
+ const char * id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void name (
+ const char * name
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * version (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void version (
+ const char * version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Container_ptr defined_in (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ char * absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Repository_ptr containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA_Contained::Description * describe (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::TypeCode_ptr type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ POA_CORBA_ValueBoxDef_tie (const POA_CORBA_ValueBoxDef_tie &);
+ void operator= (const POA_CORBA_ValueBoxDef_tie &);
+};
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+#if defined (__ACE_INLINE__)
+#include "IFR_ExtendedS_T.i"
+#endif /* defined INLINE */
+
+
+#if defined (ACE_TEMPLATES_REQUIRE_SOURCE)
+#include "IFR_ExtendedS_T.cpp"
+#endif /* defined REQUIRED SOURCE */
+
+
+#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA)
+#pragma implementation ("IFR_ExtendedS_T.cpp")
+#endif /* defined REQUIRED PRAGMA */
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#include "ace/post.h"
+#endif /* ifndef */
diff --git a/TAO/orbsvcs/IFR_Service/IFR_ExtendedS_T.i b/TAO/orbsvcs/IFR_Service/IFR_ExtendedS_T.i
new file mode 100644
index 00000000000..362bd1e0da5
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/IFR_ExtendedS_T.i
@@ -0,0 +1,1749 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+#if defined (ACE_HAS_USING_KEYWORD)
+
+template <class T> ACE_INLINE
+POA_CORBA_FixedDef_tie<T>::POA_CORBA_FixedDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_FixedDef_tie<T>::POA_CORBA_FixedDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_FixedDef_tie<T>::POA_CORBA_FixedDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_FixedDef_tie<T>::POA_CORBA_FixedDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_FixedDef_tie<T>::~POA_CORBA_FixedDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_CORBA_FixedDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_FixedDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_FixedDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_CORBA_FixedDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_FixedDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_CORBA_FixedDef_tie<T>::_default_POA (ACE_ENV_SINGLE_ARG_DECL)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->POA_CORBA_FixedDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+template <class T> ACE_INLINE
+CORBA::UShort POA_CORBA_FixedDef_tie<T>::digits (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->digits (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_FixedDef_tie<T>::digits (
+ CORBA::UShort digits
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->digits (
+digits
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::Short POA_CORBA_FixedDef_tie<T>::scale (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->scale (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_FixedDef_tie<T>::scale (
+ CORBA::Short scale
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->scale (
+scale
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_CORBA_FixedDef_tie<T>::type (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->type (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::DefinitionKind POA_CORBA_FixedDef_tie<T>::def_kind (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_FixedDef_tie<T>::destroy (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+POA_CORBA_ValueMemberDef_tie<T>::POA_CORBA_ValueMemberDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_ValueMemberDef_tie<T>::POA_CORBA_ValueMemberDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_ValueMemberDef_tie<T>::POA_CORBA_ValueMemberDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_ValueMemberDef_tie<T>::POA_CORBA_ValueMemberDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_ValueMemberDef_tie<T>::~POA_CORBA_ValueMemberDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_CORBA_ValueMemberDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_ValueMemberDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_ValueMemberDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_CORBA_ValueMemberDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_ValueMemberDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_CORBA_ValueMemberDef_tie<T>::_default_POA (ACE_ENV_SINGLE_ARG_DECL)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->POA_CORBA_ValueMemberDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_CORBA_ValueMemberDef_tie<T>::type (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->type (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_IDLType_ptr POA_CORBA_ValueMemberDef_tie<T>::type_def (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->type_def (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_ValueMemberDef_tie<T>::type_def (
+ CORBA_IDLType_ptr type_def
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->type_def (
+type_def
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::Visibility POA_CORBA_ValueMemberDef_tie<T>::access (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->access (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_ValueMemberDef_tie<T>::access (
+ CORBA::Visibility access
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->access (
+access
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_ValueMemberDef_tie<T>::id (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->id (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_ValueMemberDef_tie<T>::id (
+ const char * id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->id (
+id
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_ValueMemberDef_tie<T>::name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_ValueMemberDef_tie<T>::name (
+ const char * name
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->name (
+name
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_ValueMemberDef_tie<T>::version (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->version (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_ValueMemberDef_tie<T>::version (
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->version (
+version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Container_ptr POA_CORBA_ValueMemberDef_tie<T>::defined_in (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->defined_in (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_ValueMemberDef_tie<T>::absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->absolute_name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Repository_ptr POA_CORBA_ValueMemberDef_tie<T>::containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->containing_repository (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Contained::Description * POA_CORBA_ValueMemberDef_tie<T>::describe (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_ValueMemberDef_tie<T>::move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->move (
+new_container,
+ new_name,
+ new_version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::DefinitionKind POA_CORBA_ValueMemberDef_tie<T>::def_kind (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_ValueMemberDef_tie<T>::destroy (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+POA_CORBA_ValueDef_tie<T>::POA_CORBA_ValueDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_ValueDef_tie<T>::POA_CORBA_ValueDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_ValueDef_tie<T>::POA_CORBA_ValueDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_ValueDef_tie<T>::POA_CORBA_ValueDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_ValueDef_tie<T>::~POA_CORBA_ValueDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_CORBA_ValueDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_ValueDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_ValueDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_CORBA_ValueDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_ValueDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_CORBA_ValueDef_tie<T>::_default_POA (ACE_ENV_SINGLE_ARG_DECL)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->POA_CORBA_ValueDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+template <class T> ACE_INLINE
+CORBA_InterfaceDefSeq * POA_CORBA_ValueDef_tie<T>::supported_interfaces (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->supported_interfaces (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_ValueDef_tie<T>::supported_interfaces (
+ const CORBA_InterfaceDefSeq & supported_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->supported_interfaces (
+supported_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_InitializerSeq * POA_CORBA_ValueDef_tie<T>::initializers (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->initializers (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_ValueDef_tie<T>::initializers (
+ const CORBA_InitializerSeq & initializers
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->initializers (
+initializers
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ValueDef_ptr POA_CORBA_ValueDef_tie<T>::base_value (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->base_value (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_ValueDef_tie<T>::base_value (
+ CORBA_ValueDef_ptr base_value
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->base_value (
+base_value
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ValueDefSeq * POA_CORBA_ValueDef_tie<T>::abstract_base_values (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->abstract_base_values (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_ValueDef_tie<T>::abstract_base_values (
+ const CORBA_ValueDefSeq & abstract_base_values
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->abstract_base_values (
+abstract_base_values
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::Boolean POA_CORBA_ValueDef_tie<T>::is_abstract (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->is_abstract (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_ValueDef_tie<T>::is_abstract (
+ CORBA::Boolean is_abstract
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->is_abstract (
+is_abstract
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::Boolean POA_CORBA_ValueDef_tie<T>::is_custom (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->is_custom (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_ValueDef_tie<T>::is_custom (
+ CORBA::Boolean is_custom
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->is_custom (
+is_custom
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::Boolean POA_CORBA_ValueDef_tie<T>::is_truncatable (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->is_truncatable (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_ValueDef_tie<T>::is_truncatable (
+ CORBA::Boolean is_truncatable
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->is_truncatable (
+is_truncatable
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::Boolean POA_CORBA_ValueDef_tie<T>::is_a (
+ const char * id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->is_a (
+id
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ValueDef::FullValueDescription * POA_CORBA_ValueDef_tie<T>::describe_value (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe_value (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ValueMemberDef_ptr POA_CORBA_ValueDef_tie<T>::create_value_member (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ CORBA::Visibility access
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_value_member (
+id,
+ name,
+ version,
+ type,
+ access
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_AttributeDef_ptr POA_CORBA_ValueDef_tie<T>::create_attribute (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ CORBA::AttributeMode mode
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_attribute (
+id,
+ name,
+ version,
+ type,
+ mode
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_OperationDef_ptr POA_CORBA_ValueDef_tie<T>::create_operation (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr result,
+ CORBA::OperationMode mode,
+ const CORBA_ParDescriptionSeq & params,
+ const CORBA_ExceptionDefSeq & exceptions,
+ const CORBA_ContextIdSeq & contexts
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_operation (
+id,
+ name,
+ version,
+ result,
+ mode,
+ params,
+ exceptions,
+ contexts
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Contained_ptr POA_CORBA_ValueDef_tie<T>::lookup (
+ const char * search_name
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->lookup (
+search_name
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ContainedSeq * POA_CORBA_ValueDef_tie<T>::contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->contents (
+limit_type,
+ exclude_inherited
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ContainedSeq * POA_CORBA_ValueDef_tie<T>::lookup_name (
+ const char * search_name,
+ CORBA::Long levels_to_search,
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->lookup_name (
+search_name,
+ levels_to_search,
+ limit_type,
+ exclude_inherited
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Container::DescriptionSeq * POA_CORBA_ValueDef_tie<T>::describe_contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Long max_returned_objs
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe_contents (
+limit_type,
+ exclude_inherited,
+ max_returned_objs
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ModuleDef_ptr POA_CORBA_ValueDef_tie<T>::create_module (
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_module (
+id,
+ name,
+ version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ConstantDef_ptr POA_CORBA_ValueDef_tie<T>::create_constant (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr type,
+ const CORBA::Any & value
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_constant (
+id,
+ name,
+ version,
+ type,
+ value
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_StructDef_ptr POA_CORBA_ValueDef_tie<T>::create_struct (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_struct (
+id,
+ name,
+ version,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_UnionDef_ptr POA_CORBA_ValueDef_tie<T>::create_union (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr discriminator_type,
+ const CORBA_UnionMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_union (
+id,
+ name,
+ version,
+ discriminator_type,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_EnumDef_ptr POA_CORBA_ValueDef_tie<T>::create_enum (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_EnumMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_enum (
+id,
+ name,
+ version,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_AliasDef_ptr POA_CORBA_ValueDef_tie<T>::create_alias (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_alias (
+id,
+ name,
+ version,
+ original_type
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_InterfaceDef_ptr POA_CORBA_ValueDef_tie<T>::create_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_interface (
+id,
+ name,
+ version,
+ base_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ValueDef_ptr POA_CORBA_ValueDef_tie<T>::create_value (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ CORBA_ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const CORBA_ValueDefSeq & abstract_base_values,
+ const CORBA_InterfaceDefSeq & supported_interfaces,
+ const CORBA_InitializerSeq & initializers
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_value (
+id,
+ name,
+ version,
+ is_custom,
+ is_abstract,
+ base_value,
+ is_truncatable,
+ abstract_base_values,
+ supported_interfaces,
+ initializers
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ValueBoxDef_ptr POA_CORBA_ValueDef_tie<T>::create_value_box (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA_IDLType_ptr original_type_def
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_value_box (
+id,
+ name,
+ version,
+ original_type_def
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_ExceptionDef_ptr POA_CORBA_ValueDef_tie<T>::create_exception (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_StructMemberSeq & members
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_exception (
+id,
+ name,
+ version,
+ members
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_NativeDef_ptr POA_CORBA_ValueDef_tie<T>::create_native (
+ const char * id,
+ const char * name,
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_native (
+id,
+ name,
+ version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_AbstractInterfaceDef_ptr POA_CORBA_ValueDef_tie<T>::create_abstract_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_AbstractInterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_abstract_interface (
+id,
+ name,
+ version,
+ base_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_LocalInterfaceDef_ptr POA_CORBA_ValueDef_tie<T>::create_local_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA_InterfaceDefSeq & base_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->create_local_interface (
+id,
+ name,
+ version,
+ base_interfaces
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_ValueDef_tie<T>::id (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->id (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_ValueDef_tie<T>::id (
+ const char * id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->id (
+id
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_ValueDef_tie<T>::name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_ValueDef_tie<T>::name (
+ const char * name
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->name (
+name
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_ValueDef_tie<T>::version (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->version (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_ValueDef_tie<T>::version (
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->version (
+version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Container_ptr POA_CORBA_ValueDef_tie<T>::defined_in (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->defined_in (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_ValueDef_tie<T>::absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->absolute_name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Repository_ptr POA_CORBA_ValueDef_tie<T>::containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->containing_repository (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Contained::Description * POA_CORBA_ValueDef_tie<T>::describe (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_ValueDef_tie<T>::move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->move (
+new_container,
+ new_name,
+ new_version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_CORBA_ValueDef_tie<T>::type (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->type (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::DefinitionKind POA_CORBA_ValueDef_tie<T>::def_kind (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_ValueDef_tie<T>::destroy (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+POA_CORBA_ValueBoxDef_tie<T>::POA_CORBA_ValueBoxDef_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_ValueBoxDef_tie<T>::POA_CORBA_ValueBoxDef_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_ValueBoxDef_tie<T>::POA_CORBA_ValueBoxDef_tie (T *tp, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_ValueBoxDef_tie<T>::POA_CORBA_ValueBoxDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_CORBA_ValueBoxDef_tie<T>::~POA_CORBA_ValueBoxDef_tie (void)
+{
+ if (this->rel_) delete this->ptr_;
+}
+
+template <class T> ACE_INLINE T *
+POA_CORBA_ValueBoxDef_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_ValueBoxDef_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_ValueBoxDef_tie<T>::_tied_object (T *obj, CORBA::Boolean release)
+{
+ if (this->rel_) delete this->ptr_;
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE CORBA::Boolean
+POA_CORBA_ValueBoxDef_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_CORBA_ValueBoxDef_tie<T>::_is_owner (CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_CORBA_ValueBoxDef_tie<T>::_default_POA (ACE_ENV_SINGLE_ARG_DECL)
+{
+ if (!CORBA::is_nil (this->poa_.in ()))
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+
+ return this->POA_CORBA_ValueBoxDef::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+template <class T> ACE_INLINE
+CORBA_IDLType_ptr POA_CORBA_ValueBoxDef_tie<T>::original_type_def (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->original_type_def (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_ValueBoxDef_tie<T>::original_type_def (
+ CORBA_IDLType_ptr original_type_def
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->original_type_def (
+original_type_def
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_ValueBoxDef_tie<T>::id (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->id (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_ValueBoxDef_tie<T>::id (
+ const char * id
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->id (
+id
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_ValueBoxDef_tie<T>::name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_ValueBoxDef_tie<T>::name (
+ const char * name
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->name (
+name
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_ValueBoxDef_tie<T>::version (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->version (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_ValueBoxDef_tie<T>::version (
+ const char * version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->version (
+version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Container_ptr POA_CORBA_ValueBoxDef_tie<T>::defined_in (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->defined_in (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+char * POA_CORBA_ValueBoxDef_tie<T>::absolute_name (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->absolute_name (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Repository_ptr POA_CORBA_ValueBoxDef_tie<T>::containing_repository (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->containing_repository (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA_Contained::Description * POA_CORBA_ValueBoxDef_tie<T>::describe (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->describe (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_ValueBoxDef_tie<T>::move (
+ CORBA_Container_ptr new_container,
+ const char * new_name,
+ const char * new_version
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->move (
+new_container,
+ new_name,
+ new_version
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::TypeCode_ptr POA_CORBA_ValueBoxDef_tie<T>::type (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->type (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+CORBA::DefinitionKind POA_CORBA_ValueBoxDef_tie<T>::def_kind (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ return this->ptr_->def_kind (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+template <class T> ACE_INLINE
+void POA_CORBA_ValueBoxDef_tie<T>::destroy (
+ ACE_ENV_SINGLE_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ this->ptr_->destroy (
+ ACE_ENV_SINGLE_ARG_PARAMETER
+ );
+}
+
+#endif /* ACE_HAS_USING_KEYWORD */
diff --git a/TAO/orbsvcs/IFR_Service/IFR_macro.h b/TAO/orbsvcs/IFR_Service/IFR_macro.h
new file mode 100644
index 00000000000..65ebef3fc7a
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/IFR_macro.h
@@ -0,0 +1,46 @@
+/* -*- C++ -*- */
+// $Id$
+
+#ifndef TAO_IFR_MACROS_H
+#define TAO_IFR_MACROS_H
+#include "ace/pre.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#define TAO_IFR_WRITE_GUARD \
+ ACE_WRITE_GUARD_THROW_EX (ACE_Lock, \
+ monitor, \
+ this->repo_->lock (), \
+ CORBA::INTERNAL ( \
+ CORBA_SystemException::_tao_minor_code ( \
+ TAO_GUARD_FAILURE, \
+ 0), \
+ CORBA::COMPLETED_NO)); \
+ ACE_CHECK
+
+#define TAO_IFR_WRITE_GUARD_RETURN(RETURN) \
+ ACE_WRITE_GUARD_THROW_EX (ACE_Lock, \
+ monitor, \
+ this->repo_->lock (), \
+ CORBA::INTERNAL ( \
+ CORBA_SystemException::_tao_minor_code ( \
+ TAO_GUARD_FAILURE, \
+ 0), \
+ CORBA::COMPLETED_NO)); \
+ ACE_CHECK_RETURN (RETURN)
+
+#define TAO_IFR_READ_GUARD_RETURN(RETURN) \
+ ACE_READ_GUARD_THROW_EX (ACE_Lock, \
+ monitor, \
+ this->repo_->lock (), \
+ CORBA::INTERNAL ( \
+ CORBA_SystemException::_tao_minor_code ( \
+ TAO_GUARD_FAILURE, \
+ 0), \
+ CORBA::COMPLETED_NO)); \
+ ACE_CHECK_RETURN (RETURN)
+
+#include "ace/post.h"
+#endif /* TAO_IFR_MACROS_H */
diff --git a/TAO/orbsvcs/IFR_Service/IRObject_i.cpp b/TAO/orbsvcs/IFR_Service/IRObject_i.cpp
new file mode 100644
index 00000000000..3abb5555646
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/IRObject_i.cpp
@@ -0,0 +1,28 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "IRObject_i.h"
+
+ACE_RCSID(IFR_Service, IRObject_i, "$Id$")
+
+TAO_IRObject_i::TAO_IRObject_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key)
+ : repo_ (repo),
+ section_key_ (section_key)
+{
+}
+
+TAO_IRObject_i::~TAO_IRObject_i (void)
+{
+}
+
+char *
+TAO_IRObject_i::int_to_string (CORBA::ULong number) const
+{
+ char retval[9];
+
+ ACE_OS::sprintf (retval, "%8.8X", number);
+
+ return CORBA::string_dup (retval);
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/IRObject_i.h b/TAO/orbsvcs/IFR_Service/IRObject_i.h
new file mode 100644
index 00000000000..45ade535476
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/IRObject_i.h
@@ -0,0 +1,88 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// IRObject_i.h
+//
+// = DESCRIPTION
+// IRObject servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_IROBJECT_I_H
+#define TAO_IROBJECT_I_H
+
+#include "IFR_ExtendedS.h"
+#include "ace/Configuration.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_Repository_i;
+
+class TAO_IRObject_i : public POA_CORBA_IRObject
+{
+ // = TITLE
+ // TAO_IRObject_i
+ //
+ // = DESCRIPTION
+ // Abstract base class for all IR object types.
+ //
+public:
+ TAO_IRObject_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor.
+
+ virtual ~TAO_IRObject_i (void);
+ // Destructor.
+
+ virtual CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException)) = 0;
+ // Pure virtual.
+
+ virtual void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException)) = 0;
+ // Pure virtual.
+
+ virtual void destroy_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException)) = 0;
+ // Pure virtual- the unlocked version called by destroy() wrapper.
+
+protected:
+ char *int_to_string (CORBA::ULong number) const;
+ // Convert an unsigned int to a string of its hex form.
+
+ TAO_Repository_i *repo_;
+ // Pointer to the repository we were constructed from.
+
+ ACE_Configuration_Section_Key section_key_;
+ // Our ACE_Configuration section key.
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_IROBJECT_I_H */
diff --git a/TAO/orbsvcs/IFR_Service/InterfaceDef_i.cpp b/TAO/orbsvcs/IFR_Service/InterfaceDef_i.cpp
new file mode 100644
index 00000000000..af7eceb62cc
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/InterfaceDef_i.cpp
@@ -0,0 +1,1396 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "InterfaceDef_i.h"
+#include "Repository_i.h"
+#include "AttributeDef_i.h"
+#include "OperationDef_i.h"
+#include "Servant_Factory.h"
+
+ACE_RCSID(IFR_Service, InterfaceDef_i, "$Id$")
+
+TAO_InterfaceDef_i::TAO_InterfaceDef_i (
+ TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key
+ )
+ : TAO_IRObject_i (repo, section_key),
+ TAO_Container_i (repo, section_key),
+ TAO_Contained_i (repo, section_key),
+ TAO_IDLType_i (repo, section_key)
+{
+}
+
+TAO_InterfaceDef_i::~TAO_InterfaceDef_i (void)
+{
+}
+
+CORBA::DefinitionKind
+TAO_InterfaceDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return CORBA::dk_Interface;
+}
+
+void
+TAO_InterfaceDef_i::destroy (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+void
+TAO_InterfaceDef_i::destroy_i (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Destroy our members.
+ TAO_Container_i::destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ // This will get rid of the repo ids, which Contained_i::destroy()'s
+ // call to remove_section (recursive = 1) will not get, and also
+ // destroy the attribute's anonymous type, if any.
+ this->destroy_special ("attrs" ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+ this->destroy_special ("ops" ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ // Destroy ourself.
+ TAO_Contained_i::destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+}
+
+CORBA_Contained::Description *
+TAO_InterfaceDef_i::describe (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->describe_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA_Contained::Description *
+TAO_InterfaceDef_i::describe_i (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA_Contained::Description *desc_ptr = 0;
+ ACE_NEW_THROW_EX (desc_ptr,
+ CORBA_Contained::Description,
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ CORBA_Contained::Description_var retval = desc_ptr;
+
+ retval->kind = this->def_kind (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA_InterfaceDescription ifd;
+
+ ifd.name = this->name_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ ifd.id = this->id_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ ACE_TString container_id;
+
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "container_id",
+ container_id);
+
+ ifd.defined_in = container_id.c_str ();
+
+ ifd.version = this->version_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::ULong i = 0;
+ CORBA_InterfaceDefSeq_var bases = this->base_interfaces_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::ULong length = bases->length ();
+
+ CORBA_RepositoryIdSeq repo_ids (length);
+
+ repo_ids.length (length);
+
+ PortableServer::ObjectId_var oid;
+ CORBA::String_var base_path;
+ ACE_Configuration_Section_Key base_key;
+
+ for (i = 0; i < length; ++i)
+ {
+ oid =
+ this->repo_->ir_poa ()->reference_to_id (bases[i]
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ base_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ base_path.in (),
+ base_key,
+ 0);
+
+ TAO_InterfaceDef_i impl (this->repo_,
+ base_key);
+
+ repo_ids[i] = impl.id_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+ }
+
+ ifd.base_interfaces = repo_ids;
+
+ retval->value <<= ifd;
+
+ return retval._retn ();
+}
+
+CORBA::TypeCode_ptr
+TAO_InterfaceDef_i::type (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (CORBA::TypeCode::_nil ());
+
+ return this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA::TypeCode_ptr
+TAO_InterfaceDef_i::type_i (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString id;
+
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "id",
+ id);
+
+ ACE_TString name;
+
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "name",
+ name);
+
+ return this->repo_->tc_factory ()->create_interface_tc (id.c_str (),
+ name.c_str ()
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA_InterfaceDefSeq *
+TAO_InterfaceDef_i::base_interfaces (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->base_interfaces_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA_InterfaceDefSeq *
+TAO_InterfaceDef_i::base_interfaces_i (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_Unbounded_Queue<CORBA::DefinitionKind> kind_queue;
+ ACE_Unbounded_Queue<ACE_TString> path_queue;
+
+ this->base_interfaces_recursive (kind_queue,
+ path_queue);
+
+ size_t size = kind_queue.size ();
+
+ CORBA_InterfaceDefSeq *seq = 0;
+ ACE_NEW_THROW_EX (seq,
+ CORBA_InterfaceDefSeq (size),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ seq->length (size);
+ CORBA_InterfaceDefSeq_var retval = seq;
+
+ for (CORBA::ULong i = 0; i < size; ++i)
+ {
+ CORBA::DefinitionKind def_kind;
+ kind_queue.dequeue_head (def_kind);
+
+ ACE_TString path;
+ path_queue.dequeue_head (path);
+
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (
+ def_kind,
+ path.c_str ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (0);
+
+ retval[i] = CORBA_InterfaceDef::_narrow (obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+ }
+
+ return retval._retn ();
+}
+
+void
+TAO_InterfaceDef_i::base_interfaces (const CORBA_InterfaceDefSeq &base_interfaces
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->base_interfaces_i (base_interfaces
+ ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_InterfaceDef_i::base_interfaces_i (const CORBA_InterfaceDefSeq &base_interfaces
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // If we are an abstract interface, all our base interfaces must be
+ // abstract as well.
+ CORBA::DefinitionKind def_kind = this->def_kind (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ if (def_kind == CORBA::dk_AbstractInterface)
+ {
+ CORBA::ULong length = base_interfaces.length ();
+
+ for (CORBA::ULong i = 0; i < length; ++i)
+ {
+ def_kind = base_interfaces[i]->def_kind (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ if (def_kind != CORBA::dk_AbstractInterface)
+ {
+ ACE_THROW (CORBA::BAD_PARAM (11,
+ CORBA::COMPLETED_NO));
+ }
+ }
+ }
+
+ // Remove the old base interfaces.
+ this->repo_->config ()->remove_section (this->section_key_,
+ "inherited",
+ 0);
+
+ CORBA::ULong length = base_interfaces.length ();
+
+ ACE_Configuration_Section_Key inherited_key;
+
+ this->repo_->config ()->open_section (this->section_key_,
+ "inherited",
+ 1,
+ inherited_key);
+
+ CORBA::String_var name, inherited_path, section_name;
+ PortableServer::ObjectId_var oid;
+ ACE_Configuration_Section_Key base_key;
+
+ for (CORBA::ULong i = 0; i < length; i++)
+ {
+ oid =
+ this->repo_->ir_poa ()->reference_to_id (base_interfaces[i]
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ inherited_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ inherited_path.in (),
+ base_key,
+ 0);
+
+ TAO_InterfaceDef_i impl (this->repo_,
+ base_key);
+
+ name = impl.name_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ // None of these names can clash with any we may already have.
+ if (TAO_Container_i::name_exists (name.in ()))
+ return;
+
+ section_name = this->int_to_string (i);
+
+ this->repo_->config ()->set_string_value (inherited_key,
+ section_name.in (),
+ inherited_path.in ());
+ }
+}
+
+CORBA::Boolean
+TAO_InterfaceDef_i::is_a (const char *interface_id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->is_a_i (interface_id
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA::Boolean
+TAO_InterfaceDef_i::is_a_i (const char *interface_id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ if (ACE_OS::strcmp (interface_id, "IDL:omg.org/CORBA/Object:1.0") == 0)
+ {
+ return 1;
+ }
+
+ CORBA::String_var id = this->id_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ // Is it our type?
+ if (ACE_OS::strcmp (id.in (), interface_id) == 0)
+ return 1;
+
+ // Is it one of our ancestors' types?
+ CORBA_InterfaceDefSeq_var bases = this->base_interfaces_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::ULong length = bases->length ();
+
+ PortableServer::ObjectId_var oid;
+ CORBA::String_var base_path;
+ ACE_Configuration_Section_Key base_key;
+
+ for (CORBA::ULong i = 0; i < length; i++)
+ {
+ oid =
+ this->repo_->ir_poa ()->reference_to_id (bases[i]
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ base_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ base_path.in (),
+ base_key,
+ 0);
+
+ TAO_InterfaceDef_i impl (this->repo_,
+ base_key);
+
+ CORBA::Boolean success = impl.is_a_i (interface_id
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ if (success == 1)
+ return 1;
+ }
+
+ return 0;
+}
+
+CORBA_InterfaceDef::FullInterfaceDescription *
+TAO_InterfaceDef_i::describe_interface (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->describe_interface_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA_InterfaceDef::FullInterfaceDescription *
+TAO_InterfaceDef_i::describe_interface_i (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA_InterfaceDef::FullInterfaceDescription *fifd = 0;
+ ACE_NEW_RETURN (fifd,
+ CORBA_InterfaceDef::FullInterfaceDescription,
+ 0);
+
+ CORBA_InterfaceDef::FullInterfaceDescription_var retval = fifd;
+
+ fifd->name = this->name_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ fifd->id = this->id_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ ACE_TString container_id;
+
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "container_id",
+ container_id);
+
+ fifd->defined_in = container_id.c_str ();
+
+ fifd->version = this->version_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::ULong i = 0;
+ ACE_TString section_name;
+ ACE_Unbounded_Queue<ACE_Configuration_Section_Key> key_queue;
+
+ // Operations
+ this->inherited_operations (key_queue);
+
+ ACE_Configuration_Section_Key ops_key;
+ int status =
+ this->repo_->config ()->open_section (this->section_key_,
+ "ops",
+ 0,
+ ops_key);
+
+ u_int count = 0;
+
+ if (status == 0)
+ {
+ this->repo_->config ()->get_integer_value (ops_key,
+ "count",
+ count);
+
+ for (u_int j = 0; j < count; ++j)
+ {
+ ACE_Configuration_Section_Key op_key;
+ CORBA::String_var section_name = this->int_to_string (j);
+ status =
+ this->repo_->config ()->open_section (ops_key,
+ section_name.in (),
+ 0,
+ op_key);
+
+ if (status == 0)
+ key_queue.enqueue_tail (op_key);
+ }
+ }
+
+ size_t size = key_queue.size ();
+ fifd->operations.length (size);
+
+ for (i = 0; i < size; ++i)
+ {
+ ACE_Configuration_Section_Key key;
+ key_queue.dequeue_head (key);
+
+ TAO_OperationDef_i op (this->repo_,
+ key);
+
+ fifd->operations[i] = op.make_description (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+ }
+
+ // Attributes
+ this->inherited_attributes (key_queue);
+
+ ACE_Configuration_Section_Key attrs_key;
+ status =
+ this->repo_->config ()->open_section (this->section_key_,
+ "attrs",
+ 0,
+ attrs_key);
+
+ count = 0;
+
+ if (status == 0)
+ {
+ this->repo_->config ()->get_integer_value (attrs_key,
+ "count",
+ count);
+
+ for (u_int j = 0; j < count; ++j)
+ {
+ ACE_Configuration_Section_Key attr_key;
+ CORBA::String_var section_name = this->int_to_string (j);
+ status =
+ this->repo_->config ()->open_section (attrs_key,
+ section_name.in (),
+ 0,
+ attr_key);
+
+ if (status == 0)
+ key_queue.enqueue_tail (attr_key);
+ }
+ }
+
+ size = key_queue.size ();
+ fifd->attributes.length (size);
+
+ for (i = 0; i < size; ++i)
+ {
+ ACE_Configuration_Section_Key key;
+ key_queue.dequeue_head (key);
+
+ TAO_AttributeDef_i attr (this->repo_,
+ key);
+
+ fifd->attributes[i] = attr.make_description (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+ }
+
+ CORBA_InterfaceDefSeq_var bases = this->base_interfaces_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::ULong length = bases->length ();
+
+ CORBA_RepositoryIdSeq repo_ids (length);
+
+ repo_ids.length (length);
+
+ PortableServer::ObjectId_var oid;
+ CORBA::String_var base_path;
+ ACE_Configuration_Section_Key base_key;
+
+ for (i = 0; i < length; ++i)
+ {
+ oid =
+ this->repo_->ir_poa ()->reference_to_id (bases[i]
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ base_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ base_path.in (),
+ base_key,
+ 0);
+
+ TAO_InterfaceDef_i impl (this->repo_,
+ base_key);
+
+ repo_ids[i] = impl.id_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+ }
+
+ fifd->base_interfaces = repo_ids;
+
+ fifd->type = this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return retval._retn ();
+}
+
+CORBA_AttributeDef_ptr
+TAO_InterfaceDef_i::create_attribute (
+ const char *id,
+ const char *name,
+ const char *version,
+ CORBA_IDLType_ptr type,
+ CORBA::AttributeMode mode
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD_RETURN (CORBA_AttributeDef::_nil ());
+
+ return this->create_attribute_i (id,
+ name,
+ version,
+ type,
+ mode
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA_AttributeDef_ptr
+TAO_InterfaceDef_i::create_attribute_i (
+ const char *id,
+ const char *name,
+ const char *version,
+ CORBA_IDLType_ptr type,
+ CORBA::AttributeMode mode
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA::Boolean bad_params = this->pre_exist (id,
+ name
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_AttributeDef::_nil ());
+
+ if (bad_params)
+ return CORBA_AttributeDef::_nil ();
+
+ bad_params = this->check_inherited_attrs (name
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_AttributeDef::_nil ());
+
+ if (bad_params)
+ return CORBA_AttributeDef::_nil ();
+
+ ACE_Configuration_Section_Key attrs_key;
+
+ // Create/open section for attributes.
+ this->repo_->config ()->open_section (this->section_key_,
+ "attrs",
+ 1,
+ attrs_key);
+
+ ACE_Configuration_Section_Key new_key;
+
+ // Common to all IR objects created in CORBA_Container.
+ ACE_TString path = this->create_common (attrs_key,
+ new_key,
+ id,
+ name,
+ version,
+ "attrs\\",
+ CORBA::dk_Attribute);
+
+ // Store the path to the attribute's type definition.
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (type
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_AttributeDef::_nil ());
+
+ CORBA::String_var type_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ this->repo_->config ()->set_string_value (new_key,
+ "type_path",
+ type_path.in ());
+
+ // Store the attribute's mode.
+ this->repo_->config ()->set_integer_value (new_key,
+ "mode",
+ mode);
+
+ // Create the set and/or get operations for this attribute.
+ this->create_attr_ops (id,
+ name,
+ version,
+ type,
+ mode
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA::AttributeDef::_nil ());
+
+#if 0 // CCM specific.
+
+ CORBA::ULong i = 0;
+
+ CORBA::ULong length = get_exceptions.length ();
+
+ if (length > 0)
+ {
+ // Open a section for the 'get' exceptions.
+ ACE_Configuration_Section_Key get_excepts_key;
+
+ this->repo_->config ()->open_section (new_key,
+ "get_excepts",
+ 1,
+ get_excepts_key);
+
+ // Store the paths to the 'get' exceptions.
+ for (i = 0; i < length; ++i)
+ {
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (get_exceptions[i]
+ ACE_ENV_ARG_PARAMETER);
+
+ ACE_CHECK_RETURN (CORBA_AttributeDef::_nil ());
+
+ CORBA::String_var get_except_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ CORBA::String_var section_name = this->int_to_string (i);
+
+ this->repo_->config ()->set_string_value (get_excepts_key,
+ section_name.in (),
+ get_except_path.in ());
+ }
+ }
+
+ length = put_exceptions.length ();
+
+ if (length > 0)
+ {
+ // Open a section for the 'put' exceptions.
+ ACE_Configuration_Section_Key put_excepts_key;
+
+ this->repo_->config ()->open_section (new_key,
+ "put_excepts",
+ 1,
+ put_excepts_key);
+
+ // Store the paths to the 'put' exceptions.
+ for (i = 0; i < length; ++i)
+ {
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (put_exceptions[i]
+ ACE_ENV_ARG_PARAMETER);
+
+ ACE_CHECK_RETURN (CORBA_AttributeDef::_nil ());
+
+ CORBA::String_var put_except_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ CORBA::String_var section_name = this->int_to_string (i);
+
+ this->repo_->config ()->set_string_value (put_excepts_key,
+ section_name.in (),
+ put_except_path.in ());
+ }
+ }
+
+#endif /* CCM specific. */
+
+ // Create the object reference.
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (CORBA::dk_Attribute,
+ path.c_str ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_AttributeDef::_nil ());
+
+ CORBA_AttributeDef_var retval =
+ CORBA_AttributeDef::_narrow (obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_AttributeDef::_nil ());
+
+ return retval._retn ();
+}
+
+CORBA_OperationDef_ptr
+TAO_InterfaceDef_i::create_operation (const char *id,
+ const char *name,
+ const char *version,
+ CORBA_IDLType_ptr result,
+ CORBA::OperationMode mode,
+ const CORBA_ParDescriptionSeq &params,
+ const CORBA_ExceptionDefSeq &exceptions,
+ const CORBA_ContextIdSeq &contexts
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD_RETURN (CORBA_OperationDef::_nil ());
+
+ return this->create_operation_i (id,
+ name,
+ version,
+ result,
+ mode,
+ params,
+ exceptions,
+ contexts
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA_OperationDef_ptr
+TAO_InterfaceDef_i::create_operation_i (const char *id,
+ const char *name,
+ const char *version,
+ CORBA_IDLType_ptr result,
+ CORBA::OperationMode mode,
+ const CORBA_ParDescriptionSeq &params,
+ const CORBA_ExceptionDefSeq &exceptions,
+ const CORBA_ContextIdSeq &contexts
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA::Boolean bad_params = this->pre_exist (id,
+ name
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_OperationDef::_nil ());
+
+ if (bad_params)
+ {
+ return CORBA_OperationDef::_nil ();
+ }
+
+ ACE_Configuration_Section_Key ops_key;
+
+ // Create/open section for attributes.
+ this->repo_->config ()->open_section (this->section_key_,
+ "ops",
+ 1,
+ ops_key);
+
+ ACE_Configuration_Section_Key new_key;
+
+ // Common to all IR objects created in CORBA_Container.
+ ACE_TString path = this->create_common (ops_key,
+ new_key,
+ id,
+ name,
+ version,
+ "ops\\",
+ CORBA::dk_Operation);
+
+ CORBA::TypeCode_var rettype = result->type (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_OperationDef::_nil ());
+ CORBA::TCKind kind = rettype->kind (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_OperationDef::_nil ());
+
+ // Oneway operations cannot have a non-void return type.
+ if (mode == CORBA::OP_ONEWAY && kind != CORBA::tk_void)
+ {
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (31,
+ CORBA::COMPLETED_NO),
+ CORBA_OperationDef::_nil ());
+ }
+
+ // Get the path to our return type and store it.
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (result
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_OperationDef::_nil ());
+
+ CORBA::String_var result_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ this->repo_->config ()->set_string_value (new_key,
+ "result",
+ result_path.in ());
+
+ // Store the operation mode.
+ this->repo_->config ()->set_integer_value (new_key,
+ "mode",
+ mode);
+
+ CORBA::ULong i = 0;
+
+ // Store the operation's parameter info.
+ CORBA::ULong length = params.length ();
+
+ if (length > 0)
+ {
+ ACE_Configuration_Section_Key params_key;
+
+ this->repo_->config ()->open_section (new_key,
+ "params",
+ 1,
+ params_key);
+
+ this->repo_->config ()->set_integer_value (params_key,
+ "count",
+ length);
+
+ for (i = 0; i < length; ++i)
+ {
+ // Oneway operations cannot have INOUT or OUT parameters.
+ if (mode == CORBA::OP_ONEWAY && params[i].mode != CORBA::PARAM_IN)
+ {
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (31,
+ CORBA::COMPLETED_NO),
+ CORBA_OperationDef::_nil ());
+ }
+
+ ACE_Configuration_Section_Key param_key;
+ CORBA::String_var section_name = this->int_to_string (i);
+
+ this->repo_->config ()->open_section (params_key,
+ section_name.in (),
+ 1,
+ param_key);
+
+ this->repo_->config ()->set_string_value (param_key,
+ "name",
+ params[i].name.in ());
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (params[i].type_def.in ()
+ ACE_ENV_ARG_PARAMETER);
+
+ ACE_CHECK_RETURN (CORBA_OperationDef::_nil ());
+
+ CORBA::String_var type_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ this->repo_->config ()->set_string_value (param_key,
+ "type_path",
+ type_path.in ());
+
+ this->repo_->config ()->set_integer_value (param_key,
+ "mode",
+ params[i].mode);
+ }
+ }
+
+ // Store the operation's exception info.
+ length = exceptions.length ();
+
+ if (length > 0)
+ {
+ // Oneway operations cannot throw any user exceptions.
+ if (mode == CORBA::OP_ONEWAY)
+ {
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (31,
+ CORBA::COMPLETED_NO),
+ CORBA_OperationDef::_nil ());
+ }
+
+ ACE_Configuration_Section_Key excepts_key;
+
+ this->repo_->config ()->open_section (new_key,
+ "excepts",
+ 1,
+ excepts_key);
+
+ for (i = 0; i < length; ++i)
+ {
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (exceptions[i]
+ ACE_ENV_ARG_PARAMETER);
+
+ ACE_CHECK_RETURN (CORBA_OperationDef::_nil ());
+
+ CORBA::String_var type_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ CORBA::String_var section_name = this->int_to_string (i);
+
+ this->repo_->config ()->set_string_value (excepts_key,
+ section_name.in (),
+ type_path.in ());
+ }
+ }
+
+ // Store the operation's context info.
+ length = contexts.length ();
+
+ if (length > 0)
+ {
+ ACE_Configuration_Section_Key contexts_key;
+
+ this->repo_->config ()->open_section (new_key,
+ "contexts",
+ 1,
+ contexts_key);
+
+ for (i = 0; i < length; ++i)
+ {
+ CORBA::String_var section_name = this->int_to_string (i);
+
+ this->repo_->config ()->set_string_value (contexts_key,
+ section_name.in (),
+ contexts[i].in ());
+ }
+ }
+
+ // Create the object reference.
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (CORBA::dk_Operation,
+ path.c_str ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_OperationDef::_nil ());
+
+ CORBA_OperationDef_var retval =
+ CORBA_OperationDef::_narrow (obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_OperationDef::_nil ());
+
+ return retval._retn ();
+}
+
+void
+TAO_InterfaceDef_i::interface_contents (
+ ACE_Unbounded_Queue<CORBA::DefinitionKind> &kind_queue,
+ ACE_Unbounded_Queue<ACE_TString> &path_queue,
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString id;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "id",
+ id);
+
+ ACE_TString path;
+ this->repo_->config ()->get_string_value (this->repo_->repo_ids_key (),
+ id.c_str (),
+ path);
+
+ ACE_TString section_name;
+ int index = 0;
+
+ // Attributes
+ if (limit_type == CORBA::dk_Attribute
+ || limit_type == CORBA::dk_all)
+ {
+ ACE_Configuration_Section_Key attrs_key;
+ this->repo_->config ()->open_section (this->section_key_,
+ "attrs",
+ 0,
+ attrs_key);
+
+ while (this->repo_->config ()->enumerate_sections (attrs_key,
+ index++,
+ section_name)
+ == 0)
+ {
+ kind_queue.enqueue_tail (CORBA::dk_Attribute);
+
+ path_queue.enqueue_tail (
+ path + "\\attrs\\" + section_name.c_str ()
+ );
+ }
+ }
+
+ // Operations
+ if (limit_type == CORBA::dk_Operation
+ || limit_type == CORBA::dk_all)
+ {
+ index = 0;
+
+ ACE_Configuration_Section_Key ops_key;
+ this->repo_->config ()->open_section (this->section_key_,
+ "ops",
+ 0,
+ ops_key);
+
+ while (this->repo_->config ()->enumerate_sections (ops_key,
+ index++,
+ section_name)
+ == 0)
+ {
+ kind_queue.enqueue_tail (CORBA::dk_Operation);
+
+ path_queue.enqueue_tail (
+ path + "\\ops\\" + section_name.c_str ()
+ );
+ }
+ }
+
+ if (exclude_inherited == 0)
+ {
+ // Must recurse through the base interfaces.
+ ACE_Configuration_Section_Key inherited_key;
+ this->repo_->config ()->open_section (this->section_key_,
+ "inherited",
+ 0,
+ inherited_key);
+
+ ACE_TString base_path;
+ ACE_Configuration_Section_Key base_key;
+ ACE_Configuration::VALUETYPE type;
+ index = 0;
+
+ while (this->repo_->config ()->enumerate_values (inherited_key,
+ index++,
+ section_name,
+ type)
+ == 0)
+ {
+ this->repo_->config ()->get_string_value (inherited_key,
+ section_name.c_str (),
+ base_path);
+
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ base_path,
+ base_key,
+ 0);
+
+ TAO_InterfaceDef_i base_iface (this->repo_,
+ base_key);
+
+ base_iface.interface_contents (kind_queue,
+ path_queue,
+ limit_type,
+ exclude_inherited
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+ }
+ }
+}
+
+void
+TAO_InterfaceDef_i::destroy_special (const char *sub_section
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_Configuration_Section_Key sub_key;
+ this->repo_->config ()->open_section (this->section_key_,
+ sub_section,
+ 0,
+ sub_key);
+
+ ACE_TString section_name;
+ int index = 0;
+ while (this->repo_->config ()->enumerate_sections (sub_key,
+ index++,
+ section_name)
+ == 0)
+ {
+ ACE_Configuration_Section_Key member_key;
+ this->repo_->config ()->open_section (sub_key,
+ section_name.c_str (),
+ 0,
+ member_key);
+
+ if (ACE_OS::strcmp (sub_section, "attrs") == 0)
+ {
+ TAO_AttributeDef_i attr (this->repo_,
+ member_key);
+
+ attr.destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+ }
+ else
+ {
+ TAO_OperationDef_i op (this->repo_,
+ member_key);
+
+ op.destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+ }
+ }
+
+}
+
+void
+TAO_InterfaceDef_i::create_attr_ops (const char *id,
+ const char *name,
+ const char *version,
+ CORBA_IDLType_ptr type,
+ CORBA::AttributeMode mode
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_CString the_get_name ("_get_");
+
+ ACE_CString start (id);
+
+ int pos = start.find (name);
+
+ ACE_CString piece (start.substr (pos));
+
+ ACE_CString the_get_id (start.substr (0, pos) + the_get_name + piece);
+
+ the_get_name += name;
+
+ CORBA_ParDescriptionSeq params (0);
+ CORBA_ExceptionDefSeq excepts (0);
+ CORBA_ContextIdSeq contexts (0);
+
+ CORBA_OperationDef_var the_get_op =
+ this->create_operation_i (the_get_id.c_str (),
+ the_get_name.c_str (),
+ version,
+ type,
+ CORBA::OP_NORMAL,
+ params,
+ excepts,
+ contexts
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ if (mode == CORBA::ATTR_NORMAL)
+ {
+ ACE_CString the_set_name ("_set_");
+
+ ACE_CString the_set_id (start.substr (0, pos) + the_set_name + piece);
+
+ the_set_name += name;
+
+ CORBA_PrimitiveDef_var rettype =
+ this->repo_->get_primitive (CORBA::pk_void
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ params.length (1);
+
+ params[0].name = name;
+ params[0].type = CORBA::TypeCode::_duplicate (CORBA::_tc_void);
+ params[0].type_def = CORBA::IDLType::_duplicate (type);
+ params[0].mode = CORBA::PARAM_IN;
+
+ CORBA_OperationDef_var the_set_op =
+ this->create_operation_i (the_set_id.c_str (),
+ the_set_name.c_str (),
+ version,
+ rettype.in (),
+ CORBA::OP_NORMAL,
+ params,
+ excepts,
+ contexts
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+ }
+}
+
+void
+TAO_InterfaceDef_i::base_interfaces_recursive (
+ ACE_Unbounded_Queue<CORBA::DefinitionKind> &kind_queue,
+ ACE_Unbounded_Queue<ACE_TString> &path_queue
+ )
+{
+ ACE_Configuration_Section_Key inherited_key;
+ this->repo_->config ()->open_section (this->section_key_,
+ "inherited",
+ 0,
+ inherited_key);
+
+ int index = 0;
+ int status = 0;
+ u_int kind = 0;
+ ACE_Configuration::VALUETYPE type;
+ ACE_TString section_name, inherited_path;
+ CORBA::DefinitionKind def_kind = CORBA::dk_none;
+ ACE_Configuration_Section_Key base_key;
+
+ while (this->repo_->config ()->enumerate_values (inherited_key,
+ index++,
+ section_name,
+ type)
+ == 0)
+ {
+ this->repo_->config ()->get_string_value (inherited_key,
+ section_name.c_str (),
+ inherited_path);
+
+ status =
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ inherited_path,
+ base_key,
+ 0);
+
+ if (status == 0)
+ {
+ TAO_InterfaceDef_i tmp (this->repo_,
+ base_key);
+
+ tmp.base_interfaces_recursive (kind_queue,
+ path_queue);
+
+ path_queue.enqueue_tail (inherited_path);
+
+ this->repo_->config ()->get_integer_value (base_key,
+ "def_kind",
+ kind);
+
+ def_kind = ACE_static_cast (CORBA::DefinitionKind, kind);
+
+ kind_queue.enqueue_tail (def_kind);
+ }
+ }
+}
+
+void
+TAO_InterfaceDef_i::inherited_attributes (
+ ACE_Unbounded_Queue<ACE_Configuration_Section_Key> &key_queue
+ )
+{
+ ACE_Unbounded_Queue<CORBA::DefinitionKind> kind_queue;
+ ACE_Unbounded_Queue<ACE_TString> path_queue;
+
+ this->base_interfaces_recursive (kind_queue,
+ path_queue);
+
+ size_t size = path_queue.size ();
+ ACE_Configuration_Section_Key base_key, attrs_key, attr_key;
+ int status = 0;
+ ACE_TString path_name;
+ u_int count = 0;
+
+ for (size_t i = 0; i < size; ++i)
+ {
+ path_queue.dequeue_head (path_name);
+
+ status =
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ path_name,
+ base_key,
+ 0);
+
+ if (status == 0)
+ {
+ this->repo_->config ()->open_section (base_key,
+ "attrs",
+ 0,
+ attrs_key);
+
+ this->repo_->config ()->get_integer_value (attrs_key,
+ "count",
+ count);
+
+ for (u_int j = 0; j < count; ++j)
+ {
+ this->repo_->config ()->open_section (attrs_key,
+ this->int_to_string (j),
+ 0,
+ attr_key);
+
+ key_queue.enqueue_tail (attr_key);
+ }
+ }
+ }
+}
+
+void
+TAO_InterfaceDef_i::inherited_operations (
+ ACE_Unbounded_Queue<ACE_Configuration_Section_Key> &key_queue
+ )
+{
+ ACE_Unbounded_Queue<CORBA::DefinitionKind> kind_queue;
+ ACE_Unbounded_Queue<ACE_TString> path_queue;
+
+ this->base_interfaces_recursive (kind_queue,
+ path_queue);
+
+ size_t size = path_queue.size ();
+ ACE_Configuration_Section_Key base_key, ops_key, op_key;
+ int status = 0;
+ ACE_TString path_name;
+ u_int count = 0;
+
+ for (size_t i = 0; i < size; ++i)
+ {
+ path_queue.dequeue_head (path_name);
+
+ status =
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ path_name,
+ base_key,
+ 0);
+
+ if (status == 0)
+ {
+ this->repo_->config ()->open_section (base_key,
+ "ops",
+ 0,
+ ops_key);
+
+ this->repo_->config ()->get_integer_value (ops_key,
+ "count",
+ count);
+
+ for (u_int j = 0; j < count; ++j)
+ {
+ this->repo_->config ()->open_section (ops_key,
+ this->int_to_string (j),
+ 0,
+ op_key);
+
+ key_queue.enqueue_tail (op_key);
+ }
+ }
+ }
+}
+
+CORBA::Boolean
+TAO_InterfaceDef_i::check_inherited_attrs (const char *name
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_Unbounded_Queue<ACE_Configuration_Section_Key> key_queue;
+
+ this->inherited_attributes (key_queue);
+
+ size_t size = key_queue.size ();
+ ACE_Configuration_Section_Key attr_key;
+ ACE_TString attr_name;
+
+ for (u_int i = 0; i < size; ++i)
+ {
+ key_queue.dequeue_head (attr_key);
+
+ this->repo_->config ()->get_string_value (attr_key,
+ "name",
+ attr_name);
+
+ if (attr_name == name)
+ {
+ ACE_THROW_RETURN (CORBA::BAD_PARAM (5,
+ CORBA::COMPLETED_NO),
+ 1);
+ }
+ }
+
+ return 0;
+}
diff --git a/TAO/orbsvcs/IFR_Service/InterfaceDef_i.h b/TAO/orbsvcs/IFR_Service/InterfaceDef_i.h
new file mode 100644
index 00000000000..28b0e3fd3cc
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/InterfaceDef_i.h
@@ -0,0 +1,246 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// InterfaceDef_i.h
+//
+// = DESCRIPTION
+// InterfaceDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_INTERFACEDEF_I_H
+#define TAO_INTERFACEDEF_I_H
+
+#include "Container_i.h"
+#include "Contained_i.h"
+#include "IDLType_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_InterfaceDef_i : public virtual TAO_Container_i,
+ public virtual TAO_Contained_i,
+ public virtual TAO_IDLType_i
+{
+ // = TITLE
+ // TAO_InterfaceDef_i
+ //
+ // = DESCRIPTION
+ // Represents an interface definition.
+ //
+public:
+ TAO_InterfaceDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_InterfaceDef_i (void);
+ // Destructor
+
+ virtual CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Remove the repository entry.
+
+ virtual void destroy_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_Contained::Description *describe (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+
+ virtual CORBA_Contained::Description *describe_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+
+ virtual CORBA::TypeCode_ptr type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From IDLType_i's pure virtual function.
+
+ virtual CORBA::TypeCode_ptr type_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From IDLType_i's pure virtual function.
+
+ virtual CORBA_InterfaceDefSeq *base_interfaces (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_InterfaceDefSeq *base_interfaces_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void base_interfaces (
+ const CORBA_InterfaceDefSeq &base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void base_interfaces_i (
+ const CORBA_InterfaceDefSeq &base_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean is_a (
+ const char *interface_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA::Boolean is_a_i (
+ const char *interface_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_InterfaceDef::FullInterfaceDescription *describe_interface (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_InterfaceDef::FullInterfaceDescription *describe_interface_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_AttributeDef_ptr create_attribute (
+ const char *id,
+ const char *name,
+ const char *version,
+ CORBA_IDLType_ptr type,
+ CORBA::AttributeMode mode
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_AttributeDef_ptr create_attribute_i (
+ const char *id,
+ const char *name,
+ const char *version,
+ CORBA_IDLType_ptr type,
+ CORBA::AttributeMode mode
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_OperationDef_ptr create_operation (
+ const char *id,
+ const char *name,
+ const char *version,
+ CORBA_IDLType_ptr result,
+ CORBA::OperationMode mode,
+ const CORBA_ParDescriptionSeq &params,
+ const CORBA_ExceptionDefSeq &exceptions,
+ const CORBA_ContextIdSeq &contexts
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_OperationDef_ptr create_operation_i (
+ const char *id,
+ const char *name,
+ const char *version,
+ CORBA_IDLType_ptr result,
+ CORBA::OperationMode mode,
+ const CORBA_ParDescriptionSeq &params,
+ const CORBA_ExceptionDefSeq &exceptions,
+ const CORBA_ContextIdSeq &contexts
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void interface_contents (
+ ACE_Unbounded_Queue<CORBA::DefinitionKind> &kind_queue,
+ ACE_Unbounded_Queue<ACE_TString> &path_queue,
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Gathers the attributes and operations of all the ancestors.
+
+private:
+ void destroy_special (
+ const char *sub_section
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Removed the repo ids of our attributes and operations from
+ // the flat repo ids section of the repository.
+
+ void create_attr_ops (const char *id,
+ const char *name,
+ const char *version,
+ CORBA_IDLType_ptr type,
+ CORBA::AttributeMode mode
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Create set and/or get operations for an attribute.
+
+ void base_interfaces_recursive (
+ ACE_Unbounded_Queue<CORBA::DefinitionKind> &kind_queue,
+ ACE_Unbounded_Queue<ACE_TString> &path_queue
+ );
+ // Depth-first traversal of the inheritance tree to get all
+ // the base interfaces.
+
+ void inherited_attributes (
+ ACE_Unbounded_Queue<ACE_Configuration_Section_Key> &key_queue
+ );
+ // Depth-first traversal of the inheritance tree to get all the
+ // attributes.
+
+ void inherited_operations (
+ ACE_Unbounded_Queue<ACE_Configuration_Section_Key> &key_queue
+ );
+ // Depth-first traversal of the inheritance tree to get all the
+ // operations.
+
+ CORBA::Boolean check_inherited_attrs (const char *name
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // When creating a new attribute, check for a clash with an inherited
+ // attribute name.
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_INTERFACEDEF_I_H */
+
diff --git a/TAO/orbsvcs/IFR_Service/LocalInterfaceDef_i.cpp b/TAO/orbsvcs/IFR_Service/LocalInterfaceDef_i.cpp
new file mode 100644
index 00000000000..8443fc29d69
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/LocalInterfaceDef_i.cpp
@@ -0,0 +1,55 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "LocalInterfaceDef_i.h"
+#include "Repository_i.h"
+
+ACE_RCSID(IFR_Service, LocalInterfaceDef_i, "$Id$")
+
+TAO_LocalInterfaceDef_i::TAO_LocalInterfaceDef_i (
+ TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key
+ )
+ : TAO_IRObject_i (repo, section_key),
+ TAO_Container_i (repo, section_key),
+ TAO_Contained_i (repo, section_key),
+ TAO_IDLType_i (repo, section_key),
+ TAO_InterfaceDef_i (repo, section_key)
+{
+}
+
+TAO_LocalInterfaceDef_i::~TAO_LocalInterfaceDef_i (void)
+{
+}
+
+CORBA::DefinitionKind
+TAO_LocalInterfaceDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return CORBA::dk_LocalInterface;
+}
+
+CORBA::Boolean
+TAO_LocalInterfaceDef_i::is_a (const char *interface_id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->is_a_i (interface_id
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA::Boolean
+TAO_LocalInterfaceDef_i::is_a_i (const char *interface_id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ if (ACE_OS::strcmp (interface_id, "IDL:omg.org/CORBA/LocalBase:1.0") == 0)
+ {
+ return 1;
+ }
+
+ return this->TAO_InterfaceDef_i::is_a_i (interface_id
+ ACE_ENV_ARG_PARAMETER);
+}
diff --git a/TAO/orbsvcs/IFR_Service/LocalInterfaceDef_i.h b/TAO/orbsvcs/IFR_Service/LocalInterfaceDef_i.h
new file mode 100644
index 00000000000..c4a9e3851b2
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/LocalInterfaceDef_i.h
@@ -0,0 +1,77 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// LocalInterfaceDef_i.h
+//
+// = DESCRIPTION
+// LocalInterfaceDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_LOCALINTERFACEDEF_I_H
+#define TAO_LOCALINTERFACEDEF_I_H
+
+#include "InterfaceDef_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_LocalInterfaceDef_i : public virtual TAO_InterfaceDef_i
+{
+ // = TITLE
+ // TAO_LocalInterfaceDef_i
+ //
+ // = DESCRIPTION
+ // Represents an local interface definition.
+ //
+public:
+ TAO_LocalInterfaceDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_LocalInterfaceDef_i (void);
+ // Destructor
+
+ virtual CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual CORBA::Boolean is_a (
+ const char *interface_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA::Boolean is_a_i (
+ const char *interface_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_LOCALINTERFACEDEF_I_H */
+
+
diff --git a/TAO/orbsvcs/IFR_Service/ModuleDef_i.cpp b/TAO/orbsvcs/IFR_Service/ModuleDef_i.cpp
new file mode 100644
index 00000000000..9b3097ec619
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/ModuleDef_i.cpp
@@ -0,0 +1,97 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "ModuleDef_i.h"
+#include "Repository_i.h"
+
+ACE_RCSID(IFR_Service, ModuleDef_i, "$Id$")
+
+TAO_ModuleDef_i::TAO_ModuleDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key)
+ : TAO_IRObject_i (repo, section_key),
+ TAO_Container_i (repo, section_key),
+ TAO_Contained_i (repo, section_key)
+{
+}
+
+TAO_ModuleDef_i::~TAO_ModuleDef_i (void)
+{
+}
+
+CORBA::DefinitionKind
+TAO_ModuleDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return CORBA::dk_Module;
+}
+
+void
+TAO_ModuleDef_i::destroy (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+void
+TAO_ModuleDef_i::destroy_i (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Destroy our members.
+ TAO_Container_i::destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ // Destroy ourself.
+ TAO_Contained_i::destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+}
+
+CORBA_Contained::Description *
+TAO_ModuleDef_i::describe (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->describe_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA_Contained::Description *
+TAO_ModuleDef_i::describe_i (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA_Contained::Description *desc_ptr = 0;
+ ACE_NEW_THROW_EX (desc_ptr,
+ CORBA_Contained::Description,
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ CORBA_Contained::Description_var retval = desc_ptr;
+
+ retval->kind = this->def_kind (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA_ModuleDescription md;
+
+ md.name = this->name_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ md.id = this->id_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ ACE_TString container_id;
+
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "container_id",
+ container_id);
+
+ md.defined_in = container_id.c_str ();
+
+ md.version = this->version_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ retval->value <<= md;
+
+ return retval._retn ();
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/ModuleDef_i.h b/TAO/orbsvcs/IFR_Service/ModuleDef_i.h
new file mode 100644
index 00000000000..5b233dd642d
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/ModuleDef_i.h
@@ -0,0 +1,90 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// ModuleDef_i.h
+//
+// = DESCRIPTION
+// ModuleDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_MODULEDEF_I_H
+#define TAO_MODULEDEF_I_H
+
+#include "Container_i.h"
+#include "Contained_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_ModuleDef_i : public virtual TAO_Container_i,
+ public virtual TAO_Contained_i
+{
+ // = TITLE
+ // TAO_ModuleDef_i
+ //
+ // = DESCRIPTION
+ // Represents a module definition.
+ //
+public:
+ TAO_ModuleDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_ModuleDef_i (void);
+ // Destructor
+
+ virtual CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Remove the repository entry.
+
+ virtual void destroy_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Remove the repository entry.
+
+ virtual CORBA_Contained::Description *describe (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+
+ virtual CORBA_Contained::Description *describe_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_MODULEDEF_I_H */
+
diff --git a/TAO/orbsvcs/IFR_Service/NativeDef_i.cpp b/TAO/orbsvcs/IFR_Service/NativeDef_i.cpp
new file mode 100644
index 00000000000..366530bfa56
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/NativeDef_i.cpp
@@ -0,0 +1,56 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "NativeDef_i.h"
+#include "Repository_i.h"
+
+ACE_RCSID(IFR_Service, NativeDef_i, "$Id$")
+
+TAO_NativeDef_i::TAO_NativeDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key)
+ : TAO_IRObject_i (repo, section_key),
+ TAO_Contained_i (repo, section_key),
+ TAO_IDLType_i (repo, section_key),
+ TAO_TypedefDef_i (repo, section_key)
+{
+}
+
+TAO_NativeDef_i::~TAO_NativeDef_i (void)
+{
+}
+
+CORBA::DefinitionKind
+TAO_NativeDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return CORBA::dk_Native;
+}
+
+CORBA::TypeCode_ptr
+TAO_NativeDef_i::type (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (CORBA::TypeCode::_nil ());
+
+ return this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA::TypeCode_ptr
+TAO_NativeDef_i::type_i (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString id;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "id",
+ id);
+
+ ACE_TString name;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "name",
+ name);
+
+ return this->repo_->tc_factory ()->create_native_tc (id.c_str (),
+ name.c_str ()
+ ACE_ENV_ARG_PARAMETER);
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/NativeDef_i.h b/TAO/orbsvcs/IFR_Service/NativeDef_i.h
new file mode 100644
index 00000000000..1f5000782ac
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/NativeDef_i.h
@@ -0,0 +1,77 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// NativeDef_i.h
+//
+// = DESCRIPTION
+// NativeDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_NATIVEDEF_I_H
+#define TAO_NATIVEDEF_I_H
+
+#include "TypedefDef_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_NativeDef_i : public virtual TAO_TypedefDef_i
+{
+public:
+ // = TITLE
+ // TAO_NativeDef_i
+ //
+ // = DESCRIPTION
+ // Represents an OMG IDL native definition.
+ //
+public:
+ TAO_NativeDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_NativeDef_i (void);
+ // Destructor
+
+ virtual CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual CORBA::TypeCode_ptr type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From IDLType_i's pure virtual function.
+
+ virtual CORBA::TypeCode_ptr type_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From IDLType_i's pure virtual function.
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_NATIVEDEF_I_H */
+
diff --git a/TAO/orbsvcs/IFR_Service/OperationDef_i.cpp b/TAO/orbsvcs/IFR_Service/OperationDef_i.cpp
new file mode 100644
index 00000000000..f5cc22de14a
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/OperationDef_i.cpp
@@ -0,0 +1,785 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "OperationDef_i.h"
+#include "Repository_i.h"
+#include "IDLType_i.h"
+#include "ExceptionDef_i.h"
+#include "Servant_Factory.h"
+#include "ace/Auto_Ptr.h"
+
+ACE_RCSID(IFR_Service, OperationDef_i, "$Id$")
+
+TAO_OperationDef_i::TAO_OperationDef_i (
+ TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key
+ )
+ : TAO_IRObject_i (repo, section_key),
+ TAO_Contained_i (repo, section_key)
+{
+}
+
+TAO_OperationDef_i::~TAO_OperationDef_i (void)
+{
+}
+
+CORBA::DefinitionKind
+TAO_OperationDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return CORBA::dk_Operation;
+}
+
+CORBA_Contained::Description *
+TAO_OperationDef_i::describe (ACE_ENV_SINGLE_ARG_DECL )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->describe_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA_Contained::Description *
+TAO_OperationDef_i::describe_i (ACE_ENV_SINGLE_ARG_DECL )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA_Contained::Description *desc_ptr = 0;
+ ACE_NEW_THROW_EX (desc_ptr,
+ CORBA_Contained::Description,
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ CORBA_Contained::Description_var retval = desc_ptr;
+
+ retval->kind = this->def_kind (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ retval->value <<= this->make_description (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return retval._retn ();
+}
+
+CORBA::TypeCode_ptr
+TAO_OperationDef_i::result (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (CORBA::TypeCode::_nil ());
+
+ return this->result_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA::TypeCode_ptr
+TAO_OperationDef_i::result_i (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString result_path;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "result",
+ result_path);
+
+ ACE_Configuration_Section_Key result_key;
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ result_path,
+ result_key,
+ 0);
+
+ TAO_IDLType_i *impl =
+ this->repo_->servant_factory ()->create_idltype (result_key
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ auto_ptr<TAO_IDLType_i> safety (impl);
+
+ return impl->type_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA_IDLType_ptr
+TAO_OperationDef_i::result_def (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (CORBA_IDLType::_nil ());
+
+ return this->result_def_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA_IDLType_ptr
+TAO_OperationDef_i::result_def_i (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString result_path;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "result",
+ result_path);
+
+ ACE_Configuration_Section_Key result_key;
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ result_path,
+ result_key,
+ 0);
+
+ u_int kind = 0;
+ this->repo_->config ()->get_integer_value (result_key,
+ "def_kind",
+ kind);
+
+ CORBA::DefinitionKind def_kind =
+ ACE_static_cast (CORBA::DefinitionKind, kind);
+
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (def_kind,
+ result_path.c_str ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_IDLType::_nil ());
+
+ return CORBA_IDLType::_narrow (obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_OperationDef_i::result_def (CORBA_IDLType_ptr result_def
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->result_def_i (result_def
+ ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_OperationDef_i::result_def_i (CORBA_IDLType_ptr result_def
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (result_def
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ CORBA::String_var result_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ this->repo_->config ()->set_string_value (this->section_key_,
+ "result",
+ result_path.in ());
+}
+
+CORBA_ParDescriptionSeq *
+TAO_OperationDef_i::params (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->params_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA_ParDescriptionSeq *
+TAO_OperationDef_i::params_i (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA::ULong i = 0;
+ ACE_Configuration_Section_Key params_key;
+ int status =
+ this->repo_->config ()->open_section (this->section_key_,
+ "params",
+ 0,
+ params_key);
+
+ ACE_Unbounded_Queue<ACE_Configuration_Section_Key> key_queue;
+
+ // This section may not have been created.
+ if (status == 0)
+ {
+ u_int count = 0;
+ this->repo_->config ()->get_integer_value (params_key,
+ "count",
+ count);
+
+ for (i = 0; i < count; ++i)
+ {
+ CORBA::String_var section_name = this->int_to_string (i);
+ ACE_Configuration_Section_Key param_key;
+ status =
+ this->repo_->config ()->open_section (params_key,
+ section_name.in (),
+ 0,
+ param_key);
+
+ if (status == 0)
+ key_queue.enqueue_tail (param_key);
+ }
+ }
+
+ size_t size = key_queue.size ();
+
+ CORBA_ParDescriptionSeq *pd_seq = 0;
+ ACE_NEW_THROW_EX (pd_seq,
+ CORBA_ParDescriptionSeq (size),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ pd_seq->length (size);
+
+ if (size == 0)
+ return pd_seq;
+
+ CORBA_ParDescriptionSeq_var retval = pd_seq;
+
+ for (i = 0; i < size; ++i)
+ {
+ ACE_Configuration_Section_Key key;
+ key_queue.dequeue_head (key);
+
+ ACE_TString name;
+ this->repo_->config ()->get_string_value (key,
+ "name",
+ name);
+
+ retval[i].name = name.c_str ();
+
+ u_int mode = 0;
+ this->repo_->config ()->get_integer_value (key,
+ "mode",
+ mode);
+
+ retval[i].mode = ACE_static_cast (CORBA::ParameterMode, mode);
+
+ ACE_TString type_path;
+ this->repo_->config ()->get_string_value (key,
+ "type_path",
+ type_path);
+
+ ACE_Configuration_Section_Key type_key;
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ type_path,
+ type_key,
+ 0);
+
+ TAO_IDLType_i *impl =
+ this->repo_->servant_factory ()->create_idltype (type_key
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_IDLType_i> safety (impl);
+
+ retval[i].type = impl->type_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ u_int kind = 0;
+ this->repo_->config ()->get_integer_value (type_key,
+ "def_kind",
+ kind);
+
+ CORBA::DefinitionKind def_kind =
+ ACE_static_cast (CORBA::DefinitionKind, kind);
+
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (def_kind,
+ type_path.c_str ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ retval[i].type_def = CORBA_IDLType::_narrow (obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+ }
+
+ return retval._retn ();
+}
+
+void
+TAO_OperationDef_i::params (const CORBA_ParDescriptionSeq &params
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->params_i (params
+ ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_OperationDef_i::params_i (const CORBA_ParDescriptionSeq &params
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ this->repo_->config ()->remove_section (this->section_key_,
+ "params",
+ 1);
+
+ CORBA::ULong length = params.length ();
+
+ if (length == 0)
+ return;
+
+ ACE_Configuration_Section_Key params_key;
+ this->repo_->config ()->open_section (this->section_key_,
+ "params",
+ 1,
+ params_key);
+
+ this->repo_->config ()->set_integer_value (params_key,
+ "count",
+ length);
+
+ for (CORBA::ULong i = 0; i < length; i++)
+ {
+ ACE_Configuration_Section_Key param_key;
+ CORBA::String_var section_name = this->int_to_string (i);
+
+ this->repo_->config ()->open_section (params_key,
+ section_name.in (),
+ 1,
+ param_key);
+
+ this->repo_->config ()->set_string_value (param_key,
+ "name",
+ params[i].name.in ());
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (params[i].type_def.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ CORBA::String_var type_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ this->repo_->config ()->set_string_value (param_key,
+ "type_path",
+ type_path.in ());
+
+ this->repo_->config ()->set_integer_value (param_key,
+ "mode",
+ params[i].mode);
+ }
+}
+
+CORBA::OperationMode
+TAO_OperationDef_i::mode (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (CORBA::OP_NORMAL);
+
+ return this->mode_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA::OperationMode
+TAO_OperationDef_i::mode_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ u_int mode;
+ this->repo_->config ()->get_integer_value (this->section_key_,
+ "mode",
+ mode);
+
+ return ACE_static_cast (CORBA::OperationMode, mode);
+}
+
+void
+TAO_OperationDef_i::mode (CORBA::OperationMode mode
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->mode_i (mode
+ ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_OperationDef_i::mode_i (CORBA::OperationMode mode
+ ACE_ENV_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ this->repo_->config ()->set_integer_value (this->section_key_,
+ "mode",
+ mode);
+}
+
+CORBA_ContextIdSeq *
+TAO_OperationDef_i::contexts (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->contexts_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA_ContextIdSeq *
+TAO_OperationDef_i::contexts_i (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_Configuration_Section_Key contexts_key;
+ int status =
+ this->repo_->config ()->open_section (this->section_key_,
+ "contexts",
+ 0,
+ contexts_key);
+
+ ACE_Unbounded_Queue<ACE_TString> context_queue;
+
+ // This section may not have been created.
+ if (status == 0)
+ {
+ int index = 0;
+ CORBA::String_var field_name = this->int_to_string (index);
+ ACE_TString context;
+
+ // Don't have to worry about gaps here - contexts are not
+ // IR objects so they can't be destroyed one at a time. To
+ // make a change one has to call the mutator version of this
+ // function and make a completely new list.
+ while (this->repo_->config ()->get_string_value (contexts_key,
+ field_name.in (),
+ context)
+ == 0)
+ {
+ context_queue.enqueue_tail (context);
+ field_name = this->int_to_string (++index);
+ }
+ }
+
+ size_t size = context_queue.size ();
+
+ CORBA_ContextIdSeq *ci_seq = 0;
+ ACE_NEW_THROW_EX (ci_seq,
+ CORBA_ContextIdSeq (size),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ ci_seq->length (size);
+
+ for (CORBA::ULong i = 0; i < size; ++i)
+ {
+ ACE_TString context_string;
+ context_queue.dequeue_head (context_string);
+
+ (*ci_seq)[i] = context_string.c_str ();
+ }
+
+ return ci_seq;
+}
+
+void
+TAO_OperationDef_i::contexts (const CORBA_ContextIdSeq &contexts
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->contexts_i (contexts
+ ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_OperationDef_i::contexts_i (const CORBA_ContextIdSeq &contexts
+ ACE_ENV_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ this->repo_->config ()->remove_section (this->section_key_,
+ "contexts",
+ 0);
+
+ CORBA::ULong length = contexts.length ();
+
+ if (length == 0)
+ return;
+
+ ACE_Configuration_Section_Key contexts_key;
+ this->repo_->config ()->open_section (this->section_key_,
+ "contexts",
+ 1,
+ contexts_key);
+
+ for (CORBA::ULong i = 0; i < length; i++)
+ {
+ CORBA::String_var section_name = this->int_to_string (i);
+
+ this->repo_->config ()->set_string_value (contexts_key,
+ section_name.in (),
+ contexts[i].in ());
+ }
+}
+
+CORBA_ExceptionDefSeq *
+TAO_OperationDef_i::exceptions (ACE_ENV_SINGLE_ARG_DECL )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->exceptions_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA_ExceptionDefSeq *
+TAO_OperationDef_i::exceptions_i (ACE_ENV_SINGLE_ARG_DECL )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_Configuration_Section_Key excepts_key;
+ int status =
+ this->repo_->config ()->open_section (this->section_key_,
+ "excepts",
+ 0,
+ excepts_key);
+
+ int index = 0;
+ ACE_Unbounded_Queue<CORBA::DefinitionKind> kind_queue;
+ ACE_Unbounded_Queue<ACE_TString> path_queue;
+
+ // This section may not have been created.
+ if (status == 0)
+ {
+ ACE_TString field_name, type_path;
+ ACE_Configuration::VALUETYPE type;
+ u_int kind = 0;
+ CORBA::DefinitionKind def_kind = CORBA::dk_none;
+ ACE_Configuration_Section_Key except_key;
+
+ while (this->repo_->config ()->enumerate_values (excepts_key,
+ index++,
+ field_name,
+ type)
+ == 0)
+ {
+ this->repo_->config ()->get_string_value (excepts_key,
+ field_name.c_str (),
+ type_path);
+
+ status =
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ type_path,
+ except_key,
+ 0);
+
+ if (status == 0)
+ {
+ path_queue.enqueue_tail (type_path);
+
+ this->repo_->config ()->get_integer_value (except_key,
+ "def_kind",
+ kind);
+
+ def_kind =
+ ACE_static_cast (CORBA::DefinitionKind, kind);
+
+ kind_queue.enqueue_tail (def_kind);
+ }
+ }
+ }
+
+ size_t size = kind_queue.size ();
+
+ CORBA_ExceptionDefSeq *ed_seq = 0;
+ ACE_NEW_THROW_EX (ed_seq,
+ CORBA_ExceptionDefSeq (size),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ ed_seq->length (size);
+
+ if (index == 0)
+ return ed_seq;
+
+ CORBA_ExceptionDefSeq_var retval = ed_seq;
+
+ for (CORBA::ULong i = 0; i < size; ++i)
+ {
+ CORBA::DefinitionKind def_kind;
+ kind_queue.dequeue_head (def_kind);
+
+ ACE_TString path;
+ path_queue.dequeue_head (path);
+
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (def_kind,
+ path.c_str ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ retval[i] = CORBA_ExceptionDef::_narrow (obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+ }
+
+ return retval._retn ();
+}
+
+void
+TAO_OperationDef_i::exceptions (const CORBA_ExceptionDefSeq &exceptions
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->exceptions_i (exceptions
+ ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_OperationDef_i::exceptions_i (const CORBA_ExceptionDefSeq &exceptions
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ this->repo_->config ()->remove_section (this->section_key_,
+ "excepts",
+ 0);
+
+ CORBA::ULong length = exceptions.length ();
+
+ if (length == 0)
+ return;
+
+ ACE_Configuration_Section_Key excepts_key;
+ this->repo_->config ()->open_section (this->section_key_,
+ "excepts",
+ 1,
+ excepts_key);
+
+ for (CORBA::ULong i = 0; i < length; i++)
+ {
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (exceptions[i]
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ CORBA::String_var type_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ CORBA::String_var section_name = this->int_to_string (i);
+
+ this->repo_->config ()->set_string_value (excepts_key,
+ section_name.in (),
+ type_path.in ());
+ }
+
+}
+
+CORBA_OperationDescription
+TAO_OperationDef_i::make_description (
+ ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA_OperationDescription od;
+
+ od.name = this->name_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (od);
+
+ od.id = this->id_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (od);
+
+ ACE_TString container_id;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "container_id",
+ container_id);
+
+ od.defined_in = container_id.c_str ();
+
+ od.version = this->version_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (od);
+
+ od.result = this->result_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (od);
+
+ od.mode = this->mode_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (od);
+
+ CORBA_ContextIdSeq_var cid_seq = this->contexts_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (od);
+
+ od.contexts = cid_seq.in ();
+
+ CORBA_ParDescriptionSeq_var pd_seq = this->params_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (od);
+
+ od.parameters = pd_seq.in ();
+
+ ACE_Configuration_Section_Key excepts_key;
+ int status =
+ this->repo_->config ()->open_section (this->section_key_,
+ "excepts",
+ 0,
+ excepts_key);
+
+ // This section may not have been created.
+ if (status == 0)
+ {
+ int index = 0;
+ int status = 0;
+ ACE_TString field_name, type_path;
+ ACE_Configuration::VALUETYPE type;
+ ACE_Unbounded_Queue<ACE_TString> path_queue;
+
+ while (this->repo_->config ()->enumerate_values (excepts_key,
+ index++,
+ field_name,
+ type)
+ == 0)
+ {
+ status =
+ this->repo_->config ()->get_string_value (excepts_key,
+ field_name.c_str (),
+ type_path);
+
+ if (status == 0)
+ {
+ path_queue.enqueue_tail (type_path);
+ }
+ }
+
+ size_t size = path_queue.size ();
+
+ od.exceptions.length (size);
+
+ for (CORBA::ULong i = 0; i < size; ++i)
+ {
+ ACE_TString type_path;
+ path_queue.dequeue_head (type_path);
+
+ ACE_Configuration_Section_Key type_key;
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ type_path,
+ type_key,
+ 0);
+
+ ACE_TString name;
+ this->repo_->config ()->get_string_value (type_key,
+ "name",
+ name);
+
+ od.exceptions[i].name = name.c_str ();
+
+ ACE_TString id;
+ this->repo_->config ()->get_string_value (type_key,
+ "id",
+ id);
+
+ od.exceptions[i].id = id.c_str ();
+
+ ACE_TString container_id;
+ this->repo_->config ()->get_string_value (type_key,
+ "container_id",
+ container_id);
+
+ od.exceptions[i].defined_in = container_id.c_str ();
+
+ ACE_TString version;
+ this->repo_->config ()->get_string_value (type_key,
+ "version",
+ version);
+
+ od.exceptions[i].version = version.c_str ();
+
+ TAO_ExceptionDef_i impl (this->repo_,
+ type_key);
+
+ od.exceptions[i].type = impl.type_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (od);
+ }
+ }
+ else
+ {
+ od.exceptions.length (0);
+ }
+
+ return od;
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/OperationDef_i.h b/TAO/orbsvcs/IFR_Service/OperationDef_i.h
new file mode 100644
index 00000000000..e01332200fa
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/OperationDef_i.h
@@ -0,0 +1,206 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// OperationDef_i.h
+//
+// = DESCRIPTION
+// OperationDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_OPERATIONDEF_I_H
+#define TAO_OPERATIONDEF_I_H
+
+#include "Contained_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_OperationDef_i : public virtual TAO_Contained_i
+{
+ // = TITLE
+ // TAO_OperationDef_i
+ //
+ // = DESCRIPTION
+ // Represents the information needed to describe an operation
+ // of an interface.
+ //
+public:
+ TAO_OperationDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_OperationDef_i (void);
+ // Destructor
+
+ virtual CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual CORBA_Contained::Description *describe (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+
+ virtual CORBA_Contained::Description *describe_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+
+ virtual CORBA::TypeCode_ptr result (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA::TypeCode_ptr result_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_IDLType_ptr result_def (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_IDLType_ptr result_def_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void result_def (
+ CORBA_IDLType_ptr result_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void result_def_i (
+ CORBA_IDLType_ptr result_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_ParDescriptionSeq *params (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_ParDescriptionSeq *params_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void params (
+ const CORBA_ParDescriptionSeq &params
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void params_i (
+ const CORBA_ParDescriptionSeq &params
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::OperationMode mode (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA::OperationMode mode_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void mode (
+ CORBA::OperationMode mode
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void mode_i (
+ CORBA::OperationMode mode
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_ContextIdSeq *contexts (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_ContextIdSeq *contexts_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void contexts (
+ const CORBA_ContextIdSeq &contexts
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void contexts_i (
+ const CORBA_ContextIdSeq &contexts
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_ExceptionDefSeq *exceptions (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_ExceptionDefSeq *exceptions_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void exceptions (
+ const CORBA_ExceptionDefSeq &exceptions
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void exceptions_i (
+ const CORBA_ExceptionDefSeq &exceptions
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_OperationDescription make_description (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Common code for InterfaceDef to call in
+ // making its own description.
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_OPERATIONDEF_I_H */
+
+
+
diff --git a/TAO/orbsvcs/IFR_Service/Options.cpp b/TAO/orbsvcs/IFR_Service/Options.cpp
new file mode 100644
index 00000000000..225de11fa8f
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/Options.cpp
@@ -0,0 +1,125 @@
+// $Id$
+
+#include "Options.h"
+#include "ace/Get_Opt.h"
+#include "ace/Log_Msg.h"
+
+// Default Constructor
+Options::Options ()
+ : ior_output_file_ (ACE_OS::strdup ("if_repo.ior")),
+ persistent_ (0),
+ persistent_file_ (ACE_OS::strdup ("ifr_default_backing_store")),
+ using_registry_ (0),
+ enable_locking_ (0)
+{
+}
+
+Options::~Options ()
+{
+ ACE_OS::free (this->ior_output_file_);
+ ACE_OS::free (this->persistent_file_);
+}
+
+int
+Options::parse_args (int argc, ACE_TCHAR *argv[])
+{
+ ACE_Get_Opt get_opts (argc, argv, "o:pb:mr");
+ int c;
+
+ while ((c = get_opts ()) != -1)
+ switch (c)
+ {
+ case 'o': // Set the IOR output filename.
+ this->ior_output_file_ = get_opts.opt_arg ();
+ break;
+ case 'p': // Make the IFR persistent
+ this->persistent_ = 1;
+ this->using_registry_ = 0;
+ break;
+ case 'b':
+ this->persistent_file_ = get_opts.opt_arg ();
+ break;
+ case 'm':
+#if defined (ACE_HAS_THREADS)
+ this->enable_locking_ = 1;
+#endif /* ACE_HAS_THREADS */
+ break;
+ case 'r': // win32 registry implementation
+#if defined (ACE_WIN32)
+ if (this->persistent_ == 0)
+ this->using_registry_ = 1;
+ break;
+#else /* ACE_WIN32 */
+ ACE_ERROR_RETURN ((
+ LM_ERROR,
+ ACE_TEXT ("parse_args: not a win32 platform\n")
+ ),
+ 1
+ );
+#endif /* ACE_WIN32 */
+ case '?': // display help for use of the server.
+ default:
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Usage: %s"
+ " [-o] <ior_output_file>"
+ " [-r]"
+ " [-m]"
+ " [-p]"
+ " [-b] <persistence_file>"
+ "\n",
+ argv [0]),
+ 1);
+ }
+
+ // Indicates successful parsing of command line.
+ return 0;
+}
+
+const char *
+Options::ior_output_file (void) const
+{
+ return this->ior_output_file_;
+}
+
+int
+Options::persistent (void) const
+{
+ return this->persistent_;
+}
+
+const char *
+Options::persistent_file (void) const
+{
+ return this->persistent_file_;
+}
+
+int
+Options::using_registry (void) const
+{
+ return this->using_registry_;
+}
+
+int
+Options::enable_locking (void) const
+{
+ return this->enable_locking_;
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Singleton <Options, ACE_Null_Mutex>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Singleton <Options, ACE_Null_Mutex>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/TAO/orbsvcs/IFR_Service/Options.h b/TAO/orbsvcs/IFR_Service/Options.h
new file mode 100644
index 00000000000..cfe4649a057
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/Options.h
@@ -0,0 +1,81 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// Options.h
+//
+// = DESCRIPTION
+// This class implements the Options container for the Interface
+// Repository.
+//
+// = AUTHOR
+// Jeff Parsons
+//
+// ============================================================================
+
+#ifndef OPTIONS_H
+#define OPTIONS_H
+
+#include "ace/Singleton.h"
+
+class Options
+{
+ // = TITLE
+ // Maintains the global options.
+ //
+ // = DESCRIPTION
+ // This class is converted into a Singleton by the
+ // <ACE_Singleton> template.
+public:
+ Options ();
+ // Default Constructor
+
+ ~Options();
+ // dtor
+
+ int parse_args (int argc,
+ ACE_TCHAR *argv[]);
+ // Parse the command-line arguments and initialize the options.
+
+ const char *ior_output_file (void) const;
+ // Return the file where the IOR of the server object is stored.
+
+ int persistent (void) const;
+ // Is the Interface Repository persistent?
+
+ const char *persistent_file (void) const;
+ // Return the default filename for persistent IFR.
+
+ int using_registry (void) const;
+ // Are we using a WIN32 registry as the backing store?
+
+ int enable_locking (void) const;
+ // Should the repository have a real mutex or a null mutex?
+
+private:
+ char *ior_output_file_;
+ // File where the IOR of the server object is stored.
+
+ int persistent_;
+ // Is the Interface Repository persistent?
+
+ char *persistent_file_;
+ // Default filename for persistent IFR.
+
+ int using_registry_;
+ // Are we using a WIN32 registry as the backing store?
+
+ int enable_locking_;
+ // Should the repository have a real mutex or a null mutex?
+};
+
+// Typedef an Options Singleton.
+typedef ACE_Singleton <Options, ACE_Null_Mutex> OPTIONS;
+
+#endif /* OPTIONS_H */
+
diff --git a/TAO/orbsvcs/IFR_Service/PrimaryKeyDef_i.cpp b/TAO/orbsvcs/IFR_Service/PrimaryKeyDef_i.cpp
new file mode 100644
index 00000000000..e52de82784f
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/PrimaryKeyDef_i.cpp
@@ -0,0 +1,98 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "Repository_i.h"
+#include "PrimaryKeyDef_i.h"
+
+ACE_RCSID(IFR_Service, PrimaryKeyDef_i, "$Id$")
+
+TAO_PrimaryKeyDef_i::TAO_PrimaryKeyDef_i (
+ TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key
+ )
+ : TAO_IRObject_i (repo, section_key),
+ TAO_Contained_i (repo, section_key)
+{
+}
+
+TAO_PrimaryKeyDef_i::~TAO_PrimaryKeyDef_i (void)
+{
+}
+
+CORBA::DefinitionKind
+TAO_PrimaryKeyDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return CORBA::dk_PrimaryKey;
+}
+
+void
+TAO_PrimaryKeyDef_i::destroy (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+void
+TAO_PrimaryKeyDef_i::destroy_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+}
+
+CORBA_Contained::Description *
+TAO_PrimaryKeyDef_i::describe (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->describe_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA_Contained::Description *
+TAO_PrimaryKeyDef_i::describe_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+CORBA::Boolean
+TAO_PrimaryKeyDef_i::is_a (const char *primary_key_id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->is_a_i (primary_key_id
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA::Boolean
+TAO_PrimaryKeyDef_i::is_a_i (const char * /* primary_key_id */
+ ACE_ENV_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+CORBA_ValueDef_ptr
+TAO_PrimaryKeyDef_i::primary_key (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (CORBA_ValueDef::_nil ());
+
+ return this->primary_key_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA_ValueDef_ptr
+TAO_PrimaryKeyDef_i::primary_key_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/PrimaryKeyDef_i.h b/TAO/orbsvcs/IFR_Service/PrimaryKeyDef_i.h
new file mode 100644
index 00000000000..4e5dcaab2bc
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/PrimaryKeyDef_i.h
@@ -0,0 +1,111 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// PrimaryKeyDef_i.h
+//
+// = DESCRIPTION
+// PrimaryKeyDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_PRIMARYKEYDEF_I_H
+#define TAO_PRIMARYKEYDEF_I_H
+
+#include "Contained_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_PrimaryKeyDef_i : public virtual TAO_Contained_i
+{
+ // = TITLE
+ // TAO_PrimaryKeyDef_i
+ //
+ // = DESCRIPTION
+ // Represents a primary key definition. It refers to a ValueDef
+ // object which contains the actual information about the
+ // primary key.
+ //
+public:
+ TAO_PrimaryKeyDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_PrimaryKeyDef_i (void);
+ // Destructor
+
+ virtual CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Remove the repository entry.
+
+ virtual void destroy_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_Contained::Description *describe (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+
+ virtual CORBA_Contained::Description *describe_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+
+ virtual CORBA::Boolean is_a (
+ const char *primary_key_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA::Boolean is_a_i (
+ const char *primary_key_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_ValueDef_ptr primary_key (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_ValueDef_ptr primary_key_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_PRIMARYKEYDEF_I_H */
+
diff --git a/TAO/orbsvcs/IFR_Service/PrimitiveDef_i.cpp b/TAO/orbsvcs/IFR_Service/PrimitiveDef_i.cpp
new file mode 100644
index 00000000000..6e200e14027
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/PrimitiveDef_i.cpp
@@ -0,0 +1,132 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "Repository_i.h"
+#include "PrimitiveDef_i.h"
+
+ACE_RCSID(IFR_Service, PrimitiveDef_i, "$Id$")
+
+TAO_PrimitiveDef_i::TAO_PrimitiveDef_i (
+ TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key
+ )
+ : TAO_IRObject_i (repo, section_key),
+ TAO_IDLType_i (repo, section_key)
+{
+}
+
+TAO_PrimitiveDef_i::~TAO_PrimitiveDef_i (void)
+{
+}
+
+CORBA::DefinitionKind
+TAO_PrimitiveDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return CORBA::dk_Primitive;
+}
+
+void
+TAO_PrimitiveDef_i::destroy (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ this->destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+void
+TAO_PrimitiveDef_i::destroy_i (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_THROW (CORBA::BAD_INV_ORDER (2, CORBA::COMPLETED_NO));
+}
+
+CORBA::TypeCode_ptr
+TAO_PrimitiveDef_i::type (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (CORBA::TypeCode::_nil ());
+
+ return this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA::TypeCode_ptr
+TAO_PrimitiveDef_i::type_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ u_int pkind = 0;
+ this->repo_->config ()->get_integer_value (this->section_key_,
+ "pkind",
+ pkind);
+
+ switch (ACE_static_cast (CORBA::PrimitiveKind, pkind))
+ {
+ case CORBA::pk_null:
+ return CORBA::TypeCode::_duplicate (CORBA::_tc_null);
+ case CORBA::pk_void:
+ return CORBA::TypeCode::_duplicate (CORBA::_tc_void);
+ case CORBA::pk_short:
+ return CORBA::TypeCode::_duplicate (CORBA::_tc_short);
+ case CORBA::pk_long:
+ return CORBA::TypeCode::_duplicate (CORBA::_tc_long);
+ case CORBA::pk_ushort:
+ return CORBA::TypeCode::_duplicate (CORBA::_tc_ushort);
+ case CORBA::pk_ulong:
+ return CORBA::TypeCode::_duplicate (CORBA::_tc_ulong);
+ case CORBA::pk_float:
+ return CORBA::TypeCode::_duplicate (CORBA::_tc_float);
+ case CORBA::pk_double:
+ return CORBA::TypeCode::_duplicate (CORBA::_tc_double);
+ case CORBA::pk_boolean:
+ return CORBA::TypeCode::_duplicate (CORBA::_tc_boolean);
+ case CORBA::pk_char:
+ return CORBA::TypeCode::_duplicate (CORBA::_tc_char);
+ case CORBA::pk_octet:
+ return CORBA::TypeCode::_duplicate (CORBA::_tc_octet);
+ case CORBA::pk_any:
+ return CORBA::TypeCode::_duplicate (CORBA::_tc_any);
+ case CORBA::pk_TypeCode:
+ return CORBA::TypeCode::_duplicate (CORBA::_tc_TypeCode);
+ case CORBA::pk_Principal:
+ return CORBA::TypeCode::_duplicate (CORBA::_tc_Principal);
+ case CORBA::pk_string:
+ return CORBA::TypeCode::_duplicate (CORBA::_tc_string);
+ case CORBA::pk_objref:
+ return CORBA::TypeCode::_duplicate (CORBA::_tc_Object);
+ case CORBA::pk_longlong:
+ return CORBA::TypeCode::_duplicate (CORBA::_tc_longlong);
+ case CORBA::pk_ulonglong:
+ return CORBA::TypeCode::_duplicate (CORBA::_tc_ulonglong);
+ case CORBA::pk_longdouble:
+ return CORBA::TypeCode::_duplicate (CORBA::_tc_longdouble);
+ case CORBA::pk_wchar:
+ return CORBA::TypeCode::_duplicate (CORBA::_tc_wchar);
+ case CORBA::pk_wstring:
+ return CORBA::TypeCode::_duplicate (CORBA::_tc_wstring);
+ case CORBA::pk_value_base:
+ // TODO - we haven't added this typecode constant yet.
+ default:
+ return CORBA::TypeCode::_duplicate (CORBA::_tc_null);
+ }
+}
+
+CORBA::PrimitiveKind
+TAO_PrimitiveDef_i::kind (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (CORBA::pk_null);
+
+ return this->kind_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA::PrimitiveKind
+TAO_PrimitiveDef_i::kind_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ u_int pkind = 0;
+ this->repo_->config ()->get_integer_value (this->section_key_,
+ "pkind",
+ pkind);
+
+ return ACE_static_cast (CORBA::PrimitiveKind, pkind);
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/PrimitiveDef_i.h b/TAO/orbsvcs/IFR_Service/PrimitiveDef_i.h
new file mode 100644
index 00000000000..d4cbe2f096c
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/PrimitiveDef_i.h
@@ -0,0 +1,98 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// PrimitiveDef_i.h
+//
+// = DESCRIPTION
+// PrimitiveDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_PRIMITIVEDEF_I_H
+#define TAO_PRIMITIVEDEF_I_H
+
+#include "IDLType_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_PrimitiveDef_i : public virtual TAO_IDLType_i
+{
+ // = TITLE
+ // TAO_PrimitiveDef_i
+ //
+ // = DESCRIPTION
+ // Represents any of the OMG IDL primitive types
+ //
+public:
+ TAO_PrimitiveDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor.
+
+ virtual ~TAO_PrimitiveDef_i (void);
+ // Destructor.
+
+ virtual CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // May not be called on a primitive kind - raises BAD_INV_ORDER.
+
+ virtual void destroy_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Must implement this here because it's pure virtual in the
+ // base class.
+
+ virtual CORBA::TypeCode_ptr type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From IDLType_i's pure virtual function.
+
+ virtual CORBA::TypeCode_ptr type_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::PrimitiveKind kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA::PrimitiveKind kind_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+};
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_PRIMITIVEDEF_I_H */
+
+
diff --git a/TAO/orbsvcs/IFR_Service/ProvidesDef_i.cpp b/TAO/orbsvcs/IFR_Service/ProvidesDef_i.cpp
new file mode 100644
index 00000000000..80e73290122
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/ProvidesDef_i.cpp
@@ -0,0 +1,78 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "Repository_i.h"
+#include "ProvidesDef_i.h"
+
+ACE_RCSID(IFR_Service, ProvidesDef_i, "$Id$")
+
+TAO_ProvidesDef_i::TAO_ProvidesDef_i (
+ TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key
+ )
+ : TAO_IRObject_i (repo, section_key),
+ TAO_Contained_i (repo, section_key)
+{
+}
+
+TAO_ProvidesDef_i::~TAO_ProvidesDef_i (void)
+{
+}
+
+CORBA::DefinitionKind
+TAO_ProvidesDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return CORBA::dk_Provides;
+}
+
+void
+TAO_ProvidesDef_i::destroy (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+void
+TAO_ProvidesDef_i::destroy_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+}
+
+CORBA_Contained::Description *
+TAO_ProvidesDef_i::describe (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->describe_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA_Contained::Description *
+TAO_ProvidesDef_i::describe_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+CORBA_InterfaceDef_ptr
+TAO_ProvidesDef_i::interface_type (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (CORBA_InterfaceDef::_nil ());
+
+ return this->interface_type_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA_InterfaceDef_ptr
+TAO_ProvidesDef_i::interface_type_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/ProvidesDef_i.h b/TAO/orbsvcs/IFR_Service/ProvidesDef_i.h
new file mode 100644
index 00000000000..5cd1e50fcbc
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/ProvidesDef_i.h
@@ -0,0 +1,97 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// ProvidesDef_i.h
+//
+// = DESCRIPTION
+// ProvidesDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_PROVIDESDEF_I_H
+#define TAO_PROVIDESDEF_I_H
+
+#include "Contained_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_ProvidesDef_i : public virtual TAO_Contained_i
+{
+ // = TITLE
+ // TAO_ProvidesDef_i
+ //
+ // = DESCRIPTION
+ // Represents an interface that is provided by a component.
+ //
+public:
+ TAO_ProvidesDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_ProvidesDef_i (void);
+ // Destructor
+
+ virtual CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Remove the repository entry.
+
+ virtual void destroy_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_Contained::Description *describe (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+
+ virtual CORBA_Contained::Description *describe_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+
+ virtual CORBA_InterfaceDef_ptr interface_type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_InterfaceDef_ptr interface_type_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_PROVIDESDEF_I_H */
+
diff --git a/TAO/orbsvcs/IFR_Service/PublishesDef_i.cpp b/TAO/orbsvcs/IFR_Service/PublishesDef_i.cpp
new file mode 100644
index 00000000000..044d7b67bf3
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/PublishesDef_i.cpp
@@ -0,0 +1,62 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "Repository_i.h"
+#include "PublishesDef_i.h"
+
+ACE_RCSID(IFR_Service, PublishesDef_i, "$Id$")
+
+TAO_PublishesDef_i::TAO_PublishesDef_i (
+ TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key
+ )
+ : TAO_IRObject_i (repo, section_key),
+ TAO_Contained_i (repo, section_key),
+ TAO_EventDef_i (repo, section_key)
+{
+}
+
+TAO_PublishesDef_i::~TAO_PublishesDef_i (void)
+{
+}
+
+CORBA::DefinitionKind
+TAO_PublishesDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return CORBA::dk_Publishes;
+}
+
+void
+TAO_PublishesDef_i::destroy (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+void
+TAO_PublishesDef_i::destroy_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+}
+
+CORBA_Contained::Description *
+TAO_PublishesDef_i::describe (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->describe_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA_Contained::Description *
+TAO_PublishesDef_i::describe_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/PublishesDef_i.h b/TAO/orbsvcs/IFR_Service/PublishesDef_i.h
new file mode 100644
index 00000000000..b33c970c958
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/PublishesDef_i.h
@@ -0,0 +1,89 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// PublishesDef_i.h
+//
+// = DESCRIPTION
+// PublishesDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_PUBLISHESDEF_I_H
+#define TAO_PUBLISHESDEF_I_H
+
+#include "EventDef_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_PublishesDef_i : public virtual TAO_EventDef_i
+{
+ // = TITLE
+ // TAO_PublishesDef_i
+ //
+ // = DESCRIPTION
+ // Represents the definition of an event that is published
+ // by a component.
+ //
+public:
+ TAO_PublishesDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_PublishesDef_i (void);
+ // Destructor
+
+ virtual CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Remove the repository entry.
+
+ virtual void destroy_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_Contained::Description *describe (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+
+ virtual CORBA_Contained::Description *describe_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_PUBLISHESDEF_I_H */
+
+
diff --git a/TAO/orbsvcs/IFR_Service/Repository_i.cpp b/TAO/orbsvcs/IFR_Service/Repository_i.cpp
new file mode 100644
index 00000000000..5d2f4c81332
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/Repository_i.cpp
@@ -0,0 +1,860 @@
+// -*- C++ -*-
+//
+// $Id$
+
+#include "Repository_i.h"
+#include "IDLType_i.h"
+#include "ExceptionDef_i.h"
+#include "Options.h"
+#include "Servant_Factory.h"
+
+#include "tao/ORB.h"
+
+#include "ace/Auto_Ptr.h"
+
+ACE_RCSID (IFR_Service,
+ Repository_i,
+ "$Id$")
+
+TAO_Repository_i::TAO_Repository_i (CORBA::ORB_ptr orb,
+ PortableServer::POA_ptr poa,
+ ACE_Configuration *config)
+ : TAO_IRObject_i (0, ACE_Configuration_Section_Key ()),
+ TAO_Container_i (0, ACE_Configuration_Section_Key ()),
+ orb_ (orb),
+ ir_poa_ (poa),
+ config_ (config),
+ servant_factory_ (0),
+ extension_ (CORBA::string_dup ("TAO_IFR_name_extension")),
+ lock_ (0)
+{
+ ACE_TRY_NEW_ENV
+ {
+ // Create the appropriate lock.
+ if (OPTIONS::instance ()->enable_locking ())
+ {
+ ACE_NEW_THROW_EX (this->lock_,
+ ACE_Lock_Adapter<TAO_SYNCH_MUTEX> (),
+ CORBA::NO_MEMORY ());
+ }
+ else
+ {
+ ACE_NEW_THROW_EX (this->lock_,
+ ACE_Lock_Adapter<ACE_SYNCH_NULL_MUTEX> (),
+ CORBA::NO_MEMORY ());
+ }
+ ACE_TRY_CHECK;
+
+ // Create the servant factory.
+ ACE_NEW_THROW_EX (this->servant_factory_,
+ IFR_Servant_Factory (this),
+ CORBA::NO_MEMORY ());
+ ACE_TRY_CHECK;
+
+ // Resolve and narrow the TypeCodeFactory.
+ CORBA::Object_var object =
+ this->orb_->resolve_initial_references ("TypeCodeFactory"
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (!CORBA::is_nil (object.in ()))
+ {
+ this->tc_factory_ =
+ CORBA::TypeCodeFactory::_narrow (object.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (CORBA::is_nil (this->tc_factory_.in ()))
+ ACE_ERROR ((
+ LM_ERROR,
+ ACE_TEXT ("Repository: TypeCodeFactory narrow failed\n")
+ ));
+ }
+ else
+ {
+ ACE_ERROR ((
+ LM_ERROR,
+ ACE_TEXT ("Repository: TypeCodeFactory resolve failed\n")
+ ));
+ }
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (
+ ACE_ANY_EXCEPTION,
+ ACE_TEXT ("Repository: Initialization failed\n")
+ );
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+
+ this->config_->open_section (config_->root_section (),
+ "root",
+ 1, // Will create if IFR is not persistent.
+ this->root_key_);
+
+ this->config_->open_section (this->root_key_,
+ "repo_ids",
+ 1, // Will create if IFR is not persistent.
+ this->repo_ids_key_);
+
+ int status =
+ this->config_->open_section (this->root_key_,
+ "pkinds",
+ 0, // Don't create
+ this->pkinds_key_);
+
+ if (status != 0)
+ // IFR is non-persistent or is being run for the first time.
+ // Must add entries for primitive kinds.
+ {
+ this->config_->open_section (this->root_key_,
+ "pkinds",
+ 1, // It doesn't exist so create it.
+ this->pkinds_key_);
+
+ u_int num_pkinds = this->num_pkinds ();
+ for (u_int i = 0; i < num_pkinds; i++)
+ {
+ ACE_Configuration_Section_Key key;
+ CORBA::PrimitiveKind pkind = ACE_static_cast (CORBA::PrimitiveKind,
+ i);
+
+ this->config_->open_section (this->pkinds_key_,
+ this->pkind_to_string (pkind),
+ 1,
+ key);
+
+ this->config_->set_integer_value (key,
+ "def_kind",
+ CORBA::dk_Primitive);
+
+ this->config_->set_integer_value (key,
+ "pkind",
+ i);
+
+ }
+ }
+
+ this->config_->open_section (this->root_key_,
+ "strings",
+ 1,
+ this->strings_key_);
+
+ this->config_->open_section (this->root_key_,
+ "wstrings",
+ 1,
+ this->wstrings_key_);
+
+ this->config_->open_section (this->root_key_,
+ "fixeds",
+ 1,
+ this->fixeds_key_);
+
+ this->config_->open_section (this->root_key_,
+ "arrays",
+ 1,
+ this->arrays_key_);
+
+ this->config_->open_section (this->root_key_,
+ "sequences",
+ 1,
+ this->sequences_key_);
+
+ u_int count = 0;
+
+ // If repository is not persistent, we need to set all
+ // the "count" fields to 0. We test just one for existence.
+ status =
+ this->config_->get_integer_value (this->strings_key_,
+ "count",
+ count);
+
+ if (status == -3) // Field "count" does not exist.
+ {
+ this->config_->set_integer_value (this->strings_key_,
+ "count",
+ 0);
+
+ this->config_->set_integer_value (this->wstrings_key_,
+ "count",
+ 0);
+
+ this->config_->set_integer_value (this->fixeds_key_,
+ "count",
+ 0);
+
+ this->config_->set_integer_value (this->arrays_key_,
+ "count",
+ 0);
+
+ this->config_->set_integer_value (this->sequences_key_,
+ "count",
+ 0);
+ }
+
+ // The following are done because we are also a Container.
+ this->repo_ = this;
+ this->section_key_ = this->root_key_;
+
+ this->config_->set_string_value (this->section_key_,
+ "absolute_name",
+ "");
+
+ this->config_->set_string_value (this->section_key_,
+ "id",
+ ""); // required by spec
+
+ this->config_->set_string_value (this->section_key_,
+ "name",
+ "");
+
+ this->config_->set_integer_value (this->section_key_,
+ "def_kind",
+ CORBA::dk_Repository);
+}
+
+TAO_Repository_i::~TAO_Repository_i (void)
+{
+ delete this->servant_factory_;
+ delete this->lock_;
+}
+
+CORBA::DefinitionKind
+TAO_Repository_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return CORBA::dk_Repository;
+}
+
+void
+TAO_Repository_i::destroy (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_THROW (CORBA::BAD_INV_ORDER (2, CORBA::COMPLETED_NO));
+}
+
+CORBA_Contained_ptr
+TAO_Repository_i::lookup_id (const char *search_id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (CORBA_Contained::_nil ());
+
+ return this->lookup_id_i (search_id
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA_Contained_ptr
+TAO_Repository_i::lookup_id_i (const char *search_id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ if (ACE_OS::strcmp (search_id, "IDL:omg.org/CORBA/Object:1.0") == 0
+ || ACE_OS::strcmp (search_id, "IDL:omg.org/CORBA/ValueBase:1.0") == 0)
+ {
+ return CORBA_Contained::_nil ();
+ }
+
+ ACE_TString path;
+ if (this->config_->get_string_value (this->repo_ids_key_,
+ search_id,
+ path)
+ != 0)
+ {
+ return CORBA_Contained::_nil ();
+ }
+
+ ACE_Configuration_Section_Key key;
+ this->config_->expand_path (this->root_key_,
+ path,
+ key);
+
+ u_int kind = 0;
+ this->config_->get_integer_value (key,
+ "def_kind",
+ kind);
+
+ CORBA::DefinitionKind def_kind =
+ ACE_static_cast (CORBA::DefinitionKind, kind);
+
+ CORBA::Object_var obj =
+ this->servant_factory_->create_objref (def_kind,
+ path.c_str ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_Contained::_nil ());
+
+ return CORBA_Contained::_narrow (obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA::TypeCode_ptr
+TAO_Repository_i::get_canonical_typecode (CORBA::TypeCode_ptr tc
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (CORBA::TypeCode::_nil ());
+
+ return this->get_canonical_typecode_i (tc
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA::TypeCode_ptr
+TAO_Repository_i::get_canonical_typecode_i (CORBA::TypeCode_ptr tc
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA::TCKind kind = tc->kind (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ switch (kind)
+ {
+ // For all the TCKinds not covered below, no change is needed.
+ default:
+ return CORBA::TypeCode::_duplicate (tc);
+ case CORBA::tk_fixed:
+ ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), CORBA::TypeCode::_nil ());
+ case CORBA::tk_array:
+ {
+ CORBA::ULong length = tc->length (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ CORBA::TypeCode_var ctype = tc->content_type (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ CORBA::TypeCode_var canon_ctype =
+ this->get_canonical_typecode_i (ctype.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ return this->tc_factory ()->create_array_tc (length,
+ canon_ctype.in ()
+ ACE_ENV_ARG_PARAMETER);
+ }
+ case CORBA::tk_sequence:
+ {
+ CORBA::ULong length = tc->length (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ CORBA::TypeCode_var ctype = tc->content_type (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ CORBA::TypeCode_var canon_ctype =
+ this->get_canonical_typecode_i (ctype.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ return this->tc_factory ()->create_sequence_tc (length,
+ canon_ctype.in ()
+ ACE_ENV_ARG_PARAMETER);
+ }
+ case CORBA::tk_alias:
+ case CORBA::tk_objref:
+ case CORBA::tk_struct:
+ case CORBA::tk_union:
+ case CORBA::tk_enum:
+ case CORBA::tk_except:
+ case CORBA::tk_value:
+ case CORBA::tk_value_box:
+ case CORBA::tk_native:
+ case CORBA::tk_abstract_interface:
+ case CORBA::tk_component:
+ case CORBA::tk_home:
+ {
+ CORBA::String_var id = tc->id (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ ACE_TString path;
+ int status =
+ this->config ()->get_string_value (this->repo_ids_key (),
+ id.in (),
+ path);
+
+ // TODO - something in case the repo id is an empty string,
+ // or if it is not found in this repository
+ if (status != 0)
+ return CORBA::TypeCode::_nil ();
+
+ ACE_Configuration_Section_Key key;
+ this->config ()->expand_path (this->root_key (),
+ path,
+ key,
+ 0);
+
+ // An ExceptionDef is not an IDLType.
+ if (kind == CORBA::tk_except)
+ {
+ TAO_ExceptionDef_i impl (this,
+ key);
+
+ return impl.type_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ }
+ else
+ {
+ TAO_IDLType_i *impl =
+ this->servant_factory ()->create_idltype (key
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ auto_ptr<TAO_IDLType_i> safety (impl);
+
+ return impl->type_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ }
+ }
+ }
+}
+
+CORBA_PrimitiveDef_ptr
+TAO_Repository_i::get_primitive (CORBA::PrimitiveKind kind
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString obj_id ("pkinds\\");
+
+ obj_id += this->pkind_to_string (kind);
+
+ CORBA::Object_var obj =
+ this->servant_factory_->create_objref (CORBA::dk_Primitive,
+ obj_id.c_str ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_PrimitiveDef::_nil ());
+
+ return CORBA_PrimitiveDef::_narrow (obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA_StringDef_ptr
+TAO_Repository_i::create_string (CORBA::ULong bound
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD_RETURN (CORBA_StringDef::_nil ());
+
+ return this->create_string_i (bound
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA_StringDef_ptr
+TAO_Repository_i::create_string_i (CORBA::ULong bound
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ u_int count = 0;
+ this->config_->get_integer_value (this->strings_key_,
+ "count",
+ count);
+
+ CORBA::String_var name = this->int_to_string (count++);
+ this->config_->set_integer_value (this->strings_key_,
+ "count",
+ count);
+
+ // Make new database entry.
+ ACE_Configuration_Section_Key new_key;
+ this->config_->open_section (this->strings_key_,
+ name.in (),
+ 1,
+ new_key);
+
+ this->config_->set_integer_value (new_key,
+ "bound",
+ bound);
+
+ this->config_->set_integer_value (new_key,
+ "def_kind",
+ CORBA::dk_String);
+
+ this->config_->set_string_value (new_key,
+ "name",
+ name.in ());
+
+ // Create the object reference.
+ ACE_TString obj_id ("strings\\");
+ obj_id += name.in ();
+
+ CORBA::Object_var obj =
+ this->servant_factory_->create_objref (CORBA::dk_String,
+ obj_id.c_str ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_StringDef::_nil ());
+
+ return CORBA_StringDef::_narrow (obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA_WstringDef_ptr
+TAO_Repository_i::create_wstring (CORBA::ULong bound
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD_RETURN (CORBA_WstringDef::_nil ());
+
+ return this->create_wstring_i (bound
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA_WstringDef_ptr
+TAO_Repository_i::create_wstring_i (CORBA::ULong bound
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ u_int count = 0;
+ this->config_->get_integer_value (this->wstrings_key_,
+ "count",
+ count);
+
+ CORBA::String_var name = this->int_to_string (count++);
+ this->config_->set_integer_value (this->wstrings_key_,
+ "count",
+ count);
+
+ // Make new database entry.
+ ACE_Configuration_Section_Key new_key;
+ this->config_->open_section (this->wstrings_key_,
+ name.in (),
+ 1,
+ new_key);
+
+ this->config_->set_integer_value (new_key,
+ "bound",
+ bound);
+
+ this->config_->set_integer_value (new_key,
+ "def_kind",
+ CORBA::dk_Wstring);
+
+ this->config_->set_string_value (new_key,
+ "name",
+ name.in ());
+
+ // Create the object reference.
+ ACE_TString obj_id ("wstrings\\");
+ obj_id += name.in ();
+
+ CORBA::Object_var obj =
+ this->servant_factory_->create_objref (CORBA::dk_Wstring,
+ obj_id.c_str ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_WstringDef::_nil ());
+
+ return CORBA_WstringDef::_narrow (obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA_SequenceDef_ptr
+TAO_Repository_i::create_sequence (CORBA::ULong bound,
+ CORBA_IDLType_ptr element_type
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD_RETURN (CORBA_SequenceDef::_nil ());
+
+ return this->create_sequence_i (bound,
+ element_type
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA_SequenceDef_ptr
+TAO_Repository_i::create_sequence_i (CORBA::ULong bound,
+ CORBA_IDLType_ptr element_type
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ PortableServer::ObjectId_var oid =
+ this->ir_poa_->reference_to_id (element_type
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_SequenceDef::_nil ());
+
+ CORBA::String_var element_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ u_int count = 0;
+ this->config_->get_integer_value (this->sequences_key_,
+ "count",
+ count);
+
+ CORBA::String_var name = this->int_to_string (count++);
+ this->config_->set_integer_value (this->sequences_key_,
+ "count",
+ count);
+
+ // Make new database entry.
+ ACE_Configuration_Section_Key new_key;
+ this->config_->open_section (this->sequences_key_,
+ name.in (),
+ 1,
+ new_key);
+
+ // Set the bound attribute.
+ this->config_->set_integer_value (new_key,
+ "bound",
+ bound);
+
+ // Set the def_kind attribute.
+ this->config_->set_integer_value (new_key,
+ "def_kind",
+ CORBA::dk_Sequence);
+
+ // Set the "name" for destroy to use.
+ this->config_->set_string_value (new_key,
+ "name",
+ name.in ());
+
+ // To get key to element type.
+ this->config_->set_string_value (new_key,
+ "element_path",
+ element_path.in ());
+
+ // Create the object reference.
+ ACE_TString obj_id ("sequences\\");
+ obj_id += name.in ();
+
+ CORBA::Object_var obj =
+ this->servant_factory_->create_objref (CORBA::dk_Sequence,
+ obj_id.c_str ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_SequenceDef::_nil ());
+
+ return CORBA_SequenceDef::_narrow (obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA_ArrayDef_ptr
+TAO_Repository_i::create_array (CORBA::ULong length,
+ CORBA_IDLType_ptr element_type
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD_RETURN (CORBA_ArrayDef::_nil ());
+
+ return this->create_array_i (length,
+ element_type
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA_ArrayDef_ptr
+TAO_Repository_i::create_array_i (CORBA::ULong length,
+ CORBA_IDLType_ptr element_type
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ PortableServer::ObjectId_var oid =
+ this->ir_poa_->reference_to_id (element_type
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_ArrayDef::_nil ());
+
+ CORBA::String_var element_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ u_int count = 0;
+ this->config_->get_integer_value (this->arrays_key_,
+ "count",
+ count);
+
+ CORBA::String_var name = this->int_to_string (count++);
+ this->config_->set_integer_value (this->arrays_key_,
+ "count",
+ count);
+
+ // Make new database entry.
+ ACE_Configuration_Section_Key new_key;
+ this->config_->open_section (this->arrays_key_,
+ name.in (),
+ 1,
+ new_key);
+
+ // Set the length attribute.
+ this->config_->set_integer_value (new_key,
+ "length",
+ length);
+
+ // Set the def_kind attribute.
+ this->config_->set_integer_value (new_key,
+ "def_kind",
+ CORBA::dk_Array);
+
+ // Set the "name" for destroy to use.
+ this->config_->set_string_value (new_key,
+ "name",
+ name.in ());
+
+ // To get key to element type.
+ this->config_->set_string_value (new_key,
+ "element_path",
+ element_path.in ());
+
+ // Create the object reference.
+ ACE_TString obj_id ("arrays\\");
+ obj_id += name.in ();
+
+ CORBA::Object_var obj =
+ this->servant_factory_->create_objref (CORBA::dk_Array,
+ obj_id.c_str ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_ArrayDef::_nil ());
+
+ return CORBA_ArrayDef::_narrow (obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA_FixedDef_ptr
+TAO_Repository_i::create_fixed (CORBA::UShort digits,
+ CORBA::Short scale
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD_RETURN (CORBA_FixedDef::_nil ());
+
+ return this->create_fixed_i (digits,
+ scale
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA_FixedDef_ptr
+TAO_Repository_i::create_fixed_i (CORBA::UShort /* digits */,
+ CORBA::Short /* scale */
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), CORBA_FixedDef::_nil ());
+}
+
+PortableServer::POA_ptr
+TAO_Repository_i::ir_poa (void) const
+{
+ return this->ir_poa_;
+}
+
+ACE_Configuration *
+TAO_Repository_i::config (void) const
+{
+ return this->config_;
+}
+
+IFR_Servant_Factory *
+TAO_Repository_i::servant_factory (void) const
+{
+ return this->servant_factory_;
+}
+
+CORBA::TypeCodeFactory_ptr
+TAO_Repository_i::tc_factory (void) const
+{
+ return this->tc_factory_.in ();
+}
+
+CORBA_Repository_ptr
+TAO_Repository_i::repo_objref (void) const
+{
+ return CORBA_Repository::_duplicate (this->repo_objref_);
+}
+
+void
+TAO_Repository_i::repo_objref (CORBA_Repository_ptr objref)
+{
+ this->repo_objref_ = objref;
+}
+
+ACE_Configuration_Section_Key
+TAO_Repository_i::root_key (void) const
+{
+ return this->root_key_;
+}
+
+ACE_Configuration_Section_Key
+TAO_Repository_i::repo_ids_key (void) const
+{
+ return this->repo_ids_key_;
+}
+
+ACE_Configuration_Section_Key
+TAO_Repository_i::pkinds_key (void) const
+{
+ return this->pkinds_key_;
+}
+
+ACE_Configuration_Section_Key
+TAO_Repository_i::strings_key (void) const
+{
+ return this->strings_key_;
+}
+
+ACE_Configuration_Section_Key
+TAO_Repository_i::wstrings_key (void) const
+{
+ return this->wstrings_key_;
+}
+
+ACE_Configuration_Section_Key
+TAO_Repository_i::fixeds_key (void) const
+{
+ return this->fixeds_key_;
+}
+
+ACE_Configuration_Section_Key
+TAO_Repository_i::arrays_key (void) const
+{
+ return this->arrays_key_;
+}
+
+ACE_Configuration_Section_Key
+TAO_Repository_i::sequences_key (void) const
+{
+ return this->sequences_key_;
+}
+
+const char *
+TAO_Repository_i::extension (void) const
+{
+ return this->extension_.in ();
+}
+
+ACE_Lock &
+TAO_Repository_i::lock (void) const
+{
+ return *this->lock_;
+}
+
+const char *TAO_Repository_i::TAO_IFR_primitive_kinds[] =
+ {
+ "pk_null",
+ "pk_void",
+ "pk_short",
+ "pk_long",
+ "pk_ushort",
+ "pk_ulong",
+ "pk_float",
+ "pk_double",
+ "pk_boolean",
+ "pk_char",
+ "pk_octet",
+ "pk_any",
+ "pk_TypeCode",
+ "pk_Principal",
+ "pk_string",
+ "pk_objref",
+ "pk_longlong",
+ "pk_ulonglong",
+ "pk_longdouble",
+ "pk_wchar",
+ "pk_wstring",
+ "pk_value_base"
+ };
+
+const char *
+TAO_Repository_i::pkind_to_string (CORBA::PrimitiveKind pkind) const
+{
+ return TAO_Repository_i::TAO_IFR_primitive_kinds[pkind];
+}
+
+u_int
+TAO_Repository_i::num_pkinds (void) const
+{
+ return sizeof (TAO_Repository_i::TAO_IFR_primitive_kinds) / sizeof (char*);
+}
+
+void
+TAO_Repository_i::shutdown (void)
+{
+ this->orb_->shutdown (0);
+}
diff --git a/TAO/orbsvcs/IFR_Service/Repository_i.h b/TAO/orbsvcs/IFR_Service/Repository_i.h
new file mode 100644
index 00000000000..8b805e81a72
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/Repository_i.h
@@ -0,0 +1,289 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// Repository_i.h
+//
+// = DESCRIPTION
+// Repository servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef REPOSITORY_I_H
+#define REPOSITORY_I_H
+
+#include "Container_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+#include "IFR_macro.h"
+#include "tao/TypeCodeFactory/TypeCodeFactory_Loader.h"
+#include "tao/CORBA_String.h"
+
+class IFR_Servant_Factory;
+
+class TAO_Repository_i : public virtual TAO_Container_i
+{
+ // = TITLE
+ // TAO_Repository_i
+ //
+ // = DESCRIPTION
+ // Provides global access to the Interface Repository, but
+ // does not support access to information related to
+ // CORBA Components.
+ //
+public:
+ TAO_Repository_i (CORBA::ORB_ptr orb,
+ PortableServer::POA_ptr poa,
+ ACE_Configuration *config);
+ // Constructor.
+
+ virtual ~TAO_Repository_i (void);
+ // Destructor.
+
+ virtual CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Accessor for the readonly attribute.
+
+ virtual void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // May not be called on a repository - raises BAD_INV_ORDER.
+
+ virtual CORBA_Contained_ptr lookup_id (
+ const char *search_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_Contained_ptr lookup_id_i (
+ const char *search_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::TypeCode_ptr get_canonical_typecode (
+ CORBA::TypeCode_ptr tc
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA::TypeCode_ptr get_canonical_typecode_i (
+ CORBA::TypeCode_ptr tc
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::PrimitiveDef_ptr get_primitive (
+ CORBA::PrimitiveKind kind
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC (( CORBA::SystemException));
+ // No locking necessary because the database is not
+ // accessed.
+
+ virtual CORBA_StringDef_ptr create_string (
+ CORBA::ULong bound
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_StringDef_ptr create_string_i (
+ CORBA::ULong bound
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_WstringDef_ptr create_wstring (
+ CORBA::ULong bound
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_WstringDef_ptr create_wstring_i (
+ CORBA::ULong bound
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_SequenceDef_ptr create_sequence (
+ CORBA::ULong bound,
+ CORBA_IDLType_ptr element_type
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC (( CORBA::SystemException));
+
+ CORBA_SequenceDef_ptr create_sequence_i (
+ CORBA::ULong bound,
+ CORBA_IDLType_ptr element_type
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC (( CORBA::SystemException));
+
+ virtual CORBA_ArrayDef_ptr create_array (
+ CORBA::ULong length,
+ CORBA_IDLType_ptr element_type
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_ArrayDef_ptr create_array_i (
+ CORBA::ULong length,
+ CORBA_IDLType_ptr element_type
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_FixedDef_ptr create_fixed (
+ CORBA::UShort digits,
+ CORBA::Short scale
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_FixedDef_ptr create_fixed_i (
+ CORBA::UShort digits,
+ CORBA::Short scale
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ PortableServer::POA_ptr ir_poa (void) const;
+ // Accessor for the POA that creates the servants.
+
+ ACE_Configuration *config (void) const;
+ // Accessor for the ACE_Configuration database.
+
+ IFR_Servant_Factory *servant_factory (void) const;
+ // Accessor for the servant factory.
+
+ CORBA::TypeCodeFactory_ptr tc_factory (void) const;
+ // Accessor for the Typecode factory.
+
+ CORBA_Repository_ptr repo_objref (void) const;
+ void repo_objref (CORBA_Repository_ptr objref);
+ // Accessor/mutator for our object reference.
+
+ ACE_Configuration_Section_Key root_key (void) const;
+ // Accessor for the root key for all IR objects.
+
+ ACE_Configuration_Section_Key repo_ids_key (void) const;
+ // Accessor for the repository ids root key.
+
+ ACE_Configuration_Section_Key pkinds_key (void) const;
+ // Accessor for the primitive kinds section.
+
+ ACE_Configuration_Section_Key strings_key (void) const;
+ // Accessor for the bounded strings section.
+
+ ACE_Configuration_Section_Key wstrings_key (void) const;
+ // Accessor for the bounded wstrings section.
+
+ ACE_Configuration_Section_Key fixeds_key (void) const;
+ // Accessor for the fixed types section.
+
+ ACE_Configuration_Section_Key arrays_key (void) const;
+ // Accessor for the anonymous arrays section.
+
+ ACE_Configuration_Section_Key sequences_key (void) const;
+ // Accessor for the anonymous sequences section.
+
+ const char *extension (void) const;
+ // Accessor for the name extension string.
+
+ ACE_Lock &lock (void) const;
+ // Repo lock.
+
+ void shutdown (void);
+ // Used ONLY with Purify, for memory leak checking.
+ // A call to this can be temporariily appended to the
+ // destroy() method of the last thing to be destroyed
+ // by the test code.
+
+protected:
+ CORBA::ORB_ptr orb_;
+ // Reference to our ORB.
+
+ PortableServer::POA_ptr ir_poa_;
+ // Reference to the POA that creates the servants.
+
+ ACE_Configuration *config_;
+ // Our ACE_Configuration database.
+
+ IFR_Servant_Factory *servant_factory_;
+ // Creates _i and _tie instances.
+
+ CORBA::TypeCodeFactory_var tc_factory_;
+ // Our Typecode factory.
+
+ CORBA_Repository_ptr repo_objref_;
+ // The object reference of this servant.
+
+ ACE_Configuration_Section_Key root_key_;
+ // Root of all IR objects.
+
+ ACE_Configuration_Section_Key repo_ids_key_;
+ // Flat section of Interface Repository ids.
+
+ ACE_Configuration_Section_Key pkinds_key_;
+ // Section holding the primitive kinds.
+
+ ACE_Configuration_Section_Key strings_key_;
+ // Section holding the bounded strings.
+
+ ACE_Configuration_Section_Key wstrings_key_;
+ // Section holding the bounded wstrings.
+
+ ACE_Configuration_Section_Key fixeds_key_;
+ // Section holding the fixed types.
+
+ ACE_Configuration_Section_Key arrays_key_;
+ // Section holding the anonymous arrays.
+
+ ACE_Configuration_Section_Key sequences_key_;
+ // Section holding the anonymous sequences.
+
+ CORBA::String_var extension_;
+ // Added to names temporarily to avoid name clashes.
+
+ ACE_Lock *lock_;
+ // Lock.
+
+private:
+ static const char *TAO_IFR_primitive_kinds[];
+ // Set of strings corresponding to the CORBA_PrimitiveKind
+ // enum values.
+
+ const char *pkind_to_string (CORBA::PrimitiveKind pkind) const;
+ // Convert the enum value to the equivalent string.
+
+ u_int num_pkinds (void) const;
+ // Return the number of entries in the CORBA_PrimitiveKind enum.
+
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_REPOSITORY_I_H */
diff --git a/TAO/orbsvcs/IFR_Service/SequenceDef_i.cpp b/TAO/orbsvcs/IFR_Service/SequenceDef_i.cpp
new file mode 100644
index 00000000000..e84948ad205
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/SequenceDef_i.cpp
@@ -0,0 +1,286 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "SequenceDef_i.h"
+#include "Repository_i.h"
+#include "Servant_Factory.h"
+#include "ace/Auto_Ptr.h"
+
+ACE_RCSID(IFR_Service, SequenceDef_i, "$Id$")
+
+TAO_SequenceDef_i::TAO_SequenceDef_i (
+ TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key
+ )
+ : TAO_IRObject_i (repo, section_key),
+ TAO_IDLType_i (repo, section_key)
+{
+}
+
+TAO_SequenceDef_i::~TAO_SequenceDef_i (void)
+{
+}
+
+CORBA::DefinitionKind
+TAO_SequenceDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return CORBA::dk_Sequence;
+}
+
+void
+TAO_SequenceDef_i::destroy (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+void
+TAO_SequenceDef_i::destroy_i (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Only if it is (w)string, fixed, array or sequence.
+ this->destroy_element_type (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ ACE_TString name;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "name",
+ name);
+
+ this->repo_->config ()->remove_section (this->repo_->sequences_key (),
+ name.c_str (),
+ 0);
+}
+
+CORBA::TypeCode_ptr
+TAO_SequenceDef_i::type (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (CORBA::TypeCode::_nil ());
+
+ return this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA::TypeCode_ptr
+TAO_SequenceDef_i::type_i (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA::TypeCode_var element_typecode =
+ this->element_type_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ CORBA::ULong bound = this->bound_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ return this->repo_->tc_factory ()->create_sequence_tc (
+ bound,
+ element_typecode.in ()
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+CORBA::ULong
+TAO_SequenceDef_i::bound (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->bound_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA::ULong
+TAO_SequenceDef_i::bound_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ u_int bound = 0;
+ this->repo_->config ()->get_integer_value (this->section_key_,
+ "bound",
+ bound);
+
+ return ACE_static_cast (CORBA::ULong, bound);
+}
+
+void
+TAO_SequenceDef_i::bound (CORBA::ULong bound
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->bound_i (bound
+ ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_SequenceDef_i::bound_i (CORBA::ULong bound
+ ACE_ENV_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ this->repo_->config ()->set_integer_value (this->section_key_,
+ "bound",
+ bound);
+}
+
+CORBA::TypeCode_ptr
+TAO_SequenceDef_i::element_type (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (CORBA::TypeCode::_nil ());
+
+ return this->element_type_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA::TypeCode_ptr
+TAO_SequenceDef_i::element_type_i (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString element_path;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "element_path",
+ element_path);
+
+ ACE_Configuration_Section_Key element_key;
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ element_path,
+ element_key,
+ 0);
+
+ TAO_IDLType_i *impl =
+ this->repo_->servant_factory ()->create_idltype (element_key
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ auto_ptr<TAO_IDLType_i> safety (impl);
+
+ return impl->type_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA_IDLType_ptr
+TAO_SequenceDef_i::element_type_def (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (CORBA_IDLType::_nil ());
+
+ return this->element_type_def_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA_IDLType_ptr
+TAO_SequenceDef_i::element_type_def_i (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString element_path;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "element_path",
+ element_path);
+
+ ACE_Configuration_Section_Key element_key;
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ element_path,
+ element_key,
+ 0);
+
+ u_int kind = 0;
+ this->repo_->config ()->get_integer_value (element_key,
+ "def_kind",
+ kind);
+
+ CORBA::DefinitionKind def_kind =
+ ACE_static_cast (CORBA::DefinitionKind, kind);
+
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (def_kind,
+ element_path.c_str ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_IDLType::_nil ());
+
+ return CORBA_IDLType::_narrow (obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_SequenceDef_i::element_type_def (CORBA_IDLType_ptr element_type_def
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->element_type_def_i (element_type_def
+ ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_SequenceDef_i::element_type_def_i (CORBA_IDLType_ptr element_type_def
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ this->destroy_element_type (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (element_type_def
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ CORBA::String_var element_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ this->repo_->config ()->set_string_value (this->section_key_,
+ "element_path",
+ element_path.in ());
+}
+
+void
+TAO_SequenceDef_i::destroy_element_type (
+ ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString element_path;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "element_path",
+ element_path);
+
+ ACE_Configuration_Section_Key element_key;
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ element_path,
+ element_key,
+ 0);
+
+ u_int kind = 0;
+ this->repo_->config ()->get_integer_value (element_key,
+ "def_kind",
+ kind);
+
+ CORBA::DefinitionKind def_kind =
+ ACE_static_cast (CORBA::DefinitionKind, kind);
+
+ switch (def_kind)
+ {
+ // These exist only as our elements, so the type should
+ // be destroyed when we are destroyed or our element type
+ // is mutated.
+ case CORBA::dk_String:
+ case CORBA::dk_Wstring:
+ case CORBA::dk_Fixed:
+ case CORBA::dk_Array:
+ case CORBA::dk_Sequence:
+ {
+ TAO_IDLType_i *impl =
+ this->repo_->servant_factory ()->create_idltype (element_key
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ auto_ptr<TAO_IDLType_i> safety (impl);
+
+ impl->destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ break;
+ }
+ default:
+ break;
+ }
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/SequenceDef_i.h b/TAO/orbsvcs/IFR_Service/SequenceDef_i.h
new file mode 100644
index 00000000000..7ec49a80cad
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/SequenceDef_i.h
@@ -0,0 +1,149 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// SequenceDef_i.h
+//
+// = DESCRIPTION
+// SequenceDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef SEQUENCEDEF_I_H
+#define SEQUENCEDEF_I_H
+
+#include "IDLType_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_SequenceDef_i : public virtual TAO_IDLType_i
+{
+ // = TITLE
+ // TAO_SequenceDef_i
+ //
+ // = DESCRIPTION
+ // Represents an IDL sequence type.
+ //
+public:
+ TAO_SequenceDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_SequenceDef_i (void);
+ // Destructor
+
+ virtual CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Remove the repository entry.
+
+ virtual void destroy_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::TypeCode_ptr type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From IDLType_i's pure virtual function.
+
+ virtual CORBA::TypeCode_ptr type_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From IDLType_i's pure virtual function.
+
+ virtual CORBA::ULong bound (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA::ULong bound_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void bound (
+ CORBA::ULong bound
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void bound_i (
+ CORBA::ULong bound
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::TypeCode_ptr element_type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA::TypeCode_ptr element_type_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_IDLType_ptr element_type_def (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_IDLType_ptr element_type_def_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void element_type_def (
+ CORBA_IDLType_ptr element_type_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void element_type_def_i (
+ CORBA_IDLType_ptr element_type_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+private:
+ void destroy_element_type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Destroys an anonymous non-primitive element type.
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_SEQUENCEDEF_I_H */
+
+
diff --git a/TAO/orbsvcs/IFR_Service/Servant_Factory.cpp b/TAO/orbsvcs/IFR_Service/Servant_Factory.cpp
new file mode 100644
index 00000000000..64cd9fb8ff7
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/Servant_Factory.cpp
@@ -0,0 +1,1492 @@
+// $Id$
+
+#include "Servant_Factory.h"
+#include "concrete_classes.h"
+#include "IFR_ComponentsS.h"
+#include "ace/Auto_Ptr.h"
+
+ACE_RCSID(IFR_Service, Servant_Factory, "$Id$")
+
+IFR_Servant_Factory::IFR_Servant_Factory (TAO_Repository_i *repo)
+ : repo_ (repo)
+{
+}
+
+TAO_IDLType_i *
+IFR_Servant_Factory::create_idltype (
+ ACE_Configuration_Section_Key servant_key
+ ACE_ENV_ARG_DECL
+ )
+{
+ u_int def_kind = 0;
+ this->repo_->config ()->get_integer_value (servant_key,
+ "def_kind",
+ def_kind);
+
+ switch (ACE_static_cast (CORBA::DefinitionKind, def_kind))
+ {
+ case CORBA::dk_Interface:
+ {
+ TAO_InterfaceDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_InterfaceDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case CORBA::dk_AbstractInterface:
+ {
+ TAO_AbstractInterfaceDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_AbstractInterfaceDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case CORBA::dk_LocalInterface:
+ {
+ TAO_LocalInterfaceDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_LocalInterfaceDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case CORBA::dk_Alias:
+ {
+ TAO_AliasDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_AliasDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case CORBA::dk_Struct:
+ {
+ TAO_StructDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_StructDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case CORBA::dk_Union:
+ {
+ TAO_UnionDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_UnionDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case CORBA::dk_Enum:
+ {
+ TAO_EnumDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_EnumDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case CORBA::dk_Primitive:
+ {
+ TAO_PrimitiveDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_PrimitiveDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case CORBA::dk_String:
+ {
+ TAO_StringDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_StringDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case CORBA::dk_Sequence:
+ {
+ TAO_SequenceDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_SequenceDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case CORBA::dk_Array:
+ {
+ TAO_ArrayDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_ArrayDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case CORBA::dk_Wstring:
+ {
+ TAO_WstringDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_WstringDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case CORBA::dk_Fixed:
+ {
+ TAO_FixedDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_FixedDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case CORBA::dk_Value:
+ {
+ TAO_ValueDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_ValueDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case CORBA::dk_ValueBox:
+ {
+ TAO_ValueBoxDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_ValueBoxDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case CORBA::dk_Native:
+ {
+ TAO_NativeDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_NativeDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case CORBA::dk_Component:
+ {
+ TAO_ComponentDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_ComponentDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case CORBA::dk_Home:
+ {
+ TAO_HomeDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_HomeDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ default:
+ return 0;
+ }
+}
+
+TAO_Contained_i *
+IFR_Servant_Factory::create_contained (
+ ACE_Configuration_Section_Key servant_key
+ ACE_ENV_ARG_DECL
+ )
+{
+ u_int def_kind = 0;
+ this->repo_->config ()->get_integer_value (servant_key,
+ "def_kind",
+ def_kind);
+
+ switch (ACE_static_cast (CORBA::DefinitionKind, def_kind))
+ {
+ case CORBA::dk_Interface:
+ {
+ TAO_InterfaceDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_InterfaceDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case CORBA::dk_AbstractInterface:
+ {
+ TAO_AbstractInterfaceDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_AbstractInterfaceDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case CORBA::dk_LocalInterface:
+ {
+ TAO_LocalInterfaceDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_LocalInterfaceDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case CORBA::dk_Alias:
+ {
+ TAO_AliasDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_AliasDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case CORBA::dk_Struct:
+ {
+ TAO_StructDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_StructDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case CORBA::dk_Union:
+ {
+ TAO_UnionDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_UnionDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case CORBA::dk_Enum:
+ {
+ TAO_EnumDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_EnumDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case CORBA::dk_Module:
+ {
+ TAO_ModuleDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_ModuleDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case CORBA::dk_Exception:
+ {
+ TAO_ExceptionDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_ExceptionDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case CORBA::dk_Constant:
+ {
+ TAO_ConstantDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_ConstantDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case CORBA::dk_ValueMember:
+ {
+ TAO_ValueMemberDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_ValueMemberDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case CORBA::dk_Uses:
+ {
+ TAO_UsesDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_UsesDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case CORBA::dk_Provides:
+ {
+ TAO_ProvidesDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_ProvidesDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case CORBA::dk_PrimaryKey:
+ {
+ TAO_PrimaryKeyDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_PrimaryKeyDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case CORBA::dk_Emits:
+ {
+ TAO_EmitsDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_EmitsDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case CORBA::dk_Publishes:
+ {
+ TAO_PublishesDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_PublishesDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case CORBA::dk_Consumes:
+ {
+ TAO_ConsumesDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_ConsumesDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case CORBA::dk_Attribute:
+ {
+ TAO_AttributeDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_AttributeDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case CORBA::dk_Operation:
+ {
+ TAO_OperationDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_OperationDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case CORBA::dk_Value:
+ {
+ TAO_ValueDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_ValueDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case CORBA::dk_ValueBox:
+ {
+ TAO_ValueBoxDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_ValueBoxDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case CORBA::dk_Native:
+ {
+ TAO_NativeDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_NativeDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case CORBA::dk_Component:
+ {
+ TAO_ComponentDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_ComponentDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case CORBA::dk_Home:
+ {
+ TAO_HomeDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_HomeDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ default:
+ return 0;
+ }
+}
+
+TAO_Container_i *
+IFR_Servant_Factory::create_container (
+ ACE_Configuration_Section_Key servant_key
+ ACE_ENV_ARG_DECL
+ )
+{
+ u_int def_kind = 0;
+ this->repo_->config ()->get_integer_value (servant_key,
+ "def_kind",
+ def_kind);
+
+ switch (ACE_static_cast (CORBA::DefinitionKind, def_kind))
+ {
+ case CORBA::dk_Interface:
+ {
+ TAO_InterfaceDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_InterfaceDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case CORBA::dk_AbstractInterface:
+ {
+ TAO_AbstractInterfaceDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_AbstractInterfaceDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case CORBA::dk_LocalInterface:
+ {
+ TAO_LocalInterfaceDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_LocalInterfaceDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case CORBA::dk_Struct:
+ {
+ TAO_StructDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_StructDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case CORBA::dk_Union:
+ {
+ TAO_UnionDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_UnionDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case CORBA::dk_Module:
+ {
+ TAO_ModuleDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_ModuleDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case CORBA::dk_Exception:
+ {
+ TAO_ExceptionDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_ExceptionDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case CORBA::dk_Value:
+ {
+ TAO_ValueDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_ValueDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case CORBA::dk_Component:
+ {
+ TAO_ComponentDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_ComponentDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ case CORBA::dk_Home:
+ {
+ TAO_HomeDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_HomeDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ return impl;
+ }
+ default:
+ return 0;
+ }
+}
+
+PortableServer::Servant
+IFR_Servant_Factory::create_tie (
+ ACE_Configuration_Section_Key servant_key,
+ PortableServer::POA_ptr poa
+ ACE_ENV_ARG_DECL
+ )
+{
+ u_int def_kind = 0;
+ this->repo_->config ()->get_integer_value (servant_key,
+ "def_kind",
+ def_kind);
+
+ switch (ACE_static_cast (CORBA::DefinitionKind, def_kind))
+ {
+ case CORBA::dk_Attribute:
+ {
+ TAO_AttributeDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_AttributeDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_AttributeDef_i> safety (impl);
+
+ POA_CORBA_AttributeDef_tie<TAO_AttributeDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_CORBA_AttributeDef_tie<TAO_AttributeDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case CORBA::dk_Constant:
+ {
+ TAO_ConstantDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_ConstantDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_ConstantDef_i> safety (impl);
+
+ POA_CORBA_ConstantDef_tie<TAO_ConstantDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_CORBA_ConstantDef_tie<TAO_ConstantDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case CORBA::dk_Exception:
+ {
+ TAO_ExceptionDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_ExceptionDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_ExceptionDef_i> safety (impl);
+
+ POA_CORBA_ExceptionDef_tie<TAO_ExceptionDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_CORBA_ExceptionDef_tie<TAO_ExceptionDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case CORBA::dk_Interface:
+ {
+ TAO_InterfaceDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_InterfaceDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_InterfaceDef_i> safety (impl);
+
+ POA_CORBA_InterfaceDef_tie<TAO_InterfaceDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_CORBA_InterfaceDef_tie<TAO_InterfaceDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case CORBA::dk_AbstractInterface:
+ {
+ TAO_AbstractInterfaceDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_AbstractInterfaceDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_AbstractInterfaceDef_i> safety (impl);
+
+ POA_CORBA_AbstractInterfaceDef_tie<TAO_AbstractInterfaceDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (
+ impl_tie,
+ POA_CORBA_AbstractInterfaceDef_tie<TAO_AbstractInterfaceDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case CORBA::dk_LocalInterface:
+ {
+ TAO_LocalInterfaceDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_LocalInterfaceDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_LocalInterfaceDef_i> safety (impl);
+
+ POA_CORBA_LocalInterfaceDef_tie<TAO_LocalInterfaceDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (
+ impl_tie,
+ POA_CORBA_LocalInterfaceDef_tie<TAO_LocalInterfaceDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case CORBA::dk_Module:
+ {
+ TAO_ModuleDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_ModuleDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_ModuleDef_i> safety (impl);
+
+ POA_CORBA_ModuleDef_tie<TAO_ModuleDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_CORBA_ModuleDef_tie<TAO_ModuleDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case CORBA::dk_Operation:
+ {
+ TAO_OperationDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_OperationDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_OperationDef_i> safety (impl);
+
+ POA_CORBA_OperationDef_tie<TAO_OperationDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_CORBA_OperationDef_tie<TAO_OperationDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case CORBA::dk_Alias:
+ {
+ TAO_AliasDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_AliasDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_AliasDef_i> safety (impl);
+
+ POA_CORBA_AliasDef_tie<TAO_AliasDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_CORBA_AliasDef_tie<TAO_AliasDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case CORBA::dk_Struct:
+ {
+ TAO_StructDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_StructDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_StructDef_i> safety (impl);
+
+ POA_CORBA_StructDef_tie<TAO_StructDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_CORBA_StructDef_tie<TAO_StructDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case CORBA::dk_Union:
+ {
+ TAO_UnionDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_UnionDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_UnionDef_i> safety (impl);
+
+ POA_CORBA_UnionDef_tie<TAO_UnionDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_CORBA_UnionDef_tie<TAO_UnionDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case CORBA::dk_Enum:
+ {
+ TAO_EnumDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_EnumDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_EnumDef_i> safety (impl);
+
+ POA_CORBA_EnumDef_tie<TAO_EnumDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_CORBA_EnumDef_tie<TAO_EnumDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case CORBA::dk_Primitive:
+ {
+ TAO_PrimitiveDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_PrimitiveDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_PrimitiveDef_i> safety (impl);
+
+ POA_CORBA_PrimitiveDef_tie<TAO_PrimitiveDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_CORBA_PrimitiveDef_tie<TAO_PrimitiveDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case CORBA::dk_String:
+ {
+ TAO_StringDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_StringDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_StringDef_i> safety (impl);
+
+ POA_CORBA_StringDef_tie<TAO_StringDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_CORBA_StringDef_tie<TAO_StringDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case CORBA::dk_Sequence:
+ {
+ TAO_SequenceDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_SequenceDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_SequenceDef_i> safety (impl);
+
+ POA_CORBA_SequenceDef_tie<TAO_SequenceDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_CORBA_SequenceDef_tie<TAO_SequenceDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case CORBA::dk_Array:
+ {
+ TAO_ArrayDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_ArrayDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_ArrayDef_i> safety (impl);
+
+ POA_CORBA_ArrayDef_tie<TAO_ArrayDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_CORBA_ArrayDef_tie<TAO_ArrayDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case CORBA::dk_Wstring:
+ {
+ TAO_WstringDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_WstringDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_WstringDef_i> safety (impl);
+
+ POA_CORBA_WstringDef_tie<TAO_WstringDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_CORBA_WstringDef_tie<TAO_WstringDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case CORBA::dk_Fixed:
+ {
+ TAO_FixedDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_FixedDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_FixedDef_i> safety (impl);
+
+ POA_CORBA_FixedDef_tie<TAO_FixedDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_CORBA_FixedDef_tie<TAO_FixedDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case CORBA::dk_Value:
+ {
+ TAO_ValueDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_ValueDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_ValueDef_i> safety (impl);
+
+ POA_CORBA_ValueDef_tie<TAO_ValueDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_CORBA_ValueDef_tie<TAO_ValueDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case CORBA::dk_ValueBox:
+ {
+ TAO_ValueBoxDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_ValueBoxDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_ValueBoxDef_i> safety (impl);
+
+ POA_CORBA_ValueBoxDef_tie<TAO_ValueBoxDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_CORBA_ValueBoxDef_tie<TAO_ValueBoxDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case CORBA::dk_ValueMember:
+ {
+ TAO_ValueMemberDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_ValueMemberDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_ValueMemberDef_i> safety (impl);
+
+ POA_CORBA_ValueMemberDef_tie<TAO_ValueMemberDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (
+ impl_tie,
+ POA_CORBA_ValueMemberDef_tie<TAO_ValueMemberDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ()
+ );
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case CORBA::dk_Native:
+ {
+ TAO_NativeDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_NativeDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_NativeDef_i> safety (impl);
+
+ POA_CORBA_NativeDef_tie<TAO_NativeDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_CORBA_NativeDef_tie<TAO_NativeDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case CORBA::dk_Component:
+ {
+ TAO_ComponentDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_ComponentDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_ComponentDef_i> safety (impl);
+
+ POA_IR::ComponentDef_tie<TAO_ComponentDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_IR::ComponentDef_tie<TAO_ComponentDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case CORBA::dk_Home:
+ {
+ TAO_HomeDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_HomeDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_HomeDef_i> safety (impl);
+
+ POA_IR::HomeDef_tie<TAO_HomeDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_IR::HomeDef_tie<TAO_HomeDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case CORBA::dk_Factory:
+ {
+ TAO_FactoryDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_FactoryDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_FactoryDef_i> safety (impl);
+
+ POA_IR::FactoryDef_tie<TAO_FactoryDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_IR::FactoryDef_tie<TAO_FactoryDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case CORBA::dk_Finder:
+ {
+ TAO_FinderDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_FinderDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_FinderDef_i> safety (impl);
+
+ POA_IR::FinderDef_tie<TAO_FinderDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_IR::FinderDef_tie<TAO_FinderDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case CORBA::dk_PrimaryKey:
+ {
+ TAO_PrimaryKeyDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_PrimaryKeyDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_PrimaryKeyDef_i> safety (impl);
+
+ POA_IR::PrimaryKeyDef_tie<TAO_PrimaryKeyDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_IR::PrimaryKeyDef_tie<TAO_PrimaryKeyDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case CORBA::dk_Emits:
+ {
+ TAO_EmitsDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_EmitsDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_EmitsDef_i> safety (impl);
+
+ POA_IR::EmitsDef_tie<TAO_EmitsDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_IR::EmitsDef_tie<TAO_EmitsDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case CORBA::dk_Publishes:
+ {
+ TAO_PublishesDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_PublishesDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_PublishesDef_i> safety (impl);
+
+ POA_IR::PublishesDef_tie<TAO_PublishesDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_IR::PublishesDef_tie<TAO_PublishesDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case CORBA::dk_Consumes:
+ {
+ TAO_ConsumesDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_ConsumesDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_ConsumesDef_i> safety (impl);
+
+ POA_IR::ConsumesDef_tie<TAO_ConsumesDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_IR::ConsumesDef_tie<TAO_ConsumesDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case CORBA::dk_Provides:
+ {
+ TAO_ProvidesDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_ProvidesDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_ProvidesDef_i> safety (impl);
+
+ POA_IR::ProvidesDef_tie<TAO_ProvidesDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_IR::ProvidesDef_tie<TAO_ProvidesDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ case CORBA::dk_Uses:
+ {
+ TAO_UsesDef_i *impl = 0;
+ ACE_NEW_THROW_EX (impl,
+ TAO_UsesDef_i (this->repo_,
+ servant_key),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_UsesDef_i> safety (impl);
+
+ POA_IR::UsesDef_tie<TAO_UsesDef_i> *impl_tie = 0;
+ ACE_NEW_THROW_EX (impl_tie,
+ POA_IR::UsesDef_tie<TAO_UsesDef_i> (impl,
+ poa,
+ 1),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ safety.release ();
+ return impl_tie;
+ }
+ default:
+ ACE_THROW_RETURN (CORBA::OBJECT_NOT_EXIST (), 0);
+ }
+}
+
+CORBA::Object_ptr
+IFR_Servant_Factory::create_objref (CORBA::DefinitionKind def_kind,
+ const char *obj_id
+ ACE_ENV_ARG_DECL)
+{
+ PortableServer::ObjectId_var oid =
+ PortableServer::string_to_ObjectId (obj_id);
+
+ // Can plug in prefix tricks here.
+ ACE_TString repo_id ("IDL:omg.org/");
+
+ switch (def_kind)
+ {
+ case CORBA::dk_Attribute:
+ repo_id += "CORBA/AttributeDef:";
+ break;
+ case CORBA::dk_Constant:
+ repo_id += "CORBA/ConstantDef:";
+ break;
+ case CORBA::dk_Exception:
+ repo_id += "CORBA/ExceptionDef:";
+ break;
+ case CORBA::dk_Interface:
+ repo_id += "CORBA/InterfaceDef:";
+ break;
+ case CORBA::dk_AbstractInterface:
+ repo_id += "CORBA/AbstractInterfaceDef:";
+ break;
+ case CORBA::dk_LocalInterface:
+ repo_id += "CORBA/LocalInterfaceDef:";
+ break;
+ case CORBA::dk_Module:
+ repo_id += "CORBA/ModuleDef:";
+ break;
+ case CORBA::dk_Operation:
+ repo_id += "CORBA/OperationDef:";
+ break;
+ case CORBA::dk_Typedef:
+ repo_id += "CORBA/TypedefDef:";
+ break;
+ case CORBA::dk_Alias:
+ repo_id += "CORBA/AliasDef:";
+ break;
+ case CORBA::dk_Struct:
+ repo_id += "CORBA/StructDef:";
+ break;
+ case CORBA::dk_Union:
+ repo_id += "CORBA/UnionDef:";
+ break;
+ case CORBA::dk_Enum:
+ repo_id += "CORBA/EnumDef:";
+ break;
+ case CORBA::dk_Primitive:
+ repo_id += "CORBA/PrimitiveDef:";
+ break;
+ case CORBA::dk_String:
+ repo_id += "CORBA/StringDef:";
+ break;
+ case CORBA::dk_Sequence:
+ repo_id += "CORBA/SequenceDef:";
+ break;
+ case CORBA::dk_Array:
+ repo_id += "CORBA/ArrayDef:";
+ break;
+ case CORBA::dk_Wstring:
+ repo_id += "CORBA/WstringDef:";
+ break;
+ case CORBA::dk_Fixed:
+ repo_id += "CORBA/FixedDef:";
+ break;
+ case CORBA::dk_Value:
+ repo_id += "CORBA/ValueDef:";
+ break;
+ case CORBA::dk_ValueBox:
+ repo_id += "CORBA/ValueBoxDef:";
+ break;
+ case CORBA::dk_ValueMember:
+ repo_id += "CORBA/ValueMemberDef:";
+ break;
+ case CORBA::dk_Native:
+ repo_id += "CORBA/NativeDef:";
+ break;
+ case CORBA::dk_Component:
+ repo_id += "IR/ComponentDef:";
+ break;
+ case CORBA::dk_Home:
+ repo_id += "HomeDef:";
+ break;
+ case CORBA::dk_Factory:
+ repo_id += "IR/FactoryDef:";
+ break;
+ case CORBA::dk_Finder:
+ repo_id += "IR/FinderDef:";
+ break;
+ case CORBA::dk_PrimaryKey:
+ repo_id += "IR/PrimaryKeyDef:";
+ break;
+ case CORBA::dk_Emits:
+ repo_id += "IR/EmitsDef:";
+ break;
+ case CORBA::dk_Publishes:
+ repo_id += "IR/PublishesDef:";
+ break;
+ case CORBA::dk_Consumes:
+ repo_id += "IR/ConsumesDef:";
+ break;
+ case CORBA::dk_Provides:
+ repo_id += "IR/ProvidesDef:";
+ break;
+ case CORBA::dk_Uses:
+ repo_id += "IR/UsesDef:";
+ break;
+ default:
+ ACE_THROW_RETURN (CORBA::OBJECT_NOT_EXIST (), 0);
+ }
+
+ // Can plug in version tricks here.
+ repo_id += "1.0";
+
+ return this->repo_->ir_poa ()->create_reference_with_id (oid.in (),
+ repo_id.c_str ()
+ ACE_ENV_ARG_PARAMETER);
+}
diff --git a/TAO/orbsvcs/IFR_Service/Servant_Factory.h b/TAO/orbsvcs/IFR_Service/Servant_Factory.h
new file mode 100644
index 00000000000..dd9b29d1934
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/Servant_Factory.h
@@ -0,0 +1,78 @@
+// $Id$
+
+//==========================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// Servant_Factory.h
+//
+// = DESCRIPTION
+// Defines a factory class to create the various forms and types
+// of servants.
+//
+// = AUTHOR
+// Jeff Parsons
+//
+//==========================================================================
+
+#ifndef IFR_SERVANT_FACTORY_H
+#define IFR_SERVANT_FACTORY_H
+
+#include "tao/PortableServer/PortableServerC.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "ace/Configuration.h"
+
+class TAO_IDLType_i;
+class TAO_Contained_i;
+class TAO_Container_i;
+class TAO_Repository_i;
+
+class IFR_Servant_Factory
+{
+ // = TITLE
+ // Servant_Factory
+ //
+ // = DESCRIPTION
+ // This class is used to create _i classes, _tie classes and
+ // object references.
+ //
+public:
+ IFR_Servant_Factory (TAO_Repository_i *repo);
+ // constructor
+
+ TAO_IDLType_i *create_idltype (ACE_Configuration_Section_Key key
+ ACE_ENV_ARG_DECL);
+ // For internal use - faster than creating an object reference and
+ // sending a request, and can call utility functions not in IDL.
+
+ TAO_Contained_i *create_contained (ACE_Configuration_Section_Key key
+ ACE_ENV_ARG_DECL);
+ // For internal use - faster than creating an object reference and
+ // sending a request, and can call utility functions not in IDL.
+
+ TAO_Container_i *create_container (ACE_Configuration_Section_Key key
+ ACE_ENV_ARG_DECL);
+ // For internal use - faster than creating an object reference and
+ // sending a request, and can call utility functions not in IDL.
+
+ PortableServer::Servant create_tie (ACE_Configuration_Section_Key key,
+ PortableServer::POA_ptr poa
+ ACE_ENV_ARG_DECL);
+ // Used by the servant locator to create a servant.
+
+ CORBA::Object_ptr create_objref (CORBA::DefinitionKind def_kind,
+ const char *obj_id
+ ACE_ENV_ARG_DECL);
+ // Used to create return values.
+private:
+ TAO_Repository_i *repo_;
+ // Reference to the repository, where most of the state is stored.
+};
+
+#endif /* IFR_SERVANT_FACTORY_H */
diff --git a/TAO/orbsvcs/IFR_Service/Servant_Locator.cpp b/TAO/orbsvcs/IFR_Service/Servant_Locator.cpp
new file mode 100644
index 00000000000..4065aead98c
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/Servant_Locator.cpp
@@ -0,0 +1,66 @@
+// $Id$
+
+#include "Servant_Locator.h"
+#include "Servant_Factory.h"
+#include "Repository_i.h"
+
+ACE_RCSID(IFR_Service, Servant_Locator, "$Id$")
+
+IFR_ServantLocator::IFR_ServantLocator (TAO_Repository_i *repo)
+ : repo_ (repo)
+{
+}
+
+PortableServer::Servant
+IFR_ServantLocator::preinvoke (
+ const PortableServer::ObjectId &oid,
+ PortableServer::POA_ptr poa,
+ const char * /* operation */,
+ PortableServer::ServantLocator::Cookie &cookie
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ PortableServer::ForwardRequest))
+{
+ CORBA::String_var s =
+ PortableServer::ObjectId_to_string (oid);
+
+ ACE_Configuration_Section_Key servant_key;
+ int status =
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ s.in (),
+ servant_key,
+ 0);
+
+ if (status != 0)
+ {
+ // If we're here, destroy() has been called.
+ ACE_THROW_RETURN (CORBA::OBJECT_NOT_EXIST (), 0);
+ }
+
+ PortableServer::Servant servant =
+ this->repo_->servant_factory ()->create_tie (servant_key,
+ poa
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ cookie = servant;
+
+ return servant;
+}
+
+void
+IFR_ServantLocator::postinvoke (
+ const PortableServer::ObjectId & /* oid */,
+ PortableServer::POA_ptr /* poa */,
+ const char * /* operation */,
+ PortableServer::ServantLocator::Cookie /* cookie */,
+ PortableServer::Servant servant
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ delete servant;
+}
+
+
diff --git a/TAO/orbsvcs/IFR_Service/Servant_Locator.h b/TAO/orbsvcs/IFR_Service/Servant_Locator.h
new file mode 100644
index 00000000000..9a2293854b9
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/Servant_Locator.h
@@ -0,0 +1,73 @@
+// $Id$
+
+//==========================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// Servant_Locator.h
+//
+// = DESCRIPTION
+// Defines a servant activator subclass, used by the IFR and its POA
+//
+// = AUTHOR
+// Jeff Parsons
+//
+//==========================================================================
+
+#ifndef IFR_SERVANT_LOCATOR_H
+#define IFR_SERVANT_LOCATOR_H
+
+#include "tao/PortableServer/PortableServerC.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+class TAO_Repository_i;
+
+class IFR_ServantLocator : public PortableServer::ServantLocator
+{
+ // = TITLE
+ // IFR_ServantLocator
+ //
+ // = DESCRIPTION
+ // This class is used by the Interface Repository to create
+ // servants on demand
+ //
+public:
+ IFR_ServantLocator (TAO_Repository_i *repo);
+ // constructor
+
+ virtual PortableServer::Servant preinvoke (
+ const PortableServer::ObjectId &oid,
+ PortableServer::POA_ptr adapter,
+ const char *operation,
+ PortableServer::ServantLocator::Cookie &the_cookie
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ PortableServer::ForwardRequest));
+ // This method is invoked by the IFR's POA whenever it receives a request
+ // for an IR object.
+
+ virtual void postinvoke (
+ const PortableServer::ObjectId &oid,
+ PortableServer::POA_ptr adapter,
+ const char *operation,
+ PortableServer::ServantLocator::Cookie the_cookie,
+ PortableServer::Servant the_servant
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // This method is invoked whenever an IR object servant completes a
+ // request.
+
+
+private:
+ TAO_Repository_i *repo_;
+ // Passed in to each created servant.
+};
+
+#endif /* IFR_SERVANT_LOCATOR_H */
diff --git a/TAO/orbsvcs/IFR_Service/StringDef_i.cpp b/TAO/orbsvcs/IFR_Service/StringDef_i.cpp
new file mode 100644
index 00000000000..b536f8981f5
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/StringDef_i.cpp
@@ -0,0 +1,113 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "Repository_i.h"
+#include "StringDef_i.h"
+
+ACE_RCSID(IFR_Service, StringDef_i, "$Id$")
+
+TAO_StringDef_i::TAO_StringDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key)
+ : TAO_IRObject_i (repo, section_key),
+ TAO_IDLType_i (repo, section_key)
+{
+}
+
+TAO_StringDef_i::~TAO_StringDef_i (void)
+{
+}
+
+CORBA::DefinitionKind
+TAO_StringDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return CORBA::dk_String;
+}
+
+void
+TAO_StringDef_i::destroy (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+void
+TAO_StringDef_i::destroy_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString name;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "name",
+ name);
+
+ this->repo_->config ()->remove_section (this->repo_->strings_key (),
+ name.c_str (),
+ 0);
+}
+
+CORBA::TypeCode_ptr
+TAO_StringDef_i::type (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (CORBA::TypeCode::_nil ());
+
+ return this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA::TypeCode_ptr
+TAO_StringDef_i::type_i (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA::ULong bound = this->bound_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ return this->repo_->tc_factory ()->create_string_tc (
+ bound
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+CORBA::ULong
+TAO_StringDef_i::bound (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->bound_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA::ULong
+TAO_StringDef_i::bound_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ u_int retval = 0;
+ this->repo_->config ()->get_integer_value (this->section_key_,
+ "bound",
+ retval);
+
+ return ACE_static_cast (CORBA::ULong, retval);
+}
+
+void
+TAO_StringDef_i::bound (CORBA::ULong bound
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->bound_i (bound
+ ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_StringDef_i::bound_i (CORBA::ULong bound
+ ACE_ENV_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ this->repo_->config ()->set_integer_value (this->section_key_,
+ "bound",
+ bound);
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/StringDef_i.h b/TAO/orbsvcs/IFR_Service/StringDef_i.h
new file mode 100644
index 00000000000..6bc502446e3
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/StringDef_i.h
@@ -0,0 +1,110 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// StringDef_i.h
+//
+// = DESCRIPTION
+// StringDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_STRINGDEF_I_H
+#define TAO_STRINGDEF_I_H
+
+#include "IDLType_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_StringDef_i : public virtual TAO_IDLType_i
+{
+ // = TITLE
+ // TAO_StringDef_i
+ //
+ // = DESCRIPTION
+ // Represents a bounded string (unbounded strings
+ // are included in PrimitiveDef).
+ //
+public:
+ TAO_StringDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor.
+
+ virtual ~TAO_StringDef_i (void);
+ // Destructor.
+
+ virtual CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Remove the repository entry.
+
+ virtual void destroy_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::TypeCode_ptr type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From IDLType_i's pure virtual function.
+
+ virtual CORBA::TypeCode_ptr type_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From IDLType_i's pure virtual function.
+
+ virtual CORBA::ULong bound (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA::ULong bound_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void bound (
+ CORBA::ULong bound
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void bound_i (
+ CORBA::ULong bound
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_STRINGDEF_I_H */
+
diff --git a/TAO/orbsvcs/IFR_Service/StructDef_i.cpp b/TAO/orbsvcs/IFR_Service/StructDef_i.cpp
new file mode 100644
index 00000000000..08dfaa51490
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/StructDef_i.cpp
@@ -0,0 +1,278 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "StructDef_i.h"
+#include "Repository_i.h"
+#include "Servant_Factory.h"
+#include "ace/Auto_Ptr.h"
+
+ACE_RCSID(IFR_Service, StructDef_i, "$Id$")
+
+TAO_StructDef_i::TAO_StructDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key)
+ : TAO_IRObject_i (repo, section_key),
+ TAO_IDLType_i (repo, section_key),
+ TAO_Contained_i (repo, section_key),
+ TAO_TypedefDef_i (repo, section_key),
+ TAO_Container_i (repo, section_key)
+{
+}
+
+TAO_StructDef_i::~TAO_StructDef_i (void)
+{
+}
+
+CORBA::DefinitionKind
+TAO_StructDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return CORBA::dk_Struct;
+}
+
+void
+TAO_StructDef_i::destroy (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+void
+TAO_StructDef_i::destroy_i (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Destroy our members.
+ TAO_Container_i::destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ // Destroy ourself.
+ TAO_Contained_i::destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+}
+
+CORBA::TypeCode_ptr
+TAO_StructDef_i::type (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (CORBA::TypeCode::_nil ());
+
+ return this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA::TypeCode_ptr
+TAO_StructDef_i::type_i (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString id;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "id",
+ id);
+
+ ACE_TString name;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "name",
+ name);
+
+ CORBA_StructMemberSeq_var members = this->members_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ return this->repo_->tc_factory ()->create_struct_tc (id.c_str (),
+ name.c_str (),
+ members.in ()
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA_StructMemberSeq *
+TAO_StructDef_i::members (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->members_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA_StructMemberSeq *
+TAO_StructDef_i::members_i (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_Unbounded_Queue<CORBA::DefinitionKind> kind_queue;
+ ACE_Unbounded_Queue<ACE_TString> path_queue;
+ ACE_Unbounded_Queue<ACE_TString> name_queue;
+
+ ACE_Configuration_Section_Key refs_key;
+ this->repo_->config ()->open_section (this->section_key_,
+ "refs",
+ 0,
+ refs_key);
+
+ u_int count = 0;
+ this->repo_->config ()->get_integer_value (refs_key,
+ "count",
+ count);
+
+ for (u_int i = 0; i < count; ++i)
+ {
+ ACE_Configuration_Section_Key member_key;
+ CORBA::String_var section_name = this->int_to_string (i);
+ this->repo_->config ()->open_section (refs_key,
+ section_name.in (),
+ 0,
+ member_key);
+
+ ACE_TString path;
+ this->repo_->config ()->get_string_value (member_key,
+ "path",
+ path);
+
+ ACE_Configuration_Section_Key entry_key;
+ int status =
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ path,
+ entry_key,
+ 0);
+
+ // This entry may have been removed.
+ if (status == 0)
+ {
+ path_queue.enqueue_tail (path);
+
+ ACE_TString name;
+ this->repo_->config ()->get_string_value (member_key,
+ "name",
+ name);
+
+ name_queue.enqueue_tail (name);
+
+ u_int kind = 0;
+ this->repo_->config ()->get_integer_value (entry_key,
+ "def_kind",
+ kind);
+
+ CORBA::DefinitionKind def_kind =
+ ACE_static_cast (CORBA::DefinitionKind, kind);
+
+ kind_queue.enqueue_tail (def_kind);
+ }
+ }
+
+ size_t size = kind_queue.size ();
+
+ CORBA_StructMemberSeq *members = 0;
+ ACE_NEW_THROW_EX (members,
+ CORBA_StructMemberSeq (size),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ members->length (size);
+
+ CORBA_StructMemberSeq_var retval = members;
+
+ ACE_TString name, path;
+ CORBA::DefinitionKind kind = CORBA::dk_none;
+ CORBA::Object_var obj;
+ ACE_Configuration_Section_Key member_key;
+ TAO_IDLType_i *impl = 0;
+
+ for (size_t k = 0; k < size; k++)
+ {
+ name_queue.dequeue_head (name);
+
+ retval[k].name = name.c_str ();
+
+ kind_queue.dequeue_head (kind);
+
+ path_queue.dequeue_head (path);
+
+ obj =
+ this->repo_->servant_factory ()->create_objref (kind,
+ path.c_str ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ retval[k].type_def = CORBA_IDLType::_narrow (obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ path,
+ member_key,
+ 0);
+
+ impl =
+ this->repo_->servant_factory ()->create_idltype (member_key
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_IDLType_i> safety (impl);
+
+ retval[k].type = impl->type_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+ }
+
+ return retval._retn ();
+}
+
+void
+TAO_StructDef_i::members (const CORBA_StructMemberSeq &members
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->members_i (members
+ ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_StructDef_i::members_i (const CORBA_StructMemberSeq &members
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Destroy our old members, both refs and defns.
+ TAO_Container_i::destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ CORBA::ULong count = members.length ();
+
+ ACE_TString section_name;
+ ACE_Configuration_Section_Key refs_key;
+
+ this->repo_->config ()->open_section (this->section_key_,
+ "refs",
+ 1,
+ refs_key);
+
+ // Create a section for each new member. We just store the
+ // member name and the path to its database entry.
+ for (CORBA::ULong i = 0; i < count; i++)
+ {
+ CORBA::String_var section_name = this->int_to_string (i);
+ ACE_Configuration_Section_Key member_key;
+ this->repo_->config ()->open_section (refs_key,
+ section_name.in (),
+ 1,
+ member_key);
+
+ this->repo_->config ()->set_string_value (member_key,
+ "name",
+ members[i].name.in ());
+
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (members[i].type_def.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ CORBA::String_var path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ this->repo_->config ()->set_string_value (member_key,
+ "path",
+ path.in ());
+ }
+
+ this->repo_->config ()->set_integer_value (refs_key,
+ "count",
+ count);
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/StructDef_i.h b/TAO/orbsvcs/IFR_Service/StructDef_i.h
new file mode 100644
index 00000000000..cf3836abc29
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/StructDef_i.h
@@ -0,0 +1,111 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// StructDef_i.h
+//
+// = DESCRIPTION
+// StructDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_STRUCTDEF_I_H
+#define TAO_STRUCTDEF_I_H
+
+#include "TypedefDef_i.h"
+#include "Container_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_StructDef_i : public virtual TAO_TypedefDef_i,
+ public virtual TAO_Container_i
+{
+ // = TITLE
+ // TAO_StructDef_i
+ //
+ // = DESCRIPTION
+ // Represents an OMG IDL structure definition.
+ //
+public:
+ TAO_StructDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_StructDef_i (void);
+ // Destructor
+
+ virtual CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Remove the repository entry and its contents.
+
+ virtual void destroy_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::TypeCode_ptr type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From IDLType_i's pure virtual function.
+
+ virtual CORBA::TypeCode_ptr type_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From IDLType_i's pure virtual function.
+
+ virtual CORBA_StructMemberSeq *members (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_StructMemberSeq *members_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void members (
+ const CORBA_StructMemberSeq &members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void members_i (
+ const CORBA_StructMemberSeq &members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_STRUCTDEF_I_H */
+
diff --git a/TAO/orbsvcs/IFR_Service/TypedefDef_i.cpp b/TAO/orbsvcs/IFR_Service/TypedefDef_i.cpp
new file mode 100644
index 00000000000..8884a883e9f
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/TypedefDef_i.cpp
@@ -0,0 +1,73 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "Repository_i.h"
+#include "TypedefDef_i.h"
+
+ACE_RCSID(IFR_Service, TypedefDef_i, "$Id$")
+
+TAO_TypedefDef_i::TAO_TypedefDef_i (
+ TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key
+ )
+ : TAO_IRObject_i (repo, section_key),
+ TAO_Contained_i (repo, section_key),
+ TAO_IDLType_i (repo, section_key)
+{
+}
+
+TAO_TypedefDef_i::~TAO_TypedefDef_i (void)
+{
+}
+
+CORBA_Contained::Description *
+TAO_TypedefDef_i::describe (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->describe_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA_Contained::Description *
+TAO_TypedefDef_i::describe_i (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA_Contained::Description *desc_ptr = 0;
+ ACE_NEW_THROW_EX (desc_ptr,
+ CORBA_Contained::Description,
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ CORBA_Contained::Description_var retval = desc_ptr;
+
+ retval->kind = this->def_kind (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA_TypeDescription td;
+
+ ACE_CHECK_RETURN (0);
+ td.name = this->name_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+
+ td.id = this->id_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ ACE_TString container_id;
+
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "container_id",
+ container_id);
+
+ td.defined_in = container_id.c_str ();
+
+ td.version = this->version_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ td.type = this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ retval->value <<= td;
+
+ return retval._retn ();
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/TypedefDef_i.h b/TAO/orbsvcs/IFR_Service/TypedefDef_i.h
new file mode 100644
index 00000000000..cf1a24a8eec
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/TypedefDef_i.h
@@ -0,0 +1,73 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// TypedefDef_i.h
+//
+// = DESCRIPTION
+// TypedefDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_TYPEDEFDEF_I_H
+#define TAO_TYPEDEFDEF_I_H
+
+#include "Contained_i.h"
+#include "IDLType_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_TypedefDef_i : public virtual TAO_Contained_i,
+ public virtual TAO_IDLType_i
+{
+ // = TITLE
+ // TAO_TypedefDef_i
+ //
+ // = DESCRIPTION
+ // Base interface inherited by all named non-object types:
+ // struct, union, enum, alias, native, and valuebox.
+ //
+public:
+ TAO_TypedefDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_TypedefDef_i (void);
+ // Destructor
+
+ virtual CORBA_Contained::Description *describe (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+
+ virtual CORBA_Contained::Description *describe_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_TYPEDEFDEF_I_H */
+
diff --git a/TAO/orbsvcs/IFR_Service/UnionDef_i.cpp b/TAO/orbsvcs/IFR_Service/UnionDef_i.cpp
new file mode 100644
index 00000000000..097f7fc1cbb
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/UnionDef_i.cpp
@@ -0,0 +1,470 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "UnionDef_i.h"
+#include "Repository_i.h"
+#include "Servant_Factory.h"
+#include "ace/Auto_Ptr.h"
+
+ACE_RCSID(IFR_Service, UnionDef_i, "$Id$")
+
+TAO_UnionDef_i::TAO_UnionDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key)
+ : TAO_IRObject_i (repo, section_key),
+ TAO_IDLType_i (repo, section_key),
+ TAO_Contained_i (repo, section_key),
+ TAO_TypedefDef_i (repo, section_key),
+ TAO_Container_i (repo, section_key)
+{
+}
+
+TAO_UnionDef_i::~TAO_UnionDef_i (void)
+{
+}
+
+CORBA::DefinitionKind
+TAO_UnionDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return CORBA::dk_Union;
+}
+
+void
+TAO_UnionDef_i::destroy (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+void
+TAO_UnionDef_i::destroy_i (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Destroy our members.
+ TAO_Container_i::destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ // Destroy ourself.
+ TAO_Contained_i::destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+}
+
+CORBA::TypeCode_ptr
+TAO_UnionDef_i::type (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (CORBA::TypeCode::_nil ());
+
+ return this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA::TypeCode_ptr
+TAO_UnionDef_i::type_i (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString id;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "id",
+ id);
+
+ ACE_TString name;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "name",
+ name);
+
+ CORBA::TypeCode_var tc = this->discriminator_type_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ CORBA_UnionMemberSeq_var members = this->members_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ return this->repo_->tc_factory ()->create_union_tc (id.c_str (),
+ name.c_str (),
+ tc.in (),
+ members.in ()
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA::TypeCode_ptr
+TAO_UnionDef_i::discriminator_type (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (CORBA::TypeCode::_nil ());
+
+ return this->discriminator_type_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA::TypeCode_ptr
+TAO_UnionDef_i::discriminator_type_i (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString disc_path;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "disc_path",
+ disc_path);
+
+ ACE_Configuration_Section_Key disc_key;
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ disc_path,
+ disc_key,
+ 0);
+
+ TAO_IDLType_i *impl =
+ this->repo_->servant_factory ()->create_idltype (disc_key
+ ACE_ENV_ARG_PARAMETER);
+
+ auto_ptr<TAO_IDLType_i> safety (impl);
+
+ return impl->type_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA_IDLType_ptr
+TAO_UnionDef_i::discriminator_type_def (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (CORBA_IDLType::_nil ());
+
+ return this->discriminator_type_def_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA_IDLType_ptr
+TAO_UnionDef_i::discriminator_type_def_i (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString disc_path;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "disc_path",
+ disc_path);
+
+ ACE_Configuration_Section_Key disc_key;
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ disc_path,
+ disc_key,
+ 0);
+
+ u_int kind;
+ this->repo_->config ()->get_integer_value (disc_key,
+ "def_kind",
+ kind);
+
+ CORBA::DefinitionKind def_kind =
+ ACE_static_cast (CORBA::DefinitionKind, kind);
+
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (def_kind,
+ disc_path.c_str ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_IDLType::_nil ());
+
+ return CORBA_IDLType::_narrow (obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_UnionDef_i::discriminator_type_def (
+ CORBA_IDLType_ptr discriminator_type_def
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->discriminator_type_def_i (discriminator_type_def
+ ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_UnionDef_i::discriminator_type_def_i (
+ CORBA_IDLType_ptr discriminator_type_def
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (discriminator_type_def
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ CORBA::String_var disc_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ this->repo_->config ()->set_string_value (this->section_key_,
+ "disc_path",
+ disc_path.in ());
+}
+
+CORBA_UnionMemberSeq *
+TAO_UnionDef_i::members (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->members_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA_UnionMemberSeq *
+TAO_UnionDef_i::members_i (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_Unbounded_Queue<ACE_Configuration_Section_Key> key_queue;
+
+ ACE_Configuration_Section_Key refs_key;
+ this->repo_->config ()->open_section (this->section_key_,
+ "refs",
+ 0,
+ refs_key);
+
+ u_int count;
+ this->repo_->config ()->get_integer_value (refs_key,
+ "count",
+ count);
+
+ for (u_int i = 0; i < count; i++)
+ {
+ ACE_Configuration_Section_Key member_key;
+ CORBA::String_var section_name = this->int_to_string (i);
+ if (this->repo_->config ()->open_section (refs_key,
+ section_name.in (),
+ 0,
+ member_key)
+ == 0)
+ {
+ ACE_TString path;
+ this->repo_->config ()->get_string_value (member_key,
+ "path",
+ path);
+
+ ACE_Configuration_Section_Key entry_key;
+
+ // This entry may have been removed.
+ if (this->repo_->config ()->expand_path (this->repo_->root_key (),
+ path,
+ entry_key,
+ 0)
+ == 0)
+ {
+ key_queue.enqueue_tail (member_key);
+ }
+ }
+ }
+
+ size_t size = key_queue.size ();
+
+ CORBA_UnionMemberSeq *members = 0;
+ ACE_NEW_THROW_EX (members,
+ CORBA_UnionMemberSeq (size),
+ CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (0);
+
+ members->length (size);
+
+ CORBA_UnionMemberSeq_var retval = members;
+
+ ACE_TString name, path;
+ ACE_Configuration_Section_Key next_key, entry_key;
+ u_int kind = 0;
+ CORBA::DefinitionKind def_kind = CORBA::dk_none;
+ CORBA::Object_var obj;
+ TAO_IDLType_i *impl = 0;
+
+ for (size_t k = 0; k < size; k++)
+ {
+ key_queue.dequeue_head (next_key);
+
+ this->repo_->config ()->get_string_value (next_key,
+ "name",
+ name);
+
+ retval[k].name = name.c_str ();
+
+ this->fetch_label (next_key,
+ retval[k]
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ this->repo_->config ()->get_string_value (next_key,
+ "path",
+ path);
+
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ path,
+ entry_key,
+ 0);
+
+ this->repo_->config ()->get_integer_value (entry_key,
+ "def_kind",
+ kind);
+
+ def_kind =
+ ACE_static_cast (CORBA::DefinitionKind, kind);
+
+ obj =
+ this->repo_->servant_factory ()->create_objref (def_kind,
+ path.c_str ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ retval[k].type_def = CORBA_IDLType::_narrow (obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ impl =
+ this->repo_->servant_factory ()->create_idltype (entry_key
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ auto_ptr<TAO_IDLType_i> safety (impl);
+
+ retval[k].type = impl->type_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+ }
+
+ return retval._retn ();
+}
+
+void
+TAO_UnionDef_i::members (const CORBA_UnionMemberSeq &members
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->members_i (members
+ ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_UnionDef_i::members_i (const CORBA_UnionMemberSeq &members
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Destroy our old members, both refs and defns.
+ TAO_Container_i::destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ ACE_TString section_name;
+ ACE_Configuration_Section_Key refs_key;
+
+ this->repo_->config ()->open_section (this->section_key_,
+ "refs",
+ 1,
+ refs_key);
+
+ // Store the new member count of the union.
+ CORBA::ULong count = members.length ();
+ this->repo_->config ()->set_integer_value (refs_key,
+ "count",
+ count);
+
+ // Create a section for each member. We store the member
+ // name, its label value, and the path to its database entry.
+ for (CORBA::ULong i = 0; i < count; i++)
+ {
+ ACE_Configuration_Section_Key member_key;
+ char *section_name = this->int_to_string (i);
+ this->repo_->config ()->open_section (refs_key,
+ section_name,
+ 1,
+ member_key);
+
+ this->repo_->config ()->set_string_value (member_key,
+ "name",
+ members[i].name.in ());
+
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (members[i].type_def.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ CORBA::String_var member_path =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ this->repo_->config ()->set_string_value (member_key,
+ "path",
+ member_path.in ());
+
+ this->store_label (member_key,
+ members[i].label
+ ACE_ENV_ARG_PARAMETER);
+ }
+}
+
+void
+TAO_UnionDef_i::fetch_label (const ACE_Configuration_Section_Key member_key,
+ CORBA_UnionMember &member
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_Configuration::VALUETYPE vt;
+ this->repo_->config ()->find_value (member_key,
+ "label",
+ vt);
+
+ if (vt == ACE_Configuration::STRING)
+ {
+ member.label <<= CORBA::Any::from_octet (0);
+
+ return;
+ }
+
+ u_int value = 0;
+ this->repo_->config ()->get_integer_value (member_key,
+ "label",
+ value);
+
+ CORBA::TypeCode_var tc = this->discriminator_type_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ CORBA::TCKind kind = tc->kind (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ switch (kind)
+ {
+ case CORBA::tk_char:
+ member.label <<= CORBA::Any::from_char (ACE_static_cast (CORBA::Char,
+ value));
+ break;
+ case CORBA::tk_wchar:
+ member.label <<= CORBA::Any::from_wchar (ACE_static_cast (CORBA::WChar,
+ value));
+ break;
+ case CORBA::tk_boolean:
+ member.label <<= CORBA::Any::from_boolean (ACE_static_cast (CORBA::Boolean,
+ value));
+ break;
+ case CORBA::tk_short:
+ member.label <<= ACE_static_cast (CORBA::Short, value);
+ break;
+ case CORBA::tk_ushort:
+ member.label <<= ACE_static_cast (CORBA::UShort, value);
+ break;
+ case CORBA::tk_long:
+ member.label <<= ACE_static_cast (CORBA::Long, value);
+ break;
+ case CORBA::tk_ulong:
+ member.label <<= ACE_static_cast (CORBA::ULong, value);
+ break;
+#if !defined (ACE_LACKS_LONGLONG_T)
+ case CORBA::tk_longlong:
+ member.label <<= ACE_static_cast (CORBA::LongLong, value);
+ break;
+#endif /* ACE_LACKS_LONGLONG_T */
+ case CORBA::tk_ulonglong:
+ member.label <<= ACE_static_cast (CORBA::ULongLong, value);
+ break;
+ case CORBA::tk_enum:
+ {
+ TAO_OutputCDR cdr;
+ cdr.write_ulong (ACE_static_cast (CORBA::ULong, value));
+ member.label._tao_replace (tc.in (),
+ TAO_ENCAP_BYTE_ORDER,
+ cdr.begin ());
+ break;
+ }
+ default:
+ break;
+ }
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/UnionDef_i.h b/TAO/orbsvcs/IFR_Service/UnionDef_i.h
new file mode 100644
index 00000000000..d9377b0c8ed
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/UnionDef_i.h
@@ -0,0 +1,153 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// UnionDef_i.h
+//
+// = DESCRIPTION
+// UnionDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_UNIONDEF_I_H
+#define TAO_UNIONDEF_I_H
+
+#include "TypedefDef_i.h"
+#include "Container_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_UnionDef_i : public virtual TAO_TypedefDef_i,
+ public virtual TAO_Container_i
+{
+ // = TITLE
+ // TAO_UnionDef_i
+ //
+ // = DESCRIPTION
+ // Represents an OMG IDL union definition.
+ //
+public:
+ TAO_UnionDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_UnionDef_i (void);
+ // Destructor
+
+ virtual CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Remove the repository entry and its contents.
+
+ virtual void destroy_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::TypeCode_ptr type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From IDLType_i's pure virtual function.
+
+ virtual CORBA::TypeCode_ptr type_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From IDLType_i's pure virtual function.
+
+ virtual CORBA::TypeCode_ptr discriminator_type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA::TypeCode_ptr discriminator_type_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_IDLType_ptr discriminator_type_def (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_IDLType_ptr discriminator_type_def_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void discriminator_type_def (
+ CORBA_IDLType_ptr discriminator_type_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void discriminator_type_def_i (
+ CORBA_IDLType_ptr discriminator_type_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_UnionMemberSeq *members (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_UnionMemberSeq *members_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void members (
+ const CORBA_UnionMemberSeq &members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void members_i (
+ const CORBA_UnionMemberSeq &members
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+private:
+ void fetch_label (
+ const ACE_Configuration_Section_Key member_key,
+ CORBA_UnionMember &member
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Used by members() to get each member's label value.
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_UNIONDEF_I_H */
+
+
diff --git a/TAO/orbsvcs/IFR_Service/UsesDef_i.cpp b/TAO/orbsvcs/IFR_Service/UsesDef_i.cpp
new file mode 100644
index 00000000000..65e7d8ca51f
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/UsesDef_i.cpp
@@ -0,0 +1,93 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "Repository_i.h"
+#include "UsesDef_i.h"
+
+ACE_RCSID(IFR_Service, UsesDef_i, "$Id$")
+
+TAO_UsesDef_i::TAO_UsesDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key)
+ : TAO_IRObject_i (repo, section_key),
+ TAO_Contained_i (repo, section_key)
+{
+}
+
+TAO_UsesDef_i::~TAO_UsesDef_i (void)
+{
+}
+
+CORBA::DefinitionKind
+TAO_UsesDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return CORBA::dk_Uses;
+}
+
+void
+TAO_UsesDef_i::destroy (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+void
+TAO_UsesDef_i::destroy_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+}
+
+CORBA_Contained::Description *
+TAO_UsesDef_i::describe (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->describe_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA_Contained::Description *
+TAO_UsesDef_i::describe_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+CORBA_InterfaceDef_ptr
+TAO_UsesDef_i::interface_type (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (CORBA_InterfaceDef::_nil ());
+
+ return this->interface_type_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA_InterfaceDef_ptr
+TAO_UsesDef_i::interface_type_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+CORBA::Boolean
+TAO_UsesDef_i::is_multiple (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->is_multiple_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA::Boolean
+TAO_UsesDef_i::is_multiple_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/UsesDef_i.h b/TAO/orbsvcs/IFR_Service/UsesDef_i.h
new file mode 100644
index 00000000000..e032dbf7bc9
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/UsesDef_i.h
@@ -0,0 +1,107 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// UsesDef_i.h
+//
+// = DESCRIPTION
+// UsesDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_USESDEF_I_H
+#define TAO_USESDEF_I_H
+
+#include "Contained_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_UsesDef_i : public virtual TAO_Contained_i
+{
+ // = TITLE
+ // TAO_UsesDef_i
+ //
+ // = DESCRIPTION
+ // Represents an interface that is used by a component.
+ //
+public:
+ TAO_UsesDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_UsesDef_i (void);
+ // Destructor
+
+ virtual CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Remove the repository entry.
+
+ virtual void destroy_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_Contained::Description *describe (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+
+ virtual CORBA_Contained::Description *describe_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+
+ virtual CORBA_InterfaceDef_ptr interface_type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_InterfaceDef_ptr interface_type_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean is_multiple (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA::Boolean is_multiple_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_USESDEF_I_H */
+
diff --git a/TAO/orbsvcs/IFR_Service/ValueBoxDef_i.cpp b/TAO/orbsvcs/IFR_Service/ValueBoxDef_i.cpp
new file mode 100644
index 00000000000..97b29fd2fe3
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/ValueBoxDef_i.cpp
@@ -0,0 +1,153 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "ValueBoxDef_i.h"
+#include "Repository_i.h"
+#include "Servant_Factory.h"
+#include "ace/Auto_Ptr.h"
+
+ACE_RCSID(IFR_Service, ValueBoxDef_i, "$Id$")
+
+TAO_ValueBoxDef_i::TAO_ValueBoxDef_i (
+ TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key
+ )
+ : TAO_IRObject_i (repo, section_key),
+ TAO_Contained_i (repo, section_key),
+ TAO_IDLType_i (repo, section_key),
+ TAO_TypedefDef_i (repo, section_key)
+{
+}
+
+TAO_ValueBoxDef_i::~TAO_ValueBoxDef_i (void)
+{
+}
+
+CORBA::DefinitionKind
+TAO_ValueBoxDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return CORBA::dk_ValueBox;
+}
+
+CORBA::TypeCode_ptr
+TAO_ValueBoxDef_i::type (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (CORBA::TypeCode::_nil ());
+
+ return this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA::TypeCode_ptr
+TAO_ValueBoxDef_i::type_i (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString id;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "id",
+ id);
+
+ ACE_TString name;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "name",
+ name);
+
+ ACE_TString boxed_type;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "boxed_type",
+ boxed_type);
+
+ ACE_Configuration_Section_Key boxed_key;
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ boxed_type,
+ boxed_key,
+ 0);
+
+ TAO_IDLType_i *impl =
+ this->repo_->servant_factory ()->create_idltype (boxed_key
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ auto_ptr<TAO_IDLType_i> safety (impl);
+
+ CORBA::TypeCode_var tc = impl->type_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ return this->repo_->tc_factory ()->create_value_box_tc (id.c_str (),
+ name.c_str (),
+ tc.in ()
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA_IDLType_ptr
+TAO_ValueBoxDef_i::original_type_def (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (CORBA_IDLType::_nil ());
+
+ return this->original_type_def_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA_IDLType_ptr
+TAO_ValueBoxDef_i::original_type_def_i (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString boxed_type;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "boxed_type",
+ boxed_type);
+
+ ACE_Configuration_Section_Key boxed_key;
+ this->repo_->config ()->expand_path (this->repo_->root_key (),
+ boxed_type,
+ boxed_key,
+ 0);
+
+ u_int kind = 0;
+ this->repo_->config ()->get_integer_value (boxed_key,
+ "def_kind",
+ kind);
+
+ CORBA::DefinitionKind def_kind =
+ ACE_static_cast (CORBA::DefinitionKind, kind);
+
+ CORBA::Object_var obj =
+ this->repo_->servant_factory ()->create_objref (def_kind,
+ boxed_type.c_str ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA_IDLType::_nil ());
+
+ return CORBA_IDLType::_narrow (obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ValueBoxDef_i::original_type_def (CORBA_IDLType_ptr original_type_def
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->original_type_def_i (original_type_def
+ ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ValueBoxDef_i::original_type_def_i (CORBA_IDLType_ptr original_type_def
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ PortableServer::ObjectId_var oid =
+ this->repo_->ir_poa ()->reference_to_id (original_type_def
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ CORBA::String_var boxed_type =
+ PortableServer::ObjectId_to_string (oid.in ());
+
+ this->repo_->config ()->set_string_value (this->section_key_,
+ "boxed_type",
+ boxed_type.in ());
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/ValueBoxDef_i.h b/TAO/orbsvcs/IFR_Service/ValueBoxDef_i.h
new file mode 100644
index 00000000000..c7b649671fb
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/ValueBoxDef_i.h
@@ -0,0 +1,99 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// ValueBoxDef_i.h
+//
+// = DESCRIPTION
+// ValueBoxDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_VALUEBOXDEF_I_H
+#define TAO_VALUEBOXDEF_I_H
+
+#include "TypedefDef_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_ValueBoxDef_i : public virtual TAO_TypedefDef_i
+{
+public:
+ // = TITLE
+ // TAO_ValueBoxDef_i
+ //
+ // = DESCRIPTION
+ // Represents an value box definition.
+ //
+public:
+ TAO_ValueBoxDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_ValueBoxDef_i (void);
+ // Destructor
+
+ virtual CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual CORBA::TypeCode_ptr type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From IDLType_i's pure virtual function.
+
+ virtual CORBA::TypeCode_ptr type_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From IDLType_i's pure virtual function.
+
+ virtual CORBA_IDLType_ptr original_type_def (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_IDLType_ptr original_type_def_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void original_type_def (
+ CORBA_IDLType_ptr original_type_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void original_type_def_i (
+ CORBA_IDLType_ptr original_type_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_VALUEBOXDEF_I_H */
+
diff --git a/TAO/orbsvcs/IFR_Service/ValueDef_i.cpp b/TAO/orbsvcs/IFR_Service/ValueDef_i.cpp
new file mode 100644
index 00000000000..147d7cac989
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/ValueDef_i.cpp
@@ -0,0 +1,493 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "Repository_i.h"
+#include "ValueDef_i.h"
+
+ACE_RCSID(IFR_Service, ValueDef_i, "$Id$")
+
+TAO_ValueDef_i::TAO_ValueDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key)
+ : TAO_IRObject_i (repo, section_key),
+ TAO_Container_i (repo, section_key),
+ TAO_Contained_i (repo, section_key),
+ TAO_IDLType_i (repo, section_key)
+{
+}
+
+TAO_ValueDef_i::~TAO_ValueDef_i (void)
+{
+}
+
+CORBA::DefinitionKind
+TAO_ValueDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return CORBA::dk_Value;
+}
+
+void
+TAO_ValueDef_i::destroy (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+void
+TAO_ValueDef_i::destroy_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+}
+
+CORBA_Contained::Description *
+TAO_ValueDef_i::describe (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->describe_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA_Contained::Description *
+TAO_ValueDef_i::describe_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+CORBA::TypeCode_ptr
+TAO_ValueDef_i::type (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (CORBA::TypeCode::_nil ());
+
+ return this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA::TypeCode_ptr
+TAO_ValueDef_i::type_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+CORBA_InterfaceDefSeq *
+TAO_ValueDef_i::supported_interfaces (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->supported_interfaces_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA_InterfaceDefSeq *
+TAO_ValueDef_i::supported_interfaces_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+void
+TAO_ValueDef_i::supported_interfaces (
+ const CORBA_InterfaceDefSeq &supported_interfaces
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->supported_interfaces_i (supported_interfaces
+ ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ValueDef_i::supported_interfaces_i (
+ const CORBA_InterfaceDefSeq & /* supported_interfaces */
+ ACE_ENV_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+}
+
+CORBA_InitializerSeq *
+TAO_ValueDef_i::initializers (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->initializers_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA_InitializerSeq *
+TAO_ValueDef_i::initializers_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+void
+TAO_ValueDef_i::initializers (const CORBA_InitializerSeq &initializers
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->initializers_i (initializers
+ ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ValueDef_i::initializers_i (const CORBA_InitializerSeq & /* initializers */
+ ACE_ENV_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+}
+
+CORBA_ValueDef_ptr
+TAO_ValueDef_i::base_value (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (CORBA_ValueDef::_nil ());
+
+ return this->base_value_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA_ValueDef_ptr
+TAO_ValueDef_i::base_value_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+void
+TAO_ValueDef_i::base_value (CORBA_ValueDef_ptr base_value
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->base_value_i (base_value
+ ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ValueDef_i::base_value_i (CORBA_ValueDef_ptr /* base_value */
+ ACE_ENV_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+}
+
+CORBA_ValueDefSeq *
+TAO_ValueDef_i::abstract_base_values (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->abstract_base_values_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA_ValueDefSeq *
+TAO_ValueDef_i::abstract_base_values_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+void
+TAO_ValueDef_i::abstract_base_values (
+ const CORBA_ValueDefSeq &abstract_base_values
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->abstract_base_values_i (abstract_base_values
+ ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ValueDef_i::abstract_base_values_i (
+ const CORBA_ValueDefSeq & /* abstract_base_values */
+ ACE_ENV_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+}
+
+CORBA::Boolean
+TAO_ValueDef_i::is_abstract (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->is_abstract_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA::Boolean
+TAO_ValueDef_i::is_abstract_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+void
+TAO_ValueDef_i::is_abstract (CORBA::Boolean is_abstract
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->is_abstract (is_abstract
+ ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ValueDef_i::is_abstract_i (CORBA::Boolean /* is_abstract */
+ ACE_ENV_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+}
+
+CORBA::Boolean
+TAO_ValueDef_i::is_custom (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->is_custom_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA::Boolean
+TAO_ValueDef_i::is_custom_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+void
+TAO_ValueDef_i::is_custom (CORBA::Boolean is_custom
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->is_custom_i (is_custom
+ ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ValueDef_i::is_custom_i (CORBA::Boolean /* is_custom */
+ ACE_ENV_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+}
+
+CORBA::Boolean
+TAO_ValueDef_i::is_truncatable (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->is_truncatable_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA::Boolean
+TAO_ValueDef_i::is_truncatable_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+void
+TAO_ValueDef_i::is_truncatable (CORBA::Boolean is_truncatable
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->is_truncatable_i (is_truncatable
+ ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ValueDef_i::is_truncatable_i (CORBA::Boolean /* is_truncatable */
+ ACE_ENV_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+}
+
+CORBA::Boolean
+TAO_ValueDef_i::is_a (const char *id
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->is_a_i (id
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA::Boolean
+TAO_ValueDef_i::is_a_i (const char *id
+ ACE_ENV_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ if (ACE_OS::strcmp (id, "IDL:omg.org/CORBA/ValueBase:1.0") == 0)
+ {
+ return 1;
+ }
+
+ // TODO
+ return 0;
+}
+
+CORBA_ValueDef::FullValueDescription *
+TAO_ValueDef_i::describe_value (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->describe_value_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA_ValueDef::FullValueDescription *
+TAO_ValueDef_i::describe_value_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+CORBA_ValueMemberDef_ptr
+TAO_ValueDef_i::create_value_member (const char *id,
+ const char *name,
+ const char *version,
+ CORBA_IDLType_ptr type,
+ CORBA::Visibility access
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD_RETURN (CORBA_ValueMemberDef::_nil ());
+
+ return this->create_value_member_i (id,
+ name,
+ version,
+ type,
+ access
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA_ValueMemberDef_ptr
+TAO_ValueDef_i::create_value_member_i (const char * /* id */,
+ const char * /* name */,
+ const char * /* version */,
+ CORBA_IDLType_ptr /* type */,
+ CORBA::Visibility /* access */
+ ACE_ENV_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+CORBA_AttributeDef_ptr
+TAO_ValueDef_i::create_attribute (
+ const char *id,
+ const char *name,
+ const char *version,
+ CORBA_IDLType_ptr type,
+ CORBA::AttributeMode mode
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD_RETURN (CORBA_AttributeDef::_nil ());
+
+ return this->create_attribute_i (id,
+ name,
+ version,
+ type,
+ mode
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA_AttributeDef_ptr
+TAO_ValueDef_i::create_attribute_i (
+ const char * /* id */,
+ const char * /* name */,
+ const char * /* version */,
+ CORBA_IDLType_ptr /* type */,
+ CORBA::AttributeMode /* mode */
+ ACE_ENV_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+CORBA_OperationDef_ptr
+TAO_ValueDef_i::create_operation (
+ const char *id,
+ const char *name,
+ const char *version,
+ CORBA_IDLType_ptr result,
+ CORBA::OperationMode mode,
+ const CORBA_ParDescriptionSeq &params,
+ const CORBA_ExceptionDefSeq &exceptions,
+ const CORBA_ContextIdSeq &contexts
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD_RETURN (CORBA_OperationDef::_nil ());
+
+ return this->create_operation_i (id,
+ name,
+ version,
+ result,
+ mode,
+ params,
+ exceptions,
+ contexts
+ ACE_ENV_ARG_PARAMETER);
+}
+
+CORBA_OperationDef_ptr
+TAO_ValueDef_i::create_operation_i (
+ const char * /* id */,
+ const char * /* name */,
+ const char * /* version */,
+ CORBA_IDLType_ptr /* result */,
+ CORBA::OperationMode /* mode */,
+ const CORBA_ParDescriptionSeq & /* params */,
+ const CORBA_ExceptionDefSeq & /* exceptions */,
+ const CORBA_ContextIdSeq & /* contexts */
+ ACE_ENV_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/ValueDef_i.h b/TAO/orbsvcs/IFR_Service/ValueDef_i.h
new file mode 100644
index 00000000000..4675e1b9908
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/ValueDef_i.h
@@ -0,0 +1,345 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// ValueDef_i.h
+//
+// = DESCRIPTION
+// ValueDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_VALUEDEF_I_H
+#define TAO_VALUEDEF_I_H
+
+#include "Contained_i.h"
+#include "IDLType_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_ValueDef_i : public virtual TAO_Container_i,
+ public virtual TAO_Contained_i,
+ public virtual TAO_IDLType_i
+{
+ // = TITLE
+ // TAO_ValueDef_i
+ //
+ // = DESCRIPTION
+ // Represents a valuetype definition.
+ //
+public:
+ TAO_ValueDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_ValueDef_i (void);
+ // Destructor
+
+ virtual CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Remove the repository entry.
+
+ virtual void destroy_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_Contained::Description *describe (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+
+ virtual CORBA_Contained::Description *describe_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+
+ virtual CORBA::TypeCode_ptr type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From IDLType_i's pure virtual function.
+
+ virtual CORBA::TypeCode_ptr type_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From IDLType_i's pure virtual function.
+
+ virtual CORBA_InterfaceDefSeq *supported_interfaces (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_InterfaceDefSeq *supported_interfaces_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void supported_interfaces (
+ const CORBA_InterfaceDefSeq & supported_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void supported_interfaces_i (
+ const CORBA_InterfaceDefSeq & supported_interfaces
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_InitializerSeq *initializers (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_InitializerSeq *initializers_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void initializers (
+ const CORBA_InitializerSeq & initializers
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void initializers_i (
+ const CORBA_InitializerSeq & initializers
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_ValueDef_ptr base_value (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_ValueDef_ptr base_value_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void base_value (
+ CORBA_ValueDef_ptr base_value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void base_value_i (
+ CORBA_ValueDef_ptr base_value
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_ValueDefSeq *abstract_base_values (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_ValueDefSeq *abstract_base_values_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void abstract_base_values (
+ const CORBA_ValueDefSeq & abstract_base_values
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void abstract_base_values_i (
+ const CORBA_ValueDefSeq & abstract_base_values
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean is_abstract (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA::Boolean is_abstract_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void is_abstract (
+ CORBA::Boolean is_abstract
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void is_abstract_i (
+ CORBA::Boolean is_abstract
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean is_custom (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA::Boolean is_custom_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void is_custom (
+ CORBA::Boolean is_custom
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void is_custom_i (
+ CORBA::Boolean is_custom
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean is_truncatable (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA::Boolean is_truncatable_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void is_truncatable (
+ CORBA::Boolean is_truncatable
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void is_truncatable_i (
+ CORBA::Boolean is_truncatable
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Boolean is_a (
+ const char *id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA::Boolean is_a_i (
+ const char *id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_ValueDef::FullValueDescription *describe_value (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_ValueDef::FullValueDescription *describe_value_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_ValueMemberDef_ptr create_value_member (
+ const char *id,
+ const char *name,
+ const char *version,
+ CORBA_IDLType_ptr type,
+ CORBA::Visibility access
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_ValueMemberDef_ptr create_value_member_i (
+ const char *id,
+ const char *name,
+ const char *version,
+ CORBA_IDLType_ptr type,
+ CORBA::Visibility access
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_AttributeDef_ptr create_attribute (
+ const char *id,
+ const char *name,
+ const char *version,
+ CORBA_IDLType_ptr type,
+ CORBA::AttributeMode mode
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_AttributeDef_ptr create_attribute_i (
+ const char *id,
+ const char *name,
+ const char *version,
+ CORBA_IDLType_ptr type,
+ CORBA::AttributeMode mode
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_OperationDef_ptr create_operation (
+ const char *id,
+ const char *name,
+ const char *version,
+ CORBA_IDLType_ptr result,
+ CORBA::OperationMode mode,
+ const CORBA_ParDescriptionSeq &params,
+ const CORBA_ExceptionDefSeq &exceptions,
+ const CORBA_ContextIdSeq &contexts
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_OperationDef_ptr create_operation_i (
+ const char *id,
+ const char *name,
+ const char *version,
+ CORBA_IDLType_ptr result,
+ CORBA::OperationMode mode,
+ const CORBA_ParDescriptionSeq &params,
+ const CORBA_ExceptionDefSeq &exceptions,
+ const CORBA_ContextIdSeq &contexts
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_VALUEDEF_I_H */
+
+
diff --git a/TAO/orbsvcs/IFR_Service/ValueMemberDef_i.cpp b/TAO/orbsvcs/IFR_Service/ValueMemberDef_i.cpp
new file mode 100644
index 00000000000..8e6b0912a21
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/ValueMemberDef_i.cpp
@@ -0,0 +1,150 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "Repository_i.h"
+#include "ValueMemberDef_i.h"
+
+ACE_RCSID(IFR_Service, ValueMemberDef_i, "$Id$")
+
+TAO_ValueMemberDef_i::TAO_ValueMemberDef_i (
+ TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key
+ )
+ : TAO_IRObject_i (repo, section_key),
+ TAO_Contained_i (repo, section_key)
+{
+}
+
+TAO_ValueMemberDef_i::~TAO_ValueMemberDef_i (void)
+{
+}
+
+CORBA::DefinitionKind
+TAO_ValueMemberDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return CORBA::dk_ValueMember;
+}
+
+void
+TAO_ValueMemberDef_i::destroy (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+void
+TAO_ValueMemberDef_i::destroy_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+}
+
+CORBA_Contained::Description *
+TAO_ValueMemberDef_i::describe (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->describe_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA_Contained::Description *
+TAO_ValueMemberDef_i::describe_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+CORBA::TypeCode_ptr
+TAO_ValueMemberDef_i::type (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (CORBA::TypeCode::_nil ());
+
+ return this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA::TypeCode_ptr
+TAO_ValueMemberDef_i::type_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+CORBA_IDLType_ptr
+TAO_ValueMemberDef_i::type_def (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (CORBA_IDLType::_nil ());
+
+ return this->type_def_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA_IDLType_ptr
+TAO_ValueMemberDef_i::type_def_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+void
+TAO_ValueMemberDef_i::type_def (CORBA_IDLType_ptr type_def
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->type_def_i (type_def
+ ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ValueMemberDef_i::type_def_i (CORBA_IDLType_ptr /* type_def */
+ ACE_ENV_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+}
+
+CORBA::Visibility
+TAO_ValueMemberDef_i::access (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->access_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA::Visibility
+TAO_ValueMemberDef_i::access_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+ return 0;
+}
+
+void
+TAO_ValueMemberDef_i::access (CORBA::Visibility access
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->access (access
+ ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_ValueMemberDef_i::access_i (CORBA::Visibility /* access */
+ ACE_ENV_ARG_DECL_NOT_USED /* ACE_ENV_SINGLE_ARG_PARAMETER */ )
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // TODO
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/ValueMemberDef_i.h b/TAO/orbsvcs/IFR_Service/ValueMemberDef_i.h
new file mode 100644
index 00000000000..796ef9110cc
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/ValueMemberDef_i.h
@@ -0,0 +1,141 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// ValueMemberDef_i.h
+//
+// = DESCRIPTION
+// ValueMemberDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_VALUEMEMBERDEF_I_H
+#define TAO_VALUEMEMBERDEF_I_H
+
+#include "Contained_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_ValueMemberDef_i : public virtual TAO_Contained_i
+{
+ // = TITLE
+ // TAO_ValeMemberDef_i
+ //
+ // = DESCRIPTION
+ // Represents the definition of a valuemember structure.
+ //
+public:
+ TAO_ValueMemberDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor
+
+ virtual ~TAO_ValueMemberDef_i (void);
+ // Destructor
+
+ virtual CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Remove the repository entry.
+
+ virtual void destroy_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_Contained::Description *describe (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+
+ virtual CORBA_Contained::Description *describe_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From Contained_i's pure virtual function.
+
+ virtual CORBA::TypeCode_ptr type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA::TypeCode_ptr type_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA_IDLType_ptr type_def (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA_IDLType_ptr type_def_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void type_def (
+ CORBA_IDLType_ptr type_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void type_def_i (
+ CORBA_IDLType_ptr type_def
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Visibility access (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA::Visibility access_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void access (
+ CORBA::Visibility access
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void access_i (
+ CORBA::Visibility access
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_VALUEMEMBERDEF_I_H */
+
diff --git a/TAO/orbsvcs/IFR_Service/WstringDef_i.cpp b/TAO/orbsvcs/IFR_Service/WstringDef_i.cpp
new file mode 100644
index 00000000000..2b0ad879c71
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/WstringDef_i.cpp
@@ -0,0 +1,113 @@
+/* -*- C++ -*- */
+// $Id$
+
+#include "Repository_i.h"
+#include "WstringDef_i.h"
+
+ACE_RCSID(IFR_Service, StringDef_i, "$Id$")
+
+TAO_WstringDef_i::TAO_WstringDef_i (
+ TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key
+ )
+ : TAO_IRObject_i (repo, section_key),
+ TAO_IDLType_i (repo, section_key)
+{
+}
+
+TAO_WstringDef_i::~TAO_WstringDef_i (void)
+{
+}
+
+CORBA::DefinitionKind
+TAO_WstringDef_i::def_kind (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return CORBA::dk_Wstring;
+}
+
+void
+TAO_WstringDef_i::destroy (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->destroy_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+void
+TAO_WstringDef_i::destroy_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_TString name;
+ this->repo_->config ()->get_string_value (this->section_key_,
+ "name",
+ name);
+
+ this->repo_->config ()->remove_section (this->repo_->wstrings_key (),
+ name.c_str (),
+ 0);
+}
+
+CORBA::TypeCode_ptr
+TAO_WstringDef_i::type (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (CORBA::TypeCode::_nil ());
+
+ return this->type_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+CORBA::TypeCode_ptr
+TAO_WstringDef_i::type_i (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA::ULong bound = this->bound_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+
+ return this->repo_->tc_factory ()->create_wstring_tc (bound
+ ACE_ENV_ARG_PARAMETER);
+}
+CORBA::ULong
+TAO_WstringDef_i::bound (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_READ_GUARD_RETURN (0);
+
+ return this->bound_i (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+
+CORBA::ULong
+TAO_WstringDef_i::bound_i (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ u_int retval = 0;
+ this->repo_->config ()->get_integer_value (this->section_key_,
+ "bound",
+ retval);
+
+ return ACE_static_cast (CORBA::ULong, retval);
+}
+
+void
+TAO_WstringDef_i::bound (CORBA::ULong bound
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ TAO_IFR_WRITE_GUARD;
+
+ this->bound_i (bound
+ ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_WstringDef_i::bound_i (CORBA::ULong bound
+ ACE_ENV_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ this->repo_->config ()->set_integer_value (this->section_key_,
+ "bound",
+ bound);
+}
+
diff --git a/TAO/orbsvcs/IFR_Service/WstringDef_i.h b/TAO/orbsvcs/IFR_Service/WstringDef_i.h
new file mode 100644
index 00000000000..6e9eeae7bc1
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/WstringDef_i.h
@@ -0,0 +1,110 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/IFR_Service
+//
+// = FILENAME
+// WstringDef_i.h
+//
+// = DESCRIPTION
+// WstringDef servant class.
+//
+// = AUTHOR
+// Jeff Parsons <parsons@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef TAO_WSTRINGDEF_I_H
+#define TAO_WSTRINGDEF_I_H
+
+#include "IDLType_i.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+class TAO_WstringDef_i : public virtual TAO_IDLType_i
+{
+ // = TITLE
+ // TAO_WstringDef_i
+ //
+ // = DESCRIPTION
+ // Represents a bounded wstring (unbounded wstrings
+ // are included in PrimitiveDef).
+ //
+public:
+ TAO_WstringDef_i (TAO_Repository_i *repo,
+ ACE_Configuration_Section_Key section_key);
+ // Constructor.
+
+ virtual ~TAO_WstringDef_i (void);
+ // Destructor.
+
+ virtual CORBA::DefinitionKind def_kind (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Return our definition kind.
+
+ virtual void destroy (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // Remove the repository entry.
+
+ virtual void destroy_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::TypeCode_ptr type (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From IDLType_i's virtual function.
+
+ virtual CORBA::TypeCode_ptr type_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ // From IDLType_i's virtual function.
+
+ virtual CORBA::ULong bound (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ CORBA::ULong bound_i (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void bound (
+ CORBA::ULong bound
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void bound_i (
+ CORBA::ULong bound
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+
+ ACE_THROW_SPEC ((CORBA::SystemException));
+};
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#endif /* TAO_WSTRINGDEF_I_H */
+
diff --git a/TAO/orbsvcs/IFR_Service/concrete_classes.h b/TAO/orbsvcs/IFR_Service/concrete_classes.h
new file mode 100644
index 00000000000..15a1b8dd947
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/concrete_classes.h
@@ -0,0 +1,54 @@
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/tests/Param_Test
+//
+// = FILENAME
+// concrete_classes.h
+//
+// = DESCRIPTION
+// All the concrete class header files needed by the servant locator.
+//
+// = AUTHORS
+// Jeff Parsons
+//
+// ============================================================================
+
+#ifndef CONCRETE_CLASSES_H
+#define CONCRETE_CLASSES_H
+
+#include "ComponentRepository_i.h"
+#include "PrimitiveDef_i.h"
+#include "StringDef_i.h"
+#include "WstringDef_i.h"
+#include "SequenceDef_i.h"
+#include "ArrayDef_i.h"
+#include "FixedDef_i.h"
+#include "EnumDef_i.h"
+#include "AliasDef_i.h"
+#include "NativeDef_i.h"
+#include "ValueBoxDef_i.h"
+#include "UnionDef_i.h"
+#include "StructDef_i.h"
+#include "ConsumesDef_i.h"
+#include "PublishesDef_i.h"
+#include "EmitsDef_i.h"
+#include "PrimaryKeyDef_i.h"
+#include "ProvidesDef_i.h"
+#include "UsesDef_i.h"
+#include "ValueMemberDef_i.h"
+#include "FactoryDef_i.h"
+#include "FinderDef_i.h"
+#include "AttributeDef_i.h"
+#include "ConstantDef_i.h"
+#include "ComponentDef_i.h"
+#include "HomeDef_i.h"
+#include "ValueDef_i.h"
+#include "ExceptionDef_i.h"
+#include "ModuleDef_i.h"
+#include "AbstractInterfaceDef_i.h"
+#include "LocalInterfaceDef_i.h"
+
+#endif /* CONCRETE_CLASSES_H */
diff --git a/TAO/orbsvcs/IFR_Service/tmplinst.cpp b/TAO/orbsvcs/IFR_Service/tmplinst.cpp
new file mode 100644
index 00000000000..888c361be35
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/tmplinst.cpp
@@ -0,0 +1,250 @@
+// $Id$
+
+#include "concrete_classes.h"
+#include "ace/Auto_Ptr.h"
+
+ACE_RCSID(IFR_Service, tmplinst, "$Id$")
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+
+template class ACE_Node<CORBA::DefinitionKind>;
+template class ACE_Unbounded_Queue<CORBA::DefinitionKind>;
+template class ACE_Unbounded_Queue_Iterator<CORBA::DefinitionKind>;
+template class ACE_Node<ACE_Configuration_Section_Key>;
+template class ACE_Unbounded_Queue<ACE_Configuration_Section_Key>;
+template class ACE_Unbounded_Queue_Iterator<ACE_Configuration_Section_Key>;
+
+template class POA_CORBA_Repository_tie<TAO_Repository_i>;
+template class POA_IR::ComponentRepository_tie<TAO_ComponentRepository_i>;
+template class POA_CORBA_PrimitiveDef_tie<TAO_PrimitiveDef_i>;
+template class POA_CORBA_StringDef_tie<TAO_StringDef_i>;
+template class POA_CORBA_WstringDef_tie<TAO_WstringDef_i>;
+template class POA_CORBA_SequenceDef_tie<TAO_SequenceDef_i>;
+template class POA_CORBA_ArrayDef_tie<TAO_ArrayDef_i>;
+template class POA_CORBA_FixedDef_tie<TAO_FixedDef_i>;
+template class POA_CORBA_EnumDef_tie<TAO_EnumDef_i>;
+template class POA_CORBA_AliasDef_tie<TAO_AliasDef_i>;
+template class POA_CORBA_NativeDef_tie<TAO_NativeDef_i>;
+template class POA_CORBA_ValueBoxDef_tie<TAO_ValueBoxDef_i>;
+template class POA_CORBA_UnionDef_tie<TAO_UnionDef_i>;
+template class POA_CORBA_StructDef_tie<TAO_StructDef_i>;
+template class POA_IR::ConsumesDef_tie<TAO_ConsumesDef_i>;
+template class POA_IR::PublishesDef_tie<TAO_PublishesDef_i>;
+template class POA_IR::EmitsDef_tie<TAO_EmitsDef_i>;
+template class POA_IR::PrimaryKeyDef_tie<TAO_PrimaryKeyDef_i>;
+template class POA_IR::ProvidesDef_tie<TAO_ProvidesDef_i>;
+template class POA_IR::UsesDef_tie<TAO_UsesDef_i>;
+template class POA_CORBA_ValueMemberDef_tie<TAO_ValueMemberDef_i>;
+template class POA_IR::FactoryDef_tie<TAO_FactoryDef_i>;
+template class POA_IR::FinderDef_tie<TAO_FinderDef_i>;
+template class POA_CORBA_AttributeDef_tie<TAO_AttributeDef_i>;
+template class POA_CORBA_ConstantDef_tie<TAO_ConstantDef_i>;
+template class POA_IR::ComponentDef_tie<TAO_ComponentDef_i>;
+template class POA_IR::HomeDef_tie<TAO_HomeDef_i>;
+template class POA_CORBA_ValueDef_tie<TAO_ValueDef_i>;
+template class POA_CORBA_ExceptionDef_tie<TAO_ExceptionDef_i>;
+template class POA_CORBA_ModuleDef_tie<TAO_ModuleDef_i>;
+template class POA_CORBA_OperationDef_tie<TAO_OperationDef_i>;
+template class POA_CORBA_InterfaceDef_tie<TAO_InterfaceDef_i>;
+template class POA_CORBA_AbstractInterfaceDef_tie<TAO_AbstractInterfaceDef_i>;
+template class POA_CORBA_LocalInterfaceDef_tie<TAO_LocalInterfaceDef_i>;
+
+template class auto_ptr<TAO_Repository_i>;
+template class ACE_Auto_Basic_Ptr<TAO_Repository_i>;
+template class auto_ptr<TAO_ComponentRepository_i>;
+template class ACE_Auto_Basic_Ptr<TAO_ComponentRepository_i>;
+template class auto_ptr<TAO_PrimitiveDef_i>;
+template class ACE_Auto_Basic_Ptr<TAO_PrimitiveDef_i>;
+template class auto_ptr<TAO_StringDef_i>;
+template class ACE_Auto_Basic_Ptr<TAO_StringDef_i>;
+template class auto_ptr<TAO_WstringDef_i>;
+template class ACE_Auto_Basic_Ptr<TAO_WstringDef_i>;
+template class auto_ptr<TAO_SequenceDef_i>;
+template class ACE_Auto_Basic_Ptr<TAO_SequenceDef_i>;
+template class auto_ptr<TAO_ArrayDef_i>;
+template class ACE_Auto_Basic_Ptr<TAO_ArrayDef_i>;
+template class auto_ptr<TAO_FixedDef_i>;
+template class ACE_Auto_Basic_Ptr<TAO_FixedDef_i>;
+template class auto_ptr<TAO_EnumDef_i>;
+template class ACE_Auto_Basic_Ptr<TAO_EnumDef_i>;
+template class auto_ptr<TAO_AliasDef_i>;
+template class ACE_Auto_Basic_Ptr<TAO_AliasDef_i>;
+template class auto_ptr<TAO_NativeDef_i>;
+template class ACE_Auto_Basic_Ptr<TAO_NativeDef_i>;
+template class auto_ptr<TAO_ValueBoxDef_i>;
+template class ACE_Auto_Basic_Ptr<TAO_ValueBoxDef_i>;
+template class auto_ptr<TAO_UnionDef_i>;
+template class ACE_Auto_Basic_Ptr<TAO_UnionDef_i>;
+template class auto_ptr<TAO_StructDef_i>;
+template class ACE_Auto_Basic_Ptr<TAO_StructDef_i>;
+template class auto_ptr<TAO_ConsumesDef_i>;
+template class ACE_Auto_Basic_Ptr<TAO_ConsumesDef_i>;
+template class auto_ptr<TAO_PublishesDef_i>;
+template class ACE_Auto_Basic_Ptr<TAO_PublishesDef_i>;
+template class auto_ptr<TAO_EmitsDef_i>;
+template class ACE_Auto_Basic_Ptr<TAO_EmitsDef_i>;
+template class auto_ptr<TAO_PrimaryKeyDef_i>;
+template class ACE_Auto_Basic_Ptr<TAO_PrimaryKeyDef_i>;
+template class auto_ptr<TAO_ProvidesDef_i>;
+template class ACE_Auto_Basic_Ptr<TAO_ProvidesDef_i>;
+template class auto_ptr<TAO_UsesDef_i>;
+template class ACE_Auto_Basic_Ptr<TAO_UsesDef_i>;
+template class auto_ptr<TAO_ValueMemberDef_i>;
+template class ACE_Auto_Basic_Ptr<TAO_ValueMemberDef_i>;
+template class auto_ptr<TAO_FactoryDef_i>;
+template class ACE_Auto_Basic_Ptr<TAO_FactoryDef_i>;
+template class auto_ptr<TAO_FinderDef_i>;
+template class ACE_Auto_Basic_Ptr<TAO_FinderDef_i>;
+template class auto_ptr<TAO_AttributeDef_i>;
+template class ACE_Auto_Basic_Ptr<TAO_AttributeDef_i>;
+template class auto_ptr<TAO_ConstantDef_i>;
+template class ACE_Auto_Basic_Ptr<TAO_ConstantDef_i>;
+template class auto_ptr<TAO_ComponentDef_i>;
+template class ACE_Auto_Basic_Ptr<TAO_ComponentDef_i>;
+template class auto_ptr<TAO_HomeDef_i>;
+template class ACE_Auto_Basic_Ptr<TAO_HomeDef_i>;
+template class auto_ptr<TAO_ValueDef_i>;
+template class ACE_Auto_Basic_Ptr<TAO_ValueDef_i>;
+template class auto_ptr<TAO_ExceptionDef_i>;
+template class ACE_Auto_Basic_Ptr<TAO_ExceptionDef_i>;
+template class auto_ptr<TAO_ModuleDef_i>;
+template class ACE_Auto_Basic_Ptr<TAO_ModuleDef_i>;
+template class auto_ptr<TAO_OperationDef_i>;
+template class ACE_Auto_Basic_Ptr<TAO_OperationDef_i>;
+template class auto_ptr<TAO_InterfaceDef_i>;
+template class ACE_Auto_Basic_Ptr<TAO_InterfaceDef_i>;
+template class auto_ptr<TAO_AbstractInterfaceDef_i>;
+template class ACE_Auto_Basic_Ptr<TAO_AbstractInterfaceDef_i>;
+template class auto_ptr<TAO_LocalInterfaceDef_i>;
+template class ACE_Auto_Basic_Ptr<TAO_LocalInterfaceDef_i>;
+template class auto_ptr<TAO_Container_i>;
+template class ACE_Auto_Basic_Ptr<TAO_Container_i>;
+template class auto_ptr<TAO_Contained_i>;
+template class ACE_Auto_Basic_Ptr<TAO_Contained_i>;
+template class auto_ptr<TAO_IDLType_i>;
+template class ACE_Auto_Basic_Ptr<TAO_IDLType_i>;
+
+template class ACE_Auto_Basic_Ptr<char>;
+
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+
+#pragma instantiate ACE_Node<CORBA::DefinitionKind>
+#pragma instantiate ACE_Unbounded_Queue<CORBA::DefinitionKind>
+#pragma instantiate ACE_Unbounded_Queue_Iterator<CORBA::DefinitionKind>
+#pragma instantiate ACE_Node<ACE_Configuration_Section_Key>
+#pragma instantiate ACE_Unbounded_Queue<ACE_Configuration_Section_Key>
+#pragma instantiate ACE_Unbounded_Queue_Iterator<ACE_Configuration_Section_Key>
+
+#pragma instantiate POA_CORBA_Repository_tie<TAO_Repository_i>
+#pragma instantiate POA_IR::ComponentRepository_tie<TAO_ComponentRepository_i>
+#pragma instantiate POA_CORBA_PrimitiveDef_tie<TAO_PrimitiveDef_i>
+#pragma instantiate POA_CORBA_StringDef_tie<TAO_StringDef_i>
+#pragma instantiate POA_CORBA_WstringDef_tie<TAO_WstringDef_i>
+#pragma instantiate POA_CORBA_SequenceDef_tie<TAO_SequenceDef_i>
+#pragma instantiate POA_CORBA_ArrayDef_tie<TAO_ArrayDef_i>
+#pragma instantiate POA_CORBA_FixedDef_tie<TAO_FixedDef_i>
+#pragma instantiate POA_CORBA_EnumDef_tie<TAO_EnumDef_i>
+#pragma instantiate POA_CORBA_AliasDef_tie<TAO_AliasDef_i>
+#pragma instantiate POA_CORBA_NativeDef_tie<TAO_NativeDef_i>
+#pragma instantiate POA_CORBA_ValueBoxDef_tie<TAO_ValueBoxDef_i>
+#pragma instantiate POA_CORBA_UnionDef_tie<TAO_UnionDef_i>
+#pragma instantiate POA_CORBA_StructDef_tie<TAO_StructDef_i>
+#pragma instantiate POA_IR::ConsumesDef_tie<TAO_ConsumesDef_i>
+#pragma instantiate POA_IR::PublishesDef_tie<TAO_PublishesDef_i>
+#pragma instantiate POA_IR::EmitsDef_tie<TAO_EmitsDef_i>
+#pragma instantiate POA_IR::PrimaryKeyDef_tie<TAO_PrimaryKeyDef_i>
+#pragma instantiate POA_IR::ProvidesDef_tie<TAO_ProvidesDef_i>
+#pragma instantiate POA_IR::UsesDef_tie<TAO_UsesDef_i>
+#pragma instantiate POA_CORBA_ValueMemberDef_tie<TAO_ValueMemberDef_i>
+#pragma instantiate POA_IR::FactoryDef_tie<TAO_FactoryDef_i>
+#pragma instantiate POA_IR::FinderDef_tie<TAO_FinderDef_i>
+#pragma instantiate POA_CORBA_AttributeDef_tie<TAO_AttributeDef_i>
+#pragma instantiate POA_CORBA_ConstantDef_tie<TAO_ConstantDef_i>
+#pragma instantiate POA_IR::ComponentDef_tie<TAO_ComponentDef_i>
+#pragma instantiate POA_IR::HomeDef_tie<TAO_HomeDef_i>
+#pragma instantiate POA_CORBA_ValueDef_tie<TAO_ValueDef_i>
+#pragma instantiate POA_CORBA_ExceptionDef_tie<TAO_ExceptionDef_i>
+#pragma instantiate POA_CORBA_ModuleDef_tie<TAO_ModuleDef_i>
+#pragma instantiate POA_CORBA_OperationDef_tie<TAO_OperationDef_i>
+#pragma instantiate POA_CORBA_InterfaceDef_tie<TAO_>
+#pragma instantiate POA_CORBA_AbstractInterfaceDef_tie<TAO_AbstractInterfaceDef_i>
+#pragma instantiate POA_CORBA_LocalInterfaceDef_tie<TAO_LocalInterfaceDef_i>
+
+#pragma instantiate auto_ptr<TAO_Repository_i>
+#pragma instantiate ACE_Auto_Basic_Ptr<TAO_Repository_i>
+#pragma instantiate auto_ptr<TAO_ComponentRepository_i>
+#pragma instantiate ACE_Auto_Basic_Ptr<TAO_ComponentRepository_i>
+#pragma instantiate auto_ptr<TAO_PrimitiveDef_i>
+#pragma instantiate ACE_Auto_Basic_Ptr<TAO_PrimitiveDef_i>
+#pragma instantiate auto_ptr<TAO_StringDef_i>
+#pragma instantiate ACE_Auto_Basic_Ptr<TAO_StringDef_i>
+#pragma instantiate auto_ptr<TAO_WstringDef_i>
+#pragma instantiate ACE_Auto_Basic_Ptr<TAO_WstringDef_i>
+#pragma instantiate auto_ptr<TAO_SequenceDef_i>
+#pragma instantiate ACE_Auto_Basic_Ptr<TAO_SequenceDef_i>
+#pragma instantiate auto_ptr<TAO_ArrayDef_i>
+#pragma instantiate ACE_Auto_Basic_Ptr<TAO_ArrayDef_i>
+#pragma instantiate auto_ptr<TAO_FixedDef_i>
+#pragma instantiate ACE_Auto_Basic_Ptr<TAO_FixedDef_i>
+#pragma instantiate auto_ptr<TAO_EnumDef_i>
+#pragma instantiate ACE_Auto_Basic_Ptr<TAO_EnumDef_i>
+#pragma instantiate auto_ptr<TAO_AliasDef_i>
+#pragma instantiate ACE_Auto_Basic_Ptr<TAO_AliasDef_i>
+#pragma instantiate auto_ptr<TAO_NativeDef_i>
+#pragma instantiate ACE_Auto_Basic_Ptr<TAO_NativeDef_i>
+#pragma instantiate auto_ptr<TAO_ValueBoxDef_i>
+#pragma instantiate ACE_Auto_Basic_Ptr<TAO_ValueBoxDef_i>
+#pragma instantiate auto_ptr<TAO_UnionDef_i>
+#pragma instantiate ACE_Auto_Basic_Ptr<TAO_UnionDef_i>
+#pragma instantiate auto_ptr<TAO_StructDef_i>
+#pragma instantiate ACE_Auto_Basic_Ptr<TAO_StructDef_i>
+#pragma instantiate auto_ptr<TAO_ConsumesDef_i>
+#pragma instantiate ACE_Auto_Basic_Ptr<TAO_ConsumesDef_i>
+#pragma instantiate auto_ptr<TAO_PublishesDef_i>
+#pragma instantiate ACE_Auto_Basic_Ptr<TAO_PublishesDef_i>
+#pragma instantiate auto_ptr<TAO_EmitsDef_i>
+#pragma instantiate ACE_Auto_Basic_Ptr<TAO_EmitsDef_i>
+#pragma instantiate auto_ptr<TAO_PrimaryKeyDef_i>
+#pragma instantiate ACE_Auto_Basic_Ptr<TAO_PrimaryKeyDef_i>
+#pragma instantiate auto_ptr<TAO_ProvidesDef_i>
+#pragma instantiate ACE_Auto_Basic_Ptr<TAO_ProvidesDef_i>
+#pragma instantiate auto_ptr<TAO_UsesDef_i>
+#pragma instantiate ACE_Auto_Basic_Ptr<TAO_UsesDef_i>
+#pragma instantiate auto_ptr<TAO_ValueMemberDef_i>
+#pragma instantiate ACE_Auto_Basic_Ptr<TAO_ValueMemberDef_i>
+#pragma instantiate auto_ptr<TAO_FactoryDef_i>
+#pragma instantiate ACE_Auto_Basic_Ptr<TAO_FactoryDef_i>
+#pragma instantiate auto_ptr<TAO_FinderDef_i>
+#pragma instantiate ACE_Auto_Basic_Ptr<TAO_FinderDef_i>
+#pragma instantiate auto_ptr<TAO_AttributeDef_i>
+#pragma instantiate ACE_Auto_Basic_Ptr<TAO_AttributeDef_i>
+#pragma instantiate auto_ptr<TAO_ConstantDef_i>
+#pragma instantiate ACE_Auto_Basic_Ptr<TAO_ConstantDef_i>
+#pragma instantiate auto_ptr<TAO_ComponentDef_i>
+#pragma instantiate ACE_Auto_Basic_Ptr<TAO_ComponentDef_i>
+#pragma instantiate auto_ptr<TAO_HomeDef_i>
+#pragma instantiate ACE_Auto_Basic_Ptr<TAO_HomeDef_i>
+#pragma instantiate auto_ptr<TAO_ValueDef_i>
+#pragma instantiate ACE_Auto_Basic_Ptr<TAO_ValueDef_i>
+#pragma instantiate auto_ptr<TAO_ExceptionDef_i>
+#pragma instantiate ACE_Auto_Basic_Ptr<TAO_ExceptionDef_i>
+#pragma instantiate auto_ptr<TAO_ModuleDef_i>
+#pragma instantiate ACE_Auto_Basic_Ptr<TAO_ModuleDef_i>
+#pragma instantiate auto_ptr<TAO_OperationDef_i>
+#pragma instantiate ACE_Auto_Basic_Ptr<TAO_OperationDef_i>
+#pragma instantiate auto_ptr<TAO_InterfaceDef_i>
+#pragma instantiate ACE_Auto_Basic_Ptr<TAO_InterfaceDef_i>
+#pragma instantiate auto_ptr<TAO_AbstractInterfaceDef_i>
+#pragma instantiate ACE_Auto_Basic_Ptr<TAO_AbstractInterfaceDef_i>
+#pragma instantiate auto_ptr<TAO_LocalInterfaceDef_i>
+#pragma instantiate ACE_Auto_Basic_Ptr<TAO_LocalInterfaceDef_i>
+#pragma instantiate auto_ptr<TAO_Container_i>
+#pragma instantiate ACE_Auto_Basic_Ptr<TAO_Container_i>
+#pragma instantiate auto_ptr<TAO_Contained_i>
+#pragma instantiate ACE_Auto_Basic_Ptr<TAO_Contained_i>
+#pragma instantiate auto_ptr<TAO_IDLType_i>
+#pragma instantiate ACE_Auto_Basic_Ptr<TAO_IDLType_i>
+
+#pragma instantiate ACE_Auto_Basic_Ptr<char>
+
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/tests/Concurrency/NS_client.cpp b/TAO/orbsvcs/tests/Concurrency/NS_client.cpp
new file mode 100644
index 00000000000..16dea85c540
--- /dev/null
+++ b/TAO/orbsvcs/tests/Concurrency/NS_client.cpp
@@ -0,0 +1,214 @@
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/bin/Naming_Service/TAO
+//
+// = FILENAME
+// clnt.cpp
+//
+// = DESCRIPTION
+// This class implements a simple CORBA client for the CosNaming
+// example using stubs generated by the TAO ORB IDL compiler.
+//
+// = AUTHORS
+// Sergio Flores-Gaitan <sergio@cs.wustl.edu>
+// Torben Worm <tworm@cs.wustl.edu>
+//
+// ============================================================================
+
+#include "NS_client.h"
+#include "tao/debug.h"
+#include <stdio.h>
+
+ACE_RCSID(Concurrency, NS_client, "$Id$")
+
+// constructor
+
+CosNaming_Client::CosNaming_Client (void)
+ : list_contents_ (0),
+ resolve_name_ (0),
+ name_to_resolve_ (0),
+ context_to_resolve_ (0),
+ argc_ (0),
+ argv_ (0),
+ exit_later_ (0)
+{
+}
+
+// Parses the command line arguments and returns an error status.
+
+int
+CosNaming_Client::parse_args (void)
+{
+ ACE_Get_Opt get_opts (argc_, argv_, "dxn:c:l");
+ int c;
+
+ while ((c = get_opts ()) != -1)
+ switch (c)
+ {
+ case 'd': // debug flag
+ TAO_debug_level++;
+ break;
+ case 'l':
+ this->list_contents_ = 1;
+ break;
+ case 'x':
+ this->exit_later_++;
+ break;
+ case 'n':
+ this->resolve_name_ = 1;
+ this->name_to_resolve_ = get_opts.opt_arg ();
+ break;
+ case 'c':
+ this->resolve_name_ = 1;
+ this->context_to_resolve_ = get_opts.opt_arg ();
+ break;
+ case '?':
+ default:
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "usage: %s"
+ " [-d]"
+ " [-x]"
+ "\n",
+ this->argv_ [0]),
+ -1);
+ }
+
+ // Indicates successful parsing of command line.
+ return 0;
+}
+
+// Execute client example code.
+
+int
+CosNaming_Client::run (void)
+{
+ // @@ TODO, add some interesting test here, maybe creating some
+ // nested naming contexts and registering a number of objreferences
+ // in there. We could even use the iterators.
+
+ if (this->resolve_name_)
+ resolve_name (this->context_to_resolve_,
+ this->name_to_resolve_);
+
+ if (this->list_contents_)
+ list_contents ();
+
+ return 0;
+}
+
+CosNaming_Client::~CosNaming_Client (void)
+{
+}
+
+int
+CosNaming_Client::resolve_name (char *c, char *n)
+{
+ TAO_TRY
+ {
+ CosNaming::Name name (2);
+ name.length (2);
+ name[0].id = CORBA::string_dup (c);
+ name[1].id = CORBA::string_dup (n);
+ CORBA::Object_var obj = this->my_name_client_->resolve (name,
+ TAO_TRY_ENV);
+ TAO_CHECK_ENV;
+
+ if (CORBA::is_nil (obj.in ()))
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Could not resolve name in Naming service <%s>\n"),
+ -1);
+ }
+ TAO_CATCHANY
+ {
+ TAO_TRY_ENV.print_exception ("init");
+ return -1;
+ }
+ TAO_ENDTRY;
+ return 0;
+}
+
+void
+CosNaming_Client::list_contents (void)
+{
+ CosNaming::BindingIterator_var bi;
+ CosNaming::BindingList_var li;
+ CORBA::ULong how_many = 0;
+ CosNaming::Binding_var b;
+ CosNaming::Name n;
+ CORBA::ULong names = 0;
+
+ TAO_TRY
+ {
+ this->my_name_client_->list (how_many, li, bi, TAO_TRY_ENV);
+
+ while (bi->next_one (b, TAO_TRY_ENV))
+ {
+ n = b->binding_name;
+ names = n.length ();
+ ACE_DEBUG ((LM_DEBUG,
+ " (%i) Name: ",
+ names));
+
+ for (CORBA::ULong i = 0; i < names; i++)
+ ACE_DEBUG ((LM_DEBUG,
+ "%s ",
+ n[i].id._retn ()));
+
+ ACE_DEBUG ((LM_DEBUG, "type: %s\n",
+ b->binding_type == CosNaming::ncontext ? "C" : "O"));
+ }
+ }
+ TAO_CATCHANY
+ {
+ }
+ TAO_ENDTRY;
+}
+
+int
+CosNaming_Client::init (int argc, char *argv[])
+{
+ this->argc_ = argc;
+ this->argv_ = argv;
+
+ TAO_TRY
+ {
+ // Initialize ORB.
+ this->orb_ = CORBA::ORB_init (argc, argv, "internet", TAO_TRY_ENV);
+ TAO_CHECK_ENV;
+
+ // Initialize the naming services
+ if (my_name_client_.init (orb_) != 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ " (%P|%t) Unable to initialize "
+ "the TAO_Naming_Client. \n"),
+ -1);
+
+ // Parse command line and verify parameters.
+ if (this->parse_args () == -1)
+ return -1;
+ }
+ TAO_CATCHANY
+ {
+ TAO_TRY_ENV.print_exception ("init");
+ return -1;
+ }
+ TAO_ENDTRY;
+
+ return 0;
+}
+
+// This function runs the test.
+
+int
+main (int argc, char **argv)
+{
+ CosNaming_Client cosnaming_client;
+
+ if (cosnaming_client.init (argc, argv) == -1)
+ return 1;
+
+ return cosnaming_client.run ();
+}
diff --git a/TAO/orbsvcs/tests/Concurrency/NS_client.h b/TAO/orbsvcs/tests/Concurrency/NS_client.h
new file mode 100644
index 00000000000..6c6407511e8
--- /dev/null
+++ b/TAO/orbsvcs/tests/Concurrency/NS_client.h
@@ -0,0 +1,93 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/tests
+//
+// = FILENAME
+// NS_client.h
+//
+// = DESCRIPTION
+// This class tests the facilities to connect to the naming
+// service and to resolve the name for the concurrency service client.
+//
+// = AUTHORS
+// Sergio Flores-Gaitan <sergio@cs.wustl.edu>
+// Torben Worm <tworm@cs.wustl.edu>
+//
+// ============================================================================
+
+#include "ace/Get_Opt.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "tao/corba.h"
+#include "orbsvcs/orbsvcs/CosNamingC.h"
+
+class CosNaming_Client
+{
+ // = TITLE
+ // Defines a class that encapsulates behaviour of the CosNaming
+ // client example. Provides a better understanding of the logic
+ // in an object oriented way.
+ //
+ // = DESCRIPTION
+ // This class declares an interface to run the example client for
+ // CosNaming CORBA server. All the complexity for initializing
+ // the server is hidden in the class. Just the run() interface
+ // is needed.
+public:
+ // = Initialization and termination methods.
+ CosNaming_Client (void);
+ // Constructor.
+
+ ~CosNaming_Client (void);
+ // Destructor.
+
+ int run (void);
+ // Execute client example code.
+
+ int init (int argc, char **argv);
+ // Initialize the client communication endpoint with server.
+
+private:
+ int parse_args (void);
+ // Parses the arguments passed on the command line.
+
+ int resolve_name(char *c, char *n);
+ // Resolves the name given on the command-line (-n option).
+
+ void list_contents(void);
+ // Lists the contents of the naming service.
+
+ CORBA::ORB_var orb_;
+ // Our ORB.
+
+ TAO_Naming_Client my_name_client_;
+ // And our Naming Client!
+
+ int list_contents_;
+ // Iterate through the naming service and list the contents.
+
+ int resolve_name_;
+ // Flag set by the -n option.
+
+ char *name_to_resolve_;
+ // Parameter given to the -n option.
+
+ char *context_to_resolve_;
+ // Parameter given to the -c option.
+
+ int argc_;
+ // # of arguments on the command line.
+
+ char **argv_;
+ // arguments from command line.
+
+ int exit_later_;
+ // Flag to tell server to not exit immediately.
+};
diff --git a/TAO/performance-tests/AMI_Latency/Roundtrip.cpp b/TAO/performance-tests/AMI_Latency/Roundtrip.cpp
deleted file mode 100644
index c9e68d98406..00000000000
--- a/TAO/performance-tests/AMI_Latency/Roundtrip.cpp
+++ /dev/null
@@ -1,26 +0,0 @@
-//
-// $Id$
-//
-#include "Roundtrip.h"
-
-ACE_RCSID(AMI_Latency, Roundtrip, "$Id$")
-
-Roundtrip::Roundtrip (CORBA::ORB_ptr orb)
- : orb_ (CORBA::ORB::_duplicate (orb))
-{
-}
-
-Test::Timestamp
-Roundtrip::test_method (Test::Timestamp send_time
- ACE_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return send_time;
-}
-
-void
-Roundtrip::shutdown (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- this->orb_->shutdown (0 ACE_ENV_ARG_PARAMETER);
-}
diff --git a/TAO/performance-tests/AMI_Latency/Roundtrip.h b/TAO/performance-tests/AMI_Latency/Roundtrip.h
deleted file mode 100644
index efef33dd7e6..00000000000
--- a/TAO/performance-tests/AMI_Latency/Roundtrip.h
+++ /dev/null
@@ -1,46 +0,0 @@
-//
-// $Id$
-//
-
-#ifndef ROUNDTRIP_H
-#define ROUNDTRIP_H
-#include "ace/pre.h"
-
-#include "TestS.h"
-
-#if defined (_MSC_VER)
-# if (_MSC_VER >= 1200)
-# pragma warning(push)
-# endif /* _MSC_VER >= 1200 */
-# pragma warning (disable:4250)
-#endif /* _MSC_VER */
-
-/// Implement the Test::Roundtrip interface
-class Roundtrip
- : public virtual POA_Test::Roundtrip
- , public virtual PortableServer::RefCountServantBase
-{
-public:
- /// Constructor
- Roundtrip (CORBA::ORB_ptr orb);
-
- // = The skeleton methods
- virtual Test::Timestamp test_method (Test::Timestamp send_time
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
-private:
- /// Use an ORB reference to conver strings to objects and shutdown
- /// the application.
- CORBA::ORB_var orb_;
-};
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma warning(pop)
-#endif /* _MSC_VER */
-
-#include "ace/post.h"
-#endif /* ROUNDTRIP_H */
diff --git a/TAO/performance-tests/AMI_Latency/Roundtrip_Handler.cpp b/TAO/performance-tests/AMI_Latency/Roundtrip_Handler.cpp
deleted file mode 100644
index 5f0061601e4..00000000000
--- a/TAO/performance-tests/AMI_Latency/Roundtrip_Handler.cpp
+++ /dev/null
@@ -1,75 +0,0 @@
-//
-// $Id$
-//
-#include "Roundtrip_Handler.h"
-
-ACE_RCSID(AMI_Latency, Roundtrip, "$Id$")
-
-Roundtrip_Handler::Roundtrip_Handler (int expected_callbacks)
- : pending_callbacks_ (expected_callbacks)
-{
-}
-
-int
-Roundtrip_Handler::pending_callbacks (void) const
-{
- return this->pending_callbacks_;
-}
-
-void
-Roundtrip_Handler::dump_results (ACE_UINT32 gsf)
-{
- this->latency_stats_.dump_results ("AMI Latency", gsf);
-}
-
-void
-Roundtrip_Handler::test_method (Test::Timestamp send_time
- ACE_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- this->pending_callbacks_--;
-
- ACE_hrtime_t now = ACE_OS::gethrtime ();
- this->latency_stats_.sample (now - send_time);
-}
-
-void
-Roundtrip_Handler::test_method_excep (Test::AMI_RoundtripExceptionHolder *holder
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ACE_TRY
- {
- this->pending_callbacks_--;
- holder->raise_test_method (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "test_method:");
- }
- ACE_ENDTRY;
-}
-
-void
-Roundtrip_Handler::shutdown (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
-}
-
-void
-Roundtrip_Handler::shutdown_excep (Test::AMI_RoundtripExceptionHolder *holder
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- ACE_TRY
- {
- holder->raise_shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "shutdown:");
- }
- ACE_ENDTRY;
-}
diff --git a/TAO/performance-tests/AMI_Latency/Roundtrip_Handler.h b/TAO/performance-tests/AMI_Latency/Roundtrip_Handler.h
deleted file mode 100644
index ae777f50f20..00000000000
--- a/TAO/performance-tests/AMI_Latency/Roundtrip_Handler.h
+++ /dev/null
@@ -1,61 +0,0 @@
-//
-// $Id$
-//
-
-#ifndef ROUNDTRIP_HANDLER_H
-#define ROUNDTRIP_HANDLER_H
-#include "ace/pre.h"
-
-#include "TestS.h"
-#include "ace/Basic_Stats.h"
-
-#if defined (_MSC_VER)
-# if (_MSC_VER >= 1200)
-# pragma warning(push)
-# endif /* _MSC_VER >= 1200 */
-# pragma warning (disable:4250)
-#endif /* _MSC_VER */
-
-/// Implement the Test::Roundtrip interface
-class Roundtrip_Handler
- : public virtual POA_Test::AMI_RoundtripHandler
- , public virtual PortableServer::RefCountServantBase
-{
-public:
- /// Constructor
- Roundtrip_Handler (int expected_callbacks);
-
- /// Return the number of pending callbacks
- int pending_callbacks (void) const;
-
- /// Dump the results
- void dump_results (ACE_UINT32 gsf);
-
- // = The skeleton methods
- virtual void test_method (Test::Timestamp send_time
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
- virtual void test_method_excep (Test::AMI_RoundtripExceptionHolder *holder
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
- virtual void shutdown_excep (Test::AMI_RoundtripExceptionHolder *holder
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
-private:
- /// The number of callbacks not received yet
- int pending_callbacks_;
-
- /// Collect the latency results
- ACE_Basic_Stats latency_stats_;
-};
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma warning(pop)
-#endif /* _MSC_VER */
-
-#include "ace/post.h"
-#endif /* ROUNDTRIP_H */
diff --git a/TAO/performance-tests/AMI_Latency/Server_Task.cpp b/TAO/performance-tests/AMI_Latency/Server_Task.cpp
deleted file mode 100644
index 6df92f32a3f..00000000000
--- a/TAO/performance-tests/AMI_Latency/Server_Task.cpp
+++ /dev/null
@@ -1,24 +0,0 @@
-//
-// $Id$
-//
-#include "Server_Task.h"
-
-ACE_RCSID(AMI_Latency, Server_Task, "$Id$")
-
-Server_Task::Server_Task (CORBA::ORB_ptr orb)
- : orb_ (CORBA::ORB::_duplicate (orb))
-{
-}
-
-int
-Server_Task::svc (void)
-{
- ACE_DECLARE_NEW_CORBA_ENV;
- ACE_TRY
- {
- this->orb_->run (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY {} ACE_ENDTRY;
- return 0;
-}
diff --git a/TAO/performance-tests/AMI_Latency/client.cpp b/TAO/performance-tests/AMI_Latency/client.cpp
deleted file mode 100644
index 0d396c4b67b..00000000000
--- a/TAO/performance-tests/AMI_Latency/client.cpp
+++ /dev/null
@@ -1,185 +0,0 @@
-// $Id$
-
-#include "Roundtrip_Handler.h"
-#include "tao/debug.h"
-#include "ace/Get_Opt.h"
-#include "ace/High_Res_Timer.h"
-#include "ace/Sched_Params.h"
-#include "ace/Stats.h"
-
-ACE_RCSID(AMI_Latency, client, "$Id$")
-
-const char *ior = "file://test.ior";
-
-ACE_hrtime_t throughput_base;
-
-int niterations = 1000;
-
-int
-parse_args (int argc, char *argv[])
-{
- ACE_Get_Opt get_opts (argc, argv, "k:i:");
- int c;
-
- while ((c = get_opts ()) != -1)
- switch (c)
- {
- case 'k':
- ior = get_opts.opt_arg ();
- break;
-
- case 'i':
- niterations = ACE_OS::atoi (get_opts.opt_arg ());
- break;
-
- case '?':
- default:
- ACE_ERROR_RETURN ((LM_ERROR,
- "usage: %s "
- "-k <ior> "
- "-i <niterations> "
- "-p <period (msecs)> "
- "-b <burst size> "
- "\n",
- argv [0]),
- -1);
- }
- // Indicates sucessful parsing of the command line
- return 0;
-}
-
-int
-main (int argc, char *argv[])
-{
- int priority =
- (ACE_Sched_Params::priority_min (ACE_SCHED_FIFO)
- + ACE_Sched_Params::priority_max (ACE_SCHED_FIFO)) / 2;
- // Enable FIFO scheduling, e.g., RT scheduling class on Solaris.
-
- if (ACE_OS::sched_params (ACE_Sched_Params (ACE_SCHED_FIFO,
- priority,
- ACE_SCOPE_PROCESS)) != 0)
- {
- if (ACE_OS::last_error () == EPERM)
- {
- ACE_DEBUG ((LM_DEBUG,
- "server (%P|%t): user is not superuser, "
- "test runs in time-shared class\n"));
- }
- else
- ACE_ERROR ((LM_ERROR,
- "server (%P|%t): sched_params failed\n"));
- }
-
- ACE_TRY_NEW_ENV
- {
- CORBA::ORB_var orb =
- CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CORBA::Object_var poa_object =
- orb->resolve_initial_references("RootPOA" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (CORBA::is_nil (poa_object.in ()))
- ACE_ERROR_RETURN ((LM_ERROR,
- " (%P|%t) Unable to initialize the POA.\n"),
- 1);
-
- PortableServer::POA_var root_poa =
- PortableServer::POA::_narrow (poa_object.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- PortableServer::POAManager_var poa_manager =
- root_poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (parse_args (argc, argv) != 0)
- return 1;
-
- CORBA::Object_var object =
- orb->string_to_object (ior ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- Test::Roundtrip_var roundtrip =
- Test::Roundtrip::_narrow (object.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (CORBA::is_nil (roundtrip.in ()))
- ACE_ERROR_RETURN ((LM_ERROR,
- "Nil Test::Roundtrip reference <%s>\n",
- ior),
- 1);
-
- for (int j = 0; j < 100; ++j)
- {
- ACE_hrtime_t start = 0;
- (void) roundtrip->test_method (start ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
-
- Roundtrip_Handler *roundtrip_handler_impl;
- ACE_NEW_RETURN (roundtrip_handler_impl,
- Roundtrip_Handler (niterations),
- 1);
- PortableServer::ServantBase_var owner_transfer(roundtrip_handler_impl);
-
- Test::AMI_RoundtripHandler_var roundtrip_handler =
- roundtrip_handler_impl->_this (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- ACE_hrtime_t test_start = ACE_OS::gethrtime ();
-
- for (int i = 0; i != niterations; ++i)
- {
- // Invoke asynchronous operation....
- roundtrip->sendc_test_method (roundtrip_handler.in (),
- ACE_OS::gethrtime ()
- ACE_ENV_ARG_PARAMETER);
- if (orb->work_pending (ACE_ENV_SINGLE_ARG_PARAMETER))
- orb->perform_work (ACE_ENV_SINGLE_ARG_PARAMETER);
-
- ACE_TRY_CHECK;
- }
-
- ACE_Time_Value tv (0, 2000);
-
- while (roundtrip_handler_impl->pending_callbacks ())
- {
- orb->perform_work (tv ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
-
- ACE_hrtime_t test_end = ACE_OS::gethrtime ();
-
- ACE_DEBUG ((LM_DEBUG, "High resolution timer calibration...."));
- ACE_UINT32 gsf = ACE_High_Res_Timer::global_scale_factor ();
- ACE_DEBUG ((LM_DEBUG, "done\n"));
-
- roundtrip_handler_impl->dump_results (gsf);
-
- ACE_Throughput_Stats::dump_throughput ("Total", gsf,
- test_end - test_start,
- niterations);
-
- roundtrip->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- root_poa->destroy (1, 1 ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Exception caught: ");
- return 1;
- }
- ACE_ENDTRY;
-
- return 0;
-}
diff --git a/TAO/performance-tests/AMI_Latency/server.cpp b/TAO/performance-tests/AMI_Latency/server.cpp
deleted file mode 100644
index 74498dc13e0..00000000000
--- a/TAO/performance-tests/AMI_Latency/server.cpp
+++ /dev/null
@@ -1,155 +0,0 @@
-// $Id$
-
-#include "Roundtrip.h"
-#include "Server_Task.h"
-#include "ace/Get_Opt.h"
-#include "ace/Sched_Params.h"
-
-#include "tao/Strategies/advanced_resource.h"
-
-ACE_RCSID(AMI_Latency, server, "$Id$")
-
-const char *ior_output_file = "test.ior";
-int nthreads = 4;
-
-int
-parse_args (int argc, char *argv[])
-{
- ACE_Get_Opt get_opts (argc, argv, "o:n:");
- int c;
-
- while ((c = get_opts ()) != -1)
- switch (c)
- {
- case 'o':
- ior_output_file = get_opts.opt_arg ();
- break;
-
- case 'n':
- nthreads = ACE_OS::atoi (get_opts.opt_arg ());
- break;
-
- case '?':
- default:
- ACE_ERROR_RETURN ((LM_ERROR,
- "usage: %s "
- "-o <iorfile> "
- "-n <nthreads> "
- "\n",
- argv [0]),
- -1);
- }
- // Indicates sucessful parsing of the command line
- return 0;
-}
-
-int
-main (int argc, char *argv[])
-{
- int priority =
- (ACE_Sched_Params::priority_min (ACE_SCHED_FIFO)
- + ACE_Sched_Params::priority_max (ACE_SCHED_FIFO)) / 2;
-
- priority = ACE_Sched_Params::next_priority (ACE_SCHED_FIFO,
- priority);
-
- priority = ACE_Sched_Params::next_priority (ACE_SCHED_FIFO,
- priority);
-
- // Enable FIFO scheduling, e.g., RT scheduling class on Solaris.
- if (ACE_OS::sched_params (ACE_Sched_Params (ACE_SCHED_FIFO,
- priority,
- ACE_SCOPE_PROCESS)) != 0)
- {
- if (ACE_OS::last_error () == EPERM)
- {
- ACE_DEBUG ((LM_DEBUG,
- "server (%P|%t): user is not superuser, "
- "test runs in time-shared class\n"));
- }
- else
- ACE_ERROR ((LM_ERROR,
- "server (%P|%t): sched_params failed\n"));
- }
-
- ACE_TRY_NEW_ENV
- {
- CORBA::ORB_var orb =
- CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CORBA::Object_var poa_object =
- orb->resolve_initial_references("RootPOA" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (CORBA::is_nil (poa_object.in ()))
- ACE_ERROR_RETURN ((LM_ERROR,
- " (%P|%t) Unable to initialize the POA.\n"),
- 1);
-
- PortableServer::POA_var root_poa =
- PortableServer::POA::_narrow (poa_object.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- PortableServer::POAManager_var poa_manager =
- root_poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (parse_args (argc, argv) != 0)
- return 1;
-
- Roundtrip *roundtrip_impl;
- ACE_NEW_RETURN (roundtrip_impl,
- Roundtrip (orb.in ()),
- 1);
- PortableServer::ServantBase_var owner_transfer(roundtrip_impl);
-
- Test::Roundtrip_var roundtrip =
- roundtrip_impl->_this (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CORBA::String_var ior =
- orb->object_to_string (roundtrip.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- // If the ior_output_file exists, output the ior to it
- FILE *output_file= ACE_OS::fopen (ior_output_file, "w");
- if (output_file == 0)
- ACE_ERROR_RETURN ((LM_ERROR,
- "Cannot open output file for writing IOR: %s",
- ior_output_file),
- 1);
- ACE_OS::fprintf (output_file, "%s", ior.in ());
- ACE_OS::fclose (output_file);
-
- poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- Server_Task server_task (orb.in ());
- if (server_task.activate (THR_NEW_LWP | THR_JOINABLE,
- nthreads) != 0)
- ACE_ERROR_RETURN ((LM_ERROR,
- "Cannot activate server threads\n"),
- 1);
-
- server_task.thr_mgr ()->wait ();
-
- ACE_DEBUG ((LM_DEBUG, "event loop finished\n"));
-
- ACE_DEBUG ((LM_DEBUG, "(%P|%t) server - event loop finished\n"));
-
- root_poa->destroy (1, 1 ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Exception caught:");
- return 1;
- }
- ACE_ENDTRY;
-
- return 0;
-}
diff --git a/TAO/performance-tests/DII_Latency/Roundtrip.cpp b/TAO/performance-tests/DII_Latency/Roundtrip.cpp
deleted file mode 100644
index df15cd65d8a..00000000000
--- a/TAO/performance-tests/DII_Latency/Roundtrip.cpp
+++ /dev/null
@@ -1,26 +0,0 @@
-//
-// $Id$
-//
-#include "Roundtrip.h"
-
-ACE_RCSID(DII_Latency, Roundtrip, "$Id$")
-
-Roundtrip::Roundtrip (CORBA::ORB_ptr orb)
- : orb_ (CORBA::ORB::_duplicate (orb))
-{
-}
-
-Test::Timestamp
-Roundtrip::test_method (Test::Timestamp send_time
- ACE_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return send_time;
-}
-
-void
-Roundtrip::shutdown (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- this->orb_->shutdown (0 ACE_ENV_ARG_PARAMETER);
-}
diff --git a/TAO/performance-tests/DII_Latency/Roundtrip.h b/TAO/performance-tests/DII_Latency/Roundtrip.h
deleted file mode 100644
index efef33dd7e6..00000000000
--- a/TAO/performance-tests/DII_Latency/Roundtrip.h
+++ /dev/null
@@ -1,46 +0,0 @@
-//
-// $Id$
-//
-
-#ifndef ROUNDTRIP_H
-#define ROUNDTRIP_H
-#include "ace/pre.h"
-
-#include "TestS.h"
-
-#if defined (_MSC_VER)
-# if (_MSC_VER >= 1200)
-# pragma warning(push)
-# endif /* _MSC_VER >= 1200 */
-# pragma warning (disable:4250)
-#endif /* _MSC_VER */
-
-/// Implement the Test::Roundtrip interface
-class Roundtrip
- : public virtual POA_Test::Roundtrip
- , public virtual PortableServer::RefCountServantBase
-{
-public:
- /// Constructor
- Roundtrip (CORBA::ORB_ptr orb);
-
- // = The skeleton methods
- virtual Test::Timestamp test_method (Test::Timestamp send_time
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
-private:
- /// Use an ORB reference to conver strings to objects and shutdown
- /// the application.
- CORBA::ORB_var orb_;
-};
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma warning(pop)
-#endif /* _MSC_VER */
-
-#include "ace/post.h"
-#endif /* ROUNDTRIP_H */
diff --git a/TAO/performance-tests/DII_Latency/client.cpp b/TAO/performance-tests/DII_Latency/client.cpp
deleted file mode 100644
index 57935526269..00000000000
--- a/TAO/performance-tests/DII_Latency/client.cpp
+++ /dev/null
@@ -1,178 +0,0 @@
-// $Id$
-
-#include "ace/Get_Opt.h"
-#include "ace/High_Res_Timer.h"
-#include "ace/Sched_Params.h"
-#include "ace/Stats.h"
-#include "ace/Sample_History.h"
-
-#include "tao/Strategies/advanced_resource.h"
-#include "tao/DynamicInterface/Request.h"
-
-ACE_RCSID(DII_Latency, client, "$Id$")
-
-const char *ior = "file://test.ior";
-int niterations = 100;
-int do_dump_history = 0;
-int do_shutdown = 1;
-
-int
-parse_args (int argc, char *argv[])
-{
- ACE_Get_Opt get_opts (argc, argv, "hxk:i:");
- int c;
-
- while ((c = get_opts ()) != -1)
- switch (c)
- {
- case 'h':
- do_dump_history = 1;
- break;
-
- case 'x':
- do_shutdown = 0;
- break;
-
- case 'k':
- ior = get_opts.opt_arg ();
- break;
-
- case 'i':
- niterations = ACE_OS::atoi (get_opts.opt_arg ());
- break;
-
- case '?':
- default:
- ACE_ERROR_RETURN ((LM_ERROR,
- "usage: %s "
- "-k <ior> "
- "-i <niterations> "
- "-x (disable shutdown) "
- "\n",
- argv [0]),
- -1);
- }
- // Indicates sucessful parsing of the command line
- return 0;
-}
-
-int
-main (int argc, char *argv[])
-{
- int priority =
- (ACE_Sched_Params::priority_min (ACE_SCHED_FIFO)
- + ACE_Sched_Params::priority_max (ACE_SCHED_FIFO)) / 2;
- // Enable FIFO scheduling, e.g., RT scheduling class on Solaris.
-
- if (ACE_OS::sched_params (ACE_Sched_Params (ACE_SCHED_FIFO,
- priority,
- ACE_SCOPE_PROCESS)) != 0)
- {
- if (ACE_OS::last_error () == EPERM)
- {
- ACE_DEBUG ((LM_DEBUG,
- "client (%P|%t): user is not superuser, "
- "test runs in time-shared class\n"));
- }
- else
- ACE_ERROR ((LM_ERROR,
- "client (%P|%t): sched_params failed\n"));
- }
-
- ACE_TRY_NEW_ENV
- {
- CORBA::ORB_var orb =
- CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (parse_args (argc, argv) != 0)
- return 1;
-
- CORBA::Object_var object =
- orb->string_to_object (ior ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (CORBA::is_nil (object.in ()))
- {
- ACE_ERROR_RETURN ((LM_ERROR,
- "Nil CORBA::Object reference <%s>\n",
- ior),
- 1);
- }
-
- for (int j = 0; j < 100; ++j)
- {
- CORBA::Request_var request =
- object->_request ("test_method" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CORBA::ULongLong dummy = 0;
- request->add_in_arg("send_time") <<= dummy;
-
- request->set_return_type (CORBA::_tc_ulonglong);
- request->invoke (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
-
- ACE_Sample_History history (niterations);
-
- ACE_hrtime_t test_start = ACE_OS::gethrtime ();
- for (int i = 0; i < niterations; ++i)
- {
- CORBA::ULongLong start = ACE_OS::gethrtime ();
-
- CORBA::Request_var request =
- object->_request ("test_method" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- request->add_in_arg("send_time") <<= start;
-
- request->set_return_type (CORBA::_tc_ulonglong);
- request->invoke (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- ACE_hrtime_t now = ACE_OS::gethrtime ();
- history.sample (now - start);
- }
-
- ACE_hrtime_t test_end = ACE_OS::gethrtime ();
-
- ACE_DEBUG ((LM_DEBUG, "test finished\n"));
-
- ACE_DEBUG ((LM_DEBUG, "High resolution timer calibration...."));
- ACE_UINT32 gsf = ACE_High_Res_Timer::global_scale_factor ();
- ACE_DEBUG ((LM_DEBUG, "done\n"));
-
- if (do_dump_history)
- {
- history.dump_samples ("HISTORY", gsf);
- }
-
- ACE_Basic_Stats stats;
- history.collect_basic_stats (stats);
- stats.dump_results ("Total", gsf);
-
- ACE_Throughput_Stats::dump_throughput ("Total", gsf,
- test_end - test_start,
- stats.samples_count ());
-
- if (do_shutdown)
- {
- CORBA::Request_var request =
- object->_request ("shutdown" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- request->invoke (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- }
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Exception caught:");
- return 1;
- }
- ACE_ENDTRY;
-
- return 0;
-}
diff --git a/TAO/performance-tests/DII_Latency/server.cpp b/TAO/performance-tests/DII_Latency/server.cpp
deleted file mode 100644
index e96f0ff595a..00000000000
--- a/TAO/performance-tests/DII_Latency/server.cpp
+++ /dev/null
@@ -1,136 +0,0 @@
-// $Id$
-
-#include "Roundtrip.h"
-#include "ace/Get_Opt.h"
-#include "ace/Sched_Params.h"
-
-#include "tao/Strategies/advanced_resource.h"
-
-ACE_RCSID(Single_Threaded_Latency, server, "$Id$")
-
-const char *ior_output_file = "test.ior";
-
-int
-parse_args (int argc, char *argv[])
-{
- ACE_Get_Opt get_opts (argc, argv, "o:");
- int c;
-
- while ((c = get_opts ()) != -1)
- switch (c)
- {
- case 'o':
- ior_output_file = get_opts.opt_arg ();
- break;
-
- case '?':
- default:
- ACE_ERROR_RETURN ((LM_ERROR,
- "usage: %s "
- "-o <iorfile>"
- "\n",
- argv [0]),
- -1);
- }
- // Indicates sucessful parsing of the command line
- return 0;
-}
-
-int
-main (int argc, char *argv[])
-{
- int priority =
- (ACE_Sched_Params::priority_min (ACE_SCHED_FIFO)
- + ACE_Sched_Params::priority_max (ACE_SCHED_FIFO)) / 2;
- priority = ACE_Sched_Params::next_priority (ACE_SCHED_FIFO,
- priority);
- // Enable FIFO scheduling, e.g., RT scheduling class on Solaris.
-
- if (ACE_OS::sched_params (ACE_Sched_Params (ACE_SCHED_FIFO,
- priority,
- ACE_SCOPE_PROCESS)) != 0)
- {
- if (ACE_OS::last_error () == EPERM)
- {
- ACE_DEBUG ((LM_DEBUG,
- "server (%P|%t): user is not superuser, "
- "test runs in time-shared class\n"));
- }
- else
- ACE_ERROR ((LM_ERROR,
- "server (%P|%t): sched_params failed\n"));
- }
-
- ACE_TRY_NEW_ENV
- {
- CORBA::ORB_var orb =
- CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CORBA::Object_var poa_object =
- orb->resolve_initial_references("RootPOA" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (CORBA::is_nil (poa_object.in ()))
- ACE_ERROR_RETURN ((LM_ERROR,
- " (%P|%t) Unable to initialize the POA.\n"),
- 1);
-
- PortableServer::POA_var root_poa =
- PortableServer::POA::_narrow (poa_object.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- PortableServer::POAManager_var poa_manager =
- root_poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (parse_args (argc, argv) != 0)
- return 1;
-
- Roundtrip *roundtrip_impl;
- ACE_NEW_RETURN (roundtrip_impl,
- Roundtrip (orb.in ()),
- 1);
- PortableServer::ServantBase_var owner_transfer(roundtrip_impl);
-
- Test::Roundtrip_var roundtrip =
- roundtrip_impl->_this (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CORBA::String_var ior =
- orb->object_to_string (roundtrip.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- // If the ior_output_file exists, output the ior to it
- FILE *output_file= ACE_OS::fopen (ior_output_file, "w");
- if (output_file == 0)
- ACE_ERROR_RETURN ((LM_ERROR,
- "Cannot open output file for writing IOR: %s",
- ior_output_file),
- 1);
- ACE_OS::fprintf (output_file, "%s", ior.in ());
- ACE_OS::fclose (output_file);
-
- poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- orb->run (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- ACE_DEBUG ((LM_DEBUG, "(%P|%t) server - event loop finished\n"));
-
- root_poa->destroy (1, 1 ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Exception caught:");
- return 1;
- }
- ACE_ENDTRY;
-
- return 0;
-}
diff --git a/TAO/performance-tests/DSI_Latency/Roundtrip.cpp b/TAO/performance-tests/DSI_Latency/Roundtrip.cpp
deleted file mode 100644
index 6de5cfe047a..00000000000
--- a/TAO/performance-tests/DSI_Latency/Roundtrip.cpp
+++ /dev/null
@@ -1,97 +0,0 @@
-//
-// $Id$
-//
-#include "Roundtrip.h"
-#include "tao/DynamicInterface/Server_Request.h"
-
-ACE_RCSID(Single_Threaded_Latency, Roundtrip, "$Id$")
-
-Roundtrip::Roundtrip (CORBA::ORB_ptr orb)
- : orb_ (CORBA::ORB::_duplicate (orb))
-{
-}
-
-void
-Roundtrip::invoke (CORBA::ServerRequest_ptr request
- ACE_ENV_ARG_DECL)
-{
- if (ACE_OS::strcmp ("shutdown", request->operation ()) == 0)
- {
- this->orb_->shutdown (0 ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- return;
- }
-
- else if (ACE_OS::strcmp ("_is_a", request->operation ()) == 0)
- {
- CORBA::NVList_ptr list;
- this->orb_->create_list (0, list ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- CORBA::Any type_id (CORBA::_tc_string);
- list->add_value ("type_id", type_id, CORBA::ARG_IN
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- request->arguments (list ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- CORBA::NamedValue_ptr nv = list->item (0 ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- const char *arg;
- *(nv->value ()) >>= arg;
-
- CORBA::Boolean type_matches = 0;
- if (ACE_OS::strcmp (arg, "IDL:Test/Roundtrip:1.0") == 0
- || ACE_OS::strcmp (arg, "IDL:omg.org/CORBA/Object:1.0") == 0
- || ACE_OS::strcmp (arg, "") == 0)
- type_matches = 1;
-
- CORBA::Any result;
- result <<= CORBA::Any::from_boolean (type_matches);
-
- request->set_result (result ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- return;
- }
-
- else if (ACE_OS::strcmp ("test_method", request->operation ()) == 0)
- {
- CORBA::NVList_ptr list;
- this->orb_->create_list (0, list ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- CORBA::Any send_time (CORBA::_tc_ulonglong);
- list->add_value ("send_time", send_time, CORBA::ARG_IN
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- request->arguments (list ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- CORBA::NamedValue_ptr nv = list->item (0 ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- request->set_result (*(nv->value ()) ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- return;
- }
-
- CORBA::Any bad_operation;
- CORBA::BAD_OPERATION exception;
- bad_operation <<= exception;
- request->set_exception (bad_operation ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-}
-
-CORBA::RepositoryId
-Roundtrip::_primary_interface (const PortableServer::ObjectId &,
- PortableServer::POA_ptr
- ACE_ENV_ARG_DECL_NOT_USED)
-{
- return CORBA::string_dup ("IDL:Test/Roundtrip:1.0");
-}
diff --git a/TAO/performance-tests/DSI_Latency/Roundtrip.h b/TAO/performance-tests/DSI_Latency/Roundtrip.h
deleted file mode 100644
index d795dcb56f1..00000000000
--- a/TAO/performance-tests/DSI_Latency/Roundtrip.h
+++ /dev/null
@@ -1,48 +0,0 @@
-//
-// $Id$
-//
-
-#ifndef ROUNDTRIP_H
-#define ROUNDTRIP_H
-#include "ace/pre.h"
-
-#include "tao/DynamicInterface/Dynamic_Implementation.h"
-#include "tao/PortableServer/PortableServer.h"
-#include "tao/corba.h"
-
-#if defined (_MSC_VER)
-# if (_MSC_VER >= 1200)
-# pragma warning(push)
-# endif /* _MSC_VER >= 1200 */
-# pragma warning (disable:4250)
-#endif /* _MSC_VER */
-
-/// Implement the Test::Roundtrip interface
-class Roundtrip
- : public virtual PortableServer::DynamicImplementation
- , public virtual PortableServer::RefCountServantBase
-{
-public:
- /// Constructor
- Roundtrip (CORBA::ORB_ptr orb);
-
- // = The DSI methods
- virtual void invoke (CORBA::ServerRequest_ptr request
- ACE_ENV_ARG_DECL);
- virtual CORBA::RepositoryId _primary_interface (
- const PortableServer::ObjectId &oid,
- PortableServer::POA_ptr poa
- ACE_ENV_ARG_DECL);
-
-private:
- /// Use an ORB reference to conver strings to objects and shutdown
- /// the application.
- CORBA::ORB_var orb_;
-};
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma warning(pop)
-#endif /* _MSC_VER */
-
-#include "ace/post.h"
-#endif /* ROUNDTRIP_H */
diff --git a/TAO/performance-tests/DSI_Latency/client.cpp b/TAO/performance-tests/DSI_Latency/client.cpp
deleted file mode 100644
index 2a264e91b43..00000000000
--- a/TAO/performance-tests/DSI_Latency/client.cpp
+++ /dev/null
@@ -1,163 +0,0 @@
-// $Id$
-
-#include "TestC.h"
-#include "ace/Get_Opt.h"
-#include "ace/High_Res_Timer.h"
-#include "ace/Sched_Params.h"
-#include "ace/Stats.h"
-#include "ace/Sample_History.h"
-
-#include "tao/Strategies/advanced_resource.h"
-
-ACE_RCSID(DSI_Latency, client, "$Id$")
-
-const char *ior = "file://test.ior";
-int niterations = 100;
-int do_dump_history = 0;
-int do_shutdown = 1;
-
-int
-parse_args (int argc, char *argv[])
-{
- ACE_Get_Opt get_opts (argc, argv, "hxk:i:");
- int c;
-
- while ((c = get_opts ()) != -1)
- switch (c)
- {
- case 'h':
- do_dump_history = 1;
- break;
-
- case 'x':
- do_shutdown = 0;
- break;
-
- case 'k':
- ior = get_opts.opt_arg ();
- break;
-
- case 'i':
- niterations = ACE_OS::atoi (get_opts.opt_arg ());
- break;
-
- case '?':
- default:
- ACE_ERROR_RETURN ((LM_ERROR,
- "usage: %s "
- "-k <ior> "
- "-i <niterations> "
- "-x (disable shutdown) "
- "\n",
- argv [0]),
- -1);
- }
- // Indicates sucessful parsing of the command line
- return 0;
-}
-
-int
-main (int argc, char *argv[])
-{
- int priority =
- (ACE_Sched_Params::priority_min (ACE_SCHED_FIFO)
- + ACE_Sched_Params::priority_max (ACE_SCHED_FIFO)) / 2;
- // Enable FIFO scheduling, e.g., RT scheduling class on Solaris.
-
- if (ACE_OS::sched_params (ACE_Sched_Params (ACE_SCHED_FIFO,
- priority,
- ACE_SCOPE_PROCESS)) != 0)
- {
- if (ACE_OS::last_error () == EPERM)
- {
- ACE_DEBUG ((LM_DEBUG,
- "client (%P|%t): user is not superuser, "
- "test runs in time-shared class\n"));
- }
- else
- ACE_ERROR ((LM_ERROR,
- "client (%P|%t): sched_params failed\n"));
- }
-
- ACE_TRY_NEW_ENV
- {
- CORBA::ORB_var orb =
- CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (parse_args (argc, argv) != 0)
- return 1;
-
- CORBA::Object_var object =
- orb->string_to_object (ior ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- Test::Roundtrip_var roundtrip =
- Test::Roundtrip::_narrow (object.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (CORBA::is_nil (roundtrip.in ()))
- {
- ACE_ERROR_RETURN ((LM_ERROR,
- "Nil Test::Roundtrip reference <%s>\n",
- ior),
- 1);
- }
-
- for (int j = 0; j < 100; ++j)
- {
- ACE_hrtime_t start = 0;
- (void) roundtrip->test_method (start ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
-
- ACE_Sample_History history (niterations);
-
- ACE_hrtime_t test_start = ACE_OS::gethrtime ();
- for (int i = 0; i < niterations; ++i)
- {
- ACE_hrtime_t start = ACE_OS::gethrtime ();
-
- (void) roundtrip->test_method (start ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- ACE_hrtime_t now = ACE_OS::gethrtime ();
- history.sample (now - start);
- }
-
- ACE_hrtime_t test_end = ACE_OS::gethrtime ();
-
- ACE_DEBUG ((LM_DEBUG, "test finished\n"));
-
- ACE_DEBUG ((LM_DEBUG, "High resolution timer calibration...."));
- ACE_UINT32 gsf = ACE_High_Res_Timer::global_scale_factor ();
- ACE_DEBUG ((LM_DEBUG, "done\n"));
-
- if (do_dump_history)
- {
- history.dump_samples ("HISTORY", gsf);
- }
-
- ACE_Basic_Stats stats;
- history.collect_basic_stats (stats);
- stats.dump_results ("Total", gsf);
-
- ACE_Throughput_Stats::dump_throughput ("Total", gsf,
- test_end - test_start,
- stats.samples_count ());
-
- if (do_shutdown)
- {
- roundtrip->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Exception caught:");
- return 1;
- }
- ACE_ENDTRY;
-
- return 0;
-}
diff --git a/TAO/performance-tests/DSI_Latency/server.cpp b/TAO/performance-tests/DSI_Latency/server.cpp
deleted file mode 100644
index ebc70ade1d7..00000000000
--- a/TAO/performance-tests/DSI_Latency/server.cpp
+++ /dev/null
@@ -1,142 +0,0 @@
-// $Id$
-
-#include "Roundtrip.h"
-#include "ace/Get_Opt.h"
-#include "ace/Sched_Params.h"
-
-#include "tao/Strategies/advanced_resource.h"
-
-ACE_RCSID(DSI_Latency, server, "$Id$")
-
-const char *ior_output_file = "test.ior";
-
-int
-parse_args (int argc, char *argv[])
-{
- ACE_Get_Opt get_opts (argc, argv, "o:");
- int c;
-
- while ((c = get_opts ()) != -1)
- switch (c)
- {
- case 'o':
- ior_output_file = get_opts.opt_arg ();
- break;
-
- case '?':
- default:
- ACE_ERROR_RETURN ((LM_ERROR,
- "usage: %s "
- "-o <iorfile>"
- "\n",
- argv [0]),
- -1);
- }
- // Indicates sucessful parsing of the command line
- return 0;
-}
-
-int
-main (int argc, char *argv[])
-{
- int priority =
- (ACE_Sched_Params::priority_min (ACE_SCHED_FIFO)
- + ACE_Sched_Params::priority_max (ACE_SCHED_FIFO)) / 2;
- priority = ACE_Sched_Params::next_priority (ACE_SCHED_FIFO,
- priority);
- // Enable FIFO scheduling, e.g., RT scheduling class on Solaris.
-
- if (ACE_OS::sched_params (ACE_Sched_Params (ACE_SCHED_FIFO,
- priority,
- ACE_SCOPE_PROCESS)) != 0)
- {
- if (ACE_OS::last_error () == EPERM)
- {
- ACE_DEBUG ((LM_DEBUG,
- "server (%P|%t): user is not superuser, "
- "test runs in time-shared class\n"));
- }
- else
- ACE_ERROR ((LM_ERROR,
- "server (%P|%t): sched_params failed\n"));
- }
-
- ACE_TRY_NEW_ENV
- {
- CORBA::ORB_var orb =
- CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CORBA::Object_var poa_object =
- orb->resolve_initial_references("RootPOA" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (CORBA::is_nil (poa_object.in ()))
- ACE_ERROR_RETURN ((LM_ERROR,
- " (%P|%t) Unable to initialize the POA.\n"),
- 1);
-
- PortableServer::POA_var root_poa =
- PortableServer::POA::_narrow (poa_object.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- PortableServer::POAManager_var poa_manager =
- root_poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (parse_args (argc, argv) != 0)
- return 1;
-
- Roundtrip *roundtrip_impl;
- ACE_NEW_RETURN (roundtrip_impl,
- Roundtrip (orb.in ()),
- 1);
- PortableServer::ServantBase_var owner_transfer(roundtrip_impl);
-
- PortableServer::ObjectId_var oid =
- root_poa->activate_object (roundtrip_impl
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CORBA::Object_var roundtrip =
- root_poa->id_to_reference (oid.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CORBA::String_var ior =
- orb->object_to_string (roundtrip.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- // If the ior_output_file exists, output the ior to it
- FILE *output_file= ACE_OS::fopen (ior_output_file, "w");
- if (output_file == 0)
- ACE_ERROR_RETURN ((LM_ERROR,
- "Cannot open output file for writing IOR: %s",
- ior_output_file),
- 1);
- ACE_OS::fprintf (output_file, "%s", ior.in ());
- ACE_OS::fclose (output_file);
-
- poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- orb->run (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- ACE_DEBUG ((LM_DEBUG, "(%P|%t) server - event loop finished\n"));
-
- root_poa->destroy (1, 1 ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Exception caught:");
- return 1;
- }
- ACE_ENDTRY;
-
- return 0;
-}
diff --git a/TAO/performance-tests/Deferred_Latency/Roundtrip.cpp b/TAO/performance-tests/Deferred_Latency/Roundtrip.cpp
deleted file mode 100644
index 72f83576b44..00000000000
--- a/TAO/performance-tests/Deferred_Latency/Roundtrip.cpp
+++ /dev/null
@@ -1,26 +0,0 @@
-//
-// $Id$
-//
-#include "Roundtrip.h"
-
-ACE_RCSID(Single_Threaded_Latency, Roundtrip, "$Id$")
-
-Roundtrip::Roundtrip (CORBA::ORB_ptr orb)
- : orb_ (CORBA::ORB::_duplicate (orb))
-{
-}
-
-Test::Timestamp
-Roundtrip::test_method (Test::Timestamp send_time
- ACE_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return send_time;
-}
-
-void
-Roundtrip::shutdown (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- this->orb_->shutdown (0 ACE_ENV_ARG_PARAMETER);
-}
diff --git a/TAO/performance-tests/Deferred_Latency/Roundtrip.h b/TAO/performance-tests/Deferred_Latency/Roundtrip.h
deleted file mode 100644
index efef33dd7e6..00000000000
--- a/TAO/performance-tests/Deferred_Latency/Roundtrip.h
+++ /dev/null
@@ -1,46 +0,0 @@
-//
-// $Id$
-//
-
-#ifndef ROUNDTRIP_H
-#define ROUNDTRIP_H
-#include "ace/pre.h"
-
-#include "TestS.h"
-
-#if defined (_MSC_VER)
-# if (_MSC_VER >= 1200)
-# pragma warning(push)
-# endif /* _MSC_VER >= 1200 */
-# pragma warning (disable:4250)
-#endif /* _MSC_VER */
-
-/// Implement the Test::Roundtrip interface
-class Roundtrip
- : public virtual POA_Test::Roundtrip
- , public virtual PortableServer::RefCountServantBase
-{
-public:
- /// Constructor
- Roundtrip (CORBA::ORB_ptr orb);
-
- // = The skeleton methods
- virtual Test::Timestamp test_method (Test::Timestamp send_time
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
-private:
- /// Use an ORB reference to conver strings to objects and shutdown
- /// the application.
- CORBA::ORB_var orb_;
-};
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma warning(pop)
-#endif /* _MSC_VER */
-
-#include "ace/post.h"
-#endif /* ROUNDTRIP_H */
diff --git a/TAO/performance-tests/Deferred_Latency/client.cpp b/TAO/performance-tests/Deferred_Latency/client.cpp
deleted file mode 100644
index 8aa94d94172..00000000000
--- a/TAO/performance-tests/Deferred_Latency/client.cpp
+++ /dev/null
@@ -1,203 +0,0 @@
-// $Id$
-
-#include "TestC.h"
-
-#include "tao/DynamicInterface/Request.h"
-
-#include "tao/Strategies/advanced_resource.h"
-
-#include "ace/Get_Opt.h"
-#include "ace/Sched_Params.h"
-#include "ace/High_Res_Timer.h"
-#include "ace/Sched_Params.h"
-#include "ace/Stats.h"
-#include "ace/Sample_History.h"
-
-ACE_RCSID(Deferred_Latency, client, "$Id$")
-
-const char *ior = "file://test.ior";
-int niterations = 1000;
-int burst = 10;
-int do_shutdown = 1;
-int do_dump_history = 0;
-
-int
-parse_args (int argc, char *argv[])
-{
- ACE_Get_Opt get_opts (argc, argv, "hxk:i:b:");
- int c;
-
- while ((c = get_opts ()) != -1)
- switch (c)
- {
- case 'h':
- do_dump_history = 1;
- break;
-
- case 'x':
- do_shutdown = 0;
- break;
-
- case 'k':
- ior = get_opts.opt_arg ();
- break;
-
- case 'i':
- niterations = ACE_OS::atoi (get_opts.opt_arg ());
- break;
-
- case 'b':
- burst = ACE_OS::atoi (get_opts.opt_arg ());
- break;
-
- case '?':
- default:
- ACE_ERROR_RETURN ((LM_ERROR,
- "usage: %s "
- "-k <ior> "
- "-i <niterations> "
- "-b <burst> "
- "-x (disable shutdown) "
- "-h (dump history) "
- "\n",
- argv [0]),
- -1);
- }
- // Indicates sucessful parsing of the command line
- return 0;
-}
-
-int
-main (int argc, char *argv[])
-{
- int priority =
- (ACE_Sched_Params::priority_min (ACE_SCHED_FIFO)
- + ACE_Sched_Params::priority_max (ACE_SCHED_FIFO)) / 2;
- // Enable FIFO scheduling, e.g., RT scheduling class on Solaris.
-
- if (ACE_OS::sched_params (ACE_Sched_Params (ACE_SCHED_FIFO,
- priority,
- ACE_SCOPE_PROCESS)) != 0)
- {
- if (ACE_OS::last_error () == EPERM)
- {
- ACE_DEBUG ((LM_DEBUG,
- "client (%P|%t): user is not superuser, "
- "test runs in time-shared class\n"));
- }
- else
- ACE_ERROR ((LM_ERROR,
- "client (%P|%t): sched_params failed\n"));
- }
-
- ACE_TRY_NEW_ENV
- {
- CORBA::ORB_var orb =
- CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (parse_args (argc, argv) != 0)
- return 1;
-
- CORBA::Object_var object =
- orb->string_to_object (ior ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- Test::Roundtrip_var roundtrip =
- Test::Roundtrip::_narrow (object.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (CORBA::is_nil (roundtrip.in ()))
- {
- ACE_ERROR_RETURN ((LM_ERROR,
- "Nil Test::Roundtrip reference <%s>\n",
- ior),
- 1);
- }
-
- for (int j = 0; j < 100; ++j)
- {
- ACE_hrtime_t start = 0;
- (void) roundtrip->test_method (start ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
-
- ACE_Sample_History history (niterations);
-
- ACE_hrtime_t test_start = ACE_OS::gethrtime ();
-
- CORBA::Request_var *request;
- ACE_NEW_RETURN (request, CORBA::Request_var[burst], 1);
-
- for (int i = 0; i < niterations; ++i)
- {
- int j;
-
- for (j = 0; j != burst; ++j)
- {
- CORBA::ULongLong start = ACE_OS::gethrtime ();
-
- request[j] =
- roundtrip->_request ("test_method"
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- request[j]->add_in_arg () <<= start;
- request[j]->set_return_type (CORBA::_tc_ulonglong);
-
- request[j]->send_deferred (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
-
- for (j = 0; j != burst; ++j)
- {
- request[j]->get_response (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CORBA::ULongLong retval;
- if ((request[j]->return_value () >>= retval) == 1)
- {
- ACE_hrtime_t now = ACE_OS::gethrtime ();
- history.sample (now - retval);
- }
- }
- }
- delete[] request;
-
- ACE_hrtime_t test_end = ACE_OS::gethrtime ();
-
- ACE_DEBUG ((LM_DEBUG, "test finished\n"));
-
- ACE_DEBUG ((LM_DEBUG, "High resolution timer calibration...."));
- ACE_UINT32 gsf = ACE_High_Res_Timer::global_scale_factor ();
- ACE_DEBUG ((LM_DEBUG, "done\n"));
-
- if (do_dump_history)
- {
- history.dump_samples ("HISTORY", gsf);
- }
-
- ACE_Basic_Stats stats;
- history.collect_basic_stats (stats);
- stats.dump_results ("Total", gsf);
-
- ACE_Throughput_Stats::dump_throughput ("Total", gsf,
- test_end - test_start,
- stats.samples_count ());
-
- if (do_shutdown)
- {
- roundtrip->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
- "Caught exception:");
- return 1;
- }
- ACE_ENDTRY;
-
- return 0;
-}
diff --git a/TAO/performance-tests/Deferred_Latency/server.cpp b/TAO/performance-tests/Deferred_Latency/server.cpp
deleted file mode 100644
index e96f0ff595a..00000000000
--- a/TAO/performance-tests/Deferred_Latency/server.cpp
+++ /dev/null
@@ -1,136 +0,0 @@
-// $Id$
-
-#include "Roundtrip.h"
-#include "ace/Get_Opt.h"
-#include "ace/Sched_Params.h"
-
-#include "tao/Strategies/advanced_resource.h"
-
-ACE_RCSID(Single_Threaded_Latency, server, "$Id$")
-
-const char *ior_output_file = "test.ior";
-
-int
-parse_args (int argc, char *argv[])
-{
- ACE_Get_Opt get_opts (argc, argv, "o:");
- int c;
-
- while ((c = get_opts ()) != -1)
- switch (c)
- {
- case 'o':
- ior_output_file = get_opts.opt_arg ();
- break;
-
- case '?':
- default:
- ACE_ERROR_RETURN ((LM_ERROR,
- "usage: %s "
- "-o <iorfile>"
- "\n",
- argv [0]),
- -1);
- }
- // Indicates sucessful parsing of the command line
- return 0;
-}
-
-int
-main (int argc, char *argv[])
-{
- int priority =
- (ACE_Sched_Params::priority_min (ACE_SCHED_FIFO)
- + ACE_Sched_Params::priority_max (ACE_SCHED_FIFO)) / 2;
- priority = ACE_Sched_Params::next_priority (ACE_SCHED_FIFO,
- priority);
- // Enable FIFO scheduling, e.g., RT scheduling class on Solaris.
-
- if (ACE_OS::sched_params (ACE_Sched_Params (ACE_SCHED_FIFO,
- priority,
- ACE_SCOPE_PROCESS)) != 0)
- {
- if (ACE_OS::last_error () == EPERM)
- {
- ACE_DEBUG ((LM_DEBUG,
- "server (%P|%t): user is not superuser, "
- "test runs in time-shared class\n"));
- }
- else
- ACE_ERROR ((LM_ERROR,
- "server (%P|%t): sched_params failed\n"));
- }
-
- ACE_TRY_NEW_ENV
- {
- CORBA::ORB_var orb =
- CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CORBA::Object_var poa_object =
- orb->resolve_initial_references("RootPOA" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (CORBA::is_nil (poa_object.in ()))
- ACE_ERROR_RETURN ((LM_ERROR,
- " (%P|%t) Unable to initialize the POA.\n"),
- 1);
-
- PortableServer::POA_var root_poa =
- PortableServer::POA::_narrow (poa_object.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- PortableServer::POAManager_var poa_manager =
- root_poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (parse_args (argc, argv) != 0)
- return 1;
-
- Roundtrip *roundtrip_impl;
- ACE_NEW_RETURN (roundtrip_impl,
- Roundtrip (orb.in ()),
- 1);
- PortableServer::ServantBase_var owner_transfer(roundtrip_impl);
-
- Test::Roundtrip_var roundtrip =
- roundtrip_impl->_this (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CORBA::String_var ior =
- orb->object_to_string (roundtrip.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- // If the ior_output_file exists, output the ior to it
- FILE *output_file= ACE_OS::fopen (ior_output_file, "w");
- if (output_file == 0)
- ACE_ERROR_RETURN ((LM_ERROR,
- "Cannot open output file for writing IOR: %s",
- ior_output_file),
- 1);
- ACE_OS::fprintf (output_file, "%s", ior.in ());
- ACE_OS::fclose (output_file);
-
- poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- orb->run (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- ACE_DEBUG ((LM_DEBUG, "(%P|%t) server - event loop finished\n"));
-
- root_poa->destroy (1, 1 ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Exception caught:");
- return 1;
- }
- ACE_ENDTRY;
-
- return 0;
-}
diff --git a/TAO/performance-tests/RTCorba/Multiple_Endpoints/Endpoint_Per_Priority/Makefile b/TAO/performance-tests/RTCorba/Multiple_Endpoints/Endpoint_Per_Priority/Makefile
deleted file mode 100644
index 6abeb8554f4..00000000000
--- a/TAO/performance-tests/RTCorba/Multiple_Endpoints/Endpoint_Per_Priority/Makefile
+++ /dev/null
@@ -1,616 +0,0 @@
-#----------------------------------------------------------------------------
-#
-# $Id$
-#
-#----------------------------------------------------------------------------
-
-#----------------------------------------------------------------------------
-# Local macros
-#----------------------------------------------------------------------------
-
-ifndef TAO_ROOT
- TAO_ROOT = $(ACE_ROOT)/TAO
-endif # ! TAO_ROOT
-
-LDLIBS = -lRTCORBA_Common -lTAO_Strategies -lTAO_PortableServer -lTAO
-
-BIN_UNCHECKED = server client
-
-CLIENT_OBJS = client.o
-SERVER_OBJS = server.o
-
-BUILD = $(BIN)
-VLDLIBS = $(LDLIBS:%=%$(VAR))
-VBIN = $(BIN:%=%$(VAR))
-SRC=$(CLIENT_OBJS:.o=.cpp) $(SERVER_OBJS:.o=.cpp)
-CPPFLAGS += -I../Common
-
-#----------------------------------------------------------------------------
-# Include macros and targets
-#----------------------------------------------------------------------------
-
-include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
-include $(ACE_ROOT)/include/makeinclude/macros.GNU
-include $(TAO_ROOT)/rules.tao.GNU
-
-ifeq ($(rt_corba),1)
- ifeq ($(minimum_corba),0)
- BIN=$(BIN_UNCHECKED)
- endif # minimum_corba
-endif # rt_corba
-
-include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
-include $(TAO_ROOT)/taoconfig.mk
-
-#----------------------------------------------------------------------------
-# Local targets
-#----------------------------------------------------------------------------
-
-server: $(addprefix $(VDIR),$(SERVER_OBJS))
- $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK)
-
-client: $(addprefix $(VDIR),$(CLIENT_OBJS))
- $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK)
-
-realclean: clean
-
-# DO NOT DELETE THIS LINE -- g++dep uses it.
-# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
-
-
-.obj/client.o .obj/client.o .obj/client.o .obj/client.o: client.cpp ../Common/testC.h \
- $(TAO_ROOT)/tao/corba.h \
- $(ACE_ROOT)/ace/pre.h \
- $(ACE_ROOT)/ace/post.h \
- $(ACE_ROOT)/ace/ACE_export.h \
- $(ACE_ROOT)/ace/svc_export.h \
- $(ACE_ROOT)/ace/ace_wchar.h \
- $(ACE_ROOT)/ace/ace_wchar.inl \
- $(ACE_ROOT)/ace/OS_Errno.h \
- $(ACE_ROOT)/ace/OS_Export.h \
- $(ACE_ROOT)/ace/OS_Errno.inl \
- $(TAO_ROOT)/tao/corbafwd.h \
- $(ACE_ROOT)/ace/CDR_Base.h \
- $(ACE_ROOT)/ace/Basic_Types.h \
- $(ACE_ROOT)/ace/Basic_Types.i \
- $(ACE_ROOT)/ace/Message_Block.h \
- $(ACE_ROOT)/ace/ACE.h \
- $(ACE_ROOT)/ace/OS.h \
- $(ACE_ROOT)/ace/OS_Dirent.h \
- $(ACE_ROOT)/ace/OS_Dirent.inl \
- $(ACE_ROOT)/ace/OS_String.h \
- $(ACE_ROOT)/ace/OS_String.inl \
- $(ACE_ROOT)/ace/OS_Memory.h \
- $(ACE_ROOT)/ace/OS_Memory.inl \
- $(ACE_ROOT)/ace/OS_TLI.h \
- $(ACE_ROOT)/ace/OS_TLI.inl \
- $(ACE_ROOT)/ace/Min_Max.h \
- $(ACE_ROOT)/ace/streams.h \
- $(ACE_ROOT)/ace/Trace.h \
- $(ACE_ROOT)/ace/OS.i \
- $(ACE_ROOT)/ace/Flag_Manip.h \
- $(ACE_ROOT)/ace/Flag_Manip.i \
- $(ACE_ROOT)/ace/Handle_Ops.h \
- $(ACE_ROOT)/ace/Handle_Ops.i \
- $(ACE_ROOT)/ace/Lib_Find.h \
- $(ACE_ROOT)/ace/Lib_Find.i \
- $(ACE_ROOT)/ace/Init_ACE.h \
- $(ACE_ROOT)/ace/Init_ACE.i \
- $(ACE_ROOT)/ace/Sock_Connect.h \
- $(ACE_ROOT)/ace/Sock_Connect.i \
- $(ACE_ROOT)/ace/ACE.i \
- $(ACE_ROOT)/ace/Malloc.h \
- $(ACE_ROOT)/ace/Log_Msg.h \
- $(ACE_ROOT)/ace/Log_Record.h \
- $(ACE_ROOT)/ace/Log_Priority.h \
- $(ACE_ROOT)/ace/Log_Record.i \
- $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
- $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
- $(ACE_ROOT)/ace/Malloc.i \
- $(ACE_ROOT)/ace/Malloc_T.h \
- $(ACE_ROOT)/ace/Synch.h \
- $(ACE_ROOT)/ace/Synch.i \
- $(ACE_ROOT)/ace/Synch_T.h \
- $(ACE_ROOT)/ace/Synch_T.i \
- $(ACE_ROOT)/ace/Thread.h \
- $(ACE_ROOT)/ace/Thread_Adapter.h \
- $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
- $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
- $(ACE_ROOT)/ace/Thread_Adapter.inl \
- $(ACE_ROOT)/ace/Thread.i \
- $(ACE_ROOT)/ace/Atomic_Op.i \
- $(ACE_ROOT)/ace/Synch_T.cpp \
- $(ACE_ROOT)/ace/Malloc_Allocator.h \
- $(ACE_ROOT)/ace/Malloc_Base.h \
- $(ACE_ROOT)/ace/Malloc_Allocator.i \
- $(ACE_ROOT)/ace/Free_List.h \
- $(ACE_ROOT)/ace/Free_List.i \
- $(ACE_ROOT)/ace/Free_List.cpp \
- $(ACE_ROOT)/ace/Malloc_T.i \
- $(ACE_ROOT)/ace/Malloc_T.cpp \
- $(ACE_ROOT)/ace/Memory_Pool.h \
- $(ACE_ROOT)/ace/Event_Handler.h \
- $(ACE_ROOT)/ace/Event_Handler.i \
- $(ACE_ROOT)/ace/Signal.h \
- $(ACE_ROOT)/ace/Signal.i \
- $(ACE_ROOT)/ace/Mem_Map.h \
- $(ACE_ROOT)/ace/Mem_Map.i \
- $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
- $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
- $(ACE_ROOT)/ace/Unbounded_Set.h \
- $(ACE_ROOT)/ace/Node.h \
- $(ACE_ROOT)/ace/Node.cpp \
- $(ACE_ROOT)/ace/Unbounded_Set.inl \
- $(ACE_ROOT)/ace/Unbounded_Set.cpp \
- $(ACE_ROOT)/ace/Memory_Pool.i \
- $(ACE_ROOT)/ace/Message_Block.i \
- $(ACE_ROOT)/ace/Message_Block_T.h \
- $(ACE_ROOT)/ace/Message_Block_T.i \
- $(ACE_ROOT)/ace/Message_Block_T.cpp \
- $(ACE_ROOT)/ace/CDR_Base.inl \
- $(TAO_ROOT)/tao/try_macros.h \
- $(TAO_ROOT)/tao/orbconf.h \
- $(ACE_ROOT)/ace/CORBA_macros.h \
- $(TAO_ROOT)/tao/varbase.h \
- $(TAO_ROOT)/tao/TAO_Export.h \
- $(TAO_ROOT)/tao/corbafwd.i \
- $(TAO_ROOT)/tao/Typecode.h \
- $(TAO_ROOT)/tao/Exception.h \
- $(ACE_ROOT)/ace/SString.h \
- $(ACE_ROOT)/ace/SString.i \
- $(TAO_ROOT)/tao/Exception.i \
- $(TAO_ROOT)/tao/Typecode.i \
- $(TAO_ROOT)/tao/Any.h \
- $(TAO_ROOT)/tao/CDR.h \
- $(ACE_ROOT)/ace/CDR_Stream.h \
- $(ACE_ROOT)/ace/CDR_Stream.i \
- $(TAO_ROOT)/tao/CDR.i \
- $(TAO_ROOT)/tao/Environment.h \
- $(TAO_ROOT)/tao/Environment.i \
- $(TAO_ROOT)/tao/Object.h \
- $(TAO_ROOT)/tao/Object_Proxy_Broker.h \
- $(TAO_ROOT)/tao/Object_Proxy_Impl.h \
- $(TAO_ROOT)/tao/Object.i \
- $(TAO_ROOT)/tao/Any.i \
- $(TAO_ROOT)/tao/NVList.h \
- $(ACE_ROOT)/ace/Unbounded_Queue.h \
- $(ACE_ROOT)/ace/Unbounded_Queue.inl \
- $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
- $(TAO_ROOT)/tao/NVList.i \
- $(TAO_ROOT)/tao/LocalObject.h \
- $(TAO_ROOT)/tao/LocalObject.i \
- $(TAO_ROOT)/tao/Principal.h \
- $(TAO_ROOT)/tao/OctetSeqC.h \
- $(TAO_ROOT)/tao/Sequence.h \
- $(TAO_ROOT)/tao/Managed_Types.h \
- $(TAO_ROOT)/tao/Managed_Types.i \
- $(TAO_ROOT)/tao/Sequence.i \
- $(TAO_ROOT)/tao/Sequence_T.h \
- $(TAO_ROOT)/tao/Sequence_T.i \
- $(TAO_ROOT)/tao/Sequence_T.cpp \
- $(TAO_ROOT)/tao/OctetSeqC.i \
- $(TAO_ROOT)/tao/Principal.i \
- $(TAO_ROOT)/tao/ORB.h \
- $(TAO_ROOT)/tao/Services.h \
- $(TAO_ROOT)/tao/Services.i \
- $(TAO_ROOT)/tao/CORBA_String.h \
- $(TAO_ROOT)/tao/CORBA_String.inl \
- $(TAO_ROOT)/tao/PolicyC.h \
- $(TAO_ROOT)/tao/Encodable.h \
- $(TAO_ROOT)/tao/Remote_Object_Proxy_Impl.h \
- $(TAO_ROOT)/tao/CurrentC.h \
- $(TAO_ROOT)/tao/CurrentC.i \
- $(TAO_ROOT)/tao/PolicyC.i \
- $(TAO_ROOT)/tao/ORB.i \
- $(TAO_ROOT)/tao/BoundsC.h \
- $(TAO_ROOT)/tao/BoundsC.i \
- $(TAO_ROOT)/tao/ValueBase.h \
- $(TAO_ROOT)/tao/ValueBase.i \
- $(TAO_ROOT)/tao/ValueFactory.h \
- $(TAO_ROOT)/tao/ValueFactory.i \
- $(TAO_ROOT)/tao/DomainC.h \
- $(TAO_ROOT)/tao/DomainC.i \
- $(TAO_ROOT)/tao/WrongTransactionC.h \
- $(TAO_ROOT)/tao/Object_KeyC.h \
- $(TAO_ROOT)/tao/Object_KeyC.i \
- $(TAO_ROOT)/tao/ObjectIDList.h \
- $(TAO_ROOT)/tao/ObjectIDList.i \
- $(TAO_ROOT)/tao/StringSeqC.h \
- $(TAO_ROOT)/tao/StringSeqC.i \
- $(TAO_ROOT)/tao/PortableInterceptorC.h \
- $(TAO_ROOT)/tao/DynamicC.h \
- $(TAO_ROOT)/tao/DynamicC.i \
- $(TAO_ROOT)/tao/MessagingC.h \
- $(TAO_ROOT)/tao/TimeBaseC.h \
- $(TAO_ROOT)/tao/SmartProxies/Smart_Proxies.h \
- $(TAO_ROOT)/tao/SmartProxies/smartproxies_export.h \
- $(TAO_ROOT)/tao/TAO_Singleton.h \
- $(TAO_ROOT)/tao/TAO_Singleton.inl \
- $(TAO_ROOT)/tao/TAO_Singleton.cpp \
- $(ACE_ROOT)/ace/Object_Manager.h \
- $(ACE_ROOT)/ace/Object_Manager.i \
- $(ACE_ROOT)/ace/Managed_Object.h \
- $(ACE_ROOT)/ace/Managed_Object.i \
- $(ACE_ROOT)/ace/Managed_Object.cpp \
- $(TAO_ROOT)/tao/TAO_Singleton_Manager.h \
- $(TAO_ROOT)/tao/TAO_Singleton_Manager.inl \
- $(TAO_ROOT)/tao/SmartProxies/Smart_Proxies.inl \
- $(TAO_ROOT)/tao/TimeBaseC.i \
- $(TAO_ROOT)/tao/IOPC.h \
- $(TAO_ROOT)/tao/IOPC.i \
- $(TAO_ROOT)/tao/PollableC.h \
- $(TAO_ROOT)/tao/PollableC.i \
- $(TAO_ROOT)/tao/MessagingC.i \
- $(TAO_ROOT)/tao/PortableInterceptorC.i \
- ../Common/rtcorba_common_export.h ../Common/testC.i \
- $(TAO_ROOT)/tao/TAOC.h \
- $(TAO_ROOT)/tao/TAOC.i \
- $(ACE_ROOT)/ace/Get_Opt.h \
- $(ACE_ROOT)/ace/Get_Opt.i \
- $(ACE_ROOT)/ace/Task.h \
- $(ACE_ROOT)/ace/Service_Object.h \
- $(ACE_ROOT)/ace/Shared_Object.h \
- $(ACE_ROOT)/ace/Shared_Object.i \
- $(ACE_ROOT)/ace/Service_Object.i \
- $(ACE_ROOT)/ace/Thread_Manager.h \
- $(ACE_ROOT)/ace/Containers.h \
- $(ACE_ROOT)/ace/Containers.i \
- $(ACE_ROOT)/ace/Containers_T.h \
- $(ACE_ROOT)/ace/Array_Base.h \
- $(ACE_ROOT)/ace/Array_Base.inl \
- $(ACE_ROOT)/ace/Array_Base.cpp \
- $(ACE_ROOT)/ace/Containers_T.i \
- $(ACE_ROOT)/ace/Containers_T.cpp \
- $(ACE_ROOT)/ace/Singleton.h \
- $(ACE_ROOT)/ace/Singleton.i \
- $(ACE_ROOT)/ace/Singleton.cpp \
- $(ACE_ROOT)/ace/Thread_Manager.i \
- $(ACE_ROOT)/ace/Task.i \
- $(ACE_ROOT)/ace/Task_T.h \
- $(ACE_ROOT)/ace/Message_Queue.h \
- $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
- $(ACE_ROOT)/ace/Message_Queue_T.h \
- $(ACE_ROOT)/ace/Message_Queue_T.i \
- $(ACE_ROOT)/ace/Message_Queue_T.cpp \
- $(ACE_ROOT)/ace/Strategies.h \
- $(ACE_ROOT)/ace/Strategies_T.h \
- $(ACE_ROOT)/ace/Service_Config.h \
- $(ACE_ROOT)/ace/Service_Config.i \
- $(ACE_ROOT)/ace/Reactor.h \
- $(ACE_ROOT)/ace/Handle_Set.h \
- $(ACE_ROOT)/ace/Handle_Set.i \
- $(ACE_ROOT)/ace/Timer_Queue.h \
- $(ACE_ROOT)/ace/Timer_Queue_T.h \
- $(ACE_ROOT)/ace/Test_and_Set.h \
- $(ACE_ROOT)/ace/Test_and_Set.i \
- $(ACE_ROOT)/ace/Test_and_Set.cpp \
- $(ACE_ROOT)/ace/Timer_Queue_T.i \
- $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
- $(ACE_ROOT)/ace/Reactor.i \
- $(ACE_ROOT)/ace/Reactor_Impl.h \
- $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
- $(ACE_ROOT)/ace/Synch_Options.h \
- $(ACE_ROOT)/ace/Synch_Options.i \
- $(ACE_ROOT)/ace/Hash_Map_Manager.h \
- $(ACE_ROOT)/ace/Functor.h \
- $(ACE_ROOT)/ace/Functor.i \
- $(ACE_ROOT)/ace/Functor_T.h \
- $(ACE_ROOT)/ace/Functor_T.i \
- $(ACE_ROOT)/ace/Functor_T.cpp \
- $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
- $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
- $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
- $(ACE_ROOT)/ace/Strategies_T.i \
- $(ACE_ROOT)/ace/Strategies_T.cpp \
- $(ACE_ROOT)/ace/Service_Repository.h \
- $(ACE_ROOT)/ace/Service_Types.h \
- $(ACE_ROOT)/ace/Service_Types.i \
- $(ACE_ROOT)/ace/Service_Repository.i \
- $(ACE_ROOT)/ace/WFMO_Reactor.h \
- $(ACE_ROOT)/ace/Process_Mutex.h \
- $(ACE_ROOT)/ace/Process_Mutex.inl \
- $(ACE_ROOT)/ace/WFMO_Reactor.i \
- $(ACE_ROOT)/ace/Strategies.i \
- $(ACE_ROOT)/ace/Message_Queue.i \
- $(ACE_ROOT)/ace/Task_T.i \
- $(ACE_ROOT)/ace/Task_T.cpp \
- $(ACE_ROOT)/ace/Module.h \
- $(ACE_ROOT)/ace/Module.i \
- $(ACE_ROOT)/ace/Module.cpp \
- $(ACE_ROOT)/ace/Stream_Modules.h \
- $(ACE_ROOT)/ace/Stream_Modules.cpp \
- $(ACE_ROOT)/ace/Stats.h \
- $(ACE_ROOT)/ace/Basic_Stats.h \
- $(ACE_ROOT)/ace/Basic_Stats.inl \
- $(ACE_ROOT)/ace/Stats.i \
- $(ACE_ROOT)/ace/High_Res_Timer.h \
- $(ACE_ROOT)/ace/High_Res_Timer.i \
- $(ACE_ROOT)/ace/Sched_Params.h \
- $(ACE_ROOT)/ace/Sched_Params.i
-
-.obj/server.o .obj/server.o .obj/server.o .obj/server.o: server.cpp ../Common/test_i.h ../Common/testS.h \
- ../Common/testC.h \
- $(TAO_ROOT)/tao/corba.h \
- $(ACE_ROOT)/ace/pre.h \
- $(ACE_ROOT)/ace/post.h \
- $(ACE_ROOT)/ace/ACE_export.h \
- $(ACE_ROOT)/ace/svc_export.h \
- $(ACE_ROOT)/ace/ace_wchar.h \
- $(ACE_ROOT)/ace/ace_wchar.inl \
- $(ACE_ROOT)/ace/OS_Errno.h \
- $(ACE_ROOT)/ace/OS_Export.h \
- $(ACE_ROOT)/ace/OS_Errno.inl \
- $(TAO_ROOT)/tao/corbafwd.h \
- $(ACE_ROOT)/ace/CDR_Base.h \
- $(ACE_ROOT)/ace/Basic_Types.h \
- $(ACE_ROOT)/ace/Basic_Types.i \
- $(ACE_ROOT)/ace/Message_Block.h \
- $(ACE_ROOT)/ace/ACE.h \
- $(ACE_ROOT)/ace/OS.h \
- $(ACE_ROOT)/ace/OS_Dirent.h \
- $(ACE_ROOT)/ace/OS_Dirent.inl \
- $(ACE_ROOT)/ace/OS_String.h \
- $(ACE_ROOT)/ace/OS_String.inl \
- $(ACE_ROOT)/ace/OS_Memory.h \
- $(ACE_ROOT)/ace/OS_Memory.inl \
- $(ACE_ROOT)/ace/OS_TLI.h \
- $(ACE_ROOT)/ace/OS_TLI.inl \
- $(ACE_ROOT)/ace/Min_Max.h \
- $(ACE_ROOT)/ace/streams.h \
- $(ACE_ROOT)/ace/Trace.h \
- $(ACE_ROOT)/ace/OS.i \
- $(ACE_ROOT)/ace/Flag_Manip.h \
- $(ACE_ROOT)/ace/Flag_Manip.i \
- $(ACE_ROOT)/ace/Handle_Ops.h \
- $(ACE_ROOT)/ace/Handle_Ops.i \
- $(ACE_ROOT)/ace/Lib_Find.h \
- $(ACE_ROOT)/ace/Lib_Find.i \
- $(ACE_ROOT)/ace/Init_ACE.h \
- $(ACE_ROOT)/ace/Init_ACE.i \
- $(ACE_ROOT)/ace/Sock_Connect.h \
- $(ACE_ROOT)/ace/Sock_Connect.i \
- $(ACE_ROOT)/ace/ACE.i \
- $(ACE_ROOT)/ace/Malloc.h \
- $(ACE_ROOT)/ace/Log_Msg.h \
- $(ACE_ROOT)/ace/Log_Record.h \
- $(ACE_ROOT)/ace/Log_Priority.h \
- $(ACE_ROOT)/ace/Log_Record.i \
- $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
- $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
- $(ACE_ROOT)/ace/Malloc.i \
- $(ACE_ROOT)/ace/Malloc_T.h \
- $(ACE_ROOT)/ace/Synch.h \
- $(ACE_ROOT)/ace/Synch.i \
- $(ACE_ROOT)/ace/Synch_T.h \
- $(ACE_ROOT)/ace/Synch_T.i \
- $(ACE_ROOT)/ace/Thread.h \
- $(ACE_ROOT)/ace/Thread_Adapter.h \
- $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
- $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
- $(ACE_ROOT)/ace/Thread_Adapter.inl \
- $(ACE_ROOT)/ace/Thread.i \
- $(ACE_ROOT)/ace/Atomic_Op.i \
- $(ACE_ROOT)/ace/Synch_T.cpp \
- $(ACE_ROOT)/ace/Malloc_Allocator.h \
- $(ACE_ROOT)/ace/Malloc_Base.h \
- $(ACE_ROOT)/ace/Malloc_Allocator.i \
- $(ACE_ROOT)/ace/Free_List.h \
- $(ACE_ROOT)/ace/Free_List.i \
- $(ACE_ROOT)/ace/Free_List.cpp \
- $(ACE_ROOT)/ace/Malloc_T.i \
- $(ACE_ROOT)/ace/Malloc_T.cpp \
- $(ACE_ROOT)/ace/Memory_Pool.h \
- $(ACE_ROOT)/ace/Event_Handler.h \
- $(ACE_ROOT)/ace/Event_Handler.i \
- $(ACE_ROOT)/ace/Signal.h \
- $(ACE_ROOT)/ace/Signal.i \
- $(ACE_ROOT)/ace/Mem_Map.h \
- $(ACE_ROOT)/ace/Mem_Map.i \
- $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
- $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
- $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
- $(ACE_ROOT)/ace/Unbounded_Set.h \
- $(ACE_ROOT)/ace/Node.h \
- $(ACE_ROOT)/ace/Node.cpp \
- $(ACE_ROOT)/ace/Unbounded_Set.inl \
- $(ACE_ROOT)/ace/Unbounded_Set.cpp \
- $(ACE_ROOT)/ace/Memory_Pool.i \
- $(ACE_ROOT)/ace/Message_Block.i \
- $(ACE_ROOT)/ace/Message_Block_T.h \
- $(ACE_ROOT)/ace/Message_Block_T.i \
- $(ACE_ROOT)/ace/Message_Block_T.cpp \
- $(ACE_ROOT)/ace/CDR_Base.inl \
- $(TAO_ROOT)/tao/try_macros.h \
- $(TAO_ROOT)/tao/orbconf.h \
- $(ACE_ROOT)/ace/CORBA_macros.h \
- $(TAO_ROOT)/tao/varbase.h \
- $(TAO_ROOT)/tao/TAO_Export.h \
- $(TAO_ROOT)/tao/corbafwd.i \
- $(TAO_ROOT)/tao/Typecode.h \
- $(TAO_ROOT)/tao/Exception.h \
- $(ACE_ROOT)/ace/SString.h \
- $(ACE_ROOT)/ace/SString.i \
- $(TAO_ROOT)/tao/Exception.i \
- $(TAO_ROOT)/tao/Typecode.i \
- $(TAO_ROOT)/tao/Any.h \
- $(TAO_ROOT)/tao/CDR.h \
- $(ACE_ROOT)/ace/CDR_Stream.h \
- $(ACE_ROOT)/ace/CDR_Stream.i \
- $(TAO_ROOT)/tao/CDR.i \
- $(TAO_ROOT)/tao/Environment.h \
- $(TAO_ROOT)/tao/Environment.i \
- $(TAO_ROOT)/tao/Object.h \
- $(TAO_ROOT)/tao/Object_Proxy_Broker.h \
- $(TAO_ROOT)/tao/Object_Proxy_Impl.h \
- $(TAO_ROOT)/tao/Object.i \
- $(TAO_ROOT)/tao/Any.i \
- $(TAO_ROOT)/tao/NVList.h \
- $(ACE_ROOT)/ace/Unbounded_Queue.h \
- $(ACE_ROOT)/ace/Unbounded_Queue.inl \
- $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
- $(TAO_ROOT)/tao/NVList.i \
- $(TAO_ROOT)/tao/LocalObject.h \
- $(TAO_ROOT)/tao/LocalObject.i \
- $(TAO_ROOT)/tao/Principal.h \
- $(TAO_ROOT)/tao/OctetSeqC.h \
- $(TAO_ROOT)/tao/Sequence.h \
- $(TAO_ROOT)/tao/Managed_Types.h \
- $(TAO_ROOT)/tao/Managed_Types.i \
- $(TAO_ROOT)/tao/Sequence.i \
- $(TAO_ROOT)/tao/Sequence_T.h \
- $(TAO_ROOT)/tao/Sequence_T.i \
- $(TAO_ROOT)/tao/Sequence_T.cpp \
- $(TAO_ROOT)/tao/OctetSeqC.i \
- $(TAO_ROOT)/tao/Principal.i \
- $(TAO_ROOT)/tao/ORB.h \
- $(TAO_ROOT)/tao/Services.h \
- $(TAO_ROOT)/tao/Services.i \
- $(TAO_ROOT)/tao/CORBA_String.h \
- $(TAO_ROOT)/tao/CORBA_String.inl \
- $(TAO_ROOT)/tao/PolicyC.h \
- $(TAO_ROOT)/tao/Encodable.h \
- $(TAO_ROOT)/tao/Remote_Object_Proxy_Impl.h \
- $(TAO_ROOT)/tao/CurrentC.h \
- $(TAO_ROOT)/tao/CurrentC.i \
- $(TAO_ROOT)/tao/PolicyC.i \
- $(TAO_ROOT)/tao/ORB.i \
- $(TAO_ROOT)/tao/BoundsC.h \
- $(TAO_ROOT)/tao/BoundsC.i \
- $(TAO_ROOT)/tao/ValueBase.h \
- $(TAO_ROOT)/tao/ValueBase.i \
- $(TAO_ROOT)/tao/ValueFactory.h \
- $(TAO_ROOT)/tao/ValueFactory.i \
- $(TAO_ROOT)/tao/DomainC.h \
- $(TAO_ROOT)/tao/DomainC.i \
- $(TAO_ROOT)/tao/WrongTransactionC.h \
- $(TAO_ROOT)/tao/Object_KeyC.h \
- $(TAO_ROOT)/tao/Object_KeyC.i \
- $(TAO_ROOT)/tao/ObjectIDList.h \
- $(TAO_ROOT)/tao/ObjectIDList.i \
- $(TAO_ROOT)/tao/StringSeqC.h \
- $(TAO_ROOT)/tao/StringSeqC.i \
- $(TAO_ROOT)/tao/PortableInterceptorC.h \
- $(TAO_ROOT)/tao/DynamicC.h \
- $(TAO_ROOT)/tao/DynamicC.i \
- $(TAO_ROOT)/tao/MessagingC.h \
- $(TAO_ROOT)/tao/TimeBaseC.h \
- $(TAO_ROOT)/tao/SmartProxies/Smart_Proxies.h \
- $(TAO_ROOT)/tao/SmartProxies/smartproxies_export.h \
- $(TAO_ROOT)/tao/TAO_Singleton.h \
- $(TAO_ROOT)/tao/TAO_Singleton.inl \
- $(TAO_ROOT)/tao/TAO_Singleton.cpp \
- $(ACE_ROOT)/ace/Object_Manager.h \
- $(ACE_ROOT)/ace/Object_Manager.i \
- $(ACE_ROOT)/ace/Managed_Object.h \
- $(ACE_ROOT)/ace/Managed_Object.i \
- $(ACE_ROOT)/ace/Managed_Object.cpp \
- $(TAO_ROOT)/tao/TAO_Singleton_Manager.h \
- $(TAO_ROOT)/tao/TAO_Singleton_Manager.inl \
- $(TAO_ROOT)/tao/SmartProxies/Smart_Proxies.inl \
- $(TAO_ROOT)/tao/TimeBaseC.i \
- $(TAO_ROOT)/tao/IOPC.h \
- $(TAO_ROOT)/tao/IOPC.i \
- $(TAO_ROOT)/tao/PollableC.h \
- $(TAO_ROOT)/tao/PollableC.i \
- $(TAO_ROOT)/tao/MessagingC.i \
- $(TAO_ROOT)/tao/PortableInterceptorC.i \
- ../Common/rtcorba_common_export.h ../Common/testC.i \
- $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
- $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
- $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
- $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
- $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
- $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
- $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
- $(TAO_ROOT)/tao/PortableServer/Collocated_Object.h \
- $(TAO_ROOT)/tao/PortableServer/Collocated_Object.i \
- $(TAO_ROOT)/tao/PortableServer/ThruPOA_Object_Proxy_Impl.h \
- $(TAO_ROOT)/tao/PortableServer/Direct_Object_Proxy_Impl.h \
- ../Common/testS_T.h ../Common/testS_T.i ../Common/testS_T.cpp \
- ../Common/testS.i ../Common/test_i.i \
- $(TAO_ROOT)/tao/RTCORBA/Pool_Per_Endpoint.h \
- $(TAO_ROOT)/tao/RTCORBA/rtcorba_export.h \
- $(ACE_ROOT)/ace/Task.h \
- $(ACE_ROOT)/ace/Service_Object.h \
- $(ACE_ROOT)/ace/Shared_Object.h \
- $(ACE_ROOT)/ace/Shared_Object.i \
- $(ACE_ROOT)/ace/Service_Object.i \
- $(ACE_ROOT)/ace/Thread_Manager.h \
- $(ACE_ROOT)/ace/Containers.h \
- $(ACE_ROOT)/ace/Containers.i \
- $(ACE_ROOT)/ace/Containers_T.h \
- $(ACE_ROOT)/ace/Array_Base.h \
- $(ACE_ROOT)/ace/Array_Base.inl \
- $(ACE_ROOT)/ace/Array_Base.cpp \
- $(ACE_ROOT)/ace/Containers_T.i \
- $(ACE_ROOT)/ace/Containers_T.cpp \
- $(ACE_ROOT)/ace/Singleton.h \
- $(ACE_ROOT)/ace/Singleton.i \
- $(ACE_ROOT)/ace/Singleton.cpp \
- $(ACE_ROOT)/ace/Thread_Manager.i \
- $(ACE_ROOT)/ace/Task.i \
- $(ACE_ROOT)/ace/Task_T.h \
- $(ACE_ROOT)/ace/Message_Queue.h \
- $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
- $(ACE_ROOT)/ace/Message_Queue_T.h \
- $(ACE_ROOT)/ace/Message_Queue_T.i \
- $(ACE_ROOT)/ace/Message_Queue_T.cpp \
- $(ACE_ROOT)/ace/Strategies.h \
- $(ACE_ROOT)/ace/Strategies_T.h \
- $(ACE_ROOT)/ace/Service_Config.h \
- $(ACE_ROOT)/ace/Service_Config.i \
- $(ACE_ROOT)/ace/Reactor.h \
- $(ACE_ROOT)/ace/Handle_Set.h \
- $(ACE_ROOT)/ace/Handle_Set.i \
- $(ACE_ROOT)/ace/Timer_Queue.h \
- $(ACE_ROOT)/ace/Timer_Queue_T.h \
- $(ACE_ROOT)/ace/Test_and_Set.h \
- $(ACE_ROOT)/ace/Test_and_Set.i \
- $(ACE_ROOT)/ace/Test_and_Set.cpp \
- $(ACE_ROOT)/ace/Timer_Queue_T.i \
- $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
- $(ACE_ROOT)/ace/Reactor.i \
- $(ACE_ROOT)/ace/Reactor_Impl.h \
- $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
- $(ACE_ROOT)/ace/Synch_Options.h \
- $(ACE_ROOT)/ace/Synch_Options.i \
- $(ACE_ROOT)/ace/Hash_Map_Manager.h \
- $(ACE_ROOT)/ace/Functor.h \
- $(ACE_ROOT)/ace/Functor.i \
- $(ACE_ROOT)/ace/Functor_T.h \
- $(ACE_ROOT)/ace/Functor_T.i \
- $(ACE_ROOT)/ace/Functor_T.cpp \
- $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
- $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
- $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
- $(ACE_ROOT)/ace/Strategies_T.i \
- $(ACE_ROOT)/ace/Strategies_T.cpp \
- $(ACE_ROOT)/ace/Service_Repository.h \
- $(ACE_ROOT)/ace/Service_Types.h \
- $(ACE_ROOT)/ace/Service_Types.i \
- $(ACE_ROOT)/ace/Service_Repository.i \
- $(ACE_ROOT)/ace/WFMO_Reactor.h \
- $(ACE_ROOT)/ace/Process_Mutex.h \
- $(ACE_ROOT)/ace/Process_Mutex.inl \
- $(ACE_ROOT)/ace/WFMO_Reactor.i \
- $(ACE_ROOT)/ace/Strategies.i \
- $(ACE_ROOT)/ace/Message_Queue.i \
- $(ACE_ROOT)/ace/Task_T.i \
- $(ACE_ROOT)/ace/Task_T.cpp \
- $(ACE_ROOT)/ace/Module.h \
- $(ACE_ROOT)/ace/Module.i \
- $(ACE_ROOT)/ace/Module.cpp \
- $(ACE_ROOT)/ace/Stream_Modules.h \
- $(ACE_ROOT)/ace/Stream_Modules.cpp \
- $(TAO_ROOT)/tao/RTCORBA/Pool_Per_Endpoint.i \
- $(ACE_ROOT)/ace/Get_Opt.h \
- $(ACE_ROOT)/ace/Get_Opt.i \
- $(ACE_ROOT)/ace/Sched_Params.h \
- $(ACE_ROOT)/ace/Sched_Params.i
-
-# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/TAO/performance-tests/Single_Threaded_Latency/Roundtrip.cpp b/TAO/performance-tests/Single_Threaded_Latency/Roundtrip.cpp
deleted file mode 100644
index 72f83576b44..00000000000
--- a/TAO/performance-tests/Single_Threaded_Latency/Roundtrip.cpp
+++ /dev/null
@@ -1,26 +0,0 @@
-//
-// $Id$
-//
-#include "Roundtrip.h"
-
-ACE_RCSID(Single_Threaded_Latency, Roundtrip, "$Id$")
-
-Roundtrip::Roundtrip (CORBA::ORB_ptr orb)
- : orb_ (CORBA::ORB::_duplicate (orb))
-{
-}
-
-Test::Timestamp
-Roundtrip::test_method (Test::Timestamp send_time
- ACE_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return send_time;
-}
-
-void
-Roundtrip::shutdown (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- this->orb_->shutdown (0 ACE_ENV_ARG_PARAMETER);
-}
diff --git a/TAO/performance-tests/Single_Threaded_Latency/Roundtrip.h b/TAO/performance-tests/Single_Threaded_Latency/Roundtrip.h
deleted file mode 100644
index efef33dd7e6..00000000000
--- a/TAO/performance-tests/Single_Threaded_Latency/Roundtrip.h
+++ /dev/null
@@ -1,46 +0,0 @@
-//
-// $Id$
-//
-
-#ifndef ROUNDTRIP_H
-#define ROUNDTRIP_H
-#include "ace/pre.h"
-
-#include "TestS.h"
-
-#if defined (_MSC_VER)
-# if (_MSC_VER >= 1200)
-# pragma warning(push)
-# endif /* _MSC_VER >= 1200 */
-# pragma warning (disable:4250)
-#endif /* _MSC_VER */
-
-/// Implement the Test::Roundtrip interface
-class Roundtrip
- : public virtual POA_Test::Roundtrip
- , public virtual PortableServer::RefCountServantBase
-{
-public:
- /// Constructor
- Roundtrip (CORBA::ORB_ptr orb);
-
- // = The skeleton methods
- virtual Test::Timestamp test_method (Test::Timestamp send_time
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
-private:
- /// Use an ORB reference to conver strings to objects and shutdown
- /// the application.
- CORBA::ORB_var orb_;
-};
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma warning(pop)
-#endif /* _MSC_VER */
-
-#include "ace/post.h"
-#endif /* ROUNDTRIP_H */
diff --git a/TAO/performance-tests/Single_Threaded_Latency/client.cpp b/TAO/performance-tests/Single_Threaded_Latency/client.cpp
deleted file mode 100644
index 2d841b9909d..00000000000
--- a/TAO/performance-tests/Single_Threaded_Latency/client.cpp
+++ /dev/null
@@ -1,164 +0,0 @@
-// $Id$
-
-#include "TestC.h"
-#include "ace/Get_Opt.h"
-#include "ace/High_Res_Timer.h"
-#include "ace/Sched_Params.h"
-#include "ace/Stats.h"
-#include "ace/Sample_History.h"
-
-#include "tao/Strategies/advanced_resource.h"
-
-ACE_RCSID(Single_Threaded_Latency, client, "$Id$")
-
-const char *ior = "file://test.ior";
-int niterations = 100;
-int do_dump_history = 0;
-int do_shutdown = 1;
-
-int
-parse_args (int argc, char *argv[])
-{
- ACE_Get_Opt get_opts (argc, argv, "hxk:i:");
- int c;
-
- while ((c = get_opts ()) != -1)
- switch (c)
- {
- case 'h':
- do_dump_history = 1;
- break;
-
- case 'x':
- do_shutdown = 0;
- break;
-
- case 'k':
- ior = get_opts.opt_arg ();
- break;
-
- case 'i':
- niterations = ACE_OS::atoi (get_opts.opt_arg ());
- break;
-
- case '?':
- default:
- ACE_ERROR_RETURN ((LM_ERROR,
- "usage: %s "
- "-k <ior> "
- "-i <niterations> "
- "-x (disable shutdown) "
- "-h (dump history) "
- "\n",
- argv [0]),
- -1);
- }
- // Indicates sucessful parsing of the command line
- return 0;
-}
-
-int
-main (int argc, char *argv[])
-{
- int priority =
- (ACE_Sched_Params::priority_min (ACE_SCHED_FIFO)
- + ACE_Sched_Params::priority_max (ACE_SCHED_FIFO)) / 2;
- // Enable FIFO scheduling, e.g., RT scheduling class on Solaris.
-
- if (ACE_OS::sched_params (ACE_Sched_Params (ACE_SCHED_FIFO,
- priority,
- ACE_SCOPE_PROCESS)) != 0)
- {
- if (ACE_OS::last_error () == EPERM)
- {
- ACE_DEBUG ((LM_DEBUG,
- "client (%P|%t): user is not superuser, "
- "test runs in time-shared class\n"));
- }
- else
- ACE_ERROR ((LM_ERROR,
- "client (%P|%t): sched_params failed\n"));
- }
-
- ACE_TRY_NEW_ENV
- {
- CORBA::ORB_var orb =
- CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (parse_args (argc, argv) != 0)
- return 1;
-
- CORBA::Object_var object =
- orb->string_to_object (ior ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- Test::Roundtrip_var roundtrip =
- Test::Roundtrip::_narrow (object.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (CORBA::is_nil (roundtrip.in ()))
- {
- ACE_ERROR_RETURN ((LM_ERROR,
- "Nil Test::Roundtrip reference <%s>\n",
- ior),
- 1);
- }
-
- for (int j = 0; j < 100; ++j)
- {
- ACE_hrtime_t start = 0;
- (void) roundtrip->test_method (start ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
-
- ACE_Sample_History history (niterations);
-
- ACE_hrtime_t test_start = ACE_OS::gethrtime ();
- for (int i = 0; i < niterations; ++i)
- {
- ACE_hrtime_t start = ACE_OS::gethrtime ();
-
- (void) roundtrip->test_method (start ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- ACE_hrtime_t now = ACE_OS::gethrtime ();
- history.sample (now - start);
- }
-
- ACE_hrtime_t test_end = ACE_OS::gethrtime ();
-
- ACE_DEBUG ((LM_DEBUG, "test finished\n"));
-
- ACE_DEBUG ((LM_DEBUG, "High resolution timer calibration...."));
- ACE_UINT32 gsf = ACE_High_Res_Timer::global_scale_factor ();
- ACE_DEBUG ((LM_DEBUG, "done\n"));
-
- if (do_dump_history)
- {
- history.dump_samples ("HISTORY", gsf);
- }
-
- ACE_Basic_Stats stats;
- history.collect_basic_stats (stats);
- stats.dump_results ("Total", gsf);
-
- ACE_Throughput_Stats::dump_throughput ("Total", gsf,
- test_end - test_start,
- stats.samples_count ());
-
- if (do_shutdown)
- {
- roundtrip->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Exception caught:");
- return 1;
- }
- ACE_ENDTRY;
-
- return 0;
-}
diff --git a/TAO/performance-tests/Single_Threaded_Latency/server.cpp b/TAO/performance-tests/Single_Threaded_Latency/server.cpp
deleted file mode 100644
index e96f0ff595a..00000000000
--- a/TAO/performance-tests/Single_Threaded_Latency/server.cpp
+++ /dev/null
@@ -1,136 +0,0 @@
-// $Id$
-
-#include "Roundtrip.h"
-#include "ace/Get_Opt.h"
-#include "ace/Sched_Params.h"
-
-#include "tao/Strategies/advanced_resource.h"
-
-ACE_RCSID(Single_Threaded_Latency, server, "$Id$")
-
-const char *ior_output_file = "test.ior";
-
-int
-parse_args (int argc, char *argv[])
-{
- ACE_Get_Opt get_opts (argc, argv, "o:");
- int c;
-
- while ((c = get_opts ()) != -1)
- switch (c)
- {
- case 'o':
- ior_output_file = get_opts.opt_arg ();
- break;
-
- case '?':
- default:
- ACE_ERROR_RETURN ((LM_ERROR,
- "usage: %s "
- "-o <iorfile>"
- "\n",
- argv [0]),
- -1);
- }
- // Indicates sucessful parsing of the command line
- return 0;
-}
-
-int
-main (int argc, char *argv[])
-{
- int priority =
- (ACE_Sched_Params::priority_min (ACE_SCHED_FIFO)
- + ACE_Sched_Params::priority_max (ACE_SCHED_FIFO)) / 2;
- priority = ACE_Sched_Params::next_priority (ACE_SCHED_FIFO,
- priority);
- // Enable FIFO scheduling, e.g., RT scheduling class on Solaris.
-
- if (ACE_OS::sched_params (ACE_Sched_Params (ACE_SCHED_FIFO,
- priority,
- ACE_SCOPE_PROCESS)) != 0)
- {
- if (ACE_OS::last_error () == EPERM)
- {
- ACE_DEBUG ((LM_DEBUG,
- "server (%P|%t): user is not superuser, "
- "test runs in time-shared class\n"));
- }
- else
- ACE_ERROR ((LM_ERROR,
- "server (%P|%t): sched_params failed\n"));
- }
-
- ACE_TRY_NEW_ENV
- {
- CORBA::ORB_var orb =
- CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CORBA::Object_var poa_object =
- orb->resolve_initial_references("RootPOA" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (CORBA::is_nil (poa_object.in ()))
- ACE_ERROR_RETURN ((LM_ERROR,
- " (%P|%t) Unable to initialize the POA.\n"),
- 1);
-
- PortableServer::POA_var root_poa =
- PortableServer::POA::_narrow (poa_object.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- PortableServer::POAManager_var poa_manager =
- root_poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (parse_args (argc, argv) != 0)
- return 1;
-
- Roundtrip *roundtrip_impl;
- ACE_NEW_RETURN (roundtrip_impl,
- Roundtrip (orb.in ()),
- 1);
- PortableServer::ServantBase_var owner_transfer(roundtrip_impl);
-
- Test::Roundtrip_var roundtrip =
- roundtrip_impl->_this (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CORBA::String_var ior =
- orb->object_to_string (roundtrip.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- // If the ior_output_file exists, output the ior to it
- FILE *output_file= ACE_OS::fopen (ior_output_file, "w");
- if (output_file == 0)
- ACE_ERROR_RETURN ((LM_ERROR,
- "Cannot open output file for writing IOR: %s",
- ior_output_file),
- 1);
- ACE_OS::fprintf (output_file, "%s", ior.in ());
- ACE_OS::fclose (output_file);
-
- poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- orb->run (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- ACE_DEBUG ((LM_DEBUG, "(%P|%t) server - event loop finished\n"));
-
- root_poa->destroy (1, 1 ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Exception caught:");
- return 1;
- }
- ACE_ENDTRY;
-
- return 0;
-}
diff --git a/TAO/performance-tests/Thread_Per_Connection_Latency/Client_Task.cpp b/TAO/performance-tests/Thread_Per_Connection_Latency/Client_Task.cpp
deleted file mode 100644
index 09d15331436..00000000000
--- a/TAO/performance-tests/Thread_Per_Connection_Latency/Client_Task.cpp
+++ /dev/null
@@ -1,65 +0,0 @@
-//
-// $Id$
-//
-#include "Client_Task.h"
-
-ACE_RCSID(Thread_Per_Connection_Latency, Client_Task, "$Id$")
-
-Client_Task::Client_Task (Test::Roundtrip_ptr roundtrip,
- int niterations)
- : roundtrip_ (Test::Roundtrip::_duplicate (roundtrip))
- , niterations_ (niterations)
-{
-}
-
-int
-Client_Task::svc (void)
-{
- ACE_DECLARE_NEW_CORBA_ENV;
- ACE_TRY
- {
- this->validate_connection (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- for (int i = 0; i != this->niterations_; ++i)
- {
- CORBA::ULongLong start = ACE_OS::gethrtime ();
-
- (void) this->roundtrip_->test_method (start ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- ACE_hrtime_t now = ACE_OS::gethrtime ();
- this->latency_.sample (now - start);
- }
- }
- ACE_CATCHANY
- {
- return 0;
- }
- ACE_ENDTRY;
- return 0;
-}
-
-void
-Client_Task::accumulate_and_dump (ACE_Basic_Stats &totals,
- const char *msg,
- ACE_UINT32 gsf)
-{
- totals.accumulate (this->latency_);
- this->latency_.dump_results (msg, gsf);
-}
-
-void
-Client_Task::validate_connection (ACE_ENV_SINGLE_ARG_DECL)
-{
- CORBA::ULongLong dummy = 0;
- for (int i = 0; i != 100; ++i)
- {
- ACE_TRY
- {
- (void) this->roundtrip_->test_method (dummy ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY {} ACE_ENDTRY;
- }
-}
diff --git a/TAO/performance-tests/Thread_Per_Connection_Latency/Client_Task.h b/TAO/performance-tests/Thread_Per_Connection_Latency/Client_Task.h
deleted file mode 100644
index ffc4e9d6b6a..00000000000
--- a/TAO/performance-tests/Thread_Per_Connection_Latency/Client_Task.h
+++ /dev/null
@@ -1,46 +0,0 @@
-//
-// $Id$
-//
-
-#ifndef CLIENT_TASK_H
-#define CLIENT_TASK_H
-#include "ace/pre.h"
-
-#include "TestC.h"
-#include "ace/Task.h"
-#include "ace/Basic_Stats.h"
-
-/// Implement the Test::Client_Task interface
-class Client_Task : public ACE_Task_Base
-{
-public:
- /// Constructor
- Client_Task (Test::Roundtrip_ptr roundtrip,
- int niterations);
-
- /// Add this thread results to the global numbers and print the
- /// per-thread results.
- void accumulate_and_dump (ACE_Basic_Stats &totals,
- const char *msg,
- ACE_UINT32 gsf);
-
- /// The service method
- virtual int svc (void);
-
-private:
- /// Make sure that the current thread has a connection available.
- void validate_connection (ACE_ENV_SINGLE_ARG_DECL);
-
-private:
- /// The object reference used for this test
- Test::Roundtrip_var roundtrip_;
-
- /// The number of iterations
- int niterations_;
-
- /// Keep track of the latency (minimum, average, maximum and jitter)
- ACE_Basic_Stats latency_;
-};
-
-#include "ace/post.h"
-#endif /* CLIENT_TASK_H */
diff --git a/TAO/performance-tests/Thread_Per_Connection_Latency/Roundtrip.cpp b/TAO/performance-tests/Thread_Per_Connection_Latency/Roundtrip.cpp
deleted file mode 100644
index 2bc67948fd0..00000000000
--- a/TAO/performance-tests/Thread_Per_Connection_Latency/Roundtrip.cpp
+++ /dev/null
@@ -1,26 +0,0 @@
-//
-// $Id$
-//
-#include "Roundtrip.h"
-
-ACE_RCSID(Single_Per_Connection_Latency, Roundtrip, "$Id$")
-
-Roundtrip::Roundtrip (CORBA::ORB_ptr orb)
- : orb_ (CORBA::ORB::_duplicate (orb))
-{
-}
-
-Test::Timestamp
-Roundtrip::test_method (Test::Timestamp send_time
- ACE_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return send_time;
-}
-
-void
-Roundtrip::shutdown (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- this->orb_->shutdown (0 ACE_ENV_ARG_PARAMETER);
-}
diff --git a/TAO/performance-tests/Thread_Per_Connection_Latency/Roundtrip.h b/TAO/performance-tests/Thread_Per_Connection_Latency/Roundtrip.h
deleted file mode 100644
index efef33dd7e6..00000000000
--- a/TAO/performance-tests/Thread_Per_Connection_Latency/Roundtrip.h
+++ /dev/null
@@ -1,46 +0,0 @@
-//
-// $Id$
-//
-
-#ifndef ROUNDTRIP_H
-#define ROUNDTRIP_H
-#include "ace/pre.h"
-
-#include "TestS.h"
-
-#if defined (_MSC_VER)
-# if (_MSC_VER >= 1200)
-# pragma warning(push)
-# endif /* _MSC_VER >= 1200 */
-# pragma warning (disable:4250)
-#endif /* _MSC_VER */
-
-/// Implement the Test::Roundtrip interface
-class Roundtrip
- : public virtual POA_Test::Roundtrip
- , public virtual PortableServer::RefCountServantBase
-{
-public:
- /// Constructor
- Roundtrip (CORBA::ORB_ptr orb);
-
- // = The skeleton methods
- virtual Test::Timestamp test_method (Test::Timestamp send_time
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
-private:
- /// Use an ORB reference to conver strings to objects and shutdown
- /// the application.
- CORBA::ORB_var orb_;
-};
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma warning(pop)
-#endif /* _MSC_VER */
-
-#include "ace/post.h"
-#endif /* ROUNDTRIP_H */
diff --git a/TAO/performance-tests/Thread_Per_Connection_Latency/client.cpp b/TAO/performance-tests/Thread_Per_Connection_Latency/client.cpp
deleted file mode 100644
index 69aac2b4ca5..00000000000
--- a/TAO/performance-tests/Thread_Per_Connection_Latency/client.cpp
+++ /dev/null
@@ -1,149 +0,0 @@
-// $Id$
-
-#include "Client_Task.h"
-#include "ace/Get_Opt.h"
-#include "ace/High_Res_Timer.h"
-#include "ace/Sched_Params.h"
-#include "ace/Stats.h"
-
-#include "tao/Strategies/advanced_resource.h"
-
-ACE_RCSID(Thread_Per_Connection_Latency, client, "$Id$")
-
-const char *ior = "file://test.ior";
-int niterations = 1000;
-int do_shutdown = 1;
-
-int
-parse_args (int argc, char *argv[])
-{
- ACE_Get_Opt get_opts (argc, argv, "xk:i:");
- int c;
-
- while ((c = get_opts ()) != -1)
- switch (c)
- {
- case 'x':
- do_shutdown = 0;
- break;
-
- case 'k':
- ior = get_opts.opt_arg ();
- break;
-
- case 'i':
- niterations = ACE_OS::atoi (get_opts.opt_arg ());
- break;
-
- case '?':
- default:
- ACE_ERROR_RETURN ((LM_ERROR,
- "usage: %s "
- "-k <ior> "
- "-i <niterations> "
- "-x (disable shutdown) "
- "\n",
- argv [0]),
- -1);
- }
- // Indicates sucessful parsing of the command line
- return 0;
-}
-
-int
-main (int argc, char *argv[])
-{
- int priority =
- (ACE_Sched_Params::priority_min (ACE_SCHED_FIFO)
- + ACE_Sched_Params::priority_max (ACE_SCHED_FIFO)) / 2;
- // Enable FIFO scheduling, e.g., RT scheduling class on Solaris.
-
- if (ACE_OS::sched_params (ACE_Sched_Params (ACE_SCHED_FIFO,
- priority,
- ACE_SCOPE_PROCESS)) != 0)
- {
- if (ACE_OS::last_error () == EPERM)
- {
- ACE_DEBUG ((LM_DEBUG,
- "client (%P|%t): user is not superuser, "
- "test runs in time-shared class\n"));
- }
- else
- ACE_ERROR ((LM_ERROR,
- "client (%P|%t): sched_params failed\n"));
- }
-
- ACE_TRY_NEW_ENV
- {
- CORBA::ORB_var orb =
- CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (parse_args (argc, argv) != 0)
- return 1;
-
- CORBA::Object_var object =
- orb->string_to_object (ior ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- Test::Roundtrip_var roundtrip =
- Test::Roundtrip::_narrow (object.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (CORBA::is_nil (roundtrip.in ()))
- {
- ACE_ERROR_RETURN ((LM_ERROR,
- "Nil Test::Roundtrip reference <%s>\n",
- ior),
- 1);
- }
-
- ACE_DEBUG ((LM_DEBUG, "Starting threads\n"));
-
- Client_Task task0(roundtrip.in (), niterations);
- Client_Task task1(roundtrip.in (), niterations);
- Client_Task task2(roundtrip.in (), niterations);
- Client_Task task3(roundtrip.in (), niterations);
-
- ACE_hrtime_t test_start = ACE_OS::gethrtime ();
- task0.activate(THR_NEW_LWP | THR_JOINABLE);
- task1.activate(THR_NEW_LWP | THR_JOINABLE);
- task2.activate(THR_NEW_LWP | THR_JOINABLE);
- task3.activate(THR_NEW_LWP | THR_JOINABLE);
-
- task0.thr_mgr()->wait ();
- ACE_hrtime_t test_end = ACE_OS::gethrtime ();
-
- ACE_DEBUG ((LM_DEBUG, "Threads finished\n"));
-
- ACE_DEBUG ((LM_DEBUG, "High resolution timer calibration...."));
- ACE_UINT32 gsf = ACE_High_Res_Timer::global_scale_factor ();
- ACE_DEBUG ((LM_DEBUG, "done\n"));
-
- ACE_Basic_Stats totals;
- task0.accumulate_and_dump (totals, "Task[0]", gsf);
- task1.accumulate_and_dump (totals, "Task[1]", gsf);
- task2.accumulate_and_dump (totals, "Task[2]", gsf);
- task3.accumulate_and_dump (totals, "Task[3]", gsf);
-
- totals.dump_results ("Total", gsf);
-
- ACE_Throughput_Stats::dump_throughput ("Total", gsf,
- test_end - test_start,
- totals.samples_count ());
-
- if (do_shutdown)
- {
- roundtrip->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Exception caught:");
- return 1;
- }
- ACE_ENDTRY;
-
- return 0;
-}
diff --git a/TAO/performance-tests/Thread_Per_Connection_Latency/server.cpp b/TAO/performance-tests/Thread_Per_Connection_Latency/server.cpp
deleted file mode 100644
index 004ce70cebf..00000000000
--- a/TAO/performance-tests/Thread_Per_Connection_Latency/server.cpp
+++ /dev/null
@@ -1,136 +0,0 @@
-// $Id$
-
-#include "Roundtrip.h"
-#include "ace/Get_Opt.h"
-#include "ace/Sched_Params.h"
-
-#include "tao/Strategies/advanced_resource.h"
-
-ACE_RCSID(Thread_Per_Connection_Latency, server, "$Id$")
-
-const char *ior_output_file = "test.ior";
-
-int
-parse_args (int argc, char *argv[])
-{
- ACE_Get_Opt get_opts (argc, argv, "o:");
- int c;
-
- while ((c = get_opts ()) != -1)
- switch (c)
- {
- case 'o':
- ior_output_file = get_opts.opt_arg ();
- break;
-
- case '?':
- default:
- ACE_ERROR_RETURN ((LM_ERROR,
- "usage: %s "
- "-o <iorfile>"
- "\n",
- argv [0]),
- -1);
- }
- // Indicates sucessful parsing of the command line
- return 0;
-}
-
-int
-main (int argc, char *argv[])
-{
- int priority =
- (ACE_Sched_Params::priority_min (ACE_SCHED_FIFO)
- + ACE_Sched_Params::priority_max (ACE_SCHED_FIFO)) / 2;
- priority = ACE_Sched_Params::next_priority (ACE_SCHED_FIFO,
- priority);
- // Enable FIFO scheduling, e.g., RT scheduling class on Solaris.
-
- if (ACE_OS::sched_params (ACE_Sched_Params (ACE_SCHED_FIFO,
- priority,
- ACE_SCOPE_PROCESS)) != 0)
- {
- if (ACE_OS::last_error () == EPERM)
- {
- ACE_DEBUG ((LM_DEBUG,
- "server (%P|%t): user is not superuser, "
- "test runs in time-shared class\n"));
- }
- else
- ACE_ERROR ((LM_ERROR,
- "server (%P|%t): sched_params failed\n"));
- }
-
- ACE_TRY_NEW_ENV
- {
- CORBA::ORB_var orb =
- CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CORBA::Object_var poa_object =
- orb->resolve_initial_references("RootPOA" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (CORBA::is_nil (poa_object.in ()))
- ACE_ERROR_RETURN ((LM_ERROR,
- " (%P|%t) Unable to initialize the POA.\n"),
- 1);
-
- PortableServer::POA_var root_poa =
- PortableServer::POA::_narrow (poa_object.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- PortableServer::POAManager_var poa_manager =
- root_poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (parse_args (argc, argv) != 0)
- return 1;
-
- Roundtrip *roundtrip_impl;
- ACE_NEW_RETURN (roundtrip_impl,
- Roundtrip (orb.in ()),
- 1);
- PortableServer::ServantBase_var owner_transfer(roundtrip_impl);
-
- Test::Roundtrip_var roundtrip =
- roundtrip_impl->_this (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CORBA::String_var ior =
- orb->object_to_string (roundtrip.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- // If the ior_output_file exists, output the ior to it
- FILE *output_file= ACE_OS::fopen (ior_output_file, "w");
- if (output_file == 0)
- ACE_ERROR_RETURN ((LM_ERROR,
- "Cannot open output file for writing IOR: %s",
- ior_output_file),
- 1);
- ACE_OS::fprintf (output_file, "%s", ior.in ());
- ACE_OS::fclose (output_file);
-
- poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- orb->run (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- ACE_DEBUG ((LM_DEBUG, "(%P|%t) server - event loop finished\n"));
-
- root_poa->destroy (1, 1 ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Exception caught:");
- return 1;
- }
- ACE_ENDTRY;
-
- return 0;
-}
diff --git a/TAO/performance-tests/Thread_Pool_Latency/Client_Task.cpp b/TAO/performance-tests/Thread_Pool_Latency/Client_Task.cpp
deleted file mode 100644
index efb544633b2..00000000000
--- a/TAO/performance-tests/Thread_Pool_Latency/Client_Task.cpp
+++ /dev/null
@@ -1,65 +0,0 @@
-//
-// $Id$
-//
-#include "Client_Task.h"
-
-ACE_RCSID(Thread_Pool_Latency, Client_Task, "$Id$")
-
-Client_Task::Client_Task (Test::Roundtrip_ptr roundtrip,
- int niterations)
- : roundtrip_ (Test::Roundtrip::_duplicate (roundtrip))
- , niterations_ (niterations)
-{
-}
-
-int
-Client_Task::svc (void)
-{
- ACE_DECLARE_NEW_CORBA_ENV;
- ACE_TRY
- {
- this->validate_connection (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- for (int i = 0; i != this->niterations_; ++i)
- {
- CORBA::ULongLong start = ACE_OS::gethrtime ();
-
- (void) this->roundtrip_->test_method (start ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- ACE_hrtime_t now = ACE_OS::gethrtime ();
- this->latency_.sample (now - start);
- }
- }
- ACE_CATCHANY
- {
- return 0;
- }
- ACE_ENDTRY;
- return 0;
-}
-
-void
-Client_Task::accumulate_and_dump (ACE_Basic_Stats &totals,
- const char *msg,
- ACE_UINT32 gsf)
-{
- totals.accumulate (this->latency_);
- this->latency_.dump_results (msg, gsf);
-}
-
-void
-Client_Task::validate_connection (ACE_ENV_SINGLE_ARG_DECL)
-{
- CORBA::ULongLong dummy = 0;
- for (int i = 0; i != 100; ++i)
- {
- ACE_TRY
- {
- (void) this->roundtrip_->test_method (dummy ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY {} ACE_ENDTRY;
- }
-}
diff --git a/TAO/performance-tests/Thread_Pool_Latency/Client_Task.h b/TAO/performance-tests/Thread_Pool_Latency/Client_Task.h
deleted file mode 100644
index ffc4e9d6b6a..00000000000
--- a/TAO/performance-tests/Thread_Pool_Latency/Client_Task.h
+++ /dev/null
@@ -1,46 +0,0 @@
-//
-// $Id$
-//
-
-#ifndef CLIENT_TASK_H
-#define CLIENT_TASK_H
-#include "ace/pre.h"
-
-#include "TestC.h"
-#include "ace/Task.h"
-#include "ace/Basic_Stats.h"
-
-/// Implement the Test::Client_Task interface
-class Client_Task : public ACE_Task_Base
-{
-public:
- /// Constructor
- Client_Task (Test::Roundtrip_ptr roundtrip,
- int niterations);
-
- /// Add this thread results to the global numbers and print the
- /// per-thread results.
- void accumulate_and_dump (ACE_Basic_Stats &totals,
- const char *msg,
- ACE_UINT32 gsf);
-
- /// The service method
- virtual int svc (void);
-
-private:
- /// Make sure that the current thread has a connection available.
- void validate_connection (ACE_ENV_SINGLE_ARG_DECL);
-
-private:
- /// The object reference used for this test
- Test::Roundtrip_var roundtrip_;
-
- /// The number of iterations
- int niterations_;
-
- /// Keep track of the latency (minimum, average, maximum and jitter)
- ACE_Basic_Stats latency_;
-};
-
-#include "ace/post.h"
-#endif /* CLIENT_TASK_H */
diff --git a/TAO/performance-tests/Thread_Pool_Latency/Roundtrip.cpp b/TAO/performance-tests/Thread_Pool_Latency/Roundtrip.cpp
deleted file mode 100644
index 6028512202c..00000000000
--- a/TAO/performance-tests/Thread_Pool_Latency/Roundtrip.cpp
+++ /dev/null
@@ -1,26 +0,0 @@
-//
-// $Id$
-//
-#include "Roundtrip.h"
-
-ACE_RCSID(Thread_Pool_Latency, Roundtrip, "$Id$")
-
-Roundtrip::Roundtrip (CORBA::ORB_ptr orb)
- : orb_ (CORBA::ORB::_duplicate (orb))
-{
-}
-
-Test::Timestamp
-Roundtrip::test_method (Test::Timestamp send_time
- ACE_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return send_time;
-}
-
-void
-Roundtrip::shutdown (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- this->orb_->shutdown (0 ACE_ENV_ARG_PARAMETER);
-}
diff --git a/TAO/performance-tests/Thread_Pool_Latency/Roundtrip.h b/TAO/performance-tests/Thread_Pool_Latency/Roundtrip.h
deleted file mode 100644
index efef33dd7e6..00000000000
--- a/TAO/performance-tests/Thread_Pool_Latency/Roundtrip.h
+++ /dev/null
@@ -1,46 +0,0 @@
-//
-// $Id$
-//
-
-#ifndef ROUNDTRIP_H
-#define ROUNDTRIP_H
-#include "ace/pre.h"
-
-#include "TestS.h"
-
-#if defined (_MSC_VER)
-# if (_MSC_VER >= 1200)
-# pragma warning(push)
-# endif /* _MSC_VER >= 1200 */
-# pragma warning (disable:4250)
-#endif /* _MSC_VER */
-
-/// Implement the Test::Roundtrip interface
-class Roundtrip
- : public virtual POA_Test::Roundtrip
- , public virtual PortableServer::RefCountServantBase
-{
-public:
- /// Constructor
- Roundtrip (CORBA::ORB_ptr orb);
-
- // = The skeleton methods
- virtual Test::Timestamp test_method (Test::Timestamp send_time
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
-
-private:
- /// Use an ORB reference to conver strings to objects and shutdown
- /// the application.
- CORBA::ORB_var orb_;
-};
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma warning(pop)
-#endif /* _MSC_VER */
-
-#include "ace/post.h"
-#endif /* ROUNDTRIP_H */
diff --git a/TAO/performance-tests/Thread_Pool_Latency/Worker_Thread.cpp b/TAO/performance-tests/Thread_Pool_Latency/Worker_Thread.cpp
deleted file mode 100644
index e485bb2b843..00000000000
--- a/TAO/performance-tests/Thread_Pool_Latency/Worker_Thread.cpp
+++ /dev/null
@@ -1,24 +0,0 @@
-//
-// $Id$
-//
-#include "Worker_Thread.h"
-
-ACE_RCSID(Thread_Pool_Latency, Worker_Thread, "$Id$")
-
-Worker_Thread::Worker_Thread (CORBA::ORB_ptr orb)
- : orb_ (CORBA::ORB::_duplicate (orb))
-{
-}
-
-int
-Worker_Thread::svc (void)
-{
- ACE_DECLARE_NEW_CORBA_ENV;
- ACE_TRY
- {
- this->orb_->run (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY {} ACE_ENDTRY;
- return 0;
-}
diff --git a/TAO/performance-tests/Thread_Pool_Latency/client.cpp b/TAO/performance-tests/Thread_Pool_Latency/client.cpp
deleted file mode 100644
index 643f541a53f..00000000000
--- a/TAO/performance-tests/Thread_Pool_Latency/client.cpp
+++ /dev/null
@@ -1,149 +0,0 @@
-// $Id$
-
-#include "Client_Task.h"
-#include "ace/Get_Opt.h"
-#include "ace/High_Res_Timer.h"
-#include "ace/Sched_Params.h"
-#include "ace/Stats.h"
-
-#include "tao/Strategies/advanced_resource.h"
-
-ACE_RCSID(Thread_Pool_Latency, client, "$Id$")
-
-const char *ior = "file://test.ior";
-int niterations = 1000;
-int do_shutdown = 1;
-
-int
-parse_args (int argc, char *argv[])
-{
- ACE_Get_Opt get_opts (argc, argv, "xk:i:");
- int c;
-
- while ((c = get_opts ()) != -1)
- switch (c)
- {
- case 'x':
- do_shutdown = 0;
- break;
-
- case 'k':
- ior = get_opts.opt_arg ();
- break;
-
- case 'i':
- niterations = ACE_OS::atoi (get_opts.opt_arg ());
- break;
-
- case '?':
- default:
- ACE_ERROR_RETURN ((LM_ERROR,
- "usage: %s "
- "-k <ior> "
- "-i <niterations> "
- "-x (disable shutdown) "
- "\n",
- argv [0]),
- -1);
- }
- // Indicates sucessful parsing of the command line
- return 0;
-}
-
-int
-main (int argc, char *argv[])
-{
- int priority =
- (ACE_Sched_Params::priority_min (ACE_SCHED_FIFO)
- + ACE_Sched_Params::priority_max (ACE_SCHED_FIFO)) / 2;
- // Enable FIFO scheduling, e.g., RT scheduling class on Solaris.
-
- if (ACE_OS::sched_params (ACE_Sched_Params (ACE_SCHED_FIFO,
- priority,
- ACE_SCOPE_PROCESS)) != 0)
- {
- if (ACE_OS::last_error () == EPERM)
- {
- ACE_DEBUG ((LM_DEBUG,
- "client (%P|%t): user is not superuser, "
- "test runs in time-shared class\n"));
- }
- else
- ACE_ERROR ((LM_ERROR,
- "client (%P|%t): sched_params failed\n"));
- }
-
- ACE_TRY_NEW_ENV
- {
- CORBA::ORB_var orb =
- CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (parse_args (argc, argv) != 0)
- return 1;
-
- CORBA::Object_var object =
- orb->string_to_object (ior ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- Test::Roundtrip_var roundtrip =
- Test::Roundtrip::_narrow (object.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (CORBA::is_nil (roundtrip.in ()))
- {
- ACE_ERROR_RETURN ((LM_ERROR,
- "Nil Test::Roundtrip reference <%s>\n",
- ior),
- 1);
- }
-
- ACE_DEBUG ((LM_DEBUG, "Starting threads\n"));
-
- Client_Task task0(roundtrip.in (), niterations);
- Client_Task task1(roundtrip.in (), niterations);
- Client_Task task2(roundtrip.in (), niterations);
- Client_Task task3(roundtrip.in (), niterations);
-
- ACE_hrtime_t test_start = ACE_OS::gethrtime ();
- task0.activate(THR_NEW_LWP | THR_JOINABLE);
- task1.activate(THR_NEW_LWP | THR_JOINABLE);
- task2.activate(THR_NEW_LWP | THR_JOINABLE);
- task3.activate(THR_NEW_LWP | THR_JOINABLE);
-
- task0.thr_mgr()->wait ();
- ACE_hrtime_t test_end = ACE_OS::gethrtime ();
-
- ACE_DEBUG ((LM_DEBUG, "Threads finished\n"));
-
- ACE_DEBUG ((LM_DEBUG, "High resolution timer calibration...."));
- ACE_UINT32 gsf = ACE_High_Res_Timer::global_scale_factor ();
- ACE_DEBUG ((LM_DEBUG, "done\n"));
-
- ACE_Basic_Stats totals;
- task0.accumulate_and_dump (totals, "Task[0]", gsf);
- task1.accumulate_and_dump (totals, "Task[1]", gsf);
- task2.accumulate_and_dump (totals, "Task[2]", gsf);
- task3.accumulate_and_dump (totals, "Task[3]", gsf);
-
- totals.dump_results ("Total", gsf);
-
- ACE_Throughput_Stats::dump_throughput ("Total", gsf,
- test_end - test_start,
- totals.samples_count ());
-
- if (do_shutdown)
- {
- roundtrip->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Exception caught:");
- return 1;
- }
- ACE_ENDTRY;
-
- return 0;
-}
diff --git a/TAO/performance-tests/Thread_Pool_Latency/server.cpp b/TAO/performance-tests/Thread_Pool_Latency/server.cpp
deleted file mode 100644
index bcacaf713c2..00000000000
--- a/TAO/performance-tests/Thread_Pool_Latency/server.cpp
+++ /dev/null
@@ -1,139 +0,0 @@
-// $Id$
-
-#include "Roundtrip.h"
-#include "Worker_Thread.h"
-#include "ace/Get_Opt.h"
-#include "ace/Sched_Params.h"
-
-#include "tao/Strategies/advanced_resource.h"
-
-ACE_RCSID(Thread_Pool_Latency, server, "$Id$")
-
-const char *ior_output_file = "test.ior";
-
-int
-parse_args (int argc, char *argv[])
-{
- ACE_Get_Opt get_opts (argc, argv, "o:");
- int c;
-
- while ((c = get_opts ()) != -1)
- switch (c)
- {
- case 'o':
- ior_output_file = get_opts.opt_arg ();
- break;
-
- case '?':
- default:
- ACE_ERROR_RETURN ((LM_ERROR,
- "usage: %s "
- "-o <iorfile>"
- "\n",
- argv [0]),
- -1);
- }
- // Indicates sucessful parsing of the command line
- return 0;
-}
-
-int
-main (int argc, char *argv[])
-{
- int priority =
- (ACE_Sched_Params::priority_min (ACE_SCHED_FIFO)
- + ACE_Sched_Params::priority_max (ACE_SCHED_FIFO)) / 2;
- priority = ACE_Sched_Params::next_priority (ACE_SCHED_FIFO,
- priority);
- // Enable FIFO scheduling, e.g., RT scheduling class on Solaris.
-
- if (ACE_OS::sched_params (ACE_Sched_Params (ACE_SCHED_FIFO,
- priority,
- ACE_SCOPE_PROCESS)) != 0)
- {
- if (ACE_OS::last_error () == EPERM)
- {
- ACE_DEBUG ((LM_DEBUG,
- "server (%P|%t): user is not superuser, "
- "test runs in time-shared class\n"));
- }
- else
- ACE_ERROR ((LM_ERROR,
- "server (%P|%t): sched_params failed\n"));
- }
-
- ACE_TRY_NEW_ENV
- {
- CORBA::ORB_var orb =
- CORBA::ORB_init (argc, argv, "" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CORBA::Object_var poa_object =
- orb->resolve_initial_references("RootPOA" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (CORBA::is_nil (poa_object.in ()))
- ACE_ERROR_RETURN ((LM_ERROR,
- " (%P|%t) Unable to initialize the POA.\n"),
- 1);
-
- PortableServer::POA_var root_poa =
- PortableServer::POA::_narrow (poa_object.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- PortableServer::POAManager_var poa_manager =
- root_poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (parse_args (argc, argv) != 0)
- return 1;
-
- Roundtrip *roundtrip_impl;
- ACE_NEW_RETURN (roundtrip_impl,
- Roundtrip (orb.in ()),
- 1);
- PortableServer::ServantBase_var owner_transfer(roundtrip_impl);
-
- Test::Roundtrip_var roundtrip =
- roundtrip_impl->_this (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CORBA::String_var ior =
- orb->object_to_string (roundtrip.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- // If the ior_output_file exists, output the ior to it
- FILE *output_file= ACE_OS::fopen (ior_output_file, "w");
- if (output_file == 0)
- ACE_ERROR_RETURN ((LM_ERROR,
- "Cannot open output file for writing IOR: %s",
- ior_output_file),
- 1);
- ACE_OS::fprintf (output_file, "%s", ior.in ());
- ACE_OS::fclose (output_file);
-
- poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- Worker_Thread worker (orb.in ());
-
- worker.activate (THR_NEW_LWP | THR_JOINABLE, 4, 1);
- worker.thr_mgr ()->wait ();
-
- ACE_DEBUG ((LM_DEBUG, "(%P|%t) server - event loop finished\n"));
-
- root_poa->destroy (1, 1 ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- orb->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Exception caught:");
- return 1;
- }
- ACE_ENDTRY;
-
- return 0;
-}
diff --git a/TAO/tao/ORBInitializer_Registry.inl b/TAO/tao/ORBInitializer_Registry.inl
new file mode 100644
index 00000000000..6c441e4d44c
--- /dev/null
+++ b/TAO/tao/ORBInitializer_Registry.inl
@@ -0,0 +1,10 @@
+// -*- C++ -*-
+//
+// $Id$
+
+ACE_INLINE TAO_ORBInitializer_Registry *
+TAO_ORBInitializer_Registry::instance (void)
+{
+ return
+ TAO_Singleton<TAO_ORBInitializer_Registry, TAO_SYNCH_MUTEX>::instance ();
+}
diff --git a/TAO/tao/Pluggable.cpp b/TAO/tao/Pluggable.cpp
new file mode 100644
index 00000000000..33c87f34324
--- /dev/null
+++ b/TAO/tao/Pluggable.cpp
@@ -0,0 +1,219 @@
+// -*- C++ -*-
+//
+// $Id$
+
+#include "tao/Pluggable.h"
+#include "tao/MProfile.h"
+#include "tao/Profile.h"
+#include "tao/Environment.h"
+#include "tao/debug.h"
+
+#if !defined (__ACE_INLINE__)
+# include "tao/Pluggable.i"
+#endif /* __ACE_INLINE__ */
+
+
+ACE_RCSID (tao,
+ Pluggable,
+ "$Id$")
+
+// *********************************************************************
+
+// Connector
+TAO_Connector::TAO_Connector (CORBA::ULong tag)
+ : tag_(tag),
+ orb_core_ (0)
+{
+}
+
+TAO_Connector::~TAO_Connector (void)
+{
+}
+
+int
+TAO_Connector::make_mprofile (const char *string,
+ TAO_MProfile &mprofile
+ ACE_ENV_ARG_DECL)
+{
+ // This method utilizes the "Template Method" design pattern to
+ // parse the given URL style IOR for the protocol being used
+ // and create an mprofile from it.
+ //
+ // The methods that must be defined by all Connector sub-classes are:
+ // make_profile
+ // check_prefix
+
+ // Check for a valid string
+ if (!string || !*string)
+ {
+ ACE_THROW_RETURN (CORBA::INV_OBJREF (
+ CORBA_SystemException::_tao_minor_code (
+ TAO_DEFAULT_MINOR_CODE,
+ EINVAL),
+ CORBA::COMPLETED_NO),
+ -1);
+ }
+
+ // Check for the proper prefix in the IOR. If the proper prefix isn't
+ // in the IOR then it is not an IOR we can use.
+ if (this->check_prefix (string) != 0)
+ {
+ return 1;
+ // Failure: not the correct IOR for this protocol.
+ // DO NOT throw an exception here since the Connector_Registry
+ // should be allowed the opportunity to continue looking for
+ // an appropriate connector.
+ }
+
+ if (TAO_debug_level > 0)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("TAO (%P|%t) - TAO_Connector::make_mprofile ")
+ ACE_TEXT ("<%s>\n"),
+ string));
+ }
+
+ ACE_CString ior;
+
+ ior.set (string, ACE_OS::strlen (string), 1);
+
+ // Find out where the protocol ends
+ int ior_index = ior.find ("://");
+
+ if (ior_index == ACE_CString::npos)
+ {
+ ACE_THROW_RETURN (CORBA::INV_OBJREF (), -1);
+ // No colon ':' in the IOR!
+ }
+ else
+ {
+ ior_index += 3;
+ // Add the length of the colon and the two forward slashes `://'
+ // to the IOR string index (i.e. 3)
+ }
+
+ // Find the object key
+ const int objkey_index =
+ ior.find (this->object_key_delimiter (), ior_index);
+
+ if (objkey_index == 0 || objkey_index == ACE_CString::npos)
+ {
+ ACE_THROW_RETURN (CORBA::INV_OBJREF (), -1);
+ // Failure: No endpoints specified or no object key specified.
+ }
+
+ const char endpoint_delimiter = ',';
+ // The delimiter used to seperate inidividual addresses.
+
+ // Count the number of endpoints in the IOR. This will be the number
+ // of entries in the MProfile.
+
+ CORBA::ULong profile_count = 1;
+ // Number of endpoints in the IOR (initialized to 1).
+
+ // Only check for endpoints after the protocol specification and
+ // before the object key.
+ for (int i = ior_index; i < objkey_index; ++i)
+ {
+ if (ior[i] == endpoint_delimiter)
+ profile_count++;
+ }
+
+ // Tell the MProfile object how many Profiles it should hold.
+ // MProfile::set(size) returns the number profiles it can hold.
+ if (mprofile.set (profile_count) != ACE_static_cast (int, profile_count))
+ {
+ ACE_THROW_RETURN (CORBA::INV_OBJREF (
+ CORBA_SystemException::_tao_minor_code (
+ TAO_MPROFILE_CREATION_ERROR,
+ 0),
+ CORBA::COMPLETED_NO),
+ -1);
+ // Error while setting the MProfile size!
+ }
+
+ // The idea behind the following loop is to split the IOR into several
+ // strings that can be parsed by each profile.
+ // For example,
+ // `1.3@moo,shu,1.1@chicken/arf'
+ // will be parsed into:
+ // `1.3@moo/arf'
+ // `shu/arf'
+ // `1.1@chicken/arf'
+
+ int begin = 0;
+ int end = ior_index - 1;
+ // Initialize the end of the endpoint index
+
+ for (CORBA::ULong j = 0; j < profile_count; ++j)
+ {
+ begin = end + 1;
+
+ if (j < profile_count - 1)
+ end = ior.find (endpoint_delimiter, begin);
+ else
+ end = objkey_index; // Handle last endpoint differently
+
+ if (end < ACE_static_cast (int, ior.length ()) && end != ior.npos)
+ {
+ ACE_CString endpoint = ior.substring (begin, end - begin);
+
+ // Add the object key to the string.
+ endpoint += ior.substring (objkey_index);
+
+ // The endpoint should now be of the form:
+ // `N.n@endpoint/object_key'
+ // or
+ // `endpoint/object_key'
+
+ TAO_Profile *profile =
+ this->make_profile (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ // Failure: Problem during profile creation
+
+ // Initialize a Profile using the individual endpoint
+ // string.
+ // @@ Not exception safe! We need a TAO_Profile_var!
+ profile->parse_string (endpoint.c_str ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ // Give up ownership of the profile.
+ if (mprofile.give_profile (profile) == -1)
+ {
+ profile->_decr_refcnt ();
+
+ ACE_THROW_RETURN (CORBA::INV_OBJREF (
+ CORBA_SystemException::_tao_minor_code (
+ TAO_MPROFILE_CREATION_ERROR,
+ 0),
+ CORBA::COMPLETED_NO),
+ -1);
+ // Failure presumably only occurs when MProfile is full!
+ // This should never happen.
+ }
+ }
+ else
+ {
+ ACE_THROW_RETURN (CORBA::INV_OBJREF (), -1);
+ // Unable to seperate endpoints
+ }
+ }
+
+ return 0; // Success
+}
+
+
+
+
+// ****************************************************************
+
+// Acceptor
+TAO_Acceptor::TAO_Acceptor (CORBA::ULong tag)
+ : tag_ (tag)
+{
+}
+
+TAO_Acceptor::~TAO_Acceptor (void)
+{
+}
diff --git a/TAO/tao/Pluggable.h b/TAO/tao/Pluggable.h
new file mode 100644
index 00000000000..783e882c34f
--- /dev/null
+++ b/TAO/tao/Pluggable.h
@@ -0,0 +1,223 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file Pluggable.h
+ *
+ * $Id$
+ *
+ * Interface for the TAO pluggable protocol framework.
+ *
+ * @author Fred Kuhns <fredk@cs.wustl.edu>
+ */
+//=============================================================================
+
+
+#ifndef TAO_PLUGGABLE_H
+#define TAO_PLUGGABLE_H
+
+#include "ace/pre.h"
+
+#include "tao/corbafwd.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "tao/IOPC.h"
+
+// Forward declarations.
+class ACE_Addr;
+class ACE_Reactor;
+class TAO_ORB_Core;
+
+class TAO_Stub;
+class TAO_Endpoint;
+class TAO_Profile;
+class TAO_MProfile;
+class TAO_Resource_Factory;
+
+class TAO_Reply_Dispatcher;
+class TAO_Transport_Mux_Strategy;
+class TAO_Wait_Strategy;
+
+class TAO_GIOP_Invocation;
+class TAO_Pluggable_Messaging_Interface;
+class TAO_Target_Specification;
+class TAO_Operation_Details;
+class TAO_Transport_Descriptor_Interface;
+
+class TAO_Transport;
+
+// ****************************************************************
+
+/**
+ * @class TAO_Acceptor
+ *
+ * @brief Abstract Acceptor class used for pluggable protocols.
+ *
+ * Base class for the Acceptor bridge class.
+ */
+class TAO_Export TAO_Acceptor
+{
+public:
+
+ TAO_Acceptor (CORBA::ULong tag);
+
+ /// Destructor
+ virtual ~TAO_Acceptor (void);
+
+ /// The tag, each concrete class will have a specific tag value.
+ CORBA::ULong tag (void) const;
+
+ /// Method to initialize acceptor for address.
+ virtual int open (TAO_ORB_Core *orb_core,
+ ACE_Reactor *reactor,
+ int version_major,
+ int version_minor,
+ const char *address,
+ const char *options = 0) = 0;
+
+ /**
+ * Open an acceptor with the given protocol version on a default
+ * endpoint
+ * @@ This method should be pure virtual, but in order to maintain
+ * some form of backward compatibilty, a default implementation
+ * is provided. Ideally, that default implementation should be
+ * removed in the near future.
+ */
+ virtual int open_default (TAO_ORB_Core *,
+ ACE_Reactor *reactor,
+ int version_major,
+ int version_minor,
+ const char *options = 0) = 0;
+
+ /// Closes the acceptor
+ virtual int close (void) = 0;
+
+ /** Create the corresponding profile for this endpoint.
+ * If share_profile is set to true, the pluggable protocol
+ * implementation should try to add the endpoint to a profile
+ * in the mprofile that is of the same type. Currently, this
+ * is used when RT CORBA is enabled.
+ */
+ virtual int create_profile (const TAO_ObjectKey &object_key,
+ TAO_MProfile &mprofile,
+ CORBA::Short priority) = 0;
+
+ /// Return 1 if the <endpoint> has the same address as the acceptor.
+ virtual int is_collocated (const TAO_Endpoint* endpoint) = 0;
+
+ /**
+ * Returns the number of endpoints this acceptor is listening on. This
+ * is used for determining how many profiles will be generated
+ * for this acceptor.
+ */
+ virtual CORBA::ULong endpoint_count (void) = 0;
+
+ /**
+ * This method fetches the <key> from the <profile>. Protocols that
+ * are pluggable can send data that are specific in the
+ * <profile_data> field encapsulated as a octet stream. This method
+ * allows those protocols to get the object key from the
+ * encapsulation.
+ */
+ virtual int object_key (IOP::TaggedProfile &profile,
+ TAO_ObjectKey &key) = 0;
+
+private:
+
+ /// IOP protocol tag.
+ CORBA::ULong tag_;
+
+};
+
+/**
+ * @class TAO_Connector
+ *
+ * @brief Generic Connector interface definitions.
+ *
+ * Base class for connector bridge object.
+ */
+class TAO_Export TAO_Connector
+{
+public:
+
+ /// default constructor.
+ TAO_Connector (CORBA::ULong tag);
+
+ /// the destructor.
+ virtual ~TAO_Connector (void);
+
+ /**
+ * The tag identifying the specific ORB transport layer protocol.
+ * For example TAO_TAG_IIOP_PROFILE = 0. The tag is used in the
+ * IOR to identify the type of profile included. IOR -> {{tag0,
+ * profile0} {tag1, profole1} ...} GIOP.h defines typedef
+ * CORBA::ULong TAO_IOP_Profile_ID;
+ */
+ CORBA::ULong tag (void) const;
+
+ /// Parse a string containing a URL style IOR and return an
+ /// MProfile.
+ int make_mprofile (const char *ior,
+ TAO_MProfile &mprofile
+ ACE_ENV_ARG_DECL);
+
+ /// Initialize object and register with reactor.
+ virtual int open (TAO_ORB_Core *orb_core) = 0;
+
+ /// Shutdown Connector bridge and concrete Connector.
+ virtual int close (void) = 0;
+
+ /**
+ * To support pluggable we need to abstract away the connect()
+ * method so it can be called from the GIOP code independant of the
+ * actual transport protocol in use.
+ */
+ virtual int connect (TAO_GIOP_Invocation *invocation,
+ TAO_Transport_Descriptor_Interface *desc
+ ACE_ENV_ARG_DECL) = 0;
+
+ /// Initial set of connections to be established.
+ virtual int preconnect (const char *preconnections) = 0;
+
+ /// Create a profile for this protocol and initialize it based on the
+ /// encapsulation in <cdr>
+ virtual TAO_Profile *create_profile (TAO_InputCDR& cdr) = 0;
+
+ /// Check that the prefix of the provided endpoint is valid for use
+ /// with a given pluggable protocol.
+ virtual int check_prefix (const char *endpoint) = 0;
+
+ /// Return the object key delimiter to use or expect.
+ virtual char object_key_delimiter (void) const = 0;
+
+protected:
+
+ /// Create a profile with a given endpoint.
+ virtual TAO_Profile *make_profile (ACE_ENV_SINGLE_ARG_DECL) = 0;
+
+ /// Set the ORB Core pointer
+ void orb_core (TAO_ORB_Core *orb_core);
+
+ /// Return the TAO_ORB_Core pointer
+ TAO_ORB_Core *orb_core (void);
+
+private:
+
+ /// IOP protocol tag.
+ CORBA::ULong tag_;
+
+ /// Pointer to our ORB core
+ TAO_ORB_Core *orb_core_;
+
+};
+
+#if defined (__ACE_INLINE__)
+# include "tao/Pluggable.i"
+#endif /* __ACE_INLINE__ */
+
+#include "ace/post.h"
+
+#endif /* TAO_PLUGGABLE_H */
diff --git a/TAO/tao/Pluggable.i b/TAO/tao/Pluggable.i
new file mode 100644
index 00000000000..a3fe15fa9a1
--- /dev/null
+++ b/TAO/tao/Pluggable.i
@@ -0,0 +1,29 @@
+// -*- C++ -*-
+// $Id$
+
+ACE_INLINE TAO_ORB_Core *
+TAO_Connector::orb_core (void)
+{
+ return this->orb_core_;
+}
+
+ACE_INLINE void
+TAO_Connector::orb_core (TAO_ORB_Core *orb_core)
+{
+ this->orb_core_ = orb_core;
+}
+
+
+ACE_INLINE CORBA::ULong
+TAO_Connector::tag (void) const
+{
+ return this->tag_;
+}
+
+// ****************************************************************
+
+ACE_INLINE CORBA::ULong
+TAO_Acceptor::tag (void) const
+{
+ return this->tag_;
+}
diff --git a/TAO/tests/RTCORBA/Linear_Priority/readers.cpp b/TAO/tests/RTCORBA/Linear_Priority/readers.cpp
new file mode 100644
index 00000000000..8733eb3a276
--- /dev/null
+++ b/TAO/tests/RTCORBA/Linear_Priority/readers.cpp
@@ -0,0 +1,323 @@
+// $Id$
+
+#include "ace/Read_Buffer.h"
+#include "ace/Array_Base.h"
+
+typedef ACE_Array_Base<CORBA::Short> Short_Array;
+
+int
+get_priority_bands (const char *test_type,
+ const char *bands_file,
+ RTCORBA::RTORB_ptr rt_orb,
+ CORBA::PolicyList &policies
+ ACE_ENV_ARG_DECL)
+{
+ //
+ // Read bands from a file.
+ //
+ FILE* file =
+ ACE_OS::fopen (bands_file, "r");
+
+ if (file == 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Cannot open file %s\n",
+ bands_file),
+ -1);
+
+ ACE_Read_Buffer reader (file, 1);
+
+ char *string =
+ reader.read (EOF, ' ', '\0');
+
+ // Check for empty bands file.
+ if (string == 0)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "\n%s: No bands set!\n\n",
+ test_type));
+ return 0;
+ }
+
+ CORBA::ULong bands_length =
+ (reader.replaced () + 1) / 2;
+
+ RTCORBA::PriorityBands bands;
+ bands.length (bands_length);
+
+ ACE_DEBUG ((LM_DEBUG,
+ "\n%s: There are %d bands: ",
+ test_type,
+ bands_length));
+
+ int result = 1;
+ char* working_string = string;
+ for (CORBA::ULong i = 0; i < bands_length; ++i)
+ {
+ result = ::sscanf (working_string,
+ "%hd",
+ &bands[i].low);
+ if (result == 0 || result == EOF)
+ break;
+
+ working_string += ACE_OS::strlen (working_string);
+ working_string += 1;
+
+ result = ::sscanf (working_string,
+ "%hd",
+ &bands[i].high);
+ if (result == 0 || result == EOF)
+ break;
+
+ working_string += ACE_OS::strlen (working_string);
+ working_string += 1;
+
+ ACE_DEBUG ((LM_DEBUG,
+ "[%d %d] ",
+ bands[i].low,
+ bands[i].high));
+ }
+
+ reader.alloc ()->free (string);
+
+ if (result == 0 || result == EOF)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Parsing error in file %s\n",
+ bands_file),
+ -1);
+
+ ACE_DEBUG ((LM_DEBUG,
+ "\n\n"));
+
+ CORBA::Policy_var banded_connection_policy =
+ rt_orb->create_priority_banded_connection_policy (bands
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ policies.length (policies.length () + 1);
+ policies[policies.length () - 1] =
+ banded_connection_policy;
+
+ return 0;
+}
+
+int
+get_values (const char *test_type,
+ const char *file_name,
+ const char *name,
+ Short_Array &values)
+{
+ //
+ // Read lanes from a file.
+ //
+ FILE* file =
+ ACE_OS::fopen (file_name, "r");
+
+ if (file == 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Cannot open file %s\n",
+ file_name),
+ -1);
+
+ ACE_Read_Buffer reader (file, 1);
+
+ char *string =
+ reader.read (EOF, ' ', '\0');
+
+ // Check for empty lanes file.
+ if (string == 0)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "\n%s: No %s set!\n\n",
+ test_type,
+ name));
+ return 0;
+ }
+
+ size_t length =
+ reader.replaced () + 1;
+
+ values.size (length);
+
+ ACE_DEBUG ((LM_DEBUG,
+ "\n%s: There are %d %s: ",
+ test_type,
+ length,
+ name));
+
+ int result = 1;
+ char* working_string = string;
+ for (CORBA::ULong i = 0; i < length; ++i)
+ {
+ result = ::sscanf (working_string,
+ "%hd",
+ &values[i]);
+ if (result == 0 || result == EOF)
+ break;
+
+ working_string += ACE_OS::strlen (working_string);
+ working_string += 1;
+
+ ACE_DEBUG ((LM_DEBUG,
+ "[%d] ",
+ values[i]));
+ }
+
+ reader.alloc ()->free (string);
+
+ if (result == 0 || result == EOF)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Parsing error in file %s\n",
+ file_name),
+ -1);
+
+ ACE_DEBUG ((LM_DEBUG,
+ "\n\n"));
+
+ return 0;
+}
+
+int
+get_priority_lanes (const char *test_type,
+ const char *lanes_file,
+ RTCORBA::RTORB_ptr rt_orb,
+ CORBA::ULong stacksize,
+ CORBA::ULong static_threads,
+ CORBA::ULong dynamic_threads,
+ CORBA::Boolean allow_request_buffering,
+ CORBA::ULong max_buffered_requests,
+ CORBA::ULong max_request_buffer_size,
+ CORBA::Boolean allow_borrowing,
+ CORBA::PolicyList &policies
+ ACE_ENV_ARG_DECL)
+{
+ Short_Array priorities;
+ int result =
+ get_values (test_type,
+ lanes_file,
+ "lanes",
+ priorities);
+ if (result != 0 ||
+ priorities.size () == 0)
+ return result;
+
+ RTCORBA::ThreadpoolLanes lanes;
+ lanes.length (priorities.size ());
+
+ for (CORBA::ULong i = 0;
+ i < priorities.size ();
+ ++i)
+ {
+ lanes[i].lane_priority = priorities[i];
+ lanes[i].static_threads = static_threads;
+ lanes[i].dynamic_threads = dynamic_threads;
+ }
+
+ RTCORBA::ThreadpoolId threadpool_id =
+ rt_orb->create_threadpool_with_lanes (stacksize,
+ lanes,
+ allow_borrowing,
+ allow_request_buffering,
+ max_buffered_requests,
+ max_request_buffer_size
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ CORBA::Policy_var threadpool_policy =
+ rt_orb->create_threadpool_policy (threadpool_id
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+
+ policies.length (policies.length () + 1);
+ policies[policies.length () - 1] =
+ threadpool_policy;
+
+ return 0;
+}
+
+void
+get_auto_priority_lanes_and_bands (CORBA::ULong number_of_lanes,
+ RTCORBA::RTORB_ptr rt_orb,
+ CORBA::ULong stacksize,
+ CORBA::ULong static_threads,
+ CORBA::ULong dynamic_threads,
+ CORBA::Boolean allow_request_buffering,
+ CORBA::ULong max_buffered_requests,
+ CORBA::ULong max_request_buffer_size,
+ CORBA::Boolean allow_borrowing,
+ CORBA::PolicyList &policies
+ ACE_ENV_ARG_DECL)
+{
+ RTCORBA::ThreadpoolLanes lanes;
+ lanes.length (number_of_lanes);
+
+ RTCORBA::PriorityBands bands;
+ bands.length (number_of_lanes);
+
+ CORBA::Short priority_range =
+ RTCORBA::maxPriority - RTCORBA::minPriority;
+
+ ACE_DEBUG ((LM_DEBUG,
+ "\nUsing %d lanes\n",
+ number_of_lanes));
+
+ for (CORBA::ULong i = 0;
+ i < number_of_lanes;
+ ++i)
+ {
+ CORBA::Short high_priority =
+ CORBA::Short (
+ ACE_OS::floor ((priority_range /
+ double (number_of_lanes)) *
+ (i + 1)));
+
+ CORBA::Short low_priority =
+ CORBA::Short (
+ ACE_OS::ceil ((priority_range /
+ double (number_of_lanes)) *
+ i));
+
+ lanes[i].lane_priority = high_priority;
+ lanes[i].static_threads = static_threads;
+ lanes[i].dynamic_threads = dynamic_threads;
+
+ bands[i].high = high_priority;
+ bands[i].low = low_priority;
+
+ ACE_DEBUG ((LM_DEBUG,
+ "%d: [%d %d] ",
+ i + 1,
+ low_priority,
+ high_priority));
+ }
+
+ ACE_DEBUG ((LM_DEBUG,
+ "\n\n"));
+
+ RTCORBA::ThreadpoolId threadpool_id =
+ rt_orb->create_threadpool_with_lanes (stacksize,
+ lanes,
+ allow_borrowing,
+ allow_request_buffering,
+ max_buffered_requests,
+ max_request_buffer_size
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ policies.length (policies.length () + 1);
+ policies[policies.length () - 1] =
+ rt_orb->create_priority_banded_connection_policy (bands
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+ policies.length (policies.length () + 1);
+ policies[policies.length () - 1] =
+ rt_orb->create_threadpool_policy (threadpool_id
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Array_Base<CORBA::Short>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Array_Base<CORBA::Short>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/ace/Main_Macros.h b/ace/Main_Macros.h
new file mode 100644
index 00000000000..0d035901fd1
--- /dev/null
+++ b/ace/Main_Macros.h
@@ -0,0 +1,246 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file Main_Macros.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt <schmidt@cs.wustl.edu>
+ * @author Jesper S. M|ller<stophph@diku.dk>
+ * @author and a cast of thousands...
+ */
+//=============================================================================
+
+
+// These are separate since they may include Object_Mananager.h (thus OS.h) depending
+// on whether or not ACE_HAS_NONSTATIC_OBJECT_MANAGER is defined.
+
+#if !defined (ACE_MAIN_MACROS_H)
+#define ACE_MAIN_MACROS_H
+
+#include "ace/pre.h"
+
+#include "ace/config-all.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+# if !defined (ACE_MAIN)
+# define ACE_MAIN main
+# endif /* ! ACE_MAIN */
+
+# if !defined (ACE_WMAIN)
+# define ACE_WMAIN wmain
+# endif /* ! ACE_WMAIN */
+
+# if defined (ACE_WIN32) && defined (ACE_USES_WCHAR)
+# define ACE_TMAIN wmain
+# else
+# define ACE_TMAIN main
+# endif
+
+# if defined (ACE_DOESNT_INSTANTIATE_NONSTATIC_OBJECT_MANAGER)
+# if !defined (ACE_HAS_NONSTATIC_OBJECT_MANAGER)
+# define ACE_HAS_NONSTATIC_OBJECT_MANAGER
+# endif /* ACE_HAS_NONSTATIC_OBJECT_MANAGER */
+# endif /* ACE_DOESNT_INSTANTIATE_NONSTATIC_OBJECT_MANAGER */
+
+# if defined (ACE_HAS_NONSTATIC_OBJECT_MANAGER) && !defined (ACE_DOESNT_INSTANTIATE_NONSTATIC_OBJECT_MANAGER)
+
+# if !defined (ACE_HAS_MINIMAL_ACE_OS)
+# include "ace/Object_Manager.h"
+# endif /* ! ACE_HAS_MINIMAL_ACE_OS */
+
+// Rename "main ()" on platforms that don't allow it to be called "main ()".
+
+// Also, create ACE_Object_Manager static instance(s) in "main ()".
+// ACE_MAIN_OBJECT_MANAGER defines the ACE_Object_Manager(s) that will
+// be instantiated on the stack of main (). Note that it is only used
+// when compiling main (): its value does not affect the contents of
+// ace/OS.o.
+# if !defined (ACE_MAIN_OBJECT_MANAGER)
+# define ACE_MAIN_OBJECT_MANAGER \
+ ACE_OS_Object_Manager ace_os_object_manager; \
+ ACE_Object_Manager ace_object_manager;
+# endif /* ! ACE_MAIN_OBJECT_MANAGER */
+
+# if defined (ACE_PSOSIM)
+// PSOSIM root lacks the standard argc, argv command line parameters,
+// create dummy argc and argv in the "real" main and pass to "user" main.
+// NOTE: ACE_MAIN must be defined to give the return type as well as the
+// name of the entry point.
+# define main \
+ace_main_i (int, char *[]); /* forward declaration */ \
+ACE_MAIN () /* user's entry point, e.g., "main" w/out argc, argv */ \
+{ \
+ int argc = 1; /* dummy arg count */ \
+ char *argv[] = {"psosim"}; /* dummy arg list */ \
+ ACE_MAIN_OBJECT_MANAGER \
+ int ret_val = -1; /* assume the worst */ \
+ if (ACE_PSOS_Time_t::init_simulator_time ()) /* init simulator time */ \
+ { \
+ ACE_ERROR((LM_ERROR, "init_simulator_time failed\n")); /* report */ \
+ } \
+ else \
+ { \
+ ret_val = ace_main_i (argc, argv); /* call user main, save result */ \
+ } \
+ ACE_OS::exit (ret_val); /* pass code to simulator exit */ \
+} \
+int \
+ace_main_i
+# elif defined (ACE_PSOS) && defined (ACE_PSOS_LACKS_ARGC_ARGV)
+// PSOS root lacks the standard argc, argv command line parameters,
+// create dummy argc and argv in the "real" main and pass to "user" main.
+// Ignore return value from user main as well. NOTE: ACE_MAIN must be
+// defined to give the return type as well as the name of the entry point
+# define main \
+ace_main_i (int, char *[]); /* forward declaration */ \
+ACE_MAIN () /* user's entry point, e.g., "main" w/out argc, argv */ \
+{ \
+ int argc = 1; /* dummy arg count */ \
+ char *argv[] = {"root"}; /* dummy arg list */ \
+ ACE_MAIN_OBJECT_MANAGER \
+ ace_main_i (argc, argv); /* call user main, ignore result */ \
+} \
+int \
+ace_main_i
+# elif defined (ACE_HAS_WINCE)
+/**
+ * @class ACE_CE_ARGV
+ *
+ * @brief This class is to hash input parameters, argc and argv, for WinCE platform.
+ *
+ * Since WinCE only supports wchar_t as an input from OS, some implementation detail,
+ * especially for CORBA spec, will not support ACE_TCHAR (wchar_t) type parameter.
+ * Moreover, WinCE's input parameter type is totally different than any other OS;
+ * all command line parameters will be stored in a single wide-character string with
+ * each unit parameter divided by blank space, and it does not provide the name of
+ * executable (generally known as argv[0]).
+ * This class is to convert CE's command line parameters and simulate as in the same
+ * manner as other general platforms, adding 'root' as a first argc, which is for the
+ * name of executable in other OS.
+ */
+class ACE_OS_Export ACE_CE_ARGV
+{
+public:
+ /**
+ * Ctor accepts CE command line as a paramter.
+ */
+ ACE_CE_ARGV(ACE_TCHAR* cmdLine);
+
+ /**
+ * Default Dtor that deletes any memory allocated for the converted string.
+ */
+ ~ACE_CE_ARGV(void);
+
+ /**
+ * Returns the number of command line paramters, same as argc on Unix.
+ */
+ int argc(void);
+
+ /**
+ * Returns the 'char**' that contains the converted command line parameters.
+ */
+ ACE_TCHAR** const argv(void);
+
+private:
+ /**
+ * Copy Ctor is not allowed.
+ */
+ ACE_CE_ARGV(void);
+
+ /**
+ * Copy Ctor is not allowed.
+ */
+ ACE_CE_ARGV(ACE_CE_ARGV&);
+
+ /**
+ * Pointer of converted command line paramters.
+ */
+ ACE_TCHAR** ce_argv_;
+
+ /**
+ * Integer that is same as argc on other OS's.
+ */
+ int ce_argc_;
+};
+# if defined (ACE_TMAIN) // Use WinMain on CE; others give warning/error.
+# undef ACE_TMAIN
+# endif // ACE_TMAIN
+
+// Support for ACE_TMAIN, which is a recommended way.
+# define ACE_TMAIN \
+ace_main_i (int, ACE_TCHAR *[]); /* forward declaration */ \
+int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nCmdShow) \
+{ \
+ ACE_CE_ARGV ce_argv(lpCmdLine); \
+ ACE::init(); \
+ ACE_MAIN_OBJECT_MANAGER \
+ int i = ace_main_i (ce_argv.argc(), ce_argv.argv()); \
+ ACE::fini(); \
+ return i; \
+} \
+int ace_main_i
+
+// Support for wchar_t but still can't fit to CE because of the command line parameters.
+# define wmain \
+ace_main_i (int, ACE_TCHAR *[]); /* forward declaration */ \
+int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nCmdShow) \
+{ \
+ ACE_CE_ARGV ce_argv(lpCmdLine); \
+ ACE::init(); \
+ ACE_MAIN_OBJECT_MANAGER \
+ int i = ace_main_i (ce_argv.argc(), ce_argv.argv()); \
+ ACE::fini(); \
+ return i; \
+} \
+int ace_main_i
+
+// Supporting legacy 'main' is A LOT easier for users than changing existing code on WinCE.
+# define main \
+ace_main_i (int, char *[]); /* forward declaration */ \
+#include <ace/Argv_Type_Converter.h> \
+int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nCmdShow) \
+{ \
+ ACE_CE_ARGV ce_argv(lpCmdLine); \
+ ACE::init(); \
+ ACE_MAIN_OBJECT_MANAGER \
+ ACE_Argv_Type_Converter command_line(ce_argv.argc(), ce_argv.argv()); \
+ int i = ace_main_i (command_line.get_argc(), command_line.get_ASCII_argv()); \
+ ACE::fini(); \
+ return i; \
+} \
+int ace_main_i
+
+# else
+# define main \
+ace_main_i (int, char *[]); /* forward declaration */ \
+int \
+ACE_MAIN (int argc, char *argv[]) /* user's entry point, e.g., main */ \
+{ \
+ ACE_MAIN_OBJECT_MANAGER \
+ return ace_main_i (argc, argv); /* what the user calls "main" */ \
+} \
+int \
+ace_main_i
+# if defined (ACE_WIN32)
+# define wmain \
+ace_main_i (int, ACE_TCHAR *[]); /* forward declaration */ \
+int \
+ACE_WMAIN (int argc, ACE_TCHAR *argv[]) /* user's entry point, e.g., main */ \
+{ \
+ ACE_MAIN_OBJECT_MANAGER \
+ return ace_main_i (argc, argv); /* what the user calls "main" */ \
+} \
+int \
+ace_main_i
+# endif /* ACE_WIN32 && UNICODE */
+# endif /* ACE_PSOSIM */
+# endif /* ACE_HAS_NONSTATIC_OBJECT_MANAGER && !ACE_HAS_WINCE && !ACE_DOESNT_INSTANTIATE_NONSTATIC_OBJECT_MANAGER */
+
+
+#endif /* ACE_MAIN_MACROS_H */
+
diff --git a/ace/Object_Manager_Base.cpp b/ace/Object_Manager_Base.cpp
new file mode 100644
index 00000000000..872cbfa7997
--- /dev/null
+++ b/ace/Object_Manager_Base.cpp
@@ -0,0 +1,643 @@
+// $Id$
+
+#include "ace/Object_Manager_Base.h"
+
+#include "ace/OS_Errno.h"
+#include "ace/os_include/threads.h"
+#include "ace/OS.h"
+
+
+ACE_EXIT_HOOK ACE_OS::exit_hook_ = 0;
+
+ACE_Cleanup_Info::ACE_Cleanup_Info (void)
+ : object_ (0),
+ cleanup_hook_ (0),
+ param_ (0)
+{
+}
+
+int
+ACE_Cleanup_Info::operator== (const ACE_Cleanup_Info &o) const
+{
+ return o.object_ == this->object_
+ && o.cleanup_hook_ == this->cleanup_hook_
+ && o.param_ == this->param_;
+}
+
+int
+ACE_Cleanup_Info::operator!= (const ACE_Cleanup_Info &o) const
+{
+ return !(*this == o);
+}
+
+class ACE_Cleanup_Info_Node
+{
+ // = TITLE
+ // For maintaining a list of ACE_Cleanup_Info items.
+ //
+ // = DESCRIPTION
+ // For internal use by ACE_Object_Manager.
+public:
+ ACE_Cleanup_Info_Node (void);
+ ACE_Cleanup_Info_Node (const ACE_Cleanup_Info &new_info,
+ ACE_Cleanup_Info_Node *next);
+ ~ACE_Cleanup_Info_Node (void);
+ ACE_Cleanup_Info_Node *insert (const ACE_Cleanup_Info &);
+private:
+ ACE_Cleanup_Info cleanup_info_;
+ ACE_Cleanup_Info_Node *next_;
+
+ friend class ACE_OS_Exit_Info;
+};
+
+ACE_Cleanup_Info_Node::ACE_Cleanup_Info_Node (void)
+ : cleanup_info_ (),
+ next_ (0)
+{
+}
+
+ACE_Cleanup_Info_Node::ACE_Cleanup_Info_Node (const ACE_Cleanup_Info &new_info,
+ ACE_Cleanup_Info_Node *next)
+ : cleanup_info_ (new_info),
+ next_ (next)
+{
+}
+
+ACE_Cleanup_Info_Node::~ACE_Cleanup_Info_Node (void)
+{
+ delete next_;
+}
+
+ACE_Cleanup_Info_Node *
+ACE_Cleanup_Info_Node::insert (const ACE_Cleanup_Info &new_info)
+{
+ ACE_Cleanup_Info_Node *new_node;
+
+ ACE_NEW_RETURN (new_node,
+ ACE_Cleanup_Info_Node (new_info, this),
+ 0);
+
+ return new_node;
+}
+
+ACE_OS_Exit_Info::ACE_OS_Exit_Info (void)
+{
+ ACE_NEW (registered_objects_, ACE_Cleanup_Info_Node);
+}
+
+ACE_OS_Exit_Info::~ACE_OS_Exit_Info (void)
+{
+ delete registered_objects_;
+ registered_objects_ = 0;
+}
+
+int
+ACE_OS_Exit_Info::at_exit_i (void *object,
+ ACE_CLEANUP_FUNC cleanup_hook,
+ void *param)
+{
+ ACE_Cleanup_Info new_info;
+ new_info.object_ = object;
+ new_info.cleanup_hook_ = cleanup_hook;
+ new_info.param_ = param;
+
+ // Return -1 and sets errno if unable to allocate storage. Enqueue
+ // at the head and dequeue from the head to get LIFO ordering.
+
+ ACE_Cleanup_Info_Node *new_node;
+
+ if ((new_node = registered_objects_->insert (new_info)) == 0)
+ return -1;
+ else
+ {
+ registered_objects_ = new_node;
+ return 0;
+ }
+}
+
+int
+ACE_OS_Exit_Info::find (void *object)
+{
+ // Check for already in queue, and return 1 if so.
+ for (ACE_Cleanup_Info_Node *iter = registered_objects_;
+ iter && iter->next_ != 0;
+ iter = iter->next_)
+ {
+ if (iter->cleanup_info_.object_ == object)
+ {
+ // The object has already been registered.
+ return 1;
+ }
+ }
+
+ return 0;
+}
+
+void
+ACE_OS_Exit_Info::call_hooks ()
+{
+ // Call all registered cleanup hooks, in reverse order of
+ // registration.
+ for (ACE_Cleanup_Info_Node *iter = registered_objects_;
+ iter && iter->next_ != 0;
+ iter = iter->next_)
+ {
+ ACE_Cleanup_Info &info = iter->cleanup_info_;
+ if (info.cleanup_hook_ == ACE_reinterpret_cast (ACE_CLEANUP_FUNC,
+ ace_cleanup_destroyer))
+ // The object is an ACE_Cleanup.
+ ace_cleanup_destroyer (ACE_reinterpret_cast (ACE_Cleanup *,
+ info.object_),
+ info.param_);
+ else if (info.object_ == &ace_exit_hook_marker)
+ // The hook is an ACE_EXIT_HOOK.
+ (* ACE_reinterpret_cast (ACE_EXIT_HOOK, info.cleanup_hook_)) ();
+ else
+ (*info.cleanup_hook_) (info.object_, info.param_);
+ }
+}
+
+extern "C" void
+ace_cleanup_destroyer (ACE_Cleanup *object, void *param)
+{
+ object->cleanup (param);
+}
+
+void
+ACE_Cleanup::cleanup (void *)
+{
+ delete this;
+}
+
+//ACE_INLINE
+ACE_Cleanup::ACE_Cleanup (void)
+{
+}
+
+ACE_Cleanup::~ACE_Cleanup (void)
+{
+}
+
+#define ACE_OS_PREALLOCATE_OBJECT(TYPE, ID)\
+ {\
+ TYPE *obj_p = 0;\
+ ACE_NEW_RETURN (obj_p, TYPE, -1);\
+ preallocated_object[ID] = (void *) obj_p;\
+ }
+#define ACE_OS_DELETE_PREALLOCATED_OBJECT(TYPE, ID)\
+ delete (TYPE *) preallocated_object[ID];\
+ preallocated_object[ID] = 0;
+
+ACE_Object_Manager_Base::ACE_Object_Manager_Base (void)
+ : object_manager_state_ (OBJ_MAN_UNINITIALIZED)
+ , dynamically_allocated_ (0)
+ , next_ (0)
+{
+}
+
+ACE_Object_Manager_Base::~ACE_Object_Manager_Base (void)
+{
+#if defined (ACE_HAS_NONSTATIC_OBJECT_MANAGER)
+ // Clear the flag so that fini () doesn't delete again.
+ dynamically_allocated_ = 0;
+#endif /* ACE_HAS_NONSTATIC_OBJECT_MANAGER */
+}
+
+int
+ACE_Object_Manager_Base::starting_up_i ()
+{
+ return object_manager_state_ < OBJ_MAN_INITIALIZED;
+}
+
+int
+ACE_Object_Manager_Base::shutting_down_i ()
+{
+ return object_manager_state_ > OBJ_MAN_INITIALIZED;
+}
+
+extern "C"
+void
+ACE_OS_Object_Manager_Internal_Exit_Hook (void)
+{
+ if (ACE_OS_Object_Manager::instance_)
+ ACE_OS_Object_Manager::instance ()->fini ();
+}
+
+ACE_OS_Object_Manager *ACE_OS_Object_Manager::instance_ = 0;
+
+void *ACE_OS_Object_Manager::preallocated_object[
+ ACE_OS_Object_Manager::ACE_OS_PREALLOCATED_OBJECTS] = { 0 };
+
+ACE_OS_Object_Manager::ACE_OS_Object_Manager (void)
+ // default_mask_ isn't initialized, because it's defined by <init>.
+ : thread_hook_ (0)
+ , exit_info_ ()
+#if defined (ACE_HAS_WIN32_STRUCTURAL_EXCEPTIONS)
+ , seh_except_selector_ (ACE_SEH_Default_Exception_Selector)
+ , seh_except_handler_ (ACE_SEH_Default_Exception_Handler)
+#endif /* ACE_HAS_WIN32_STRUCTURAL_EXCEPTIONS */
+{
+ // If instance_ was not 0, then another ACE_OS_Object_Manager has
+ // already been instantiated (it is likely to be one initialized by
+ // way of library/DLL loading). Let this one go through
+ // construction in case there really is a good reason for it (like,
+ // ACE is a static/archive library, and this one is the non-static
+ // instance (with ACE_HAS_NONSTATIC_OBJECT_MANAGER, or the user has
+ // a good reason for creating a separate one) but the original one
+ // will be the one retrieved from calls to
+ // ACE_Object_Manager::instance().
+
+ // Be sure that no further instances are created via instance ().
+ if (instance_ == 0)
+ instance_ = this;
+
+ init ();
+}
+
+ACE_OS_Object_Manager::~ACE_OS_Object_Manager (void)
+{
+ dynamically_allocated_ = 0; // Don't delete this again in fini()
+ fini ();
+}
+
+sigset_t *
+ACE_OS_Object_Manager::default_mask (void)
+{
+ return ACE_OS_Object_Manager::instance ()->default_mask_;
+}
+
+ACE_Thread_Hook *
+ACE_OS_Object_Manager::thread_hook (void)
+{
+ return ACE_OS_Object_Manager::instance ()->thread_hook_;
+}
+
+#if defined (ACE_HAS_WIN32_STRUCTURAL_EXCEPTIONS)
+ACE_SEH_EXCEPT_HANDLER
+ACE_OS_Object_Manager::seh_except_selector (void)
+{
+ return ACE_OS_Object_Manager::instance ()->seh_except_selector_;
+}
+
+ACE_SEH_EXCEPT_HANDLER
+ACE_OS_Object_Manager::seh_except_selector (ACE_SEH_EXCEPT_HANDLER n)
+{
+ ACE_OS_Object_Manager *instance =
+ ACE_OS_Object_Manager::instance ();
+
+ ACE_SEH_EXCEPT_HANDLER retv = instance->seh_except_selector_;
+ instance->seh_except_selector_ = n;
+ return retv;
+}
+
+ACE_SEH_EXCEPT_HANDLER
+ACE_OS_Object_Manager::seh_except_handler (void)
+{
+ return ACE_OS_Object_Manager::instance ()->seh_except_handler_;
+}
+
+ACE_SEH_EXCEPT_HANDLER
+ACE_OS_Object_Manager::seh_except_handler (ACE_SEH_EXCEPT_HANDLER n)
+{
+ ACE_OS_Object_Manager *instance =
+ ACE_OS_Object_Manager::instance ();
+
+ ACE_SEH_EXCEPT_HANDLER retv = instance->seh_except_handler_;
+ instance->seh_except_handler_ = n;
+ return retv;
+}
+#endif /* ACE_HAS_WIN32_STRUCTURAL_EXCEPTIONS */
+
+ACE_Thread_Hook *
+ACE_OS_Object_Manager::thread_hook (ACE_Thread_Hook *new_thread_hook)
+{
+ ACE_OS_Object_Manager *os_om = ACE_OS_Object_Manager::instance ();
+ ACE_Thread_Hook *old_hook = os_om->thread_hook_;
+ os_om->thread_hook_ = new_thread_hook;
+ return old_hook;
+}
+
+ACE_OS_Object_Manager *
+ACE_OS_Object_Manager::instance (void)
+{
+ // This function should be called during construction of static
+ // instances, or before any other threads have been created in the
+ // process. So, it's not thread safe.
+
+ if (instance_ == 0)
+ {
+ ACE_OS_Object_Manager *instance_pointer;
+
+ ACE_NEW_RETURN (instance_pointer,
+ ACE_OS_Object_Manager,
+ 0);
+ // I (coryan) removed it, using asserts in the OS layer
+ // brings down the Log msg stuff
+ // ACE_ASSERT (instance_pointer == instance_);
+
+ instance_pointer->dynamically_allocated_ = 1;
+
+ }
+
+ return instance_;
+}
+
+int
+ACE_OS_Object_Manager::init (void)
+{
+ if (starting_up_i ())
+ {
+ // First, indicate that this ACE_OS_Object_Manager instance is being
+ // initialized.
+ object_manager_state_ = OBJ_MAN_INITIALIZING;
+
+ if (this == instance_)
+ {
+#if defined (ACE_MT_SAFE) && (ACE_MT_SAFE != 0)
+# if defined (ACE_HAS_WINCE_BROKEN_ERRNO)
+ ACE_CE_Errno::init ();
+# endif /* ACE_HAS_WINCE_BROKEN_ERRNO */
+ ACE_OS_PREALLOCATE_OBJECT (ACE_thread_mutex_t, ACE_OS_MONITOR_LOCK)
+ if (ACE_OS::thread_mutex_init
+ // This line must not be broken to avoid tickling a bug with SunC++'s preprocessor.
+ (ACE_reinterpret_cast (ACE_thread_mutex_t *, ACE_OS_Object_Manager::preallocated_object[ACE_OS_MONITOR_LOCK])) != 0)
+ ACE_OS_Object_Manager::print_error_message (
+ __LINE__, ACE_LIB_TEXT ("ACE_OS_MONITOR_LOCK"));
+ ACE_OS_PREALLOCATE_OBJECT (ACE_recursive_thread_mutex_t,
+ ACE_TSS_CLEANUP_LOCK)
+ if (ACE_OS::recursive_mutex_init
+ // This line must not be broken to avoid tickling a bug with SunC++'s preprocessor.
+ (ACE_reinterpret_cast (ACE_recursive_thread_mutex_t *, ACE_OS_Object_Manager::preallocated_object[ACE_TSS_CLEANUP_LOCK])) != 0)
+ ACE_OS_Object_Manager::print_error_message (
+ __LINE__, ACE_LIB_TEXT ("ACE_TSS_CLEANUP_LOCK"));
+ ACE_OS_PREALLOCATE_OBJECT (ACE_thread_mutex_t,
+ ACE_LOG_MSG_INSTANCE_LOCK)
+ if (ACE_OS::thread_mutex_init
+ // This line must not be broken to avoid tickling a bug with SunC++'s preprocessor.
+ (ACE_reinterpret_cast (ACE_thread_mutex_t *, ACE_OS_Object_Manager::preallocated_object[ACE_LOG_MSG_INSTANCE_LOCK])) != 0)
+ ACE_OS_Object_Manager::print_error_message (
+ __LINE__, ACE_LIB_TEXT ("ACE_LOG_MSG_INSTANCE_LOCK"));
+# if defined (ACE_HAS_TSS_EMULATION)
+ ACE_OS_PREALLOCATE_OBJECT (ACE_recursive_thread_mutex_t,
+ ACE_TSS_KEY_LOCK)
+ if (ACE_OS::recursive_mutex_init
+ // This line must not be broken to avoid tickling a bug with SunC++'s preprocessor.
+ (ACE_reinterpret_cast (ACE_recursive_thread_mutex_t *, ACE_OS_Object_Manager::preallocated_object[ACE_TSS_KEY_LOCK])) != 0)
+ ACE_OS_Object_Manager::print_error_message (
+ __LINE__, ACE_LIB_TEXT ("ACE_TSS_KEY_LOCK"));
+# if defined (ACE_HAS_THREAD_SPECIFIC_STORAGE)
+ ACE_OS_PREALLOCATE_OBJECT (ACE_recursive_thread_mutex_t,
+ ACE_TSS_BASE_LOCK)
+ if (ACE_OS::recursive_mutex_init
+ // This line must not be broken to avoid tickling a bug with SunC++'s preprocessor.
+ (ACE_reinterpret_cast (ACE_recursive_thread_mutex_t *, ACE_OS_Object_Manager::preallocated_object[ACE_TSS_BASE_LOCK])) != 0)
+ ACE_OS_Object_Manager::print_error_message (
+ __LINE__, ACE_LIB_TEXT ("ACE_TSS_BASE_LOCK"));
+# endif /* ACE_HAS_THREAD_SPECIFIC_STORAGE */
+# endif /* ACE_HAS_TSS_EMULATION */
+#endif /* ACE_MT_SAFE */
+
+ // Open Winsock (no-op on other platforms).
+ ACE_OS::socket_init (ACE_WSOCK_VERSION);
+
+ // Register the exit hook, for use by ACE_OS::exit ().
+ ACE_OS::set_exit_hook (&ACE_OS_Object_Manager_Internal_Exit_Hook);
+ }
+
+ ACE_NEW_RETURN (default_mask_, sigset_t, -1);
+ ACE_OS::sigfillset (default_mask_);
+
+ // Finally, indicate that the ACE_OS_Object_Manager instance has
+ // been initialized.
+ object_manager_state_ = OBJ_MAN_INITIALIZED;
+
+#if defined (ACE_WIN32)
+ ACE_OS::win32_versioninfo_.dwOSVersionInfoSize =
+ sizeof (OSVERSIONINFO);
+ ::GetVersionEx (&ACE_OS::win32_versioninfo_);
+#endif /* ACE_WIN32 */
+ return 0;
+ } else {
+ // Had already initialized.
+ return 1;
+ }
+}
+
+// Clean up an ACE_OS_Object_Manager. There can be instances of this object
+// other than The Instance. This can happen if a user creates one for some
+// reason. All objects clean up their per-object information and managed
+// objects, but only The Instance cleans up the static preallocated objects.
+int
+ACE_OS_Object_Manager::fini (void)
+{
+ if (instance_ == 0 || shutting_down_i ())
+ // Too late. Or, maybe too early. Either fini () has already
+ // been called, or init () was never called.
+ return object_manager_state_ == OBJ_MAN_SHUT_DOWN ? 1 : -1;
+
+ // No mutex here. Only the main thread should destroy the singleton
+ // ACE_OS_Object_Manager instance.
+
+ // Indicate that the ACE_OS_Object_Manager instance is being shut
+ // down. This object manager should be the last one to be shut
+ // down.
+ object_manager_state_ = OBJ_MAN_SHUTTING_DOWN;
+
+ // If another Object_Manager has registered for termination, do it.
+ if (next_)
+ {
+ next_->fini ();
+ next_ = 0; // Protect against recursive calls.
+ }
+
+ // Call all registered cleanup hooks, in reverse order of
+ // registration.
+ exit_info_.call_hooks ();
+
+ // Only clean up preallocated objects when the singleton Instance is being
+ // destroyed.
+ if (this == instance_)
+ {
+ // Close down Winsock (no-op on other platforms).
+ ACE_OS::socket_fini ();
+
+#if ! defined (ACE_HAS_STATIC_PREALLOCATION)
+ // Cleanup the dynamically preallocated objects.
+# if defined (ACE_MT_SAFE) && (ACE_MT_SAFE != 0)
+# if !defined(ACE_HAS_BROKEN_PREALLOCATED_OBJECTS_AFTER_FORK)
+ if (ACE_OS::thread_mutex_destroy
+ // This line must not be broken to avoid tickling a bug with SunC++'s preprocessor.
+ (ACE_reinterpret_cast (ACE_thread_mutex_t *, ACE_OS_Object_Manager::preallocated_object[ACE_OS_MONITOR_LOCK])) != 0)
+ ACE_OS_Object_Manager::print_error_message (
+ __LINE__, ACE_LIB_TEXT ("ACE_OS_MONITOR_LOCK"));
+# endif /* ! ACE_HAS_BROKEN_PREALLOCATED_OBJECTS_AFTER_FORK */
+ ACE_OS_DELETE_PREALLOCATED_OBJECT (ACE_thread_mutex_t,
+ ACE_OS_MONITOR_LOCK)
+# if !defined(ACE_HAS_BROKEN_PREALLOCATED_OBJECTS_AFTER_FORK)
+ if (ACE_OS::recursive_mutex_destroy
+ // This line must not be broken to avoid tickling a bug with SunC++'s preprocessor.
+ (ACE_reinterpret_cast (ACE_recursive_thread_mutex_t *, ACE_OS_Object_Manager::preallocated_object[ACE_TSS_CLEANUP_LOCK])) != 0)
+ ACE_OS_Object_Manager::print_error_message (
+ __LINE__, ACE_LIB_TEXT ("ACE_TSS_CLEANUP_LOCK"));
+# endif /* ! ACE_HAS_BROKEN_PREALLOCATED_OBJECTS_AFTER_FORK */
+ ACE_OS_DELETE_PREALLOCATED_OBJECT (ACE_recursive_thread_mutex_t,
+ ACE_TSS_CLEANUP_LOCK)
+# if !defined(ACE_HAS_BROKEN_PREALLOCATED_OBJECTS_AFTER_FORK)
+ if (ACE_OS::thread_mutex_destroy
+ // This line must not be broken to avoid tickling a bug with SunC++'s preprocessor.
+ (ACE_reinterpret_cast (ACE_thread_mutex_t *, ACE_OS_Object_Manager::preallocated_object [ACE_LOG_MSG_INSTANCE_LOCK])) != 0)
+ ACE_OS_Object_Manager::print_error_message (
+ __LINE__, ACE_LIB_TEXT ("ACE_LOG_MSG_INSTANCE_LOCK "));
+# endif /* ! ACE_HAS_BROKEN_PREALLOCATED_OBJECTS_AFTER_FORK */
+ ACE_OS_DELETE_PREALLOCATED_OBJECT (ACE_thread_mutex_t,
+ ACE_LOG_MSG_INSTANCE_LOCK)
+# if defined (ACE_HAS_TSS_EMULATION)
+# if !defined(ACE_HAS_BROKEN_PREALLOCATED_OBJECTS_AFTER_FORK)
+ if (ACE_OS::recursive_mutex_destroy
+ // This line must not be broken to avoid tickling a bug with SunC++'s preprocessor.
+ (ACE_reinterpret_cast (ACE_recursive_thread_mutex_t *, ACE_OS_Object_Manager::preallocated_object[ACE_TSS_KEY_LOCK])) != 0)
+ ACE_OS_Object_Manager::print_error_message (
+ __LINE__, ACE_LIB_TEXT ("ACE_TSS_KEY_LOCK"));
+# endif /* ! ACE_HAS_BROKEN_PREALLOCATED_OBJECTS_AFTER_FORK */
+ ACE_OS_DELETE_PREALLOCATED_OBJECT (ACE_recursive_thread_mutex_t,
+ ACE_TSS_KEY_LOCK)
+# if defined (ACE_HAS_THREAD_SPECIFIC_STORAGE)
+# if !defined(ACE_HAS_BROKEN_PREALLOCATED_OBJECTS_AFTER_FORK)
+ if (ACE_OS::recursive_mutex_destroy
+ // This line must not be broken to avoid tickling a bug with SunC++'s preprocessor.
+ (ACE_reinterpret_cast (ACE_recursive_thread_mutex_t *, ACE_OS_Object_Manager::preallocated_object[ACE_TSS_BASE_LOCK])) != 0)
+ ACE_OS_Object_Manager::print_error_message (
+ __LINE__, ACE_LIB_TEXT ("ACE_TSS_BASE_LOCK"));
+# endif /* ! ACE_HAS_BROKEN_PREALLOCATED_OBJECTS_AFTER_FORK */
+ ACE_OS_DELETE_PREALLOCATED_OBJECT (ACE_recursive_thread_mutex_t,
+ ACE_TSS_BASE_LOCK)
+# endif /* ACE_HAS_THREAD_SPECIFIC_STORAGE */
+# endif /* ACE_HAS_TSS_EMULATION */
+# if defined (ACE_HAS_WINCE_BROKEN_ERRNO)
+ ACE_CE_Errno::fini ();
+# endif /* ACE_HAS_WINCE_BROKEN_ERRNO */
+# endif /* ACE_MT_SAFE */
+#endif /* ! ACE_HAS_STATIC_PREALLOCATION */
+ }
+
+ delete default_mask_;
+ default_mask_ = 0;
+
+ // Indicate that this ACE_OS_Object_Manager instance has been shut down.
+ object_manager_state_ = OBJ_MAN_SHUT_DOWN;
+
+ if (dynamically_allocated_)
+ {
+ delete this;
+ }
+
+ if (this == instance_)
+ instance_ = 0;
+
+ return 0;
+}
+
+int ace_exit_hook_marker = 0;
+
+int
+ACE_OS_Object_Manager::at_exit (ACE_EXIT_HOOK func)
+{
+ return exit_info_.at_exit_i (&ace_exit_hook_marker,
+ ACE_reinterpret_cast (ACE_CLEANUP_FUNC, func),
+ 0);
+}
+
+void
+ACE_OS_Object_Manager::print_error_message (u_int line_number,
+ const ACE_TCHAR *message)
+{
+ // To avoid duplication of these const strings in OS.o.
+#if !defined (ACE_HAS_WINCE)
+ fprintf (stderr, "ace/OS.cpp, line %u: %s ",
+ line_number,
+ message);
+ perror ("failed");
+#else
+ // @@ Need to use the following information.
+ ACE_UNUSED_ARG (line_number);
+ ACE_UNUSED_ARG (message);
+
+ ACE_TCHAR *lpMsgBuf = 0;
+ ::FormatMessage (FORMAT_MESSAGE_ALLOCATE_BUFFER |
+ FORMAT_MESSAGE_FROM_SYSTEM,
+ NULL,
+ ::GetLastError (),
+ MAKELANGID (LANG_NEUTRAL,
+ SUBLANG_DEFAULT),
+ // Default language
+ (ACE_TCHAR *) &lpMsgBuf,
+ 0,
+ NULL);
+ ::MessageBox (NULL,
+ lpMsgBuf,
+ ACE_LIB_TEXT ("ACE_OS error"),
+ MB_OK);
+#endif
+}
+
+int
+ACE_OS_Object_Manager::starting_up (void)
+{
+ return ACE_OS_Object_Manager::instance_
+ ? instance_->starting_up_i ()
+ : 1;
+}
+
+int
+ACE_OS_Object_Manager::shutting_down (void)
+{
+ return ACE_OS_Object_Manager::instance_
+ ? instance_->shutting_down_i ()
+ : 1;
+}
+
+#if !defined (ACE_HAS_NONSTATIC_OBJECT_MANAGER)
+class ACE_OS_Object_Manager_Manager
+ // = TITLE
+ // Ensure that the <ACE_OS_Object_Manager> gets initialized at
+ // program startup, and destroyed at program termination.
+ //
+ // = DESCRIPTION
+ // Without ACE_HAS_NONSTATIC_OBJECT_MANAGER, a static instance of this
+ // class is created. Therefore, it gets created before main ()
+ // is called. And it gets destroyed after main () returns.
+{
+public:
+ ACE_OS_Object_Manager_Manager (void);
+ ~ACE_OS_Object_Manager_Manager (void);
+
+private:
+ ACE_thread_t saved_main_thread_id_;
+ // Save the main thread ID, so that destruction can be suppressed.
+};
+
+ACE_OS_Object_Manager_Manager::ACE_OS_Object_Manager_Manager (void)
+ : saved_main_thread_id_ (ACE_OS::thr_self ())
+{
+ // Ensure that the Object_Manager gets initialized before any
+ // application threads have been spawned. Because this will be called
+ // during construction of static objects, that should always be the
+ // case.
+ (void) ACE_OS_Object_Manager::instance ();
+}
+
+ACE_OS_Object_Manager_Manager::~ACE_OS_Object_Manager_Manager (void)
+{
+ if (ACE_OS::thr_equal (ACE_OS::thr_self (),
+ saved_main_thread_id_))
+ {
+ delete ACE_OS_Object_Manager::instance_;
+ ACE_OS_Object_Manager::instance_ = 0;
+ }
+ // else if this destructor is not called by the main thread, then do
+ // not delete the ACE_OS_Object_Manager. That causes problems, on
+ // WIN32 at least.
+}
+
+static ACE_OS_Object_Manager_Manager ACE_OS_Object_Manager_Manager_instance;
+#endif /* ! ACE_HAS_NONSTATIC_OBJECT_MANAGER */
diff --git a/ace/Object_Manager_Base.h b/ace/Object_Manager_Base.h
new file mode 100644
index 00000000000..c1eea9722a6
--- /dev/null
+++ b/ace/Object_Manager_Base.h
@@ -0,0 +1,363 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file Object_Manager_Base.h
+ *
+ * $Id$
+ *
+ * @author David L. Levine <levine@cs.wustl.edu>
+ * @author Matthias Kerkhoff
+ * @author and Per Andersson
+ */
+//=============================================================================
+
+#ifndef ACE_OBJECT_MANAGER_BASE_H
+#define ACE_OBJECT_MANAGER_BASE_H
+#include "ace/pre.h"
+
+#include "ace/config-all.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "ace/os_include/sys/types.h"
+#include "ace/os_include/signal.h"
+#include "ace/OS_Export.h"
+#include "ace/Global_Macros.h"
+
+//////////////////////////////////////////////////////////
+// This is used by Object Manager and classes scheduled for
+// cleanup. So you have to see both to use it (i.e. all singletons)
+
+// Signature for registering a cleanup function that is used by the
+// <ACE_Object_Manager> and the <ACE_Thread_Manager>.
+# if defined (ACE_HAS_SIG_C_FUNC)
+extern "C" {
+# endif /* ACE_HAS_SIG_C_FUNC */
+typedef void (*ACE_CLEANUP_FUNC)(void *object, void *param) /* throw () */;
+# if defined (ACE_HAS_SIG_C_FUNC)
+}
+# endif /* ACE_HAS_SIG_C_FUNC */
+
+/**
+ * @class ACE_Cleanup
+ *
+ * @brief Base class for objects that are cleaned by ACE_Object_Manager.
+ */
+class ACE_OS_Export ACE_Cleanup
+{
+public:
+ /// No-op constructor.
+ ACE_Cleanup (void);
+
+ /// Destructor.
+ virtual ~ACE_Cleanup (void);
+
+ /// Cleanup method that, by default, simply deletes itself.
+ virtual void cleanup (void *param = 0);
+};
+
+// Adapter for cleanup, used by ACE_Object_Manager.
+extern "C" ACE_OS_Export
+void ace_cleanup_destroyer (ACE_Cleanup *, void *param = 0);
+
+/**
+ * @class ACE_Cleanup_Info
+ *
+ * @brief Hold cleanup information for thread/process
+ */
+class ACE_OS_Export ACE_Cleanup_Info
+{
+public:
+ /// Default constructor.
+ ACE_Cleanup_Info (void);
+
+ /// Equality operator.
+ int operator== (const ACE_Cleanup_Info &o) const;
+
+ /// Inequality operator.
+ int operator!= (const ACE_Cleanup_Info &o) const;
+
+ /// Point to object that gets passed into the <cleanup_hook_>.
+ void *object_;
+
+ /// Cleanup hook that gets called back.
+ ACE_CLEANUP_FUNC cleanup_hook_;
+
+ /// Parameter passed to the <cleanup_hook_>.
+ void *param_;
+};
+
+class ACE_Cleanup_Info_Node;
+
+/**
+ * @class ACE_OS_Exit_Info
+ *
+ * @brief Hold Object Manager cleanup (exit) information.
+ *
+ * For internal use by the ACE library, only.
+ */
+class ACE_OS_Export ACE_OS_Exit_Info
+{
+public:
+ /// Default constructor.
+ ACE_OS_Exit_Info (void);
+
+ /// Destructor.
+ ~ACE_OS_Exit_Info (void);
+
+ /// Use to register a cleanup hook.
+ int at_exit_i (void *object, ACE_CLEANUP_FUNC cleanup_hook, void *param);
+
+ /// Look for a registered cleanup hook object. Returns 1 if already
+ /// registered, 0 if not.
+ int find (void *object);
+
+ /// Call all registered cleanup hooks, in reverse order of
+ /// registration.
+ void call_hooks ();
+
+private:
+ /**
+ * Keeps track of all registered objects. The last node is only
+ * used to terminate the list (it doesn't contain a valid
+ * ACE_Cleanup_Info).
+ */
+ ACE_Cleanup_Info_Node *registered_objects_;
+};
+//////////////////////////////////////////////////////////////////
+
+
+
+
+
+/**
+ * @class ACE_Object_Manager_Base
+ *
+ * @brief Base class for ACE_Object_Manager(s).
+ *
+ * Encapsulates the most useful ACE_Object_Manager data structures.
+ */
+class ACE_OS_Export ACE_Object_Manager_Base
+{
+# if (defined (ACE_PSOS) && defined (__DIAB)) || \
+ (defined (__DECCXX_VER) && __DECCXX_VER < 60000000)
+ // The Diab compiler got confused and complained about access rights
+ // if this section was protected (changing this to public makes it happy).
+ // Similarly, DEC CXX 5.6 needs the methods to be public.
+public:
+# else /* ! (ACE_PSOS && __DIAB) || ! __DECCXX_VER < 60000000 */
+protected:
+# endif /* ! (ACE_PSOS && __DIAB) || ! __DECCXX_VER < 60000000 */
+ /// Default constructor.
+ ACE_Object_Manager_Base (void);
+
+ /// Destructor.
+ virtual ~ACE_Object_Manager_Base (void);
+
+public:
+ /**
+ * Explicitly initialize. Returns 0 on success, -1 on failure due
+ * to dynamic allocation failure (in which case errno is set to
+ * ENOMEM), or 1 if it had already been called.
+ */
+ virtual int init (void) = 0;
+
+ /**
+ * Explicitly destroy. Returns 0 on success, -1 on failure because
+ * the number of fini () calls hasn't reached the number of init ()
+ * calls, or 1 if it had already been called.
+ */
+ virtual int fini (void) = 0;
+
+ enum Object_Manager_State
+ {
+ OBJ_MAN_UNINITIALIZED = 0,
+ OBJ_MAN_INITIALIZING,
+ OBJ_MAN_INITIALIZED,
+ OBJ_MAN_SHUTTING_DOWN,
+ OBJ_MAN_SHUT_DOWN
+ };
+
+protected:
+ /**
+ * Returns 1 before ACE_Object_Manager_Base has been constructed.
+ * This flag can be used to determine if the program is constructing
+ * static objects. If no static object spawns any threads, the
+ * program will be single-threaded when this flag returns 1. (Note
+ * that the program still might construct some static objects when
+ * this flag returns 0, if ACE_HAS_NONSTATIC_OBJECT_MANAGER is not
+ * defined.)
+ */
+ int starting_up_i (void);
+
+ /**
+ * Returns 1 after ACE_Object_Manager_Base has been destroyed. This
+ * flag can be used to determine if the program is in the midst of
+ * destroying static objects. (Note that the program might destroy
+ * some static objects before this flag can return 1, if
+ * ACE_HAS_NONSTATIC_OBJECT_MANAGER is not defined.)
+ */
+ int shutting_down_i (void);
+
+ /// State of the Object_Manager;
+ Object_Manager_State object_manager_state_;
+
+ /**
+ * Flag indicating whether the ACE_Object_Manager was dynamically
+ * allocated by ACE. (If is was dynamically allocated by the
+ * application, then the application is responsible for destroying
+ * it.)
+ */
+ u_int dynamically_allocated_;
+
+ /// Link to next Object_Manager, for chaining.
+ ACE_Object_Manager_Base *next_;
+private:
+ // Disallow copying by not implementing the following . . .
+ ACE_Object_Manager_Base (const ACE_Object_Manager_Base &);
+ ACE_Object_Manager_Base &operator= (const ACE_Object_Manager_Base &);
+};
+
+
+// @@ This forward declaration should go away.
+class ACE_Log_Msg;
+class ACE_OS;
+class ACE_Object_Manager;
+class ACE_OS_Object_Manager_Manager;
+class ACE_TSS_Cleanup;
+class ACE_TSS_Emulation;
+class ACE_Log_Msg;
+class ACE_Thread_Hook;
+//void ACE_OS_Object_Manager_Internal_Exit_Hook ();
+
+extern "C"
+void
+ACE_OS_Object_Manager_Internal_Exit_Hook (void);
+
+
+
+class ACE_OS_Export ACE_OS_Object_Manager : public ACE_Object_Manager_Base
+{
+public:
+ /// Explicitly initialize.
+ virtual int init (void);
+
+ /// Explicitly destroy.
+ virtual int fini (void);
+
+ /**
+ * Returns 1 before the <ACE_OS_Object_Manager> has been
+ * constructed. See <ACE_Object_Manager::starting_up> for more
+ * information.
+ */
+ static int starting_up (void);
+
+ /// Returns 1 after the <ACE_OS_Object_Manager> has been destroyed.
+ /// See <ACE_Object_Manager::shutting_down> for more information.
+ static int shutting_down (void);
+
+ /// Unique identifiers for preallocated objects.
+ enum Preallocated_Object
+ {
+# if defined (ACE_MT_SAFE) && (ACE_MT_SAFE != 0)
+ ACE_OS_MONITOR_LOCK,
+ ACE_TSS_CLEANUP_LOCK,
+ ACE_LOG_MSG_INSTANCE_LOCK,
+# if defined (ACE_HAS_TSS_EMULATION)
+ ACE_TSS_KEY_LOCK,
+# if defined (ACE_HAS_THREAD_SPECIFIC_STORAGE)
+ ACE_TSS_BASE_LOCK,
+# endif /* ACE_HAS_THREAD_SPECIFIC_STORAGE */
+# endif /* ACE_HAS_TSS_EMULATION */
+# else
+ // Without ACE_MT_SAFE, There are no preallocated objects. Make
+ // sure that the preallocated_array size is at least one by
+ // declaring this dummy . . .
+ ACE_OS_EMPTY_PREALLOCATED_OBJECT,
+# endif /* ACE_MT_SAFE */
+
+ /// This enum value must be last!
+ ACE_OS_PREALLOCATED_OBJECTS
+ };
+
+ /// Accesses a default signal set used, for example, in
+ /// <ACE_Sig_Guard> methods.
+ static sigset_t *default_mask (void);
+
+ /// Returns the current thread hook for the process.
+ static ACE_Thread_Hook *thread_hook (void);
+
+ /// Returns the existing thread hook and assign a <new_thread_hook>.
+ static ACE_Thread_Hook *thread_hook (ACE_Thread_Hook *new_thread_hook);
+
+# if defined (ACE_HAS_WIN32_STRUCTURAL_EXCEPTIONS)
+ /// Get/Set TSS exception action.
+ static ACE_SEH_EXCEPT_HANDLER seh_except_selector (void);
+ static ACE_SEH_EXCEPT_HANDLER seh_except_selector (ACE_SEH_EXCEPT_HANDLER);
+
+ static ACE_SEH_EXCEPT_HANDLER seh_except_handler (void);
+ static ACE_SEH_EXCEPT_HANDLER seh_except_handler (ACE_SEH_EXCEPT_HANDLER);
+# endif /* ACE_HAS_WIN32_STRUCTURAL_EXCEPTIONS */
+
+public:
+ // = Applications shouldn't use these so they're hidden here.
+
+ // They're public so that the <ACE_Object_Manager> can be
+ // constructed/destructed in <main> with
+ // <ACE_HAS_NONSTATIC_OBJECT_MANAGER>.
+ /// Constructor.
+ ACE_OS_Object_Manager (void);
+
+ /// Destructor.
+ ~ACE_OS_Object_Manager (void);
+
+private:
+ /// Accessor to singleton instance.
+ static ACE_OS_Object_Manager *instance (void);
+
+ /// Singleton instance pointer.
+ static ACE_OS_Object_Manager *instance_;
+
+ /// Table of preallocated objects.
+ static void *preallocated_object[ACE_OS_PREALLOCATED_OBJECTS];
+
+ /// Default signal set used, for example, in ACE_Sig_Guard.
+ sigset_t *default_mask_;
+
+ /// Thread hook that's used by this process.
+ ACE_Thread_Hook *thread_hook_;
+
+ /// For at_exit support.
+ ACE_OS_Exit_Info exit_info_;
+
+# if defined (ACE_HAS_WIN32_STRUCTURAL_EXCEPTIONS)
+ /// These handlers determine how a thread handles win32 structured
+ /// exception.
+ ACE_SEH_EXCEPT_HANDLER seh_except_selector_;
+ ACE_SEH_EXCEPT_HANDLER seh_except_handler_;
+# endif /* ACE_HAS_WIN32_STRUCTURAL_EXCEPTIONS */
+
+ /// For <ACE_OS::atexit> support.
+ int at_exit (ACE_EXIT_HOOK func);
+
+ /// For use by init () and fini (), to consolidate error reporting.
+ static void print_error_message (u_int line_number, const ACE_TCHAR *message);
+
+ /// This class is for internal use by ACE_OS, etc., only.
+ friend class ACE_OS;
+ friend class ACE_Object_Manager;
+ friend class ACE_OS_Object_Manager_Manager;
+ friend class ACE_TSS_Cleanup;
+ friend class ACE_TSS_Emulation;
+ friend class ACE_Log_Msg;
+ friend void ACE_OS_Object_Manager_Internal_Exit_Hook ();
+};
+////////////////////////////////////////////////////////////////////////////////
+
+
+
+#include "ace/post.h"
+#endif /* ACE_OBJECT_MANAGER_BASE_H */
diff --git a/ace/os_include/aio.h b/ace/os_include/aio.h
new file mode 100644
index 00000000000..f2902ba3c67
--- /dev/null
+++ b/ace/os_include/aio.h
@@ -0,0 +1,32 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file aio.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_AIO_H
+# define ACE_OS_INCLUDE_AIO_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+# if !defined (ACE_LACKS_AIO_H)
+# include /**/ <aio.h>
+# endif /* ACE_LACKS_AIO_H */
+
+# if !defined (_SC_AIO_MAX)
+# define _SC_AIO_MAX 1
+# endif /* _SC_AIO_MAX */
+
+# endif /* ACE_OS_INCLUDE_AIO_H */
diff --git a/ace/os_include/assert.h b/ace/os_include/assert.h
new file mode 100644
index 00000000000..1e071a0267c
--- /dev/null
+++ b/ace/os_include/assert.h
@@ -0,0 +1,29 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file assert.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_ASSERT_H
+# define ACE_OS_INCLUDE_ASSERT_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+// Only include if platform/compiler provide the header.
+# if !defined (ACE_LACKS_ASSERT_H)
+# include /**/ <assert.h>
+# endif /* !ACE_LACKS_ASSERT_H */
+
+#endif /* ACE_OS_INCLUDE_ASSERT_H */
diff --git a/ace/os_include/ctype.h b/ace/os_include/ctype.h
new file mode 100644
index 00000000000..e9ca875ac2a
--- /dev/null
+++ b/ace/os_include/ctype.h
@@ -0,0 +1,28 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file ctype.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_CTYPE_H
+# define ACE_OS_INCLUDE_CTYPE_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+# if !defined (ACE_LACKS_CTYPE_H)
+# include /**/ <ctype.h>
+# endif /* !ACE_LACKS_CTYPE_H */
+
+#endif /* ACE_OS_INCLUDE_CTYPE_H */
diff --git a/ace/os_include/dirent.h b/ace/os_include/dirent.h
new file mode 100644
index 00000000000..ade5e2fe778
--- /dev/null
+++ b/ace/os_include/dirent.h
@@ -0,0 +1,38 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file dirent.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_DIRENT_H
+# define ACE_OS_INCLUDE_DIRENT_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "ace/os_include/sys/types.h"
+#include "ace/os_include/unistd.h"
+
+# if !defined (ACE_LACKS_DIRENT_H)
+# include /**/ <dirent.h>
+# endif /* ACE_LACKS_DIRENT_H */
+
+# if !defined (MAXNAMLEN)
+# if !defined (ACE_MAXNAMLEN)
+# define ACE_MAXNAMLEN 255
+# endif /* !ACE_MAXNAMELEN */
+# define MAXNAMLEN ACE_MAXNAMLEN
+# endif /* !MAXNAMLEN */
+
+#endif /* ACE_OS_INCLUDE_DIRENT_H */
diff --git a/ace/os_include/dlfcn.h b/ace/os_include/dlfcn.h
new file mode 100644
index 00000000000..a23135905ce
--- /dev/null
+++ b/ace/os_include/dlfcn.h
@@ -0,0 +1,81 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file dlfcn.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_DLFCN_H
+# define ACE_OS_INCLUDE_DLFCN_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+/* Set the proper handle type for dynamically-loaded libraries. */
+/* Also define a default 'mode' for loading a library - the names and values */
+/* differ between OSes, so if you write code that uses the mode, be careful */
+/* of the platform differences. */
+# if defined (ACE_HAS_SVR4_DYNAMIC_LINKING)
+
+# if defined (ACE_HAS_DLFCN_H_BROKEN_EXTERN_C)
+extern "C" {
+# endif /* ACE_HAS_DLFCN_H_BROKEN_EXTERN_C */
+# include /**/ <dlfcn.h>
+# if defined (ACE_HAS_DLFCN_H_BROKEN_EXTERN_C)
+}
+# endif /* ACE_HAS_DLFCN_H_BROKEN_EXTERN_C */
+ typedef void *ACE_SHLIB_HANDLE;
+# define ACE_SHLIB_INVALID_HANDLE 0
+# if defined (__KCC) && defined(RTLD_GROUP) && defined(RTLD_NODELETE)
+# define ACE_DEFAULT_SHLIB_MODE RTLD_LAZY | RTLD_GROUP | RTLD_NODELETE
+# else
+# define ACE_DEFAULT_SHLIB_MODE RTLD_LAZY
+# endif /* KCC */
+
+# elif defined (__hpux)
+# if defined(__GNUC__) || __cplusplus >= 199707L
+# include /**/ <dl.h>
+# else
+# include /**/ <cxxdl.h>
+# endif /* (g++ || HP aC++) vs. HP C++ */
+ typedef shl_t ACE_SHLIB_HANDLE;
+# define ACE_SHLIB_INVALID_HANDLE 0
+# define ACE_DEFAULT_SHLIB_MODE BIND_DEFERRED
+
+# elif defined (ACE_WIN32)
+ // Dynamic loading-related types - used for dlopen and family.
+ typedef HINSTANCE ACE_SHLIB_HANDLE;
+# define ACE_SHLIB_INVALID_HANDLE 0
+# define ACE_DEFAULT_SHLIB_MODE 0
+
+# else
+ typedef void *ACE_SHLIB_HANDLE;
+# define ACE_SHLIB_INVALID_HANDLE 0
+# define ACE_DEFAULT_SHLIB_MODE RTLD_LAZY
+
+# endif /* ACE_HAS_SVR4_DYNAMIC_LINKING */
+
+
+# if !defined (RTLD_LAZY)
+# define RTLD_LAZY 1
+# endif /* !RTLD_LAZY */
+
+# if !defined (RTLD_NOW)
+# define RTLD_NOW 2
+# endif /* !RTLD_NOW */
+
+# if !defined (RTLD_GLOBAL)
+# define RTLD_GLOBAL 3
+# endif /* !RTLD_GLOBAL */
+
+#endif /* ACE_OS_INCLUDE_DLFCN_H */
diff --git a/ace/os_include/errno.h b/ace/os_include/errno.h
new file mode 100644
index 00000000000..7316b9b8497
--- /dev/null
+++ b/ace/os_include/errno.h
@@ -0,0 +1,93 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file errno.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_ERRNO_H
+# define ACE_OS_INCLUDE_ERRNO_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+# if !defined (ACE_LACKS_ERRNO_H)
+# include /**/ <errno.h>
+# endif /* ACE_HAS_WINCE */
+
+// This only seems to be defined in config-aix-4.x.h, and is never used.
+# if defined (ACE_HAS_H_ERRNO)
+void herror (const char *str);
+# endif /* ACE_HAS_H_ERRNO */
+
+# if defined (ACE_LACKS_T_ERRNO)
+extern int t_errno;
+# endif /* ACE_LACKS_T_ERRNO */
+
+# if ! (defined(__BORLANDC__) && __BORLANDC__ >= 0x0530) \
+ && !defined(__MINGW32__)
+# if defined (__FreeBSD__) || defined(__QNX__)
+extern const int sys_nerr;
+# elif defined (__CYGWIN32__) || defined (ACE_WIN32)
+# define sys_nerr _sys_nerr
+# else
+extern int sys_nerr;
+# endif /* !__FreeBSD__ && !__QNX__ */
+# endif /* ! (defined(__BORLANDC__) && __BORLANDC__ >= 0x0530) */
+
+# if !defined (ENOSYS)
+# define ENOSYS EFAULT /* Operation not supported or unknown error. */
+# endif /* !ENOSYS */
+
+# if !defined (ENOTSUP)
+# define ENOTSUP ENOSYS /* Operation not supported. */
+# endif /* !ENOTSUP */
+
+# if !defined (ESUCCESS)
+# define ESUCCESS 0
+# endif /* !ESUCCESS */
+
+# if !defined (EIDRM)
+# define EIDRM 0
+# endif /* !EIDRM */
+
+# if !defined (ENFILE)
+# define ENFILE EMFILE /* No more socket descriptors are available. */
+# endif /* !ENOSYS */
+
+# if !defined (ECOMM)
+ // Not the same, but ECONNABORTED is provided on NT.
+# define ECOMM ECONNABORTED
+# endif /* ECOMM */
+
+# if !defined (WNOHANG)
+# define WNOHANG 0100
+# endif /* !WNOHANG */
+
+# if !defined (EDEADLK)
+# define EDEADLK 1000 /* Some large number.... */
+# endif /* !EDEADLK */
+
+# if !defined (ETIMEDOUT) && defined (ETIME)
+# define ETIMEDOUT ETIME
+# endif /* ETIMEDOUT */
+
+# if !defined (ETIME) && defined (ETIMEDOUT)
+# define ETIME ETIMEDOUT
+# endif /* ETIMED */
+
+# if !defined (EBUSY)
+# define EBUSY ETIME
+# endif /* EBUSY */
+
+#endif /* ACE_OS_INCLUDE_ERRNO_H */
diff --git a/ace/os_include/fcntl.h b/ace/os_include/fcntl.h
new file mode 100644
index 00000000000..1a3a5d0d9d9
--- /dev/null
+++ b/ace/os_include/fcntl.h
@@ -0,0 +1,106 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file fctnl.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_FCNTL_H
+# define ACE_OS_INCLUDE_FCNTL_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+# include "ace/os_include/sys/types.h"
+
+// Only include if platform/compiler provide the header.
+# if !defined (ACE_LACKS_FCNTL_H)
+# include /**/ <fcntl.h>
+# endif /* !ACE_LACKS_FCNTL_H */
+
+// Include additional/alternate headers for certain platfor/compiler combinations.
+# if defined (ACE_NEEDS_SYS_FCNTL_H)
+# include /**/ <sys/fcntl.h>
+# endif /* ACE_NEEDS_SYS_FCNTL_H) */
+
+// defined Win32 specific macros for UNIX platforms
+# if !defined (O_BINARY)
+# define O_BINARY 0
+# endif /* O_BINARY */
+# if !defined (_O_BINARY)
+# define _O_BINARY O_BINARY
+# endif /* _O_BINARY */
+# if !defined (O_TEXT)
+# define O_TEXT 0
+# endif /* O_TEXT */
+# if !defined (_O_TEXT)
+# define _O_TEXT O_TEXT
+# endif /* _O_TEXT */
+# if !defined (O_RAW)
+# define O_RAW 0
+# endif /* O_RAW */
+# if !defined (_O_RAW)
+# define _O_RAW O_RAW
+# endif /* _O_RAW */
+
+# if !defined (O_NONBLOCK)
+# define O_NONBLOCK 1
+# endif /* O_NONBLOCK */
+
+# if defined (ACE_HAS_POSIX_NONBLOCK)
+# define ACE_NONBLOCK O_NONBLOCK
+# else
+# define ACE_NONBLOCK O_NDELAY
+# endif /* ACE_HAS_POSIX_NONBLOCK */
+
+# if defined (ACE_LACKS_FILELOCKS)
+# if ! defined (VXWORKS) && ! defined (ACE_PSOS) && ! defined (__rtems__)
+// VxWorks defines struct flock in sys/fcntlcom.h. But it doesn't
+// appear to support flock (). RTEMS defines struct flock but
+// currently does not support locking.
+struct flock
+{
+ short l_type;
+ short l_whence;
+ off_t l_start;
+ off_t l_len; /* len == 0 means until end of file */
+ long l_sysid;
+ pid_t l_pid;
+ long l_pad[4]; /* reserve area */
+};
+# endif /* ! VXWORKS */
+# endif /* ACE_LACKS_FILELOCKS */
+
+
+struct ace_flock_t
+{
+# if defined (ACE_WIN32)
+ ACE_OVERLAPPED overlapped_;
+# else
+ struct flock lock_;
+# endif /* ACE_WIN32 */
+
+ /// Name of this filelock.
+ const ACE_TCHAR *lockname_;
+
+ /// Handle to the underlying file.
+ ACE_HANDLE handle_;
+
+# if defined (CHORUS)
+ /// This is the mutex that's stored in shared memory. It can only
+ /// be destroyed by the actor that initialized it.
+ ACE_mutex_t *process_lock_;
+# endif /* CHORUS */
+};
+
+#endif /* ACE_OS_INCLUDE_FCNTL_H */
diff --git a/ace/os_include/limits.h b/ace/os_include/limits.h
new file mode 100644
index 00000000000..4f71ba0992a
--- /dev/null
+++ b/ace/os_include/limits.h
@@ -0,0 +1,60 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file limits.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_LIMITS_H
+# define ACE_OS_INCLUDE_LIMITS_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+# if !defined (ACE_LACKS_LIMITS_H)
+# include /**/ <limits.h>
+# endif /* ACE_LACKS_LIMITS_H */
+
+// If we still have a problem with this, it can be put in a new
+// file, e.g., ace_xopen_lim.h, that can be included by both ace_stdio.h
+// and ace_limits.h
+// This is defined by XOPEN to be a minimum of 16. POSIX.1g
+// also defines this value. platform-specific config.h can
+// override this if need be.
+# if !defined (IOV_MAX)
+# define IOV_MAX 16
+# endif /* IOV_MAX */
+
+# if !defined (ACE_IOV_MAX)
+# define ACE_IOV_MAX IOV_MAX
+# endif /* ACE_IOV_MAX */
+
+// Need this before MAXNAMELEN--does it belong here?
+#include "ace/os_include/sys/param.h"
+
+# if !defined (MAXNAMELEN)
+# if !defined (ACE_MAXNAMELEN)
+# if defined (FILENAME_MAX)
+# define ACE_MAXNAMELEN FILENAME_MAX
+# else
+# define ACE_MAXNAMELEN 256
+# endif /* FILENAME_MAX */
+# endif /* ACE_MAXNAMELEN */
+# define MAXNAMELEN ACE_MAXNAMELEN
+# endif /* MAXNAMELEN */
+
+# if !defined (PIPE_BUF)
+# define PIPE_BUF 5120
+# endif /* PIPE_BUF */
+
+#endif /* ACE_OS_INCLUDELIMITS_H */
diff --git a/ace/os_include/netinet/in.h b/ace/os_include/netinet/in.h
new file mode 100644
index 00000000000..fbb65e46377
--- /dev/null
+++ b/ace/os_include/netinet/in.h
@@ -0,0 +1,66 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file in.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_NETINET_IN_H
+# define ACE_OS_INCLUDE_NETINET_IN_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+// Only include if platform/compiler provide the header.
+# if !defined (ACE_LACKS_NETINET_IN_H)
+# include /**/ <netinet/in.h>
+# endif /* !ACE_LACKS_NETINET_IN_H */
+
+# if !defined (IP_DROP_MEMBERSHIP)
+# define IP_DROP_MEMBERSHIP 0
+# endif /* IP_DROP_MEMBERSHIP */
+
+# if !defined (IP_ADD_MEMBERSHIP)
+# define IP_ADD_MEMBERSHIP 0
+# define ACE_LACKS_IP_ADD_MEMBERSHIP
+# endif /* IP_ADD_MEMBERSHIP */
+
+# if !defined (IP_DEFAULT_MULTICAST_TTL)
+# define IP_DEFAULT_MULTICAST_TTL 0
+# endif /* IP_DEFAULT_MULTICAST_TTL */
+
+# if !defined (IP_DEFAULT_MULTICAST_LOOP)
+# define IP_DEFAULT_MULTICAST_LOOP 0
+# endif /* IP_DEFAULT_MULTICAST_LOOP */
+
+# if !defined (IP_MULTICAST_IF)
+# define IP_MULTICAST_IF 0
+# endif /* IP_MULTICAST_IF */
+
+# if !defined (IP_MULTICAST_TTL)
+# define IP_MULTICAST_TTL 1
+# endif /* IP_MULTICAST_TTL */
+
+# if !defined (IP_MAX_MEMBERSHIPS)
+# define IP_MAX_MEMBERSHIPS 0
+# endif /* IP_MAX_MEMBERSHIP */
+
+# if !defined (SIOCGIFBRDADDR)
+# define SIOCGIFBRDADDR 0
+# endif /* SIOCGIFBRDADDR */
+
+# if !defined (SIOCGIFADDR)
+# define SIOCGIFADDR 0
+# endif /* SIOCGIFADDR */
+
+#endif /* ACE_OS_INCLUDE_NETINET_IN_H */
diff --git a/ace/os_include/new.h b/ace/os_include/new.h
new file mode 100644
index 00000000000..dd6349ff4e4
--- /dev/null
+++ b/ace/os_include/new.h
@@ -0,0 +1,32 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file new.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_NEW_H
+# define ACE_OS_INCLUDE_NEW_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+# if !defined (ACE_LACKS_NEW_H)
+# if defined (ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB)
+# include /**/ <new>
+# else
+# include /**/ <new.h>
+# endif /* ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB */
+# endif /* ! ACE_LACKS_NEW_H */
+
+#endif /* ACE_OS_INCLUDE_NEW_H */
diff --git a/ace/os_include/poll.h b/ace/os_include/poll.h
new file mode 100644
index 00000000000..a4485d28099
--- /dev/null
+++ b/ace/os_include/poll.h
@@ -0,0 +1,29 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file poll.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_POLL_H
+# define ACE_OS_INCLUDE_POLL_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+// Only include if platform/compiler provide the header.
+# if !defined (ACE_LACKS_POLL_H)
+# include /**/ <poll.h>
+# endif /* !ACE_LACKS_POLL_H */
+
+#endif /* ACE_OS_INCLUDE_POLL_H */
diff --git a/ace/os_include/psos.h b/ace/os_include/psos.h
new file mode 100644
index 00000000000..97c398436e7
--- /dev/null
+++ b/ace/os_include/psos.h
@@ -0,0 +1,567 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file psos.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_PSOS_H
+# define ACE_OS_INCLUDE_PSOS_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+// @todo: Integrate all this into the regular system include wrappers
+// and get rid of this file..
+
+# if defined (ACE_PSOS_SNARFS_HEADER_INFO)
+ // Header information snarfed from compiler provided header files
+ // that are not included because there is already an identically
+ // named file provided with pSOS, which does not have this info
+ // from compiler supplied stdio.h
+ extern FILE *fdopen(int, const char *);
+ extern int getopt(int, char *const *, const char *);
+ extern char *tempnam(const char *, const char *);
+ extern "C" int fileno(FILE *);
+
+// #define fileno(stream) ((stream)->_file)
+
+ // from compiler supplied string.h
+ extern char *strdup (const char *);
+
+ // from compiler supplied stat.h
+ extern mode_t umask (mode_t);
+ extern int mkfifo (const char *, mode_t);
+ extern int mkdir (const char *, mode_t);
+
+ // from compiler supplied stdlib.h
+ extern int putenv (char *);
+
+ int isatty (int h);
+
+# endif /* ACE_PSOS_SNARFS_HEADER_INFO */
+
+
+# if defined (ACE_PSOS)
+// Some versions of pSOS do not define error numbers, but newer
+// versions do. So, include errno.h and then see which ones are not
+// yet defined.
+# if !defined (EPERM)
+# define EPERM 1 /* Not super-user */
+# endif /* EPERM */
+# if !defined (ENOENT)
+# define ENOENT 2 /* No such file or directory */
+# endif /* ENOENT */
+# if !defined (ESRCH)
+# define ESRCH 3 /* No such process */
+# endif /* ESRCH */
+# if ! defined (EINTR)
+# define EINTR 4 /* interrupted system call */
+# endif /* EINTR */
+# if !defined (EBADF)
+# define EBADF 9 /* Bad file number */
+# endif /* EBADF */
+# if !defined (EAGAIN)
+# define EAGAIN 11 /* Resource temporarily unavailable */
+# endif /* EAGAIN */
+# if !defined (EWOULDBLOCK)
+# define EWOULDBLOCK EAGAIN /* Blocking resource request would block */
+# endif /* EWOULDBLOCK */
+# if !defined (ENOMEM)
+# define ENOMEM 12 /* Not enough core */
+# endif /* ENOMEM */
+# if !defined (EACCESS)
+# define EACCESS 13 /* Permission denied */
+# endif /* EACCESS */
+# if !defined (EFAULT)
+# define EFAULT 14 /* Bad access */
+# endif /* EFAULT */
+# if !defined (EEXIST)
+# define EEXIST 17 /* File exists */
+# endif /* EEXIST */
+# if !defined (ENOSPC)
+# define ENOSPC 28 /* No space left on device */
+# endif /* ENOSPC */
+# if !defined (EPIPE)
+# define EPIPE 32 /* Broken pipe */
+# endif /* EPIPE */
+# if !defined (ETIME)
+# define ETIME 62 /* timer expired */
+# endif /* ETIME */
+# if !defined (ENAMETOOLONG)
+# define ENAMETOOLONG 78 /* path name is too long */
+# endif /* ENAMETOOLONG */
+# if !defined (ENOSYS)
+# define ENOSYS 89 /* Unsupported file system operation */
+# endif /* ENOSYS */
+# if !defined (EADDRINUSE)
+# define EADDRINUSE 125 /* Address already in use */
+# endif /* EADDRINUSE */
+# if !defined (ENETUNREACH)
+# define ENETUNREACH 128 /* Network is unreachable */
+# endif /* ENETUNREACH */
+# if !defined (EISCONN)
+# define EISCONN 133 /* Socket is already connected */
+# endif /* EISCONN */
+# if !defined (ESHUTDOWN)
+# define ESHUTDOWN 143 /* Can't send after socket shutdown */
+# endif /* ESHUTDOWN */
+# if !defined (ECONNREFUSED)
+# define ECONNREFUSED 146 /* Connection refused */
+# endif /* ECONNREFUSED */
+# if !defined (EINPROGRESS)
+# define EINPROGRESS 150 /* operation now in progress */
+# endif /* EINPROGRESS */
+# if !defined (ERRMAX)
+# define ERRMAX 151 /* Last error number */
+# endif /* ERRMAX */
+# endif /* ACE_PSOS */
+
+
+
+# if defined (ACE_PSOS)
+
+// Wrapper for NT events on pSOS.
+class ACE_OS_Export ACE_event_t
+{
+ friend class ACE_OS;
+
+protected:
+
+ /// Protect critical section.
+ ACE_mutex_t lock_;
+
+ /// Keeps track of waiters.
+ ACE_cond_t condition_;
+
+ /// Specifies if this is an auto- or manual-reset event.
+ int manual_reset_;
+
+ /// "True" if signaled.
+ int is_signaled_;
+
+ /// Number of waiting threads.
+ u_long waiting_threads_;
+};
+
+# endif /* ACE_PSOS */
+
+
+
+# if defined (ACE_PSOS)
+
+# if defined (ACE_PSOSIM)
+
+# include /**/ "ace/sys_conf.h" /* system configuration file */
+# include /**/ <psos.h> /* pSOS+ system calls */
+# include /**/ <pna.h> /* pNA+ TCP/IP Network Manager calls */
+
+ /* In the *simulator* environment, use unsigned int for size_t */
+# define size_t unsigned int
+
+
+ /* include <rpc.h> pRPC+ Remote Procedure Call Library calls */
+ /* are not supported by pSOSim */
+ /* */
+ /* include <phile.h> pHILE+ file system calls are not supported */
+ /* by pSOSim *so*, for the time being, we make */
+ /* use of UNIX file system headers and then */
+ /* when we have time, we wrap UNIX file system */
+ /* calls w/ pHILE+ wrappers, and modify ACE to */
+ /* use the wrappers under pSOSim */
+
+ /* put includes for necessary UNIX file system calls here */
+# include /**/ <sys/stat.h>
+# include /**/ <sys/ioctl.h>
+# include /**/ <sys/sockio.h>
+# include /**/ <netinet/tcp.h>
+
+# define TCP_
+# if ! defined (BUFSIZ)
+# define BUFSIZ 1024
+# endif /* ! defined (BUFSIZ) */
+
+
+# else
+
+# if defined (ACE_PSOS_CANT_USE_SYS_TYPES)
+ // these are missing from the pSOS types.h file, and the compiler
+ // supplied types.h file collides with the pSOS version.
+# if !defined (ACE_SHOULD_NOT_DEFINE_SYS_TYPES)
+ typedef unsigned char u_char;
+ typedef unsigned short u_short;
+# endif /* ACE_SHOULD_NOT_DEFINE_SYS_TYPES */
+ typedef unsigned int u_int;
+# if !defined (ACE_SHOULD_NOT_DEFINE_SYS_TYPES)
+ typedef unsigned long u_long;
+# endif /* ACE_SHOULD_NOT_DEFINE_SYS_TYPES */
+
+ // These are defined in types.h included by (among others) pna.h
+# if 0
+ typedef unsigned char uchar_t;
+ typedef unsigned short ushort_t;
+ typedef unsigned int uint_t;
+ typedef unsigned long ulong_t;
+# endif /* 0 */
+ typedef char * caddr_t;
+
+# if defined (ACE_PSOS_DIAB_PPC)
+ // pid_t is defined in sys/types.h
+# if 0
+ typedef unsigned long pid_t;
+# endif /* 0 */
+# define ACE_INVALID_PID ((pid_t) ~0)
+# else /* !defined (ACE_PSOS_DIAB_PPC) */
+ typedef long pid_t;
+# define ACE_INVALID_PID ((pid_t) -1)
+# endif /* defined (ACE_PSOS_DIAB_PPC) */
+
+// typedef unsigned char wchar_t;
+# endif /* ACE_PSOS_CANT_USE_SYS_TYPES */
+
+# include /**/ "ace/sys_conf.h" /* system configuration file */
+# include /**/ <configs.h> /* includes all pSOS headers */
+// #include /**/ <psos.h> /* pSOS system calls */
+# include /**/ <pna.h> /* pNA+ TCP/IP Network Manager calls */
+# include /**/ <phile.h> /* pHILE+ file system calls */
+// #include /**/ <prepccfg.h> /* pREPC+ file system calls */
+# if defined (ACE_PSOS_DIAB_MIPS)
+# if defined (ACE_PSOS_USES_DIAB_SYS_CALLS)
+# include /**/ <unistd.h> /* Diab Data supplied file system calls */
+# else
+# include /**/ <prepc.h>
+# endif /* ACE_PSOS_USES_DIAB_SYS_CALLS */
+# include /**/ <sys/wait.h> /* Diab Data supplied header file */
+# endif /* ACE_PSOS_DIAB_MIPS */
+
+// This collides with phile.h
+// #include /**/ <sys/stat.h> /* Diab Data supplied header file */
+
+// Some versions have missing preprocessor definitions
+# if !defined (AF_UNIX)
+# define AF_UNIX 0x1
+# endif /* AF_UNIX */
+# define PF_UNIX AF_UNIX
+# define PF_INET AF_INET
+# if !defined (AF_MAX)
+# define AF_MAX AF_INET
+# endif /* AF_MAX */
+# if !defined (IFF_LOOPBACK)
+# define IFF_LOOPBACK IFF_EXTLOOPBACK
+# endif /* IFF_LOOPBACK */
+
+ typedef long fd_mask;
+# define IPPORT_RESERVED 1024
+# define IPPORT_USERRESERVED 5000
+
+ extern "C"
+ {
+ typedef void (* ACE_SignalHandler) (void);
+ typedef void (* ACE_SignalHandlerV) (void);
+ }
+
+# if !defined(SIG_DFL)
+# define SIG_DFL (ACE_SignalHandler) 0
+# endif /* philabs */
+
+# endif /* defined (ACE_PSOSIM) */
+
+
+# if ! defined (NSIG)
+# define NSIG 32
+# endif /* NSIG */
+
+# if ! defined (TCP_NODELAY)
+# define TCP_NODELAY 1
+# endif /* TCP_NODELAY */
+
+// For general purpose portability
+
+# define ACE_BITS_PER_ULONG (8 * sizeof (u_long))
+
+typedef u_long ACE_idtype_t;
+typedef u_long ACE_id_t;
+# define ACE_SELF (0)
+typedef u_long ACE_pri_t;
+
+// pHILE+ calls the DIR struct XDIR instead
+# if !defined (ACE_PSOS_DIAB_PPC)
+typedef XDIR ACE_DIR;
+# endif /* !defined (ACE_PSOS_DIAB_PPC) */
+
+// Use pSOS semaphores, wrapped . . .
+typedef struct
+{
+ u_long sema_;
+ // Semaphore handle. This is allocated by pSOS.
+
+ char name_[4];
+ // Name of the semaphore: really a 32 bit number to pSOS
+} ACE_sema_t;
+
+// Used for dynamic linking.
+# if !defined (ACE_DEFAULT_SVC_CONF)
+# define ACE_DEFAULT_SVC_CONF "./svc.conf"
+# endif /* ACE_DEFAULT_SVC_CONF */
+
+# if !defined (ACE_DEFAULT_SEM_KEY)
+# define ACE_DEFAULT_SEM_KEY 1234
+# endif /* ACE_DEFAULT_SEM_KEY */
+
+# define ACE_STDIN 0
+# define ACE_STDOUT 1
+# define ACE_STDERR 2
+
+# define ACE_DIRECTORY_SEPARATOR_STR_A "/"
+# define ACE_DIRECTORY_SEPARATOR_CHAR_A '/'
+# define ACE_PLATFORM_A "pSOS"
+# define ACE_PLATFORM_EXE_SUFFIX_A ""
+
+# define ACE_DLL_SUFFIX ACE_LIB_TEXT (".so")
+# define ACE_DLL_PREFIX ACE_LIB_TEXT ("lib")
+# define ACE_LD_SEARCH_PATH ACE_LIB_TEXT ("LD_LIBRARY_PATH")
+# define ACE_LD_SEARCH_PATH_SEPARATOR_STR ACE_LIB_TEXT (":")
+# define ACE_LOGGER_KEY ACE_LIB_TEXT ("/tmp/server_daemon")
+
+# define ACE_MAX_DEFAULT_PORT 65535
+
+# if ! defined(MAXPATHLEN)
+# define MAXPATHLEN 1024
+# endif /* MAXPATHLEN */
+
+# if ! defined(MAXNAMLEN)
+# define MAXNAMLEN 255
+# endif /* MAXNAMLEN */
+
+# if defined (ACE_LACKS_MMAP)
+# define PROT_READ 0
+# define PROT_WRITE 0
+# define PROT_EXEC 0
+# define PROT_NONE 0
+# define PROT_RDWR 0
+# define MAP_PRIVATE 0
+# define MAP_SHARED 0
+# define MAP_FIXED 0
+# endif /* ACE_LACKS_MMAP */
+
+
+typedef int ACE_exitcode;
+
+typedef ACE_HANDLE ACE_SHLIB_HANDLE;
+# define ACE_SHLIB_INVALID_HANDLE ACE_INVALID_HANDLE
+# define ACE_DEFAULT_SHLIB_MODE 0
+
+# define ACE_INVALID_SEM_KEY -1
+
+struct hostent {
+ char *h_name; /* official name of host */
+ char **h_aliases; /* alias list */
+ int h_addrtype; /* host address type */
+ int h_length; /* address length */
+ char **h_addr_list; /* (first, only) address from name server */
+# define h_addr h_addr_list[0] /* the first address */
+};
+
+struct servent {
+ char *s_name; /* official service name */
+ char **s_aliases; /* alias list */
+ int s_port; /* port # */
+ char *s_proto; /* protocol to use */
+};
+
+# define ACE_SEH_TRY if (1)
+# define ACE_SEH_EXCEPT(X) while (0)
+# define ACE_SEH_FINALLY if (1)
+
+# if !defined (LPSECURITY_ATTRIBUTES)
+# define LPSECURITY_ATTRIBUTES int
+# endif /* !defined LPSECURITY_ATTRIBUTES */
+# if !defined (GENERIC_READ)
+# define GENERIC_READ 0
+# endif /* !defined GENERIC_READ */
+# if !defined (FILE_SHARE_READ)
+# define FILE_SHARE_READ 0
+# endif /* !defined FILE_SHARE_READ */
+# if !defined (OPEN_EXISTING)
+# define OPEN_EXISTING 0
+# endif /* !defined OPEN_EXISTING */
+# if !defined (FILE_ATTRIBUTE_NORMAL)
+# define FILE_ATTRIBUTE_NORMAL 0
+# endif /* !defined FILE_ATTRIBUTE_NORMAL */
+# if !defined (MAXIMUM_WAIT_OBJECTS)
+# define MAXIMUM_WAIT_OBJECTS 0
+# endif /* !defined MAXIMUM_WAIT_OBJECTS */
+# if !defined (FILE_FLAG_OVERLAPPED)
+# define FILE_FLAG_OVERLAPPED 0
+# endif /* !defined FILE_FLAG_OVERLAPPED */
+# if !defined (FILE_FLAG_SEQUENTIAL_SCAN)
+# define FILE_FLAG_SEQUENTIAL_SCAN 0
+# endif /* !defined FILE_FLAG_SEQUENTIAL_SCAN */
+
+struct ACE_OVERLAPPED
+{
+ u_long Internal;
+ u_long InternalHigh;
+ u_long Offset;
+ u_long OffsetHigh;
+ ACE_HANDLE hEvent;
+};
+
+# if !defined (USER_INCLUDE_SYS_TIME_TM)
+# if defined (ACE_PSOS_DIAB_PPC)
+typedef struct timespec timespec_t;
+# else /* ! defined (ACE_PSOS_DIAB_PPC) */
+typedef struct timespec
+{
+ time_t tv_sec; // Seconds
+ long tv_nsec; // Nanoseconds
+} timespec_t;
+# endif /* defined (ACE_PSOS_DIAB_PPC) */
+# endif /* !defined (USER_INCLUDE_SYS_TIME_TM) */
+
+# if defined (ACE_PSOS_HAS_TIME)
+
+// Use pSOS time, wrapped . . .
+class ACE_OS_Export ACE_PSOS_Time_t
+{
+public:
+ /// default ctor: date, time, and ticks all zeroed.
+ ACE_PSOS_Time_t (void);
+
+ /// ctor from a timespec_t
+ ACE_PSOS_Time_t (const timespec_t& t);
+
+ /// type cast operator (to a timespec_t)
+ operator timespec_t ();
+
+ /// static member function to get current system time
+ static u_long get_system_time (ACE_PSOS_Time_t& t);
+
+ /// static member function to set current system time
+ static u_long set_system_time (const ACE_PSOS_Time_t& t);
+
+# if defined (ACE_PSOSIM)
+ /// static member function to initialize system time, using UNIX calls
+ static u_long init_simulator_time (void);
+# endif /* ACE_PSOSIM */
+
+ /// max number of ticks supported in a single system call
+ static const u_long max_ticks;
+private:
+ // = Constants for prying info out of the pSOS time encoding.
+ static const u_long year_mask;
+ static const u_long month_mask;
+ static const u_long day_mask;
+ static const u_long hour_mask;
+ static const u_long minute_mask;
+ static const u_long second_mask;
+ static const int year_shift;
+ static const int month_shift;
+ static const int hour_shift;
+ static const int minute_shift;
+ static const int year_origin;
+ static const int month_origin;
+
+ // error codes
+ static const u_long err_notime; // system time not set
+ static const u_long err_illdate; // date out of range
+ static const u_long err_illtime; // time out of range
+ static const u_long err_illticks; // ticks out of range
+
+ /// date : year in bits 31-16, month in bits 15-8, day in bits 7-0
+ u_long date_;
+
+ /// time : hour in bits 31-16, minutes in bits 15-8, seconds in bits 7-0
+ u_long time_;
+
+ /// ticks: number of system clock ticks (KC_TICKS2SEC-1 max)
+ u_long ticks_;
+} ;
+# endif /* ACE_PSOS_HAS_TIME */
+
+# endif /* defined (ACE_PSOS) */
+
+# if defined (ACE_HAS_THREADS)
+
+// Some versions of pSOS provide native mutex support. For others,
+// implement ACE_thread_mutex_t and ACE_mutex_t using pSOS semaphores.
+// Either way, the types are all u_longs.
+typedef u_long ACE_mutex_t;
+typedef u_long ACE_thread_mutex_t;
+typedef u_long ACE_thread_t;
+typedef u_long ACE_hthread_t;
+
+# if defined (ACE_PSOS_HAS_COND_T)
+typedef u_long ACE_cond_t;
+typedef u_long ACE_condattr_t;
+struct ACE_OS_Export ACE_mutexattr_t
+{
+ int type;
+};
+# endif /* ACE_PSOS_HAS_COND_T */
+
+
+// TCB registers 0-7 are for application use
+# define PSOS_TASK_REG_TSS 0
+# define PSOS_TASK_REG_MAX 7
+
+# define PSOS_TASK_MIN_PRIORITY 1
+# define PSOS_TASK_MAX_PRIORITY 239
+
+// Key type: the ACE TSS emulation requires the key type be unsigned,
+// for efficiency. Current POSIX and Solaris TSS implementations also
+// use unsigned int, so the ACE TSS emulation is compatible with them.
+// Native pSOS TSD, where available, uses unsigned long as the key type.
+# if defined (ACE_PSOS_HAS_TSS)
+typedef u_long ACE_thread_key_t;
+# else
+typedef u_int ACE_thread_key_t;
+# endif /* ACE_PSOS_HAS_TSS */
+
+# define THR_CANCEL_DISABLE 0 /* thread can never be cancelled */
+# define THR_CANCEL_ENABLE 0 /* thread can be cancelled */
+# define THR_CANCEL_DEFERRED 0 /* cancellation deferred to cancellation point */
+# define THR_CANCEL_ASYNCHRONOUS 0 /* cancellation occurs immediately */
+
+# define THR_BOUND 0
+# define THR_NEW_LWP 0
+# define THR_DETACHED 0
+# define THR_SUSPENDED 0
+# define THR_DAEMON 0
+# define THR_JOINABLE 0
+
+# define THR_SCHED_FIFO 0
+# define THR_SCHED_RR 0
+# define THR_SCHED_DEFAULT 0
+# define USYNC_THREAD T_LOCAL
+# define USYNC_PROCESS T_GLOBAL
+
+/* from psos.h */
+/* #define T_NOPREEMPT 0x00000001 Not preemptible bit */
+/* #define T_PREEMPT 0x00000000 Preemptible */
+/* #define T_TSLICE 0x00000002 Time-slicing enabled bit */
+/* #define T_NOTSLICE 0x00000000 No Time-slicing */
+/* #define T_NOASR 0x00000004 ASRs disabled bit */
+/* #define T_ASR 0x00000000 ASRs enabled */
+
+/* #define SM_GLOBAL 0x00000001 1 = Global */
+/* #define SM_LOCAL 0x00000000 0 = Local */
+/* #define SM_PRIOR 0x00000002 Queue by priority */
+/* #define SM_FIFO 0x00000000 Queue by FIFO order */
+
+/* #define T_NOFPU 0x00000000 Not using FPU */
+/* #define T_FPU 0x00000002 Using FPU bit */
+# endif /* ACE_HAS_THREADS */
+
+
+#endif /* ACE_OS_INCLUDE_PSOS_H */
diff --git a/ace/os_include/pwd.h b/ace/os_include/pwd.h
new file mode 100644
index 00000000000..73c9fe55755
--- /dev/null
+++ b/ace/os_include/pwd.h
@@ -0,0 +1,29 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file pwd.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_PWD_H
+# define ACE_OS_INCLUDE_PWD_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+// Only include if platform/compiler provide the header.
+# if !defined (ACE_LACKS_PWD_H)
+# include /**/ <pwd.h>
+# endif /* !ACE_LACKS_PWD_H */
+
+#endif /* ACE_OS_INCLUDE_PWD_H */
diff --git a/ace/os_include/sched.h b/ace/os_include/sched.h
new file mode 100644
index 00000000000..f337c56cb15
--- /dev/null
+++ b/ace/os_include/sched.h
@@ -0,0 +1,29 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file sched.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_SCHED_H
+# define ACE_OS_INCLUDE_SCHED_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+// Only include if platform/compiler provide the header.
+# if !defined (ACE_LACKS_SCHED_H)
+# include /**/ <sched.h>
+# endif /* !ACE_LACKS_SCHED_H */
+
+#endif /* ACE_OS_INCLUDE_SCHED_H */
diff --git a/ace/os_include/semaphore.h b/ace/os_include/semaphore.h
new file mode 100644
index 00000000000..e7c99bfed56
--- /dev/null
+++ b/ace/os_include/semaphore.h
@@ -0,0 +1,29 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file semaphore.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_SEMAPHORE_H
+# define ACE_OS_INCLUDE_SEMAPHORE_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+// is this used?
+
+
+#endif /* ACE_OS_INCLUDE_SEMAPHORE_H */
+
+
diff --git a/ace/os_include/signal.h b/ace/os_include/signal.h
new file mode 100644
index 00000000000..09252e66538
--- /dev/null
+++ b/ace/os_include/signal.h
@@ -0,0 +1,299 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file signal.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_SIGNAL_H
+# define ACE_OS_INCLUDE_SIGNAL_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+# include "ace/os_include/sys/types.h"
+
+# if !defined (ACE_LACKS_SIGNAL_H)
+# include /**/ <signal.h>
+# endif /* !ACE_LACKS_SIGNAL_H */
+
+// Defining POSIX4 real-time signal range.
+# if defined ACE_HAS_AIO_CALLS
+# define ACE_SIGRTMIN SIGRTMIN
+# define ACE_SIGRTMAX SIGRTMAX
+# else /* !ACE_HAS_AIO_CALLS */
+# define ACE_SIGRTMIN 0
+# define ACE_SIGRTMAX 0
+# endif /* ACE_HAS_AIO_CALLS */
+
+# if defined (ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES)
+// Prototypes for both signal() and struct sigaction are consistent..
+# if defined (ACE_HAS_SIG_C_FUNC)
+extern "C" {
+# endif /* ACE_HAS_SIG_C_FUNC */
+# if !defined (ACE_PSOS)
+typedef void (*ACE_SignalHandler)(int);
+typedef void (*ACE_SignalHandlerV)(int);
+# endif /* !defined (ACE_PSOS) */
+# if defined (ACE_HAS_SIG_C_FUNC)
+}
+# endif /* ACE_HAS_SIG_C_FUNC */
+# elif defined (ACE_HAS_LYNXOS_SIGNALS)
+typedef void (*ACE_SignalHandler)(...);
+typedef void (*ACE_SignalHandlerV)(...);
+# elif defined (ACE_HAS_TANDEM_SIGNALS)
+typedef void (*ACE_SignalHandler)(...);
+typedef void (*ACE_SignalHandlerV)(...);
+# elif defined (ACE_HAS_IRIX_53_SIGNALS)
+typedef void (*ACE_SignalHandler)(...);
+typedef void (*ACE_SignalHandlerV)(...);
+# elif defined (ACE_HAS_SPARCWORKS_401_SIGNALS)
+typedef void (*ACE_SignalHandler)(int, ...);
+typedef void (*ACE_SignalHandlerV)(int,...);
+# elif defined (ACE_HAS_SUNOS4_SIGNAL_T)
+typedef void (*ACE_SignalHandler)(...);
+typedef void (*ACE_SignalHandlerV)(...);
+# elif defined (ACE_HAS_SVR4_SIGNAL_T)
+// SVR4 Signals are inconsistent (e.g., see struct sigaction)..
+typedef void (*ACE_SignalHandler)(int);
+# if !defined (m88k) /* with SVR4_SIGNAL_T */
+typedef void (*ACE_SignalHandlerV)(void);
+# else
+typedef void (*ACE_SignalHandlerV)(int);
+# endif /* m88k */ /* with SVR4_SIGNAL_T */
+# elif defined (ACE_WIN32)
+typedef void (__cdecl *ACE_SignalHandler)(int);
+typedef void (__cdecl *ACE_SignalHandlerV)(int);
+# elif defined (ACE_HAS_UNIXWARE_SVR4_SIGNAL_T)
+typedef void (*ACE_SignalHandler)(int);
+typedef void (*ACE_SignalHandlerV)(...);
+# else /* This is necessary for some older broken version of cfront */
+# if defined (SIG_PF)
+# define ACE_SignalHandler SIG_PF
+# else
+typedef void (*ACE_SignalHandler)(int);
+# endif /* SIG_PF */
+typedef void (*ACE_SignalHandlerV)(...);
+# endif /* ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES */
+
+// This must come after signal.h is #included.
+# if defined (SCO)
+# define SIGIO SIGPOLL
+# include /**/ <sys/regset.h>
+# endif /* SCO */
+
+# if defined (ACE_HAS_SIGINFO_T)
+# if !defined (ACE_LACKS_SIGINFO_H)
+# if defined (__QNX__)
+# include /**/ <sys/siginfo.h>
+# else /* ! __QNX__ */
+# include /**/ <siginfo.h>
+# endif /* ! __QNX__ */
+# endif /* ACE_LACKS_SIGINFO_H */
+# if !defined (ACE_LACKS_UCONTEXT_H)
+# include /**/ <ucontext.h>
+# endif /* ACE_LACKS_UCONTEXT_H */
+# else
+# include "ace/OS_Export.h"
+struct ACE_OS_Export siginfo_t
+{
+ siginfo_t (ACE_HANDLE handle);
+ siginfo_t (ACE_HANDLE *handles); // JCEJ 12/23/96
+
+ ACE_HANDLE si_handle_;
+ // Win32 HANDLE that has become signaled.
+
+ ACE_HANDLE *si_handles_;
+ // Array of Win32 HANDLEs all of which have become signaled.
+};
+# endif /* ACE_HAS_SIGINFO_T */
+
+// Typedef for the null handler func.
+extern "C"
+{
+ typedef void (*ACE_SIGNAL_C_FUNC)(int,siginfo_t*,void*);
+}
+
+# if !defined (ACE_HAS_UCONTEXT_T)
+typedef int ucontext_t;
+# endif /* ACE_HAS_UCONTEXT_T */
+
+# if !defined (SA_SIGINFO)
+# define SA_SIGINFO 0
+# endif /* SA_SIGINFO */
+
+# if !defined (SA_RESTART)
+# define SA_RESTART 0
+# endif /* SA_RESTART */
+
+# if defined (ACE_HAS_TIMOD_H)
+# if defined (ACE_HAS_STL_QUEUE_CONFLICT)
+# define queue _Queue_
+# endif /* ACE_HAS_STL_QUEUE_CONFLICT */
+# include /**/ <sys/timod.h>
+# if defined (ACE_HAS_STL_QUEUE_CONFLICT)
+# undef queue
+# endif /* ACE_HAS_STL_QUEUE_CONFLICT */
+# elif defined (ACE_HAS_OSF_TIMOD_H)
+# include /**/ <tli/timod.h>
+# endif /* ACE_HAS_TIMOD_H */
+
+# if defined (ACE_LACKS_SIGSET_T)
+typedef u_int sigset_t;
+# endif /* ACE_LACKS_SIGSET_T */
+
+# if defined (ACE_HAS_SIG_C_FUNC)
+extern "C" {
+# endif /* ACE_HAS_SIG_C_FUNC */
+// Type of the extended signal handler.
+typedef void (*ACE_Sig_Handler_Ex) (int, siginfo_t *siginfo, ucontext_t *ucontext);
+# if defined (ACE_HAS_SIG_C_FUNC)
+}
+# endif /* ACE_HAS_SIG_C_FUNC */
+
+# if defined (DIGITAL_UNIX)
+ // sigwait is yet another macro on Digital UNIX 4.0, just causing
+ // trouble when introducing member functions with the same name.
+ // Thanks to Thilo Kielmann" <kielmann@informatik.uni-siegen.de> for
+ // this fix.
+# if defined (__DECCXX_VER)
+# undef sigwait
+ // cxx on Digital Unix 4.0 needs this declaration. With it,
+ // <::_Psigwait> works with cxx -pthread. g++ does _not_ need
+ // it.
+ extern "C" int _Psigwait __((const sigset_t *set, int *sig));
+# elif defined (__KCC)
+# undef sigwait
+ inline int sigwait (const sigset_t* set, int* sig)
+ { return _Psigwait (set, sig); }
+# endif /* __DECCXX_VER */
+# elif !defined (ACE_HAS_SIGWAIT)
+# if defined(__rtems__)
+ extern "C" int sigwait (const sigset_t *set, int *sig);
+# else
+ extern "C" int sigwait (sigset_t *set);
+# endif /* __rtems__ */
+# endif /* ! DIGITAL_UNIX && ! ACE_HAS_SIGWAIT */
+
+# if defined (ACE_LACKS_SIGACTION_T)
+struct sigaction
+{
+ int sa_flags;
+ ACE_SignalHandlerV sa_handler;
+ sigset_t sa_mask;
+};
+# endif /* ACE_LACKS_SIGACTION_T */
+
+# if !defined (SIGHUP)
+# define SIGHUP 0
+# endif /* SIGHUP */
+
+# if !defined (SIGINT)
+# define SIGINT 0
+# endif /* SIGINT */
+
+# if !defined (SIGSEGV)
+# define SIGSEGV 0
+# endif /* SIGSEGV */
+
+# if !defined (SIGIO)
+# define SIGIO 0
+# endif /* SIGSEGV */
+
+# if !defined (SIGUSR1)
+# define SIGUSR1 0
+# endif /* SIGUSR1 */
+
+# if !defined (SIGUSR2)
+# define SIGUSR2 0
+# endif /* SIGUSR2 */
+
+# if !defined (SIGCHLD)
+# define SIGCHLD 0
+# endif /* SIGCHLD */
+
+# if !defined (SIGCLD)
+# define SIGCLD SIGCHLD
+# endif /* SIGCLD */
+
+# if !defined (SIGQUIT)
+# define SIGQUIT 0
+# endif /* SIGQUIT */
+
+# if !defined (SIGPIPE)
+# define SIGPIPE 0
+# endif /* SIGPIPE */
+
+# if !defined (SIGALRM)
+# define SIGALRM 0
+# endif /* SIGALRM */
+
+# if !defined (SIG_DFL)
+# if defined (ACE_PSOS_DIAB_MIPS) || defined (ACE_PSOS_DIAB_PPC)
+# define SIG_DFL ((void *) 0)
+# else
+# define SIG_DFL ((__sighandler_t) 0)
+# endif
+# endif /* SIG_DFL */
+
+# if !defined (SIG_IGN)
+# if defined (ACE_PSOS_DIAB_MIPS) || defined (ACE_PSOS_DIAB_PPC)
+# define SIG_IGN ((void *) 1) /* ignore signal */
+# else
+# define SIG_IGN ((__sighandler_t) 1) /* ignore signal */
+# endif
+# endif /* SIG_IGN */
+
+# if !defined (SIG_ERR)
+# if defined (ACE_PSOS_DIAB_MIPS) || defined (ACE_PSOS_DIAB_PPC)
+# define SIG_ERR ((void *) -1) /* error return from signal */
+# else
+# define SIG_ERR ((__sighandler_t) -1) /* error return from signal */
+# endif
+# endif /* SIG_ERR */
+
+# if !defined (SIG_BLOCK)
+# define SIG_BLOCK 1
+# endif /* SIG_BLOCK */
+
+# if !defined (SIG_UNBLOCK)
+# define SIG_UNBLOCK 2
+# endif /* SIG_UNBLOCK */
+
+# if !defined (SIG_SETMASK)
+# define SIG_SETMASK 3
+# endif /* SIG_SETMASK */
+
+# if defined (__Lynx__)
+ // LynxOS Neutrino sets NSIG to the highest-numbered signal.
+# define ACE_NSIG (NSIG + 1)
+# elif defined (__rtems__)
+# define ACE_NSIG (SIGRTMAX)
+# else
+ // All other platforms set NSIG to one greater than the
+ // highest-numbered signal.
+# define ACE_NSIG NSIG
+# endif /* __Lynx__ */
+
+// These are used by the <ACE_IPC_SAP::enable> and
+// <ACE_IPC_SAP::disable> methods. They must be unique and cannot
+// conflict with the value of <ACE_NONBLOCK>. We make the numbers
+// negative here so they won't conflict with other values like SIGIO,
+// etc.
+# define ACE_SIGIO -1
+# define ACE_SIGURG -2
+# define ACE_CLOEXEC -3
+
+typedef const char **SYS_SIGLIST;
+
+#endif /* ACE_OS_INCLUDE_SIGNAL_H */
diff --git a/ace/os_include/stddef.h b/ace/os_include/stddef.h
new file mode 100644
index 00000000000..819bb2663c4
--- /dev/null
+++ b/ace/os_include/stddef.h
@@ -0,0 +1,29 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file stddef.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_STDDEF_H
+# define ACE_OS_INCLUDE_STDDEF_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+// Only include if platform/compiler provide the header.
+# if !defined (ACE_LACKS_STDDEF_H)
+# include /**/ <stddef.h>
+# endif /* !ACE_LACKS_STDDEF_H */
+
+#endif /* ACE_OS_INCLUDE_STDDEF_H */
diff --git a/ace/os_include/stdio.h b/ace/os_include/stdio.h
new file mode 100644
index 00000000000..ec04b94e2c4
--- /dev/null
+++ b/ace/os_include/stdio.h
@@ -0,0 +1,127 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file stdio.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_STDIO_H
+# define ACE_OS_INCLUDE_STDIO_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+# if !defined (ACE_LACKS_STDARG_H)
+# include /**/ <stdarg.h> // LynxOS requires this before stdio.h
+# endif /* !ACE_LACKS_STDARG_H */
+
+#if 0
+// turn this off for now. it came from config-all.h when ACE_HAS_VERBOSE_NOTSUP
+// turned on.
+# if defined (ACE_HAS_STANDARD_CPP_LIBRARY) && (ACE_HAS_STANDARD_CPP_LIBRARY != 0)
+# include /**/ <cstdio>
+# else
+# if !defined (ACE_LACKS_STDIO_H)
+# include /**/ <stdio.h>
+# endif /* !ACE_LACKS_STDIO_H */
+# endif
+#else /* 0 */
+# if !defined (ACE_LACKS_STDIO_H)
+# include /**/ <stdio.h>
+# endif /* !ACE_LACKS_STDIO_H */
+#endif /* 0 */
+
+# if defined (ACE_HAS_CHARPTR_SPRINTF)
+# define ACE_SPRINTF_ADAPTER(X) ::strlen (X)
+# else
+# define ACE_SPRINTF_ADAPTER(X) X
+# endif /* ACE_HAS_CHARPTR_SPRINTF */
+
+#if !defined (L_cuserid)
+# if !defined (ACE_L_CUSERID)
+# define ACE_L_CUSERID 9
+ // 8 character user ID + NULL
+# endif /* !ACE_L_CUSERID */
+# define L_cuserid ACE_L_CUSERID
+# endif /* L_cuserid */
+
+// need to fix this?
+# if !defined ACE_MAX_USERID
+# define ACE_MAX_USERID L_cuserid
+# endif /* !ACE_MAX_USERID */
+
+#if !defined (ACE_WIN32)
+// Honestly don't know where these should go.
+// Add some typedefs and macros to enhance Win32 conformance...
+# if !defined (LPSECURITY_ATTRIBUTES)
+# define LPSECURITY_ATTRIBUTES int
+# endif /* !defined LPSECURITY_ATTRIBUTES */
+# if !defined (GENERIC_READ)
+# define GENERIC_READ 0
+# endif /* !defined GENERIC_READ */
+# if !defined (FILE_SHARE_READ)
+# define FILE_SHARE_READ 0
+# endif /* !defined FILE_SHARE_READ */
+# if !defined (OPEN_EXISTING)
+# define OPEN_EXISTING 0
+# endif /* !defined OPEN_EXISTING */
+# if !defined (FILE_ATTRIBUTE_NORMAL)
+# define FILE_ATTRIBUTE_NORMAL 0
+# endif /* !defined FILE_ATTRIBUTE_NORMAL */
+# if !defined (MAXIMUM_WAIT_OBJECTS)
+# define MAXIMUM_WAIT_OBJECTS 0
+# endif /* !defined MAXIMUM_WAIT_OBJECTS */
+# if !defined (FILE_FLAG_OVERLAPPED)
+# define FILE_FLAG_OVERLAPPED 0
+# endif /* !defined FILE_FLAG_OVERLAPPED */
+# if !defined (FILE_FLAG_SEQUENTIAL_SCAN)
+# define FILE_FLAG_SEQUENTIAL_SCAN 0
+# endif /* FILE_FLAG_SEQUENTIAL_SCAN */
+#endif
+
+# if !defined (ACE_OSTREAM_TYPE)
+# if defined (ACE_LACKS_IOSTREAM_TOTALLY)
+# define ACE_OSTREAM_TYPE FILE
+# else /* ! ACE_LACKS_IOSTREAM_TOTALLY */
+# define ACE_OSTREAM_TYPE ostream
+# endif /* ! ACE_LACKS_IOSTREAM_TOTALLY */
+# endif /* ! ACE_OSTREAM_TYPE */
+
+# if !defined (ACE_DEFAULT_LOG_STREAM)
+# if defined (ACE_LACKS_IOSTREAM_TOTALLY)
+# define ACE_DEFAULT_LOG_STREAM 0
+# else /* ! ACE_LACKS_IOSTREAM_TOTALLY */
+# define ACE_DEFAULT_LOG_STREAM (&cerr)
+# endif /* ! ACE_LACKS_IOSTREAM_TOTALLY */
+# endif /* ! ACE_DEFAULT_LOG_STREAM */
+
+
+
+// this is a nasty hack to get around problems with the
+// pSOS definition of BUFSIZ as the config table entry
+// (which is valued using the LC_BUFSIZ value anyway)
+# if defined (ACE_PSOS)
+# if defined (BUFSIZ)
+# undef BUFSIZ
+# endif /* defined (BUFSIZ) */
+# define BUFSIZ LC_BUFSIZ
+# endif /* defined (ACE_PSOS) */
+
+# if defined (BUFSIZ)
+# define ACE_STREAMBUF_SIZE BUFSIZ
+# else
+# define ACE_STREAMBUF_SIZE 1024
+# endif /* BUFSIZ */
+
+#endif /* ACE_OS_INCLUDE_STDIO_H */
+
diff --git a/ace/os_include/stdlib.h b/ace/os_include/stdlib.h
new file mode 100644
index 00000000000..61ac33288f8
--- /dev/null
+++ b/ace/os_include/stdlib.h
@@ -0,0 +1,46 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file stdlib.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_STDLIB_H
+# define ACE_OS_INCLUDE_STDLIB_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+# if !defined (ACE_LACKS_STDLIB_H)
+# include /**/ <stdlib.h>
+# endif /* ACE_LACKS_STDLIB_H */
+
+# if defined (ACE_HAS_BROKEN_RANDR)
+// The SunOS 5.4.X version of rand_r is inconsistent with the header
+// files...
+typedef u_int ACE_RANDR_TYPE;
+extern "C" int rand_r (ACE_RANDR_TYPE seed);
+# else
+# if defined (HPUX_10)
+// HP-UX 10.x's stdlib.h (long *) doesn't match that man page (u_int *)
+typedef long ACE_RANDR_TYPE;
+# else
+typedef u_int ACE_RANDR_TYPE;
+# endif /* HPUX_10 */
+# endif /* ACE_HAS_BROKEN_RANDR */
+
+# if defined (ACE_LACKS_MKTEMP)
+extern "C" char *mktemp (char *);
+# endif /* ACE_LACKS_MKTEMP */
+
+#endif /* ACE_OS_INCLUDE_STDLIB_H */
diff --git a/ace/os_include/string.h b/ace/os_include/string.h
new file mode 100644
index 00000000000..542d3677c59
--- /dev/null
+++ b/ace/os_include/string.h
@@ -0,0 +1,57 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file string.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_STRING_H
+# define ACE_OS_INCLUDE_STRING_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+// Matthew Stevens 7-10-95 Fix GNU GCC 2.7 for memchr() problem.
+# if defined (ACE_HAS_GNU_CSTRING_H)
+// Define this file to keep /usr/include/memory.h from being included.
+# include /**/ <cstring>
+# else
+# if !defined (ACE_LACKS_MEMORY_H)
+# include /**/ <memory.h>
+# endif /* !ACE_LACKS_MEMORY_H */
+# endif /* ACE_HAS_GNU_CSTRING_H */
+
+// why was this included here?
+//# include "ace/ace_stdlib.h"
+
+# if !defined (ACE_LACKS_STRING_H)
+# include /**/ <string.h>
+# endif /* !ACE_LACKS_STRING_H */
+
+// IRIX5 defines bzero() in this odd file...
+# if defined (ACE_HAS_BSTRING)
+# include /**/ <bstring.h>
+# endif /* ACE_HAS_BSTRING */
+
+// We need strings.h on some platforms (qnx-neutrino, for example)
+// to get the declaration for strcasecmp. And bzero() for AIX.
+# if defined (ACE_HAS_STRINGS)
+# include /**/ <strings.h>
+# endif /* ACE_HAS_STRINGS */
+
+# if defined (ACE_LACKS_STRTOK_R_PROTOTYPE) && !defined (_POSIX_SOURCE)
+extern "C" char *strtok_r (char *s, const char *delim, char **save_ptr);
+# endif /* ACE_LACKS_STRTOK_R_PROTOTYPE */
+
+#endif /* ACE_OS_INCLUDE_STRING_H */
+
diff --git a/ace/os_include/stropts.h b/ace/os_include/stropts.h
new file mode 100644
index 00000000000..eb48065161b
--- /dev/null
+++ b/ace/os_include/stropts.h
@@ -0,0 +1,83 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file stropts.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_STROPTS_H
+# define ACE_OS_INCLUDE_STROPTS_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+# if !defined (ACE_LACKS_STROPTS_H)
+# if defined (ACE_HAS_STREAMS)
+# if defined (AIX)
+# if !defined (_XOPEN_EXTENDED_SOURCE)
+# define _XOPEN_EXTENDED_SOURCE
+# endif /* !_XOPEN_EXTENDED_SOURCE */
+# include /**/ <stropts.h>
+# undef _XOPEN_EXTENDED_SOURCE
+# endif /* AIX */
+//# else
+//# include /**/ <stropts.h>
+# endif /* ACE_HAS_STREAMS */
+# include /**/ <stropts.h>
+# endif /* ACE_LACKS_STROPTS_H */
+
+# if defined (ACE_LACKS_STRRECVFD)
+struct strrecvfd {};
+# endif /* ACE_LACKS_STRRECVFD */
+
+# if !defined (ACE_HAS_STRBUF_T)
+struct strbuf
+{
+ int maxlen; // no. of bytes in buffer.
+ int len; // no. of bytes returned.
+ void *buf; // pointer to data.
+};
+# endif /* ACE_HAS_STRBUF_T */
+
+extern "C" int isastream (int);
+
+// should find a better place for this, but not
+// OS.h!!!
+# include "ace/OS_Export.h" // and this is why!
+/**
+ * @class ACE_Str_Buf
+ *
+ * @brief Simple wrapper for STREAM pipes strbuf.
+ */
+class ACE_OS_Export ACE_Str_Buf : public strbuf
+{
+public:
+ // = Initialization method
+ /// Constructor.
+ ACE_Str_Buf (void *b = 0, int l = 0, int max = 0)//;
+ {
+ this->maxlen = max;
+ this->len = l;
+ this->buf = (char *) b;
+ }
+
+ /// Constructor.
+ ACE_Str_Buf (strbuf &sb)//;
+ {
+ this->maxlen = sb.maxlen;
+ this->len = sb.len;
+ this->buf = sb.buf;
+ }
+};
+
+#endif /* ACE_OS_INCLUDE_STROPTS_H */
diff --git a/ace/os_include/sys/ioctl.h b/ace/os_include/sys/ioctl.h
new file mode 100644
index 00000000000..b25aff91f01
--- /dev/null
+++ b/ace/os_include/sys/ioctl.h
@@ -0,0 +1,29 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file ioctl.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_SYS_IOCTL_H
+# define ACE_OS_INCLUDE_SYS_IOCTL_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+// Only include if platform/compiler provide the header.
+# if !defined (ACE_LACKS_SYS_IOCTL_H)
+# include /**/ <sys/ioctl.h>
+# endif /* !ACE_LACKS_SYS_IOCTL_H */
+
+#endif /* ACE_OS_INCLUDE_SYS_IOCTL_H */
diff --git a/ace/os_include/sys/ipc.h b/ace/os_include/sys/ipc.h
new file mode 100644
index 00000000000..e0e1fd48081
--- /dev/null
+++ b/ace/os_include/sys/ipc.h
@@ -0,0 +1,53 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file ipc.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_SYS_IPC_H
+# define ACE_OS_INCLUDE_SYS_IPC_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+// Only include if platform/compiler provide the header.
+# if !defined (ACE_LACKS_SYS_IPC_H)
+# include /**/ <sys/ipc.h>
+# endif /* !ACE_LACKS_SYS_IPC_H */
+
+# if !defined (IPC_CREAT)
+# define IPC_CREAT 0
+# endif /* IPC_CREAT */
+
+# if !defined (IPC_NOWAIT)
+# define IPC_NOWAIT 0
+# endif /* IPC_NOWAIT */
+
+# if !defined (IPC_RMID)
+# define IPC_RMID 0
+# endif /* IPC_RMID */
+
+# if !defined (IPC_EXCL)
+# define IPC_EXCL 0
+# endif /* IPC_EXCL */
+
+# if !defined (IPC_PRIVATE)
+# define IPC_PRIVATE ACE_INVALID_SEM_KEY
+# endif /* IPC_PRIVATE */
+
+# if !defined (IPC_STAT)
+# define IPC_STAT 0
+# endif /* IPC_STAT */
+
+#endif /* ACE_OS_INCLUDE_SYS_IPC_H */
diff --git a/ace/os_include/sys/mman.h b/ace/os_include/sys/mman.h
new file mode 100644
index 00000000000..b757649f1b5
--- /dev/null
+++ b/ace/os_include/sys/mman.h
@@ -0,0 +1,90 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file mman.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_SYS_MMAN_H
+# define ACE_OS_INCLUDE_SYS_MMAN_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+// Fixes a problem with HP/UX.
+# if defined (ACE_HAS_BROKEN_MMAP_H)
+extern "C"
+{
+# include /**/ <sys/mman.h>
+}
+# elif !defined (ACE_LACKS_SYS_MMAN_H)
+# include /**/ <sys/mman.h>
+# endif /* !ACE_HAS_BROKEN_MMAP_H */
+
+
+// These need to be moved at some point, and replaced by ifdef'd defines for each.
+# if defined (ACE_WIN32)
+// MMAP flags
+# define PROT_READ PAGE_READONLY
+# define PROT_WRITE PAGE_READWRITE
+# define PROT_RDWR PAGE_READWRITE
+/* If we can find suitable use for these flags, here they are:
+PAGE_WRITECOPY
+PAGE_EXECUTE
+PAGE_EXECUTE_READ
+PAGE_EXECUTE_READWRITE
+PAGE_EXECUTE_WRITECOPY
+PAGE_GUARD
+PAGE_NOACCESS
+PAGE_NOCACHE */
+# elif defined (ACE_LACKS_SYS_MMAP_H)
+# define PROT_READ 0
+# define PROT_WRITE 0
+# define PROT_EXEC 0
+# define PROT_NONE 0
+# define PROT_RDWR 0
+# define MAP_PRIVATE 0
+# define MAP_SHARED 0
+# define MAP_FIXED 0
+# endif /* ACE_LACKS_SYS_MMAP_H */
+
+# if !defined (PROT_RDWR)
+# define PROT_RDWR (PROT_READ|PROT_WRITE)
+# endif /* PROT_RDWR */
+
+
+# if !defined (ACE_MAP_PRIVATE)
+# define ACE_MAP_PRIVATE MAP_PRIVATE
+# endif /* ! ACE_MAP_PRIVATE */
+
+# if !defined (ACE_MAP_SHARED)
+# define ACE_MAP_SHARED MAP_SHARED
+# endif /* ! ACE_MAP_SHARED */
+
+# if !defined (ACE_MAP_FIXED)
+# define ACE_MAP_FIXED MAP_FIXED
+# endif /* ! ACE_MAP_FIXED */
+
+# if !defined (MS_SYNC)
+# define MS_SYNC 0x0
+# endif /* !MS_SYNC */
+
+# if !defined (MAP_FAILED) || defined (ACE_HAS_BROKEN_MAP_FAILED)
+# undef MAP_FAILED
+# define MAP_FAILED ((void *) -1)
+# elif defined (ACE_HAS_LONG_MAP_FAILED)
+# undef MAP_FAILED
+# define MAP_FAILED ((void *) -1L)
+# endif /* !MAP_FAILED || ACE_HAS_BROKEN_MAP_FAILED */
+
+#endif /* ACE_OS_INCLUDE_SYS_MMAN_H */
diff --git a/ace/os_include/sys/msg.h b/ace/os_include/sys/msg.h
new file mode 100644
index 00000000000..459f53b6b51
--- /dev/null
+++ b/ace/os_include/sys/msg.h
@@ -0,0 +1,51 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file msg.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_SYS_MSG_H
+# define ACE_OS_INCLUDE_SYS_MSG_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+# if defined (ACE_HAS_BROKEN_MSG_H)
+# define _KERNEL
+# endif /* ACE_HAS_BROKEN_MSG_H */
+
+# if !defined (ACE_LACKS_SYSV_MSG_H)
+# include /**/ <sys/msg.h>
+# endif /* ACE_LACKS_SYSV_MSG_H */
+
+# if defined (ACE_HAS_BROKEN_MSG_H)
+# undef _KERNEL
+# endif /* ACE_HAS_BROKEN_MSG_H */
+
+
+# if defined (ACE_LACKS_MSGBUF_T)
+struct msgbuf {};
+# endif /* ACE_LACKS_MSGBUF_T */
+
+# if defined (ACE_LACKS_SYSV_MSQ_PROTOS)
+extern "C"
+{
+ int msgget (key_t, int);
+ int msgrcv (int, void *, size_t, long, int);
+ int msgsnd (int, const void *, size_t, int);
+ int msgctl (int, int, struct msqid_ds *);
+}
+# endif /* ACE_LACKS_SYSV_MSQ_PROTOS */
+
+#endif /* ACE_OS_INCLUDE_SYS_MSG_H */
diff --git a/ace/os_include/sys/param.h b/ace/os_include/sys/param.h
new file mode 100644
index 00000000000..6ac0730dd5f
--- /dev/null
+++ b/ace/os_include/sys/param.h
@@ -0,0 +1,44 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file param.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_SYS_PARAM_H
+# define ACE_OS_INCLUDE_SYS_PARAM_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+# if !defined (ACE_LACKS_SYS_PARAM_H)
+# include /**/ <sys/param.h>
+# endif /* !ACE_LACKS_SYS_PARAM_H */
+
+// Need to note why this is included.
+//# include "ace/os_include/limits.h"
+
+// _MAX_PATH is in stdlib.h on windows...
+# include "ace/os_include/stdlib.h"
+
+# if !defined (MAXPATHLEN)
+# if defined (ACE_WIN32)
+# define MAXPATHLEN _MAX_PATH
+# elif defined (_POSIX_PATH_MAX)
+# define MAXPATHLEN _POSIX_PATH_MAX
+# else
+# define MAXPATHLEN 1024
+# endif /* ACE_WIN32 */
+# endif /* MAXPATHLEN */
+
+#endif /* ACE_OS_INCLUDE_SYS_PARAM_H */
diff --git a/ace/os_include/sys/resource.h b/ace/os_include/sys/resource.h
new file mode 100644
index 00000000000..1e2c78e54b8
--- /dev/null
+++ b/ace/os_include/sys/resource.h
@@ -0,0 +1,57 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file resource.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_SYS_RESOURCE_H
+# define ACE_OS_INCLUDE_SYS_RESOURCE_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+# if !defined (ACE_LACKS_SYS_RESOURCE_H)
+# include /**/ <sys/resource.h>
+# endif /* !ACE_LACKS_SYS_RESOURCE_H */
+
+# if defined (ACE_HAS_BROKEN_SETRLIMIT)
+typedef struct rlimit ACE_SETRLIMIT_TYPE;
+# else
+typedef const struct rlimit ACE_SETRLIMIT_TYPE;
+# endif /* ACE_HAS_BROKEN_SETRLIMIT */
+
+# if defined (ACE_HAS_PRUSAGE_T)
+ typedef prusage_t ACE_Rusage;
+# elif defined (ACE_HAS_GETRUSAGE)
+ typedef rusage ACE_Rusage;
+# else
+ typedef int ACE_Rusage;
+# endif /* ACE_HAS_PRUSAGE_T */
+
+# if !defined (ACE_HAS_GETRUSAGE_PROTO)
+extern "C" int getrusage (int who, struct rusage *rusage);
+# endif /* ! ACE_HAS_GETRUSAGE_PROTO */
+
+// There must be a better way to do this...
+# if !defined (RLIMIT_NOFILE)
+# if defined (linux) || defined (AIX) || defined (SCO)
+# if defined (RLIMIT_OFILE)
+# define RLIMIT_NOFILE RLIMIT_OFILE
+# else
+# define RLIMIT_NOFILE 200
+# endif /* RLIMIT_OFILE */
+# endif /* defined (linux) || defined (AIX) || defined (SCO) */
+# endif /* RLIMIT_NOFILE */
+
+#endif /* ACE_OS_INCLUDE_SYS_RESOURCE_H */
diff --git a/ace/os_include/sys/select.h b/ace/os_include/sys/select.h
new file mode 100644
index 00000000000..4aabe050967
--- /dev/null
+++ b/ace/os_include/sys/select.h
@@ -0,0 +1,41 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file selct.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_SYS_SELECT_H
+# define ACE_OS_INCLUDE_SYS_SELECT_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+// Only include if platform/compiler provide the header.
+# if !defined (ACE_LACKS_SYS_SELECT_H)
+# include /**/ <sys/select.h>
+# endif /* !ACE_LACKS_SYS_SELECT_H */
+
+# if defined (ACE_NEEDS_SELECT_T) // __rtems__
+extern "C"
+{
+ int select (int n, fd_set *readfds, fd_set *writefds,
+ fd_set *exceptfds, const struct timeval *timeout);
+};
+# endif /* ACE_NEEDS_SELECT_T */
+
+# if !defined (NFDBITS)
+# define NFDBITS (sizeof(fd_mask) * NBBY) /* bits per mask */
+# endif /* ! NFDBITS */
+
+#endif /* ACE_OS_INCLUDE_SYS_SELECT_H */
diff --git a/ace/os_include/sys/sem.h b/ace/os_include/sys/sem.h
new file mode 100644
index 00000000000..b4ac253c72d
--- /dev/null
+++ b/ace/os_include/sys/sem.h
@@ -0,0 +1,70 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file sem.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_SYS_SEM_H
+# define ACE_OS_INCLUDE_SYS_SEM_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+# if !defined (ACE_LACKS_SYS_SEM_H)
+# include /**/ <sys/sem.h>
+# endif /* !ACE_LACKS_SYS_SEM_H */
+
+# if defined (ACE_LACKS_SEMBUF_T)
+struct sembuf
+{
+ unsigned short sem_num; // semaphore #
+ short sem_op; // semaphore operation
+ short sem_flg; // operation flags
+};
+# endif /* ACE_LACKS_SEMBUF_T */
+
+# if !defined (GETVAL)
+# define GETVAL 0
+# endif /* GETVAL */
+
+# if !defined (F_GETFL)
+# define F_GETFL 0
+# endif /* F_GETFL */
+
+# if !defined (SETVAL)
+# define SETVAL 0
+# endif /* SETVAL */
+
+# if !defined (GETALL)
+# define GETALL 0
+# endif /* GETALL */
+
+# if !defined (SETALL)
+# define SETALL 0
+# endif /* SETALL */
+
+# if !defined (SEM_UNDO)
+# define SEM_UNDO 0
+# endif /* SEM_UNDO */
+
+# if !defined (ACE_HAS_SEMUN) || (defined (__GLIBC__) && defined (_SEM_SEMUN_UNDEFINED))
+union semun
+{
+ int val; // value for SETVAL
+ struct semid_ds *buf; // buffer for IPC_STAT & IPC_SET
+ u_short *array; // array for GETALL & SETALL
+};
+# endif /* !ACE_HAS_SEMUN || (defined (__GLIBC__) && defined (_SEM_SEMUN_UNDEFINED)) */
+
+#endif /* ACE_OS_INCLUDE_SYS_SEM_H */
diff --git a/ace/os_include/sys/shm.h b/ace/os_include/sys/shm.h
new file mode 100644
index 00000000000..af7ee716791
--- /dev/null
+++ b/ace/os_include/sys/shm.h
@@ -0,0 +1,29 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file shm.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_SYS_SHM_H
+# define ACE_OS_INCLUDE_SYS_SHM_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+// Only include if platform/compiler provide the header.
+# if !defined (ACE_LACKS_SYS_SHM_H)
+# include /**/ <sys/shm.h>
+# endif /* !ACE_LACKS_SYS_SHM_H */
+
+#endif /* ACE_OS_INCLUDE_SYS_SHM_H */
diff --git a/ace/os_include/sys/socket.h b/ace/os_include/sys/socket.h
new file mode 100644
index 00000000000..8ef881f7540
--- /dev/null
+++ b/ace/os_include/sys/socket.h
@@ -0,0 +1,307 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file socket.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_SYS_SOCKET_H
+# define ACE_OS_INCLUDE_SYS_SOCKET_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+# include "ace/os_include/stdio.h"
+# include "ace/os_include/sys/types.h"
+
+# if !defined (ACE_LACKS_SYS_SOCKET_H) && !defined (ACE_LACKS_UNIX_SYS_HEADERS)
+# if defined (ACE_HAS_AIX_BROKEN_SOCKET_HEADER)
+# undef __cplusplus
+# include /**/ <sys/socket.h>
+# define __cplusplus
+# else
+# include /**/ <sys/socket.h>
+# endif /* ACE_HAS_AIX_BROKEN_SOCKET_HEADER */
+# endif /* !ACE_LACKS_SYS_SOCKET_H && !ACE_LACKS_UNIX_SYS_HEADERS */
+
+# if defined (ACE_HAS_SOCKIO_H)
+# include /**/ <sys/sockio.h>
+# endif /* ACE_HAS_SOCKIO_ */
+
+extern "C"
+{
+# if defined (VXWORKS)
+ struct hostent {
+ char *h_name; /* official name of host */
+ char **h_aliases; /* aliases: not used on VxWorks */
+ int h_addrtype; /* host address type */
+ int h_length; /* address length */
+ char **h_addr_list; /* (first, only) address from name server */
+# define h_addr h_addr_list[0] /* the first address */
+ };
+# elif defined (ACE_HAS_CYGWIN32_SOCKET_H)
+# include /**/ <cygwin32/socket.h>
+# elif !defined (ACE_WIN32)
+# if defined (ACE_HAS_STL_QUEUE_CONFLICT)
+# define queue _Queue_
+# endif /* ACE_HAS_STL_QUEUE_CONFLICT */
+# include /**/ <netdb.h>
+# if defined (ACE_HAS_STL_QUEUE_CONFLICT)
+# undef queue
+# endif /* ACE_HAS_STL_QUEUE_CONFLICT */
+# endif /* VXWORKS */
+}
+
+extern "C"
+{
+# if defined (VXWORKS)
+ // Work around a lack of ANSI prototypes for these functions on VxWorks.
+ unsigned long inet_addr (const char *);
+ char *inet_ntoa (const struct in_addr);
+ struct in_addr inet_makeaddr (const int, const int);
+ unsigned long inet_network (const char *);
+# elif !defined (ACE_WIN32)
+# include /**/ <arpa/inet.h>
+# endif /* ! VXWORKS */
+}
+
+// not sure where this should go...
+#if !defined (ACE_WIN32) && !defined (ACE_PSOS)
+// This part if to avoid STL name conflict with the map structure
+// in net/if.h.
+# if defined (ACE_HAS_STL_MAP_CONFLICT)
+# define map _Resource_Allocation_Map_
+# endif /* ACE_HAS_STL_MAP_CONFLICT */
+# include /**/ <net/if.h>
+# if defined (ACE_HAS_STL_MAP_CONFLICT)
+# undef map
+# endif /* ACE_HAS_STL_MAP_CONFLICT */
+
+# if defined (ACE_HAS_STL_QUEUE_CONFLICT)
+# define queue _Queue_
+# endif /* ACE_HAS_STL_QUEUE_CONFLICT */
+//# include /**/ <netinet/in.h>
+# include "ace/os_include/netinet/in.h"
+# if defined (ACE_HAS_STL_QUEUE_CONFLICT)
+# undef queue
+# endif /* ACE_HAS_STL_QUEUE_CONFLICT */
+
+# if !defined (ACE_LACKS_TCP_H)
+# if defined(ACE_HAS_CONFLICTING_XTI_MACROS)
+# if defined(TCP_NODELAY)
+# undef TCP_NODELAY
+# endif
+# if defined(TCP_MAXSEG)
+# undef TCP_MAXSEG
+# endif
+# endif
+# include /**/ <netinet/tcp.h>
+# endif /* ACE_LACKS_TCP_H */
+#endif /* !ACE_WIN32 && !ACE_PSOS */
+
+# if defined (SD_RECEIVE)
+# define ACE_SHUTDOWN_READ SD_RECEIVE
+# elif defined (SHUT_RD)
+# define ACE_SHUTDOWN_READ SHUT_RD
+# else
+# define ACE_SHUTDOWN_READ 0
+# endif /* SD_RECEIVE */
+
+# if defined (SD_SEND)
+# define ACE_SHUTDOWN_WRITE SD_SEND
+# elif defined (SHUT_WR)
+# define ACE_SHUTDOWN_WRITE SHUT_WR
+# else
+# define ACE_SHUTDOWN_WRITE 1
+# endif /* SD_RECEIVE */
+
+# if defined (SD_BOTH)
+# define ACE_SHUTDOWN_BOTH SD_BOTH
+# elif defined (SHUT_RDWR)
+# define ACE_SHUTDOWN_BOTH SHUT_RDWR
+# else
+# define ACE_SHUTDOWN_BOTH 2
+# endif /* SD_RECEIVE */
+
+# if defined (ACE_HAS_PHARLAP_RT)
+# define ACE_IPPROTO_TCP SOL_SOCKET
+# else
+# define ACE_IPPROTO_TCP IPPROTO_TCP
+# endif /* ACE_HAS_PHARLAP_RT */
+
+# if defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0)
+typedef WSAPROTOCOL_INFO ACE_Protocol_Info;
+
+// Callback function that's used by the QoS-enabled <ACE_OS::ioctl>
+// method.
+typedef LPWSAOVERLAPPED_COMPLETION_ROUTINE ACE_OVERLAPPED_COMPLETION_FUNC;
+typedef GROUP ACE_SOCK_GROUP;
+# else /* (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0) */
+
+struct ACE_OVERLAPPED
+{
+ u_long Internal;
+ u_long InternalHigh;
+ u_long Offset;
+ u_long OffsetHigh;
+ ACE_HANDLE hEvent;
+};
+
+struct ACE_Protocol_Info
+{
+ u_long dwServiceFlags1;
+ int iAddressFamily;
+ int iProtocol;
+ char szProtocol[255+1];
+};
+
+// Callback function that's used by the QoS-enabled <ACE_OS::ioctl>
+// method.
+typedef void (*ACE_OVERLAPPED_COMPLETION_FUNC) (u_long error,
+ u_long bytes_transferred,
+ ACE_OVERLAPPED *overlapped,
+ u_long flags);
+typedef u_long ACE_SOCK_GROUP;
+
+# endif /* (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0) */
+
+
+// For Win32 compatibility...
+# if !defined (ACE_WSOCK_VERSION)
+# define ACE_WSOCK_VERSION 0, 0
+# endif /* ACE_WSOCK_VERSION */
+
+
+// Increase the range of "address families". Please note that this
+// must appear _after_ the include of sys/socket.h, for the AF_FILE
+// definition on Linux/glibc2.
+# if !defined (AF_ANY)
+# define AF_ANY (-1)
+# endif /* AF_ANY */
+
+# define AF_SPIPE (AF_MAX + 1)
+# if !defined (AF_FILE)
+# define AF_FILE (AF_MAX + 2)
+# endif /* ! AF_FILE */
+# define AF_DEV (AF_MAX + 3)
+# define AF_UPIPE (AF_SPIPE)
+
+# if !defined(MAXHOSTNAMELEN)
+# define MAXHOSTNAMELEN 256
+# endif /* MAXHOSTNAMELEN */
+
+// Define INET loopback address constant if it hasn't been defined
+// Dotted Decimal 127.0.0.1 == Hexidecimal 0x7f000001
+# if !defined (INADDR_LOOPBACK)
+# define INADDR_LOOPBACK ((ACE_UINT32) 0x7f000001)
+# endif /* INADDR_LOOPBACK */
+
+// The INADDR_NONE address is generally 255.255.255.255.
+# if !defined (INADDR_NONE)
+# define INADDR_NONE ((ACE_UINT32) 0xffffffff)
+# endif /* INADDR_NONE */
+
+// Define INET string length constants if they haven't been defined
+//
+// for IPv4 dotted-decimal
+# if !defined (INET_ADDRSTRLEN)
+# define INET_ADDRSTRLEN 16
+# endif /* INET_ADDRSTRLEN */
+//
+// for IPv6 hex string
+# if !defined (INET6_ADDRSTRLEN)
+# define INET6_ADDRSTRLEN 46
+# endif /* INET6_ADDRSTRLEN */
+
+# if defined (ACE_HAS_IPV6)
+
+# if defined (ACE_USES_IPV4_IPV6_MIGRATION)
+# define ACE_ADDRESS_FAMILY_INET AF_UNSPEC
+# define ACE_PROTOCOL_FAMILY_INET PF_UNSPEC
+# else
+# define ACE_ADDRESS_FAMILY_INET AF_INET6
+# define ACE_PROTOCOL_FAMILY_INET PF_INET6
+# endif /* ACE_USES_IPV4_IPV6_MIGRATION */
+
+# else
+# define ACE_ADDRESS_FAMILY_INET AF_INET
+# define ACE_PROTOCOL_FAMILY_INET PF_INET
+# endif
+
+
+# if defined (ACE_HAS_BROKEN_SENDMSG)
+typedef struct msghdr ACE_SENDMSG_TYPE;
+# else
+typedef const struct msghdr ACE_SENDMSG_TYPE;
+# endif /* ACE_HAS_BROKEN_SENDMSG */
+
+# if !defined (ACE_HAS_MSG) && !defined (SCO)
+struct msghdr {};
+# endif /* ACE_HAS_MSG */
+
+# if defined (ACE_HAS_MSG) && defined (ACE_LACKS_MSG_ACCRIGHTS)
+# if !defined (msg_accrights)
+# undef msg_control
+# define msg_accrights msg_control
+# endif /* ! msg_accrights */
+
+# if !defined (msg_accrightslen)
+# undef msg_controllen
+# define msg_accrightslen msg_controllen
+# endif /* ! msg_accrightslen */
+# endif /* ACE_HAS_MSG && ACE_LACKS_MSG_ACCRIGHTS */
+
+# if defined (ACE_WIN32)
+# include "ace/os_include/sys/uio.h" // needed for iovec
+struct msghdr
+{
+ sockaddr * msg_name;
+ // optional address
+
+ int msg_namelen;
+ // size of address
+
+ iovec *msg_iov;
+ /* scatter/gather array */
+
+ int msg_iovlen;
+ // # elements in msg_iov
+
+ caddr_t msg_accrights;
+ // access rights sent/received
+
+ int msg_accrightslen;
+};
+# endif /* ACE_WIN32 */
+
+// this stuff is normally in <netdb.h>
+# if defined (ACE_HAS_STRUCT_NETDB_DATA)
+typedef char ACE_HOSTENT_DATA[sizeof(struct hostent_data)];
+typedef char ACE_SERVENT_DATA[sizeof(struct servent_data)];
+typedef char ACE_PROTOENT_DATA[sizeof(struct protoent_data)];
+# else
+# if !defined ACE_HOSTENT_DATA_SIZE
+# define ACE_HOSTENT_DATA_SIZE (4*1024)
+# endif /*ACE_HOSTENT_DATA_SIZE */
+# if !defined ACE_SERVENT_DATA_SIZE
+# define ACE_SERVENT_DATA_SIZE (4*1024)
+# endif /*ACE_SERVENT_DATA_SIZE */
+# if !defined ACE_PROTOENT_DATA_SIZE
+# define ACE_PROTOENT_DATA_SIZE (2*1024)
+# endif /*ACE_PROTOENT_DATA_SIZE */
+typedef char ACE_HOSTENT_DATA[ACE_HOSTENT_DATA_SIZE];
+typedef char ACE_SERVENT_DATA[ACE_SERVENT_DATA_SIZE];
+typedef char ACE_PROTOENT_DATA[ACE_PROTOENT_DATA_SIZE];
+# endif /* ACE_HAS_STRUCT_NETDB_DATA */
+
+#endif /* ACE_OS_INCLUDE_SYS_SOCKET_H */
diff --git a/ace/os_include/sys/stat.h b/ace/os_include/sys/stat.h
new file mode 100644
index 00000000000..e97275dc2e5
--- /dev/null
+++ b/ace/os_include/sys/stat.h
@@ -0,0 +1,80 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file stat.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_SYS_STAT_H
+# define ACE_OS_INCLUDE_SYS_STAT_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+# if !defined (ACE_LACKS_SYS_STAT_H) && !defined (ACE_LACKS_UNIX_SYS_HEADERS)
+# include /**/ <sys/stat.h>
+# endif /* !ACE_LACKS_SYS_STAT_H && !ACE_LACKS_UNIX_SYS_HEADERS */
+
+# if defined (ACE_LACKS_MODE_MASKS)
+// MODE MASKS
+
+// the following macros are for POSIX conformance.
+
+# if !defined (ACE_HAS_USER_MODE_MASKS)
+# define S_IRWXU 00700 /* read, write, execute: owner. */
+# define S_IRUSR 00400 /* read permission: owner. */
+# define S_IWUSR 00200 /* write permission: owner. */
+# define S_IXUSR 00100 /* execute permission: owner. */
+# endif /* ACE_HAS_USER_MODE_MASKS */
+# define S_IRWXG 00070 /* read, write, execute: group. */
+# define S_IRGRP 00040 /* read permission: group. */
+# define S_IWGRP 00020 /* write permission: group. */
+# define S_IXGRP 00010 /* execute permission: group. */
+# define S_IRWXO 00007 /* read, write, execute: other. */
+# define S_IROTH 00004 /* read permission: other. */
+# define S_IWOTH 00002 /* write permission: other. */
+# define S_IXOTH 00001 /* execute permission: other. */
+
+# endif /* ACE_LACKS_MODE_MASKS */
+
+# if defined (ACE_WINCE)
+// ACE_WINCE thing...
+// CE's add-on for c-style fstat/stat functionalities. This struct is
+// by no mean complete compared to what you usually find in UNIX
+// platforms. Only members that have direct conversion using Win32's
+// BY_HANDLE_FILE_INFORMATION are defined so that users can discover
+// non-supported members at compile time. Time values are of type
+// ACE_Time_Value for easy comparison.
+
+// Since CE does not have _stat by default as NT/2000 does, the 'stat'
+// struct defined here will be used. Also note that CE file system
+// struct is only for the CE 3.0 or later.
+// Refer to the WCHAR.H from Visual C++ and WIBASE.H from eVC 3.0.
+struct stat
+{
+ dev_t st_dev; // always 0 on Windows platforms
+ dev_t st_rdev; // always 0 on Windows platforms
+ unsigned short st_mode; // file attribute
+ short st_nlink; // number of hard links
+ ACE_Time_Value st_atime; // time of last access
+ ACE_Time_Value st_mtime; // time of last data modification
+ ACE_Time_Value st_ctime; // time of creation
+ off_t st_size; // file size, in bytes
+
+ // Following members do not have direct conversion in Window platforms.
+// u_long st_blksize; // optimal blocksize for I/O
+// u_long st_flags; // user defined flags for file
+};
+# endif /* ACE_WINCE */
+
+#endif /* ACE_OS_INCLUDE_SYS_STAT_H */
diff --git a/ace/os_include/sys/times.h b/ace/os_include/sys/times.h
new file mode 100644
index 00000000000..2a21b3a2974
--- /dev/null
+++ b/ace/os_include/sys/times.h
@@ -0,0 +1,28 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file times.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_SYS_TIMES_H
+# define ACE_OS_INCLUDE_SYS_TIMES_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+# if !defined (ACE_LACKS_SYS_TIMES_H)
+# include /**/ <sys/times.h>
+# endif /* ACE_LACKS_SYS_TIMES_H */
+
+#endif /* ACE_OS_INCLUDE_SYS_TIMES_H */
diff --git a/ace/os_include/sys/types.h b/ace/os_include/sys/types.h
new file mode 100644
index 00000000000..a7927bdf260
--- /dev/null
+++ b/ace/os_include/sys/types.h
@@ -0,0 +1,192 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file types.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_SYS_TYPES_H
+# define ACE_OS_INCLUDE_SYS_TYPES_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+# if !defined (ACE_LACKS_SYS_TYPES_H)
+# include /**/ <sys/types.h>
+# else /* !ACE_LACKS_SYS_TYPES_H */
+// For right now, assume that if you don't have sys/types, you
+// don't have these either.
+// Might need to add 1 0 to these if we have problems.
+# define ACE_LACKS_U_CHAR
+# define ACE_LACKS_UCHAR_T
+# define ACE_LACKS_U_SHORT
+# define ACE_LACKS_USHORT_T
+# define ACE_LACKS_U_INT
+# define ACE_LACKS_UINT_T
+# define ACE_LACKS_U_LONG
+# define ACE_LACKS_ULONG_T
+# endif /* !ACE_LACKS_SYS_TYPES_H && !ACE_LACKS_UNIX_SYS_HEADERS */
+
+# if defined (ACE_HAS_TYPES_H)
+# include /**/ <types.h>
+# endif /* ACE_HAS_TYPES_H */
+
+# if defined (ACE_LACKS_U_CHAR)
+ typedef unsigned char u_char;
+# endif /* ACE_LACKS_U_CHAR */
+
+# if defined (ACE_LACKS_UCHAR_T)
+ typedef u_char uchar_t;
+# endif /* ACE_LACKS_UCHAR_T */
+
+# if defined (ACE_LACKS_U_SHORT)
+ typedef unsigned short u_short;
+# endif /* ACE_LACKS_U_CHAR */
+
+# if defined (ACE_LACKS_USHORT_T)
+ typedef u_short ushort_t;
+# endif /* ACE_LACKS_UCHAR_T */
+
+# if defined (ACE_LACKS_U_INT)
+ typedef unsigned int u_int;
+# endif /* ACE_LACKS_U_INT */
+
+# if defined (ACE_LACKS_UINT_T)
+ typedef u_int uint_t;
+# endif /* ACE_LACKS_UINT_T */
+
+# if defined (ACE_LACKS_U_LONG)
+ typedef unsigned long u_long;
+# endif /* ACE_LACKS_U_LONG */
+
+# if defined (ACE_LACKS_ULONG_T)
+ typedef u_long ulong_t;
+# endif /* ACE_LACKS_ULONG_T */
+
+# if defined (ACE_LACKS_CADDR_T)
+typedef char* caddr_t;
+# endif /* ACE_LACKS_CDDR_T */
+
+# if defined (ACE_LACKS_CLOCK_T)
+typedef long int clock_t;
+# endif /* ACE_LACKS_CLOCK_T */
+
+# if defined (ACE_LACKS_COMP_T)
+typedef u_short comp_t;
+# endif /* ACE_LACKS_COMP_T */
+
+# if defined (ACE_LACKS_DEV_T)
+typedef u_int dev_t;
+# endif /* ACE_LACKS_DEV_T */
+
+# if defined (ACE_LACKS_FD_SET_T) || defined (ACE_FD_SET_TYPE)
+# if !defined (ACE_FD_SET_TYPE)
+# define ACE_FD_SET_TYPE fd_set
+# endif /* ACE_FD_SET_TYPE */
+typedef ACE_FD_SET_TYPE fd_set;
+# endif /* ACE_LACKS_FD_SET_T */
+
+// This is for select calls, set to int in your config-*.h file if
+// your os doesn't use fd_set in select calls.
+# if !defined (ACE_SELECT_FD_SET_TYPE)
+# define ACE_SELECT_FD_SET_TYPE fd_set
+# endif /* ACE_FD_SET_TYPE */
+
+# if defined (ACE_LACKS_FPOS_T)
+// another struct
+//typedef int fpos_t;
+# endif /* ACE_LACKS_FPOS_T */
+
+# if defined (ACE_LACKS_GID_T) || defined (ACE_GUID_T_TYPE)
+# if !defined (ACE_GID_T_TYPE)
+# define ACE_GID_T_TYPE u_int
+# endif /* !ACE_GID_T_TYPE */
+typedef ACE_GID_T_TYPE gid_t;
+# endif /* ACE_LACKS_GID_T */
+
+# if defined (ACE_LACKS_INO_T)
+typedef u_long ino_t;
+# endif /* ACE_LACKS_INO_T */
+
+# if defined (ACE_LACKS_KEY_T) || defined (ACE_KEY_T_TYPE)
+# if !defined (ACE_KEY_T_TYPE)
+# define ACE_KEY_T_TYPE long int
+# endif /* ACE_KEY_T_TYPE */
+typedef ACE_KEY_T_TYPE key_t;
+# endif /* ACE_LACKS_KEY_T */
+
+# if defined (ACE_LACKS_MODE_T) || defined (ACE_MODE_T_TYPE)
+# if !defined (ACE_MODE_T_TYPE)
+# define ACE_MODE_T_TYPE u_int
+# endif /* !ACE_MODE_T_TYPE */
+typedef ACE_MODE_T_TYPE mode_t;
+# endif /* ACE_LACKS_MODE_T */
+
+# if defined (ACE_LACKS_NLINK_T) || defined (ACE_NLINK_T_TYPE)
+# if !defined (ACE_NLINK_T_TYPE)
+# define ACE_NLINK_T_TYPE u_int
+# endif /* !ACE_NLINK_T_TYPE */
+typedef ACE_NLINK_T_TYPE nlink_t;
+# endif /* ACE_LACKS_NLINK_T */
+
+# if defined (ACE_LACKS_OFF_T)
+typedef long int off_t;
+# endif /* ACE_LACKS_OFF_T */
+
+# if defined (ACE_LACKS_OFF_T)
+typedef long long int loff_t;
+# endif /* ACE_LACKS_OFF_T */
+
+# if defined (ACE_LACKS_PID_T) || defined (ACE_PID_T_TYPE)
+# if !defined (ACE_PID_T_TYPE)
+# define ACE_PID_T_TYPE int
+# endif /* !ACE_PID_T_TYPE */
+typedef ACE_PID_T_TYPE pid_t;
+# endif /* ACE_LACKS_PID_T */
+
+# if defined (ACE_LACKS_PTRDIFF_T)
+typedef int ptrdiff_t;
+# endif /* ACE_LACKS_PTRDIFF_T */
+
+# if defined (ACE_LACKS_RLIM_T)
+typedef u_long rlim_t;
+# endif /* ACE_LACKS_RLIM_T */
+
+# if defined (ACE_LACKS_SIG_ATOMIC_T)
+typedef int sig_atomic_t;
+# endif /* ACE_LACKS_SIG_ATOMIC_T */
+
+# if defined (ACE_LACKS_SIZE_T)
+typedef u_int size_t;
+# endif /* ACE_LACKS_SIZE_T */
+
+# if defined (ACE_LACKS_SSIZE_T)
+typedef int ssize_t;
+# endif /* ACE_LACKS_SSIZE_T */
+
+# if defined (ACE_LACKS_TIME_T)
+typedef long int time_t;
+# endif /* ACE_LACKS_TIME_T */
+
+# if defined (ACE_LACKS_UID_T) || defined (ACE_UID_T_TYPE)
+# if !defined (ACE_UID_T_TYPE)
+# define ACE_UID_T_TYPE u_int
+# endif /* !ACE_UID_T_TYPE */
+typedef ACE_UID_T_TYPE uid_t;
+# endif /* ACE_LACKS_UID_T */
+
+# if defined (ACE_LACKS_WCHAR_T)
+typedef u_long wchar_t;
+# endif /* ACE_LACKS_WCHAR_T */
+
+#endif /* ACE_OS_INCLUDE_SYS_TYPES_H */
diff --git a/ace/os_include/sys/uio.h b/ace/os_include/sys/uio.h
new file mode 100644
index 00000000000..3a309f3e545
--- /dev/null
+++ b/ace/os_include/sys/uio.h
@@ -0,0 +1,47 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file uio.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_SYS_UIO_H
+# define ACE_OS_INCLUDE_SYS_UIO_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+# if !defined (ACE_LACKS_SYS_UIO_H) && !defined (ACE_LACKS_UNIX_SYS_HEADERS)
+# include /**/ <sys/uio.h>
+# endif /* !ACE_LACKS_SYS_UIO_H && !ACE_LACKS_UNIX_SYS_HEADERS */
+
+# if defined(__rtems__)
+struct iovec {
+ char *iov_base; // Base address.
+ size_t iov_len; // Length.
+};
+# endif
+
+# if defined (ACE_HAS_BROKEN_WRITEV)
+typedef struct iovec ACE_WRITEV_TYPE;
+# else
+typedef const struct iovec ACE_WRITEV_TYPE;
+# endif /* ACE_HAS_BROKEN_WRITEV */
+
+# if defined (ACE_HAS_BROKEN_READV)
+typedef const struct iovec ACE_READV_TYPE;
+# else
+typedef struct iovec ACE_READV_TYPE;
+# endif /* ACE_HAS_BROKEN_READV */
+
+#endif /* ACE_OS_INCLUDE_SYS_UIO_H */
diff --git a/ace/os_include/sys/utsname.h b/ace/os_include/sys/utsname.h
new file mode 100644
index 00000000000..702fda99380
--- /dev/null
+++ b/ace/os_include/sys/utsname.h
@@ -0,0 +1,49 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file utsname.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_SYS_UTSNAME_H
+# define ACE_OS_INCLUDE_SYS_UTSNAME_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+// Only include if platform/compiler provide the header.
+# if !defined (ACE_LACKS_SYS_UTSNAME_H)
+# include /**/ <sys/utsname.h>
+# endif /* !ACE_LACKS_SYS_UTSNAME_H */
+
+
+# if defined (ACE_LACKS_UTSNAME_T)
+# if !defined (SYS_NMLN)
+# define SYS_NMLN 257
+# endif /* SYS_NMLN */
+# if !defined (_SYS_NMLN)
+# define _SYS_NMLN SYS_NMLN
+# endif /* _SYS_NMLN */
+struct ACE_utsname
+{
+ ACE_TCHAR sysname[_SYS_NMLN];
+ ACE_TCHAR nodename[_SYS_NMLN];
+ ACE_TCHAR release[_SYS_NMLN];
+ ACE_TCHAR version[_SYS_NMLN];
+ ACE_TCHAR machine[_SYS_NMLN];
+};
+# else
+typedef struct utsname ACE_utsname;
+# endif /* ACE_LACKS_UTSNAME_T */
+
+#endif /* ACE_OS_INCLUDE_SYS_UTSNAME_H */
diff --git a/ace/os_include/sys/wait.h b/ace/os_include/sys/wait.h
new file mode 100644
index 00000000000..55ba9d6e2d9
--- /dev/null
+++ b/ace/os_include/sys/wait.h
@@ -0,0 +1,121 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file wait.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_SYS_WAIT_H
+# define ACE_OS_INCLUDE_SYS_WAIT_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+# if !defined (ACE_LACKS_SYS_WAIT_H)
+# include <sys/wait.h>
+# endif /* ACE_LACKS_SYS_WAIT_H */
+
+
+ // Wrapping around wait status <wstat> macros for platforms that
+ // lack them.
+
+ // Evaluates to a non-zero value if status was returned for a child
+ // process that terminated normally. 0 means status wasn't
+ // returned.
+# if !defined (WIFEXITED)
+# define WIFEXITED(stat) 1
+# endif /* WIFEXITED */
+
+ // If the value of WIFEXITED(stat) is non-zero, this macro evaluates
+ // to the exit code that the child process exit(3C), or the value
+ // that the child process returned from main. Peaceful exit code is
+ // 0.
+# if !defined (WEXITSTATUS)
+# define WEXITSTATUS(stat) stat
+# endif /* WEXITSTATUS */
+
+ // Evaluates to a non-zero value if status was returned for a child
+ // process that terminated due to the receipt of a signal. 0 means
+ // status wasnt returned.
+# if !defined (WIFSIGNALED)
+# define WIFSIGNALED(stat) 0
+# endif /* WIFSIGNALED */
+
+ // If the value of WIFSIGNALED(stat) is non-zero, this macro
+ // evaluates to the number of the signal that caused the
+ // termination of the child process.
+# if !defined (WTERMSIG)
+# define WTERMSIG(stat) 0
+# endif /* WTERMSIG */
+
+# if !defined (WIFSTOPPED)
+# define WIFSTOPPED(stat) 0
+# endif /* WIFSTOPPED */
+
+# if !defined (WSTOPSIG)
+# define WSTOPSIG(stat) 0
+# endif /* WSTOPSIG */
+
+# if !defined (WIFCONTINUED)
+# define WIFCONTINUED(stat) 0
+# endif /* WIFCONTINUED */
+
+# if !defined (WCOREDUMP)
+# define WCOREDUMP(stat) 0
+# endif /* WCOREDUMP */
+# if defined (ACE_HAS_IDTYPE_T) && !defined (ACE_IDTYPE_T_TYPE)
+// typedef idtype_t ACE_idtype_t;
+# define ACE_IDTYPE_T_TYPE idtype_t
+# else
+// typedef int ACE_idtype_t;
+# define ACE_IDTYPE_T_TYPE int
+# endif /* ACE_HAS_IDTYPE_T */
+
+# if defined (ACE_HAS_STHREADS) || defined (DIGITAL_UNIX)
+# if defined (ACE_LACKS_PRI_T)
+// typedef int pri_t;
+# if !defined (ACE_PRI_T_TYPE)
+# define ACE_PRI_T_TYPE int
+# endif /* !ACE_PRI_T_TYPE */
+# endif /* ACE_LACKS_PRI_T */
+# if !defined (ACE_ID_T_TYPE)
+// typedef id_t ACE_id_t;
+# define ACE_ID_T_TYPE id_t
+# endif /* !ACE_ID_T_TYPE */
+# if !defined (ACE_SELF)
+# define ACE_SELF P_MYID
+# endif /* ACE_SELF */
+# if !defined (ACE_PRI_T_TYPE)
+# define ACE_PRI_T_TYPE pri_t
+// typedef pri_t ACE_pri_t;
+# endif /* !ACE_PRI_T_TYPE */
+# else /* ! ACE_HAS_STHREADS && ! DIGITAL_UNIX */
+# if !defined (ACE_ID_T_TYPE)
+# define ACE_ID_T_TYPE long
+// typedef long ACE_id_t;
+# endif /* !ACE_ID_T_TYPE */
+# if !defined (ACE_SELF)
+# define ACE_SELF (-1)
+# endif /* !ACE_SELF */
+# if !defined (ACE_PRI_T_TYPE)
+# define ACE_PRI_T_TYPE short
+// typedef short ACE_pri_t;
+# endif /* !ACE_PRI_T_TYPE */
+# endif /* ! ACE_HAS_STHREADS && ! DIGITAL_UNIX */
+
+
+typedef ACE_IDTYPE_T_TYPE ACE_idtype_t;
+typedef ACE_ID_T_TYPE ACE_id_t;
+typedef ACE_PRI_T_TYPE ACE_pri_t;
+
+#endif /* ACE_OS_INCLUDE_SYS_WAIT_H */
diff --git a/ace/os_include/termios.h b/ace/os_include/termios.h
new file mode 100644
index 00000000000..09a8760deb3
--- /dev/null
+++ b/ace/os_include/termios.h
@@ -0,0 +1,50 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file termios.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_TERMIOS_H
+# define ACE_OS_INCLUDE_TERMIOS_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+// Only include if platform/compiler provide the header.
+# if !defined (ACE_LACKS_TERMIOS_H)
+# include /**/ <termios.h>
+# endif /* !ACE_LACKS_TERMIOS_H */
+
+// This is sorta interesting. but termios.h not sys/termios.h should be correct.
+# if defined (ACE_NEEDS_TERMIOS_H) // __QNX__
+# include /**/ <termios.h>
+# endif /* ACE_NEEDS_TERMIOS_H) */
+
+# if defined (ACE_NEEDS_SYS_MODEM_H) // HPUX
+# include /**/ <sys/modem.h>
+# endif /* ACE_NEEDS_SYS_MODEM_H */
+
+# if !defined (VMIN)
+# define ACE_VMIN 4
+# else
+# define ACE_VMIN VMIN
+# endif /* VMIN */
+
+# if !defined (VTIME)
+# define ACE_VTIME 5
+# else
+# define ACE_VTIME VTIME
+# endif /* VTIME */
+
+#endif /* ACE_OS_INCLUDE_TERMIOS_H */
diff --git a/ace/os_include/threads.h b/ace/os_include/threads.h
new file mode 100644
index 00000000000..8ae7ff19863
--- /dev/null
+++ b/ace/os_include/threads.h
@@ -0,0 +1,1204 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file threads.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_THREADS_H
+# define ACE_OS_INCLUDE_THREADS_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+# include "ace/os_include/sys/types.h"
+# include "ace/OS_Export.h"
+
+# if !defined (ACE_DEFAULT_SYNCH_TYPE)
+# define ACE_DEFAULT_SYNCH_TYPE USYNC_THREAD
+# endif /* ! ACE_DEFAULT_SYNCH_TYPE */
+
+// This is for C++ static methods.
+# if defined (VXWORKS)
+typedef int ACE_THR_FUNC_INTERNAL_RETURN_TYPE;
+typedef FUNCPTR ACE_THR_FUNC_INTERNAL; // where typedef int (*FUNCPTR) (...)
+# elif defined (ACE_PSOS)
+typedef void (*ACE_THR_FUNC_INTERNAL)(void *);
+# else
+typedef ACE_THR_FUNC ACE_THR_FUNC_INTERNAL;
+# endif /* VXWORKS */
+
+extern "C" {
+typedef void (*ACE_THR_C_DEST)(void *);
+}
+typedef void (*ACE_THR_DEST)(void *);
+
+
+// Since Linux doesn't define this, I'm not sure how it should be handled.
+// Need to look into it...
+# if defined (ACE_HAS_PRIOCNTL)
+# include /**/ <sys/priocntl.h>
+# endif /* ACE_HAS_PRIOCNTL */
+
+# if defined (ACE_HAS_PRIOCNTL)
+ // Need to #include thread.h before #defining THR_BOUND, etc.,
+ // when building without threads on SunOS 5.x.
+# if defined (sun)
+# include /**/ <thread.h>
+# endif /* sun */
+
+ // Need to #include these before #defining USYNC_PROCESS on SunOS 5.x.
+# include /**/ <sys/rtpriocntl.h>
+# include /**/ <sys/tspriocntl.h>
+# endif /* ACE_HAS_PRIOCNTL */
+
+// This needs to go here *first* to avoid problems with AIX.
+# if defined (ACE_HAS_PTHREADS)
+extern "C" {
+# define ACE_DONT_INCLUDE_ACE_SIGNAL_H
+# include "ace/os_include/signal.h"
+# undef ACE_DONT_INCLUDE_ACE_SIGNAL_H
+# include /**/ <pthread.h>
+# if defined (DIGITAL_UNIX)
+# define pthread_self __pthread_self
+extern "C" pthread_t pthread_self (void);
+# endif /* DIGITAL_UNIX */
+}
+# if defined (HPUX_10)
+// HP-UX 10 needs to see cma_sigwait, and since _CMA_NOWRAPPERS_ is defined,
+// this header does not get included from pthreads.h.
+# include /**/ <dce/cma_sigwait.h>
+# endif /* HPUX_10 */
+# endif /* ACE_HAS_PTHREADS */
+
+// There are a lot of threads-related macro definitions in the config files.
+// They came in at different times and from different places and platform
+// requirements as threads evolved. They are probably not all needed - some
+// overlap or are otherwise confused. This is an attempt to start
+// straightening them out.
+# if defined (ACE_HAS_PTHREADS_STD) /* POSIX.1c threads (pthreads) */
+ // ... and 2-parameter asctime_r and ctime_r
+# if !defined (ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R) && \
+ !defined (ACE_HAS_STHREADS)
+# define ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R
+# endif
+# endif /* ACE_HAS_PTHREADS_STD */
+
+
+# if defined (ACE_HAS_THREADS) && (defined (ACE_HAS_THREAD_SPECIFIC_STORAGE) || defined (ACE_HAS_TSS_EMULATION))
+# define ACE_TSS_TYPE(T) ACE_TSS< T >
+# if defined (ACE_HAS_BROKEN_CONVERSIONS)
+# define ACE_TSS_GET(I, T) (*(I))
+# else
+# define ACE_TSS_GET(I, T) ((I)->operator T * ())
+# endif /* ACE_HAS_BROKEN_CONVERSIONS */
+# else
+# define ACE_TSS_TYPE(T) T
+# define ACE_TSS_GET(I, T) (I)
+# endif /* ACE_HAS_THREADS && (ACE_HAS_THREAD_SPECIFIC_STORAGE || ACE_HAS_TSS_EMULATIOND) */
+
+# if defined (ACE_MT_SAFE) && (ACE_MT_SAFE != 0)
+# define ACE_MT(X) X
+# if !defined (_REENTRANT)
+# define _REENTRANT
+# endif /* _REENTRANT */
+# else
+# define ACE_MT(X)
+# endif /* ACE_MT_SAFE */
+
+# if !defined (ACE_DEFAULT_THREAD_PRIORITY)
+# define ACE_DEFAULT_THREAD_PRIORITY (-0x7fffffffL - 1L)
+# endif /* ACE_DEFAULT_THREAD_PRIORITY */
+
+
+# if defined (ACE_HAS_POSIX_SEM)
+# include /**/ <semaphore.h>
+# if !defined (SEM_FAILED) && !defined (ACE_LACKS_NAMED_POSIX_SEM)
+# define SEM_FAILED ((sem_t *) -1)
+# endif /* !SEM_FAILED */
+
+// look familiar?
+// looks like this is only used with posix sem
+# if !defined (SEM_FAILED)
+# define SEM_FAILED ((sem_t *) -1)
+# endif /* !SEM_FAILED */
+
+typedef struct
+{
+ sem_t *sema_;
+ // Pointer to semaphore handle. This is allocated by ACE if we are
+ // working with an unnamed POSIX semaphore or by the OS if we are
+ // working with a named POSIX semaphore.
+
+ char *name_;
+ // Name of the semaphore (if this is non-NULL then this is a named
+ // POSIX semaphore, else its an unnamed POSIX semaphore).
+
+# if defined (ACE_LACKS_NAMED_POSIX_SEM)
+ int new_sema_;
+ // this->sema_ doesn't always get created dynamically if a platform
+ // doesn't support named posix semaphores. We use this flag to
+ // remember if we need to delete <sema_> or not.
+# endif /* ACE_LACKS_NAMED_POSIX_SEM */
+} ACE_sema_t;
+# endif /* ACE_HAS_POSIX_SEM */
+
+# if defined (ACE_HAS_THREADS)
+
+# if defined (ACE_HAS_STHREADS)
+# include /**/ <synch.h>
+# include /**/ <thread.h>
+# define ACE_SCOPE_PROCESS P_PID
+# define ACE_SCOPE_LWP P_LWPID
+# define ACE_SCOPE_THREAD (ACE_SCOPE_LWP + 1)
+# else
+# define ACE_SCOPE_PROCESS 0
+# define ACE_SCOPE_LWP 1
+# define ACE_SCOPE_THREAD 2
+# endif /* ACE_HAS_STHREADS */
+
+# if !defined (ACE_HAS_PTHREADS)
+# define ACE_SCHED_OTHER 0
+# define ACE_SCHED_FIFO 1
+# define ACE_SCHED_RR 2
+# endif /* ! ACE_HAS_PTHREADS */
+
+
+
+//////////////////////////////////////////////////
+//////////////////////////////////////////////////
+//////////////////////////////////////////////////
+# if defined (ACE_HAS_PTHREADS)
+# define ACE_SCHED_OTHER SCHED_OTHER
+# define ACE_SCHED_FIFO SCHED_FIFO
+# define ACE_SCHED_RR SCHED_RR
+
+
+# if defined(__GLIBC__)
+# if !defined (_XOPEN_SOURCE) \
+ || (defined (_XOPEN_SOURCE) && (_XOPEN_SOURCE - 0) < 600)
+// pthread_mutex_timedlock() prototype is not visible if _XOPEN_SOURCE
+// is not >= 600 (i.e. for XPG6).
+extern "C" int pthread_mutex_timedlock (pthread_mutex_t *mutex,
+ const struct timespec * abstime);
+# endif /* _XOPEN_SOURCE && _XOPEN_SOURCE < 600 */
+# endif /* __GLIBC__ */
+
+
+// Definitions for mapping POSIX pthreads draft 6 into 1003.1c names
+
+# if defined (ACE_HAS_PTHREADS_DRAFT6)
+# define PTHREAD_SCOPE_PROCESS PTHREAD_SCOPE_LOCAL
+# define PTHREAD_SCOPE_SYSTEM PTHREAD_SCOPE_GLOBAL
+# define PTHREAD_CREATE_UNDETACHED 0
+# define PTHREAD_CREATE_DETACHED 1
+# define PTHREAD_CREATE_JOINABLE 0
+# define PTHREAD_EXPLICIT_SCHED 0
+# define PTHREAD_MIN_PRIORITY 0
+# define PTHREAD_MAX_PRIORITY 126
+# endif /* ACE_HAS_PTHREADS_DRAFT6 */
+
+// Definitions for THREAD- and PROCESS-LEVEL priorities...some
+// implementations define these while others don't. In order to
+// further complicate matters, we don't redefine the default (*_DEF)
+// values if they've already been defined, which allows individual
+// programs to have their own ACE-wide "default".
+
+// PROCESS-level values
+# if defined (_POSIX_PRIORITY_SCHEDULING) && \
+ !defined(_UNICOS) && !defined(UNIXWARE_7_1)
+# define ACE_PROC_PRI_FIFO_MIN (sched_get_priority_min(SCHED_FIFO))
+# define ACE_PROC_PRI_RR_MIN (sched_get_priority_min(SCHED_RR))
+# if defined (HPUX)
+ // HP-UX's other is the SCHED_HPUX class, which uses historical
+ // values that have reverse semantics from POSIX (low value is
+ // more important priority). To use these in pthreads calls,
+ // the values need to be converted. The other scheduling classes
+ // don't need this special treatment.
+# define ACE_PROC_PRI_OTHER_MIN \
+ (sched_get_priority_min(SCHED_OTHER))
+# else
+# define ACE_PROC_PRI_OTHER_MIN (sched_get_priority_min(SCHED_OTHER))
+# endif /* HPUX */
+# else /* UNICOS is missing a sched_get_priority_min() implementation,
+ SCO too */
+# define ACE_PROC_PRI_FIFO_MIN 0
+# define ACE_PROC_PRI_RR_MIN 0
+# define ACE_PROC_PRI_OTHER_MIN 0
+# endif
+
+# if defined (_POSIX_PRIORITY_SCHEDULING) && !defined(UNIXWARE_7_1)
+# define ACE_PROC_PRI_FIFO_MAX (sched_get_priority_max(SCHED_FIFO))
+# define ACE_PROC_PRI_RR_MAX (sched_get_priority_max(SCHED_RR))
+# if defined (HPUX)
+# define ACE_PROC_PRI_OTHER_MAX \
+ (sched_get_priority_max(SCHED_OTHER))
+# else
+# define ACE_PROC_PRI_OTHER_MAX (sched_get_priority_max(SCHED_OTHER))
+# endif /* HPUX */
+# else /* SCO missing sched_get_priority_max() implementation */
+# define ACE_PROC_PRI_FIFO_MAX 59
+# define ACE_PROC_PRI_RR_MAX 59
+# define ACE_PROC_PRI_OTHER_MAX 59
+# endif
+
+# if !defined(ACE_PROC_PRI_FIFO_DEF)
+# define ACE_PROC_PRI_FIFO_DEF (ACE_PROC_PRI_FIFO_MIN + (ACE_PROC_PRI_FIFO_MAX - ACE_PROC_PRI_FIFO_MIN)/2)
+# endif
+# if !defined(ACE_PROC_PRI_RR_DEF)
+# define ACE_PROC_PRI_RR_DEF (ACE_PROC_PRI_RR_MIN + (ACE_PROC_PRI_RR_MAX - ACE_PROC_PRI_RR_MIN)/2)
+# endif
+# if !defined(ACE_PROC_PRI_OTHER_DEF)
+# define ACE_PROC_PRI_OTHER_DEF (ACE_PROC_PRI_OTHER_MIN + (ACE_PROC_PRI_OTHER_MAX - ACE_PROC_PRI_OTHER_MIN)/2)
+# endif
+
+// THREAD-level values
+# if defined(PRI_FIFO_MIN) && defined(PRI_FIFO_MAX) && defined(PRI_RR_MIN) && defined(PRI_RR_MAX) && defined(PRI_OTHER_MIN) && defined(PRI_OTHER_MAX)
+# if !defined (ACE_THR_PRI_FIFO_MIN)
+# define ACE_THR_PRI_FIFO_MIN (long) PRI_FIFO_MIN
+# endif /* !ACE_THR_PRI_FIFO_MIN */
+# if !defined (ACE_THR_PRI_FIFO_MAX)
+# define ACE_THR_PRI_FIFO_MAX (long) PRI_FIFO_MAX
+# endif /* !ACE_THR_PRI_FIFO_MAX */
+# if !defined (ACE_THR_PRI_RR_MIN)
+# define ACE_THR_PRI_RR_MIN (long) PRI_RR_MIN
+# endif /* !ACE_THR_PRI_RR_MIN */
+# if !defined (ACE_THR_PRI_RR_MAX)
+# define ACE_THR_PRI_RR_MAX (long) PRI_RR_MAX
+# endif /* !ACE_THR_PRI_RR_MAX */
+# if !defined (ACE_THR_PRI_OTHER_MIN)
+# define ACE_THR_PRI_OTHER_MIN (long) PRI_OTHER_MIN
+# endif /* !ACE_THR_PRI_OTHER_MIN */
+# if !defined (ACE_THR_PRI_OTHER_MAX)
+# define ACE_THR_PRI_OTHER_MAX (long) PRI_OTHER_MAX
+# endif /* !ACE_THR_PRI_OTHER_MAX */
+# elif defined (AIX)
+ // AIX's priority range is 1 (low) to 127 (high). There aren't
+ // any preprocessor macros I can find. PRIORITY_MIN is for
+ // process priorities, as far as I can see, and does not apply
+ // to thread priority. The 1 to 127 range is from the
+ // pthread_attr_setschedparam man page (Steve Huston, 18-May-2001).
+# if !defined (ACE_THR_PRI_FIFO_MIN)
+# define ACE_THR_PRI_FIFO_MIN (long) 1
+# endif /* !ACE_THR_PRI_FIFO_MIN */
+# if !defined (ACE_THR_PRI_FIFO_MAX)
+# define ACE_THR_PRI_FIFO_MAX (long) 127
+# endif /* !ACE_THR_PRI_FIFO_MAX */
+# if !defined (ACE_THR_PRI_RR_MIN)
+# define ACE_THR_PRI_RR_MIN (long) 1
+# endif /* !ACE_THR_PRI_RR_MIN */
+# if !defined (ACE_THR_PRI_RR_MAX)
+# define ACE_THR_PRI_RR_MAX (long) 127
+# endif /* !ACE_THR_PRI_RR_MAX */
+# if !defined (ACE_THR_PRI_OTHER_MIN)
+# define ACE_THR_PRI_OTHER_MIN (long) 1
+# endif /* !ACE_THR_PRI_OTHER_MIN */
+# if !defined (ACE_THR_PRI_OTHER_MAX)
+# define ACE_THR_PRI_OTHER_MAX (long) 127
+# endif /* !ACE_THR_PRI_OTHER_MAX */
+# elif defined (sun)
+# if !defined (ACE_THR_PRI_FIFO_MIN)
+# define ACE_THR_PRI_FIFO_MIN (long) 0
+# endif /* !ACE_THR_PRI_FIFO_MIN */
+# if !defined (ACE_THR_PRI_FIFO_MAX)
+# define ACE_THR_PRI_FIFO_MAX (long) 59
+# endif /* !ACE_THR_PRI_FIFO_MAX */
+# if !defined (ACE_THR_PRI_RR_MIN)
+# define ACE_THR_PRI_RR_MIN (long) 0
+# endif /* !ACE_THR_PRI_RR_MIN */
+# if !defined (ACE_THR_PRI_RR_MAX)
+# define ACE_THR_PRI_RR_MAX (long) 59
+# endif /* !ACE_THR_PRI_RR_MAX */
+# if !defined (ACE_THR_PRI_OTHER_MIN)
+# define ACE_THR_PRI_OTHER_MIN (long) 0
+# endif /* !ACE_THR_PRI_OTHER_MIN */
+# if !defined (ACE_THR_PRI_OTHER_MAX)
+# define ACE_THR_PRI_OTHER_MAX (long) 127
+# endif /* !ACE_THR_PRI_OTHER_MAX */
+# else
+# if !defined (ACE_THR_PRI_FIFO_MIN)
+# define ACE_THR_PRI_FIFO_MIN (long) ACE_PROC_PRI_FIFO_MIN
+# endif /* !ACE_THR_PRI_FIFO_MIN */
+# if !defined (ACE_THR_PRI_FIFO_MAX)
+# define ACE_THR_PRI_FIFO_MAX (long) ACE_PROC_PRI_FIFO_MAX
+# endif /* !ACE_THR_PRI_FIFO_MAX */
+# if !defined (ACE_THR_PRI_RR_MIN)
+# define ACE_THR_PRI_RR_MIN (long) ACE_PROC_PRI_RR_MIN
+# endif /* !ACE_THR_PRI_RR_MIN */
+# if !defined (ACE_THR_PRI_RR_MAX)
+# define ACE_THR_PRI_RR_MAX (long) ACE_PROC_PRI_RR_MAX
+# endif /* !ACE_THR_PRI_RR_MAX */
+# if !defined (ACE_THR_PRI_OTHER_MIN)
+# define ACE_THR_PRI_OTHER_MIN (long) ACE_PROC_PRI_OTHER_MIN
+# endif /* !ACE_THR_PRI_OTHER_MIN */
+# if !defined (ACE_THR_PRI_OTHER_MAX)
+# define ACE_THR_PRI_OTHER_MAX (long) ACE_PROC_PRI_OTHER_MAX
+# endif /* !ACE_THR_PRI_OTHER_MAX */
+# endif
+# if !defined(ACE_THR_PRI_FIFO_DEF)
+# define ACE_THR_PRI_FIFO_DEF ((ACE_THR_PRI_FIFO_MIN + ACE_THR_PRI_FIFO_MAX)/2)
+# endif
+# if !defined(ACE_THR_PRI_RR_DEF)
+# define ACE_THR_PRI_RR_DEF ((ACE_THR_PRI_RR_MIN + ACE_THR_PRI_RR_MAX)/2)
+# endif
+# if !defined(ACE_THR_PRI_OTHER_DEF)
+# define ACE_THR_PRI_OTHER_DEF ((ACE_THR_PRI_OTHER_MIN + ACE_THR_PRI_OTHER_MAX)/2)
+# endif
+
+// Typedefs to help compatibility with Windows NT and Pthreads.
+typedef pthread_t ACE_hthread_t;
+typedef pthread_t ACE_thread_t;
+
+# if defined (ACE_HAS_TSS_EMULATION)
+ typedef pthread_key_t ACE_OS_thread_key_t;
+ typedef u_long ACE_thread_key_t;
+# else /* ! ACE_HAS_TSS_EMULATION */
+ typedef pthread_key_t ACE_thread_key_t;
+# endif /* ! ACE_HAS_TSS_EMULATION */
+
+# if !defined (ACE_LACKS_COND_T)
+typedef pthread_mutex_t ACE_mutex_t;
+typedef pthread_cond_t ACE_cond_t;
+typedef pthread_condattr_t ACE_condattr_t;
+typedef pthread_mutexattr_t ACE_mutexattr_t;
+# endif /* ! ACE_LACKS_COND_T */
+typedef pthread_mutex_t ACE_thread_mutex_t;
+
+# if !defined (PTHREAD_CANCEL_DISABLE)
+# define PTHREAD_CANCEL_DISABLE 0
+# endif /* PTHREAD_CANCEL_DISABLE */
+
+# if !defined (PTHREAD_CANCEL_ENABLE)
+# define PTHREAD_CANCEL_ENABLE 0
+# endif /* PTHREAD_CANCEL_ENABLE */
+
+# if !defined (PTHREAD_CANCEL_DEFERRED)
+# define PTHREAD_CANCEL_DEFERRED 0
+# endif /* PTHREAD_CANCEL_DEFERRED */
+
+# if !defined (PTHREAD_CANCEL_ASYNCHRONOUS)
+# define PTHREAD_CANCEL_ASYNCHRONOUS 0
+# endif /* PTHREAD_CANCEL_ASYNCHRONOUS */
+
+# define THR_CANCEL_DISABLE PTHREAD_CANCEL_DISABLE
+# define THR_CANCEL_ENABLE PTHREAD_CANCEL_ENABLE
+# define THR_CANCEL_DEFERRED PTHREAD_CANCEL_DEFERRED
+# define THR_CANCEL_ASYNCHRONOUS PTHREAD_CANCEL_ASYNCHRONOUS
+
+# if !defined (PTHREAD_CREATE_JOINABLE)
+# if defined (PTHREAD_CREATE_UNDETACHED)
+# define PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED
+# else
+# define PTHREAD_CREATE_JOINABLE 0
+# endif /* PTHREAD_CREATE_UNDETACHED */
+# endif /* PTHREAD_CREATE_JOINABLE */
+
+# if !defined (PTHREAD_CREATE_DETACHED)
+# define PTHREAD_CREATE_DETACHED 1
+# endif /* PTHREAD_CREATE_DETACHED */
+
+# if !defined (PTHREAD_PROCESS_PRIVATE) && !defined (ACE_HAS_PTHREAD_PROCESS_ENUM)
+# if defined (PTHREAD_MUTEXTYPE_FAST)
+# define PTHREAD_PROCESS_PRIVATE PTHREAD_MUTEXTYPE_FAST
+# else
+# define PTHREAD_PROCESS_PRIVATE 0
+# endif /* PTHREAD_MUTEXTYPE_FAST */
+# endif /* PTHREAD_PROCESS_PRIVATE */
+
+# if !defined (PTHREAD_PROCESS_SHARED) && !defined (ACE_HAS_PTHREAD_PROCESS_ENUM)
+# if defined (PTHREAD_MUTEXTYPE_FAST)
+# define PTHREAD_PROCESS_SHARED PTHREAD_MUTEXTYPE_FAST
+# else
+# define PTHREAD_PROCESS_SHARED 1
+# endif /* PTHREAD_MUTEXTYPE_FAST */
+# endif /* PTHREAD_PROCESS_SHARED */
+
+# if defined (ACE_HAS_PTHREADS_DRAFT4)
+# if defined (PTHREAD_PROCESS_PRIVATE)
+# if !defined (USYNC_THREAD)
+# define USYNC_THREAD PTHREAD_PROCESS_PRIVATE
+# endif /* ! USYNC_THREAD */
+# else
+# if !defined (USYNC_THREAD)
+# define USYNC_THREAD MUTEX_NONRECURSIVE_NP
+# endif /* ! USYNC_THREAD */
+# endif /* PTHREAD_PROCESS_PRIVATE */
+
+# if defined (PTHREAD_PROCESS_SHARED)
+# if !defined (USYNC_PROCESS)
+# define USYNC_PROCESS PTHREAD_PROCESS_SHARED
+# endif /* ! USYNC_PROCESS */
+# else
+# if !defined (USYNC_PROCESS)
+# define USYNC_PROCESS MUTEX_NONRECURSIVE_NP
+# endif /* ! USYNC_PROCESS */
+# endif /* PTHREAD_PROCESS_SHARED */
+# elif !defined (ACE_HAS_STHREADS)
+# if !defined (USYNC_THREAD)
+# define USYNC_THREAD PTHREAD_PROCESS_PRIVATE
+# endif /* ! USYNC_THREAD */
+# if !defined (USYNC_PROCESS)
+# define USYNC_PROCESS PTHREAD_PROCESS_SHARED
+# endif /* ! USYNC_PROCESS */
+# endif /* ACE_HAS_PTHREADS_DRAFT4 */
+
+/* MM-Graz: prevent warnings */
+# undef THR_BOUND
+# undef THR_NEW_LWP
+# undef THR_DETACHED
+# undef THR_SUSPENDED
+# undef THR_DAEMON
+
+# define THR_BOUND 0x00000001
+# if defined (CHORUS)
+# define THR_NEW_LWP 0x00000000
+# else
+# define THR_NEW_LWP 0x00000002
+# endif /* CHORUS */
+# define THR_DETACHED 0x00000040
+# define THR_SUSPENDED 0x00000080
+# define THR_DAEMON 0x00000100
+# define THR_JOINABLE 0x00010000
+# define THR_SCHED_FIFO 0x00020000
+# define THR_SCHED_RR 0x00040000
+# define THR_SCHED_DEFAULT 0x00080000
+
+# if defined (ACE_HAS_IRIX62_THREADS)
+# define THR_SCOPE_SYSTEM 0x00100000
+# else
+# define THR_SCOPE_SYSTEM THR_BOUND
+# endif /*ACE_HAS_IRIX62_THREADS*/
+
+# define THR_SCOPE_PROCESS 0x00200000
+# define THR_INHERIT_SCHED 0x00400000
+# define THR_EXPLICIT_SCHED 0x00800000
+# define THR_SCHED_IO 0x01000000
+
+// still in pthreads
+////////////////////////////////////////////////
+# if !defined (ACE_HAS_STHREADS)
+# if !defined (ACE_HAS_POSIX_SEM)
+/**
+ * @class ACE_sema_t
+ *
+ * @brief This is used to implement semaphores for platforms that support
+ * POSIX pthreads, but do *not* support POSIX semaphores, i.e.,
+ * it's a different type than the POSIX <sem_t>.
+ */
+
+class ACE_OS;
+
+// this is used by linux
+class ACE_OS_Export ACE_sema_t
+{
+friend class ACE_OS;
+protected:
+ /// Serialize access to internal state.
+ ACE_mutex_t lock_;
+
+ /// Block until there are no waiters.
+ ACE_cond_t count_nonzero_;
+
+ /// Count of the semaphore.
+ u_long count_;
+
+ /// Number of threads that have called <ACE_OS::sema_wait>.
+ u_long waiters_;
+};
+# endif /* !ACE_HAS_POSIX_SEM */
+
+# if defined (ACE_LACKS_PTHREAD_YIELD) && defined (ACE_HAS_THR_YIELD)
+// looks like sun with pthreads and sthreads
+
+ // If we are on Solaris we can just reuse the existing
+ // implementations of these synchronization types.
+# if !defined (ACE_LACKS_RWLOCK_T)
+# include /**/ <synch.h>
+typedef rwlock_t ACE_rwlock_t;
+# endif /* !ACE_LACKS_RWLOCK_T */
+# include /**/ <thread.h>
+# endif /* (ACE_LACKS_PTHREAD_YIELD) && defined (ACE_HAS_THR_YIELD) */
+# else /* !ACE_HAS_STHREADS */
+//sthreads w/ posix threads
+# if !defined (ACE_HAS_POSIX_SEM)
+// must be the sun sema_t
+typedef sema_t ACE_sema_t;
+# endif /* !ACE_HAS_POSIX_SEM */
+# endif /* !ACE_HAS_STHREADS */
+
+
+
+//////////////////////////////////////////
+//////////////////////////////////////////
+//////////////////////////////////////////
+# elif defined (ACE_HAS_STHREADS)
+// Solaris threads, without PTHREADS.
+// Typedefs to help compatibility with Windows NT and Pthreads.
+typedef thread_t ACE_thread_t;
+typedef thread_key_t ACE_thread_key_t;
+typedef mutex_t ACE_mutex_t;
+# if !defined (ACE_LACKS_RWLOCK_T)
+typedef rwlock_t ACE_rwlock_t;
+# endif /* !ACE_LACKS_RWLOCK_T */
+# if !defined (ACE_HAS_POSIX_SEM)
+typedef sema_t ACE_sema_t;
+# endif /* !ACE_HAS_POSIX_SEM */
+
+typedef cond_t ACE_cond_t;
+struct ACE_OS_Export ACE_condattr_t
+{
+ int type;
+};
+struct ACE_OS_Export ACE_mutexattr_t
+{
+ int type;
+};
+typedef ACE_thread_t ACE_hthread_t;
+typedef ACE_mutex_t ACE_thread_mutex_t;
+
+# define THR_CANCEL_DISABLE 0
+# define THR_CANCEL_ENABLE 0
+# define THR_CANCEL_DEFERRED 0
+# define THR_CANCEL_ASYNCHRONOUS 0
+# define THR_JOINABLE 0
+# define THR_SCHED_FIFO 0
+# define THR_SCHED_RR 0
+# define THR_SCHED_DEFAULT 0
+
+# elif defined (ACE_PSOS)
+
+// Some versions of pSOS provide native mutex support. For others,
+// implement ACE_thread_mutex_t and ACE_mutex_t using pSOS semaphores.
+// Either way, the types are all u_longs.
+typedef u_long ACE_mutex_t;
+typedef u_long ACE_thread_mutex_t;
+typedef u_long ACE_thread_t;
+typedef u_long ACE_hthread_t;
+
+# if defined (ACE_PSOS_HAS_COND_T)
+typedef u_long ACE_cond_t;
+typedef u_long ACE_condattr_t;
+struct ACE_OS_Export ACE_mutexattr_t
+{
+ int type;
+};
+# endif /* ACE_PSOS_HAS_COND_T */
+
+
+// TCB registers 0-7 are for application use
+# define PSOS_TASK_REG_TSS 0
+# define PSOS_TASK_REG_MAX 7
+
+# define PSOS_TASK_MIN_PRIORITY 1
+# define PSOS_TASK_MAX_PRIORITY 239
+
+// Key type: the ACE TSS emulation requires the key type be unsigned,
+// for efficiency. Current POSIX and Solaris TSS implementations also
+// use unsigned int, so the ACE TSS emulation is compatible with them.
+// Native pSOS TSD, where available, uses unsigned long as the key type.
+# if defined (ACE_PSOS_HAS_TSS)
+typedef u_long ACE_thread_key_t;
+# else
+typedef u_int ACE_thread_key_t;
+# endif /* ACE_PSOS_HAS_TSS */
+
+# define THR_CANCEL_DISABLE 0 /* thread can never be cancelled */
+# define THR_CANCEL_ENABLE 0 /* thread can be cancelled */
+# define THR_CANCEL_DEFERRED 0 /* cancellation deferred to cancellation point */
+# define THR_CANCEL_ASYNCHRONOUS 0 /* cancellation occurs immediately */
+
+# define THR_BOUND 0
+# define THR_NEW_LWP 0
+# define THR_DETACHED 0
+# define THR_SUSPENDED 0
+# define THR_DAEMON 0
+# define THR_JOINABLE 0
+
+# define THR_SCHED_FIFO 0
+# define THR_SCHED_RR 0
+# define THR_SCHED_DEFAULT 0
+# define USYNC_THREAD T_LOCAL
+# define USYNC_PROCESS T_GLOBAL
+
+/* from psos.h */
+/* #define T_NOPREEMPT 0x00000001 Not preemptible bit */
+/* #define T_PREEMPT 0x00000000 Preemptible */
+/* #define T_TSLICE 0x00000002 Time-slicing enabled bit */
+/* #define T_NOTSLICE 0x00000000 No Time-slicing */
+/* #define T_NOASR 0x00000004 ASRs disabled bit */
+/* #define T_ASR 0x00000000 ASRs enabled */
+
+/* #define SM_GLOBAL 0x00000001 1 = Global */
+/* #define SM_LOCAL 0x00000000 0 = Local */
+/* #define SM_PRIOR 0x00000002 Queue by priority */
+/* #define SM_FIFO 0x00000000 Queue by FIFO order */
+
+/* #define T_NOFPU 0x00000000 Not using FPU */
+/* #define T_FPU 0x00000002 Using FPU bit */
+
+# elif defined (VXWORKS)
+// For mutex implementation using mutual-exclusion semaphores (which
+// can be taken recursively).
+# include /**/ <semLib.h>
+
+# include /**/ <envLib.h>
+# include /**/ <hostLib.h>
+# include /**/ <ioLib.h>
+# include /**/ <remLib.h>
+# include /**/ <selectLib.h>
+# include /**/ <sigLib.h>
+# include /**/ <sockLib.h>
+# include /**/ <sysLib.h>
+# include /**/ <taskLib.h>
+# include /**/ <taskHookLib.h>
+
+extern "C"
+struct sockaddr_un {
+ short sun_family; // AF_UNIX.
+ char sun_path[108]; // path name.
+};
+
+//# define MAXPATHLEN 1024
+//# define MAXNAMLEN 255
+# define NSIG (_NSIGS + 1)
+
+// task options: the other options are either obsolete, internal, or for
+// Fortran or Ada support
+# define VX_UNBREAKABLE 0x0002 /* breakpoints ignored */
+# define VX_FP_TASK 0x0008 /* floating point coprocessor */
+# define VX_PRIVATE_ENV 0x0080 /* private environment support */
+# define VX_NO_STACK_FILL 0x0100 /* do not stack fill for
+ checkstack () */
+
+# define THR_CANCEL_DISABLE 0
+# define THR_CANCEL_ENABLE 0
+# define THR_CANCEL_DEFERRED 0
+# define THR_CANCEL_ASYNCHRONOUS 0
+# define THR_BOUND 0
+# define THR_NEW_LWP 0
+# define THR_DETACHED 0
+# define THR_SUSPENDED 0
+# define THR_DAEMON 0
+# define THR_JOINABLE 0
+# define THR_SCHED_FIFO 0
+# define THR_SCHED_RR 0
+# define THR_SCHED_DEFAULT 0
+# define THR_INHERIT_SCHED 0
+# define THR_EXPLICIT_SCHED 0
+# define THR_SCHED_IO 0
+# define THR_SCOPE_SYSTEM 0
+# define THR_SCOPE_PROCESS 0
+# define USYNC_THREAD 0
+# define USYNC_PROCESS 1 /* It's all global on VxWorks
+ (without MMU option). */
+
+# if !defined (ACE_DEFAULT_SYNCH_TYPE)
+ // Types include these options: SEM_Q_PRIORITY, SEM_Q_FIFO,
+ // SEM_DELETE_SAFE, and SEM_INVERSION_SAFE. SEM_Q_FIFO is
+ // used as the default because that is VxWorks' default.
+# define ACE_DEFAULT_SYNCH_TYPE SEM_Q_FIFO
+# endif /* ! ACE_DEFAULT_SYNCH_TYPE */
+
+typedef SEM_ID ACE_mutex_t;
+// Implement ACE_thread_mutex_t with ACE_mutex_t because there's just
+// one process . . .
+typedef ACE_mutex_t ACE_thread_mutex_t;
+# if !defined (ACE_HAS_POSIX_SEM)
+// Use VxWorks semaphores, wrapped ...
+typedef struct
+{
+ SEM_ID sema_;
+ // Semaphore handle. This is allocated by VxWorks.
+
+ char *name_;
+ // Name of the semaphore: always NULL with VxWorks.
+} ACE_sema_t;
+# endif /* !ACE_HAS_POSIX_SEM */
+
+typedef char * ACE_thread_t;
+typedef int ACE_hthread_t;
+// Key type: the ACE TSS emulation requires the key type be unsigned,
+// for efficiency. (Current POSIX and Solaris TSS implementations also
+// use u_int, so the ACE TSS emulation is compatible with them.)
+typedef u_int ACE_thread_key_t;
+
+ // Marker for ACE_Thread_Manager to indicate that it allocated
+ // an ACE_thread_t. It is placed at the beginning of the ID.
+# define ACE_THR_ID_ALLOCATED '\022'
+
+
+////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////
+# elif defined (ACE_HAS_WTHREADS)
+
+typedef DWORD ACE_thread_t;
+typedef HANDLE ACE_hthread_t;
+
+//# define ACE_INVALID_PID ((pid_t) -1)
+# if defined (ACE_HAS_TSS_EMULATION)
+ typedef DWORD ACE_OS_thread_key_t;
+ typedef u_int ACE_thread_key_t;
+# else /* ! ACE_HAS_TSS_EMULATION */
+ typedef DWORD ACE_thread_key_t;
+# endif /* ! ACE_HAS_TSS_EMULATION */
+
+typedef CRITICAL_SECTION ACE_thread_mutex_t;
+
+typedef struct
+{
+ int type_; // Either USYNC_THREAD or USYNC_PROCESS
+ union
+ {
+ HANDLE proc_mutex_;
+ CRITICAL_SECTION thr_mutex_;
+ };
+} ACE_mutex_t;
+
+// Wrapper for NT Events.
+typedef HANDLE ACE_event_t;
+#define ACE_EVENT_T_DEFINED
+
+//@@ ACE_USES_WINCE_SEMA_SIMULATION is used to debug
+// semaphore simulation on WinNT. It should be
+// changed to ACE_USES_HAS_WINCE at some later point.
+# if !defined (ACE_USES_WINCE_SEMA_SIMULATION)
+typedef HANDLE ACE_sema_t;
+# else
+/**
+ * @class ACE_sema_t
+ *
+ * @brief Semaphore simulation for Windows CE.
+ */
+class ACE_OS_Export ACE_sema_t
+{
+public:
+ /// Serializes access to <count_>.
+ ACE_thread_mutex_t lock_;
+
+ /// This event is signaled whenever the count becomes non-zero.
+ ACE_event_t count_nonzero_;
+
+ /// Current count of the semaphore.
+ u_int count_;
+};
+
+# endif /* ACE_USES_WINCE_SEMA_SIMULATION */
+
+// These need to be different values, neither of which can be 0...
+# define USYNC_THREAD 1
+# define USYNC_PROCESS 2
+
+# define THR_CANCEL_DISABLE 0
+# define THR_CANCEL_ENABLE 0
+# define THR_CANCEL_DEFERRED 0
+# define THR_CANCEL_ASYNCHRONOUS 0
+# define THR_DETACHED 0x02000000 /* ignore in most places */
+# define THR_BOUND 0 /* ignore in most places */
+# define THR_NEW_LWP 0 /* ignore in most places */
+# define THR_DAEMON 0 /* ignore in most places */
+# define THR_JOINABLE 0 /* ignore in most places */
+# define THR_SUSPENDED CREATE_SUSPENDED
+# define THR_USE_AFX 0x01000000
+# define THR_SCHED_FIFO 0
+# define THR_SCHED_RR 0
+# define THR_SCHED_DEFAULT 0
+# define THR_SCOPE_PROCESS 0
+# define THR_SCOPE_SYSTEM 0
+# endif /* ACE_HAS_PTHREADS / STHREADS / PSOS / VXWORKS / WTHREADS */
+
+# if defined (ACE_LACKS_COND_T) && defined (ACE_WIN32)
+/**
+ * @class ACE_cond_t
+ *
+ * @brief This structure is used to implement condition variables on
+ * platforms that lack it natively, such as VxWorks, pSoS, and
+ * Win32.
+ *
+ * At the current time, this stuff only works for threads
+ * within the same process.
+ */
+class ACE_OS_Export ACE_cond_t
+{
+public:
+ friend class ACE_OS;
+
+ /// Returns the number of waiters.
+ long waiters (void) const;
+
+protected:
+ /// Number of waiting threads.
+ long waiters_;
+
+ /// Serialize access to the waiters count.
+ ACE_thread_mutex_t waiters_lock_;
+
+ /// Queue up threads waiting for the condition to become signaled.
+ ACE_sema_t sema_;
+
+# if defined (VXWORKS) || defined (ACE_PSOS)
+ /**
+ * A semaphore used by the broadcast/signal thread to wait for all
+ * the waiting thread(s) to wake up and be released from the
+ * semaphore.
+ */
+ ACE_sema_t waiters_done_;
+# elif defined (ACE_WIN32)
+ /**
+ * An auto reset event used by the broadcast/signal thread to wait
+ * for the waiting thread(s) to wake up and get a chance at the
+ * semaphore.
+ */
+ HANDLE waiters_done_;
+# else
+# error "Please implement this feature or check your config.h file!"
+# endif /* VXWORKS || ACE_PSOS */
+
+ /// Keeps track of whether we were broadcasting or just signaling.
+ size_t was_broadcast_;
+};
+
+struct ACE_OS_Export ACE_condattr_t
+{
+ int type;
+};
+
+struct ACE_OS_Export ACE_mutexattr_t
+{
+ int type;
+};
+
+# endif /* ACE_LACKS_COND_T */
+
+# if defined (ACE_LACKS_RWLOCK_T) && !defined (ACE_HAS_PTHREADS_UNIX98_EXT)
+
+/**
+ * @class ACE_rwlock_t
+ *
+ * @brief This is used to implement readers/writer locks on NT,
+ * VxWorks, and POSIX pthreads.
+ *
+ * At the current time, this stuff only works for threads
+ * within the same process.
+ */
+struct ACE_OS_Export ACE_rwlock_t
+{
+protected:
+ friend class ACE_OS;
+
+ ACE_mutex_t lock_;
+ // Serialize access to internal state.
+
+ ACE_cond_t waiting_readers_;
+ // Reader threads waiting to acquire the lock.
+
+ int num_waiting_readers_;
+ // Number of waiting readers.
+
+ ACE_cond_t waiting_writers_;
+ // Writer threads waiting to acquire the lock.
+
+ int num_waiting_writers_;
+ // Number of waiting writers.
+
+ int ref_count_;
+ // Value is -1 if writer has the lock, else this keeps track of the
+ // number of readers holding the lock.
+
+ int important_writer_;
+ // indicate that a reader is trying to upgrade
+
+ ACE_cond_t waiting_important_writer_;
+ // condition for the upgrading reader
+};
+# elif defined (ACE_HAS_PTHREADS_UNIX98_EXT)
+typedef pthread_rwlock_t ACE_rwlock_t;
+# elif defined (ACE_HAS_STHREADS)
+# include /**/ <synch.h>
+typedef rwlock_t ACE_rwlock_t;
+# endif /* ACE_LACKS_RWLOCK_T */
+
+// Define some default thread priorities on all threaded platforms, if
+// not defined above or in the individual platform config file.
+// ACE_THR_PRI_FIFO_DEF should be used by applications for default
+// real-time thread priority. ACE_THR_PRI_OTHER_DEF should be used
+// for non-real-time priority.
+# if !defined(ACE_THR_PRI_FIFO_DEF)
+# if defined (ACE_WTHREADS)
+ // It would be more in spirit to use THREAD_PRIORITY_NORMAL. But,
+ // using THREAD_PRIORITY_ABOVE_NORMAL should give preference to the
+ // threads in this process, even if the process is not in the
+ // REALTIME_PRIORITY_CLASS.
+# define ACE_THR_PRI_FIFO_DEF THREAD_PRIORITY_ABOVE_NORMAL
+# else /* ! ACE_WTHREADS */
+# define ACE_THR_PRI_FIFO_DEF 0
+# endif /* ! ACE_WTHREADS */
+# endif /* ! ACE_THR_PRI_FIFO_DEF */
+
+# if !defined(ACE_THR_PRI_OTHER_DEF)
+# if defined (ACE_WTHREADS)
+ // It would be more in spirit to use THREAD_PRIORITY_NORMAL. But,
+ // using THREAD_PRIORITY_ABOVE_NORMAL should give preference to the
+ // threads in this process, even if the process is not in the
+ // REALTIME_PRIORITY_CLASS.
+# define ACE_THR_PRI_OTHER_DEF THREAD_PRIORITY_NORMAL
+# else /* ! ACE_WTHREADS */
+# define ACE_THR_PRI_OTHER_DEF 0
+# endif /* ! ACE_WTHREADS */
+# endif /* ! ACE_THR_PRI_OTHER_DEF */
+
+# if defined (ACE_HAS_RECURSIVE_MUTEXES)
+typedef ACE_thread_mutex_t ACE_recursive_thread_mutex_t;
+# else
+/**
+ * @class ACE_recursive_thread_mutex_t
+ *
+ * @brief Implement a thin C++ wrapper that allows nested acquisition
+ * and release of a mutex that occurs in the same thread.
+ *
+ * This implementation is based on an algorithm sketched by Dave
+ * Butenhof <butenhof@zko.dec.com>. Naturally, I take the
+ * credit for any mistakes ;-)
+ */
+class ACE_recursive_thread_mutex_t
+{
+public:
+ /// Guards the state of the nesting level and thread id.
+ ACE_thread_mutex_t nesting_mutex_;
+
+ /// This condition variable suspends other waiting threads until the
+ /// mutex is available.
+ ACE_cond_t lock_available_;
+
+ /// Current nesting level of the recursion.
+ int nesting_level_;
+
+ /// Current owner of the lock.
+ ACE_thread_t owner_id_;
+};
+# endif /* ACE_WIN32 */
+
+#else /* !ACE_HAS_THREADS, i.e., the OS/platform doesn't support threading. */
+
+// Give these things some reasonable value...
+# define ACE_SCOPE_PROCESS 0
+# define ACE_SCOPE_LWP 1
+# define ACE_SCOPE_THREAD 2
+# define ACE_SCHED_OTHER 0
+# define ACE_SCHED_FIFO 1
+# define ACE_SCHED_RR 2
+# if !defined (THR_CANCEL_DISABLE)
+# define THR_CANCEL_DISABLE 0
+# endif /* ! THR_CANCEL_DISABLE */
+# if !defined (THR_CANCEL_ENABLE)
+# define THR_CANCEL_ENABLE 0
+# endif /* ! THR_CANCEL_ENABLE */
+# if !defined (THR_CANCEL_DEFERRED)
+# define THR_CANCEL_DEFERRED 0
+# endif /* ! THR_CANCEL_DEFERRED */
+# if !defined (THR_CANCEL_ASYNCHRONOUS)
+# define THR_CANCEL_ASYNCHRONOUS 0
+# endif /* ! THR_CANCEL_ASYNCHRONOUS */
+# if !defined (THR_JOINABLE)
+# define THR_JOINABLE 0 /* ignore in most places */
+# endif /* ! THR_JOINABLE */
+# if !defined (THR_DETACHED)
+# define THR_DETACHED 0 /* ignore in most places */
+# endif /* ! THR_DETACHED */
+# if !defined (THR_DAEMON)
+# define THR_DAEMON 0 /* ignore in most places */
+# endif /* ! THR_DAEMON */
+# if !defined (THR_BOUND)
+# define THR_BOUND 0 /* ignore in most places */
+# endif /* ! THR_BOUND */
+# if !defined (THR_NEW_LWP)
+# define THR_NEW_LWP 0 /* ignore in most places */
+# endif /* ! THR_NEW_LWP */
+# if !defined (THR_SUSPENDED)
+# define THR_SUSPENDED 0 /* ignore in most places */
+# endif /* ! THR_SUSPENDED */
+# if !defined (THR_SCHED_FIFO)
+# define THR_SCHED_FIFO 0
+# endif /* ! THR_SCHED_FIFO */
+# if !defined (THR_SCHED_RR)
+# define THR_SCHED_RR 0
+# endif /* ! THR_SCHED_RR */
+# if !defined (THR_SCHED_DEFAULT)
+# define THR_SCHED_DEFAULT 0
+# endif /* ! THR_SCHED_DEFAULT */
+# if !defined (USYNC_THREAD)
+# define USYNC_THREAD 0
+# endif /* ! USYNC_THREAD */
+# if !defined (USYNC_PROCESS)
+# define USYNC_PROCESS 0
+# endif /* ! USYNC_PROCESS */
+# if !defined (THR_SCOPE_PROCESS)
+# define THR_SCOPE_PROCESS 0
+# endif /* ! THR_SCOPE_PROCESS */
+# if !defined (THR_SCOPE_SYSTEM)
+# define THR_SCOPE_SYSTEM 0
+# endif /* ! THR_SCOPE_SYSTEM */
+
+// These are dummies needed for class OS.h
+typedef int ACE_cond_t;
+struct ACE_OS_Export ACE_condattr_t
+{
+ int type;
+};
+struct ACE_OS_Export ACE_mutexattr_t
+{
+ int type;
+};
+typedef int ACE_mutex_t;
+typedef int ACE_thread_mutex_t;
+typedef int ACE_recursive_thread_mutex_t;
+# if !defined (ACE_HAS_POSIX_SEM) && !defined (ACE_PSOS)
+typedef int ACE_sema_t;
+# endif /* !ACE_HAS_POSIX_SEM && !ACE_PSOS */
+typedef int ACE_rwlock_t;
+typedef int ACE_thread_t;
+typedef int ACE_hthread_t;
+typedef u_int ACE_thread_key_t;
+
+// Ensure that ACE_THR_PRI_FIFO_DEF and ACE_THR_PRI_OTHER_DEF are
+// defined on non-threaded platforms, to support application source
+// code compatibility. ACE_THR_PRI_FIFO_DEF should be used by
+// applications for default real-time thread priority.
+// ACE_THR_PRI_OTHER_DEF should be used for non-real-time priority.
+# if !defined(ACE_THR_PRI_FIFO_DEF)
+# define ACE_THR_PRI_FIFO_DEF 0
+# endif /* ! ACE_THR_PRI_FIFO_DEF */
+# if !defined(ACE_THR_PRI_OTHER_DEF)
+# define ACE_THR_PRI_OTHER_DEF 0
+# endif /* ! ACE_THR_PRI_OTHER_DEF */
+
+#endif /* ACE_HAS_THREADS */
+
+
+
+
+#if !defined (ACE_EVENT_T_DEFINED)
+// Wrapper for NT events on UNIX.
+class ACE_OS_Export ACE_event_t
+{
+ friend class ACE_OS;
+protected:
+ /// Protect critical section.
+ ACE_mutex_t lock_;
+
+ /// Keeps track of waiters.
+ ACE_cond_t condition_;
+
+ /// Specifies if this is an auto- or manual-reset event.
+ int manual_reset_;
+
+ /// "True" if signaled.
+ int is_signaled_;
+
+ /// Number of waiting threads.
+ u_long waiting_threads_;
+};
+#define ACE_EVENT_T_DEFINED
+#endif /* ACE_EVENT_T_DEFINED */
+
+/**
+ * @class ACE_Thread_ID
+ *
+ * @brief Defines a platform-independent thread ID.
+ */
+class ACE_OS_Export ACE_Thread_ID
+{
+public:
+ // = Initialization method.
+ ACE_Thread_ID (ACE_thread_t, ACE_hthread_t);
+ ACE_Thread_ID (const ACE_Thread_ID &id);
+
+ // = Set/Get the Thread ID.
+ ACE_thread_t id (void);
+ void id (ACE_thread_t);
+
+ // = Set/Get the Thread handle.
+ ACE_hthread_t handle (void);
+ void handle (ACE_hthread_t);
+
+ // != Comparison operator.
+ int operator== (const ACE_Thread_ID &) const;
+ int operator!= (const ACE_Thread_ID &) const;
+
+private:
+ /// Identify the thread.
+ ACE_thread_t thread_id_;
+
+ /// Handle to the thread (typically used to "wait" on Win32).
+ ACE_hthread_t thread_handle_;
+};
+
+
+
+
+
+// mit pthread stuff
+#if defined (ACE_HAS_RECV_TIMEDWAIT) && defined (ACE_LACKS_TIMEDWAIT_PROTOTYPES)
+extern "C" ssize_t recv_timedwait (ACE_HANDLE handle,
+ char *buf,
+ int len,
+ int flags,
+ struct timespec *timeout);
+extern "C" ssize_t read_timedwait (ACE_HANDLE handle,
+ char *buf,
+ size_t n,
+ struct timespec *timeout);
+extern "C" ssize_t recvmsg_timedwait (ACE_HANDLE handle,
+ struct msghdr *msg,
+ int flags,
+ struct timespec *timeout);
+extern "C" ssize_t recvfrom_timedwait (ACE_HANDLE handle,
+ char *buf,
+ int len,
+ int flags,
+ struct sockaddr *addr,
+ int
+ *addrlen,
+ struct timespec *timeout);
+extern "C" ssize_t readv_timedwait (ACE_HANDLE handle,
+ iovec *iov,
+ int iovcnt,
+ struct timespec* timeout);
+extern "C" ssize_t send_timedwait (ACE_HANDLE handle,
+ const char *buf,
+ int len,
+ int flags,
+ struct timespec *timeout);
+extern "C" ssize_t write_timedwait (ACE_HANDLE handle,
+ const void *buf,
+ size_t n,
+ struct timespec *timeout);
+extern "C" ssize_t sendmsg_timedwait (ACE_HANDLE handle,
+ ACE_SENDMSG_TYPE *msg,
+ int flags,
+ struct timespec *timeout);
+extern "C" ssize_t sendto_timedwait (ACE_HANDLE handle,
+ const char *buf,
+ int len,
+ int flags,
+ const struct sockaddr *addr,
+ int addrlen,
+ struct timespec *timeout);
+extern "C" ssize_t writev_timedwait (ACE_HANDLE handle,
+ ACE_WRITEV_TYPE *iov,
+ int iovcnt,
+ struct timespec *timeout);
+#endif /* ACE_LACKS_TIMEDWAIT_PROTOTYPES */
+
+
+#endif /* ACE_OS_INCLUDE_THREADS_H */
diff --git a/ace/os_include/time.h b/ace/os_include/time.h
new file mode 100644
index 00000000000..c3e36288c58
--- /dev/null
+++ b/ace/os_include/time.h
@@ -0,0 +1,65 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file time.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_TIME_H
+# define ACE_OS_INCLUDE_TIME_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+# if !defined (ACE_LACKS_TIME_H)
+# include /**/ <time.h>
+# endif /* ACE_LACKS_TIME_H */
+
+# if defined (ACE_NEEDS_SYS_TIMES_H)
+ include /**/ <sys/times.h>
+# endif /* ACE_NEEDS_SYS_TIMES_H) */
+
+# if defined (ACE_NEEDS_SYS_TIME_H)
+# include /**/ <sys/time.h>
+# endif /* ACE_NEEDS_SYS_TIME_H */
+
+# if defined (ACE_USES_STD_NAMESPACE_FOR_STDC_LIB) && \
+ (ACE_USES_STD_NAMESPACE_FOR_STDC_LIB != 0)
+using std::time_t;
+using std::tm;
+# if defined (ACE_WIN32)
+using std::_timezone;
+# else
+using std::timezone;
+# endif
+using std::difftime;
+# endif /* ACE_USES_STD_NAMESPACE_FOR_STDC_LIB */
+
+# if !defined (ACE_HAS_CLOCK_GETTIME) && !(defined (_CLOCKID_T_) || defined (_CLOCKID_T))
+typedef int clockid_t;
+# if !defined (CLOCK_REALTIME)
+# define CLOCK_REALTIME 0
+# endif /* CLOCK_REALTIME */
+# endif /* ! ACE_HAS_CLOCK_GETTIME && ! _CLOCKID_T_ */
+
+// does this belong here?
+# if defined (ACE_HAS_BROKEN_CTIME)
+# undef ctime
+# endif /* ACE_HAS_BROKEN_CTIME */
+
+# if defined (ACE_LACKS_STRPTIME_PROTOTYPE) && !defined (_XOPEN_SOURCE)
+extern "C" char *strptime (const char *s, const char *fmt, struct tm *tp);
+# endif /* ACE_LACKS_STRPTIME_PROTOTYPE */
+
+#endif /* ACE_OS_INCLUDE_TIME_H */
+
diff --git a/ace/os_include/unistd.h b/ace/os_include/unistd.h
new file mode 100644
index 00000000000..5d1cbb3d6df
--- /dev/null
+++ b/ace/os_include/unistd.h
@@ -0,0 +1,106 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file unistd.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_ACE_UNISTD_H
+# define ACE_ACE_UNISTD_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+# include "ace/os_include/sys/types.h"
+// got to move the llseek stuff out of basic_types.h...
+# include "ace/Basic_Types.h"
+
+# if !defined (ACE_LACKS_UNISTD_H)
+# include /**/ <unistd.h>
+# endif /* ACE_LACKS_UNISTD_H */
+
+# if defined (ACE_LACKS_GETPGID_PROTOTYPE) && \
+ !defined (_XOPEN_SOURCE) && !defined (_XOPEN_SOURCE_EXTENDED)
+extern "C" pid_t getpgid (pid_t pid);
+# endif /* ACE_LACKS_GETPGID_PROTOTYPE &&
+ !_XOPEN_SOURCE && !_XOPEN_SOURCE_EXTENDED */
+
+
+# if !defined (_LARGEFILE64_SOURCE)
+# if defined (ACE_LACKS_LSEEK64_PROTOTYPE) && \
+ defined (ACE_LACKS_LLSEEK_PROTOTYPE)
+# error Define either ACE_LACKS_LSEEK64_PROTOTYPE or ACE_LACKS_LLSEEK_PROTOTYPE, not both!
+# elif defined (ACE_LACKS_LSEEK64_PROTOTYPE)
+extern "C" ACE_LOFF_T lseek64 (int fd, ACE_LOFF_T offset, int whence);
+# elif defined (ACE_LACKS_LLSEEK_PROTOTYPE)
+extern "C" ACE_LOFF_T llseek (int fd, ACE_LOFF_T offset, int whence);
+# endif
+# endif /* _LARGEFILE64_SOURCE */
+
+# if defined (ACE_LACKS_PREAD_PROTOTYPE) && (_XOPEN_SOURCE - 0) < 500
+// _XOPEN_SOURCE == 500 Single Unix conformance
+// It seems that _XOPEN_SOURCE == 500 means that the prototypes are
+// already defined in the system headers.
+extern "C" ssize_t pread (int fd,
+ void *buf,
+ size_t nbytes,
+ off_t offset);
+
+extern "C" ssize_t pwrite (int fd,
+ const void *buf,
+ size_t n,
+ off_t offset);
+# endif /* ACE_LACKS_PREAD_PROTOTYPE && (_XOPEN_SOURCE - 0) < 500 */
+
+
+# if defined (ACE_LACKS_UALARM_PROTOTYPE)
+extern "C" u_int ualarm (u_int usecs, u_int interval);
+# endif /* ACE_LACKS_UALARM_PROTOTYPE */
+
+# if defined (m88k) && !defined (RUSAGE_SELF)
+# define RUSAGE_SELF 1
+# endif /* m88k */
+
+# if defined (ACE_LACKS_SYSCALL)
+extern "C" int syscall (int, ACE_HANDLE, struct rusage *);
+# endif /* ACE_LACKS_SYSCALL */
+
+# if !defined (R_OK)
+# define R_OK 04 /* Test for Read permission. */
+# endif /* R_OK */
+
+# if !defined (W_OK)
+# define W_OK 02 /* Test for Write permission. */
+# endif /* W_OK */
+
+# if !defined (X_OK)
+# define X_OK 01 /* Test for eXecute permission. */
+# endif /* X_OK */
+
+# if !defined (F_OK)
+# define F_OK 0 /* Test for existence of File. */
+# endif /* F_OK */
+
+
+# if !defined (_SC_TIMER_MAX)
+# define _SC_TIMER_MAX 44
+# endif /* _SC_TIMER_MAX */
+
+
+// Default number of <ACE_Event_Handler>s supported by
+// <ACE_Timer_Heap>.
+# if !defined (ACE_DEFAULT_TIMERS)
+# define ACE_DEFAULT_TIMERS _SC_TIMER_MAX
+# endif /* ACE_DEFAULT_TIMERS */
+
+#endif /* ACE_OS_INCLUDE_UNISTD_H */
diff --git a/ace/os_include/utime.h b/ace/os_include/utime.h
new file mode 100644
index 00000000000..6e33ec0a26f
--- /dev/null
+++ b/ace/os_include/utime.h
@@ -0,0 +1,29 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file utime.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_UTIME_H
+# define ACE_OS_INCLUDE_UTIME_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+// Only include if platform/compiler provide the header.
+# if !defined (ACE_LACKS_UTIME_H)
+# include /**/ <utime.h>
+# endif /* !ACE_LACKS_UTIME_H */
+
+#endif /* ACE_OS_INCLUDE_UTIME_H */
diff --git a/ace/os_include/vxworks.h b/ace/os_include/vxworks.h
new file mode 100644
index 00000000000..9fece194ef8
--- /dev/null
+++ b/ace/os_include/vxworks.h
@@ -0,0 +1,117 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file vxworks.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_VXWORKS_H
+# define ACE_OS_INCLUDE_VXWORKS_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+// this one is still broken! ;-(
+
+
+
+# if defined (VXWORKS)
+// For mutex implementation using mutual-exclusion semaphores (which
+// can be taken recursively).
+# include /**/ <semLib.h>
+
+# include /**/ <envLib.h>
+# include /**/ <hostLib.h>
+# include /**/ <ioLib.h>
+# include /**/ <remLib.h>
+# include /**/ <selectLib.h>
+# include /**/ <sigLib.h>
+# include /**/ <sockLib.h>
+# include /**/ <sysLib.h>
+# include /**/ <taskLib.h>
+# include /**/ <taskHookLib.h>
+
+extern "C"
+struct sockaddr_un {
+ short sun_family; // AF_UNIX.
+ char sun_path[108]; // path name.
+};
+
+# define MAXPATHLEN 1024
+# define MAXNAMLEN 255
+# define NSIG (_NSIGS + 1)
+
+// task options: the other options are either obsolete, internal, or for
+// Fortran or Ada support
+# define VX_UNBREAKABLE 0x0002 /* breakpoints ignored */
+# define VX_FP_TASK 0x0008 /* floating point coprocessor */
+# define VX_PRIVATE_ENV 0x0080 /* private environment support */
+# define VX_NO_STACK_FILL 0x0100 /* do not stack fill for
+ checkstack () */
+
+# define THR_CANCEL_DISABLE 0
+# define THR_CANCEL_ENABLE 0
+# define THR_CANCEL_DEFERRED 0
+# define THR_CANCEL_ASYNCHRONOUS 0
+# define THR_BOUND 0
+# define THR_NEW_LWP 0
+# define THR_DETACHED 0
+# define THR_SUSPENDED 0
+# define THR_DAEMON 0
+# define THR_JOINABLE 0
+# define THR_SCHED_FIFO 0
+# define THR_SCHED_RR 0
+# define THR_SCHED_DEFAULT 0
+# define THR_INHERIT_SCHED 0
+# define THR_EXPLICIT_SCHED 0
+# define THR_SCHED_IO 0
+# define THR_SCOPE_SYSTEM 0
+# define THR_SCOPE_PROCESS 0
+# define USYNC_THREAD 0
+# define USYNC_PROCESS 1 /* It's all global on VxWorks
+ (without MMU option). */
+# if !defined (ACE_DEFAULT_SYNCH_TYPE)
+ // Types include these options: SEM_Q_PRIORITY, SEM_Q_FIFO,
+ // SEM_DELETE_SAFE, and SEM_INVERSION_SAFE. SEM_Q_FIFO is
+ // used as the default because that is VxWorks' default.
+# define ACE_DEFAULT_SYNCH_TYPE SEM_Q_FIFO
+# endif /* ! ACE_DEFAULT_SYNCH_TYPE */
+
+typedef SEM_ID ACE_mutex_t;
+// Implement ACE_thread_mutex_t with ACE_mutex_t because there's just
+// one process . . .
+typedef ACE_mutex_t ACE_thread_mutex_t;
+# if !defined (ACE_HAS_POSIX_SEM)
+// Use VxWorks semaphores, wrapped ...
+typedef struct
+{
+ SEM_ID sema_;
+ // Semaphore handle. This is allocated by VxWorks.
+
+ char *name_;
+ // Name of the semaphore: always NULL with VxWorks.
+} ACE_sema_t;
+# endif /* !ACE_HAS_POSIX_SEM */
+typedef char * ACE_thread_t;
+typedef int ACE_hthread_t;
+// Key type: the ACE TSS emulation requires the key type be unsigned,
+// for efficiency. (Current POSIX and Solaris TSS implementations also
+// use u_int, so the ACE TSS emulation is compatible with them.)
+typedef u_int ACE_thread_key_t;
+
+ // Marker for ACE_Thread_Manager to indicate that it allocated
+ // an ACE_thread_t. It is placed at the beginning of the ID.
+# define ACE_THR_ID_ALLOCATED '\022'
+# endif /* VXWORKS */
+
+#endif /* ACE_OS_INCLUDE_VXWORKS_H */
diff --git a/docs/ACE-inheritance.pdf.gz b/docs/ACE-inheritance.pdf.gz
new file mode 100644
index 00000000000..e47b122e39d
--- /dev/null
+++ b/docs/ACE-inheritance.pdf.gz
Binary files differ
diff --git a/examples/Reactor/WFMO_Reactor/Abondoned.dsp b/examples/Reactor/WFMO_Reactor/Abondoned.dsp
new file mode 100644
index 00000000000..d113db90ba6
--- /dev/null
+++ b/examples/Reactor/WFMO_Reactor/Abondoned.dsp
@@ -0,0 +1,58 @@
+# Microsoft Developer Studio Project File - Name="Abondoned" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=Abondoned - 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 "Abondoned.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 "Abondoned.mak" CFG="Abondoned - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "Abondoned - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Abondone"
+# PROP BASE Intermediate_Dir "Abondone"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\..\..\\" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
+# SUBTRACT CPP /YX
+# 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 /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 aced.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\ace"
+# Begin Target
+
+# Name "Abondoned - Win32 Debug"
+# Begin Source File
+
+SOURCE=.\test_abandoned.cpp
+# End Source File
+# End Target
+# End Project
diff --git a/examples/Reactor/WFMO_Reactor/test_abandoned.cpp b/examples/Reactor/WFMO_Reactor/test_abandoned.cpp
new file mode 100644
index 00000000000..b3c6c14b86c
--- /dev/null
+++ b/examples/Reactor/WFMO_Reactor/test_abandoned.cpp
@@ -0,0 +1,121 @@
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// examples
+//
+// = FILENAME
+// test_abandoned.cpp
+//
+// = DESCRIPTION
+//
+// Tests the WFMO_Reactor's ability to handle abandoned mutexes.
+//
+// = AUTHOR
+//
+// Irfan Pyarali <irfan@cs.wustl.edu>
+//
+// ============================================================================
+
+#include "ace/Reactor.h"
+#include "ace/Thread_Manager.h"
+#include "ace/Process_Mutex.h"
+
+ACE_RCSID(WFMO_Reactor, test_abandoned, "$Id$")
+
+class Event_Handler : public ACE_Event_Handler
+{
+public:
+ int handle_signal (int signum,
+ siginfo_t * = 0,
+ ucontext_t * = 0);
+
+ int handle_timeout (const ACE_Time_Value &tv,
+ const void *arg = 0);
+
+ ACE_Auto_Event handle_;
+ ACE_Process_Mutex *mutex_;
+ int iterations_;
+};
+
+static int abandon = 1;
+
+static void *
+worker (void *data)
+{
+ Event_Handler *handler = (Event_Handler *) data;
+
+ handler->handle_.signal ();
+ handler->mutex_->acquire ();
+
+ if (!abandon)
+ handler->mutex_->release ();
+
+ return 0;
+}
+
+int
+Event_Handler::handle_signal (int signum,
+ siginfo_t *s,
+ ucontext_t *)
+{
+ HANDLE handle = s->si_handle_;
+ if (handle == this->handle_.handle ())
+ ACE_Reactor::instance ()->register_handler (this,
+ this->mutex_->lock ().proc_mutex_);
+ else
+ {
+ ACE_Reactor::instance ()->remove_handler (this->mutex_->lock ().proc_mutex_,
+ ACE_Event_Handler::DONT_CALL);
+ delete this->mutex_;
+ }
+
+ return 0;
+}
+
+int
+Event_Handler::handle_timeout (const ACE_Time_Value &tv,
+ const void *arg)
+{
+ --this->iterations_;
+ ACE_DEBUG ((LM_DEBUG,
+ "(%t) timeout occured @ %T, iterations left %d\n",
+ this->iterations_));
+
+ if (this->iterations_ == 0)
+ ACE_Reactor::end_event_loop ();
+ else
+ {
+ ACE_NEW_RETURN (this->mutex_,
+ ACE_Process_Mutex,
+ -1);
+ int result = ACE_Thread_Manager::instance ()->spawn (&worker, this);
+ ACE_ASSERT (result != -1);
+ }
+
+ return 0;
+}
+
+int
+main (int argc, char *argv[])
+{
+ Event_Handler event_handler;
+
+ event_handler.iterations_ = 5;
+ int result = ACE_Reactor::instance ()->register_handler
+ (&event_handler,
+ event_handler.handle_.handle ());
+ ACE_ASSERT (result == 0);
+
+ ACE_Time_Value timeout (2);
+ result = ACE_Reactor::instance ()->schedule_timer (&event_handler,
+ 0,
+ timeout,
+ timeout);
+ ACE_ASSERT (result != -1);
+
+ ACE_Reactor::run_event_loop ();
+
+ return 0;
+}
diff --git a/examples/Reactor/WFMO_Reactor/test_apc.cpp b/examples/Reactor/WFMO_Reactor/test_apc.cpp
new file mode 100644
index 00000000000..5a2d79a4de5
--- /dev/null
+++ b/examples/Reactor/WFMO_Reactor/test_apc.cpp
@@ -0,0 +1,105 @@
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// examples
+//
+// = FILENAME
+// test_apc.cpp
+//
+// = DESCRIPTION
+//
+// Tests the WFMO_Reactor's ability to handle regular APC
+// notifications.
+//
+// = AUTHOR
+//
+// Irfan Pyarali <irfan@cs.wustl.edu>
+//
+// ============================================================================
+
+#include "ace/Reactor.h"
+
+ACE_RCSID(WFMO_Reactor, test_apc, "$Id$")
+
+class Event_Handler : public ACE_Event_Handler
+{
+public:
+ int handle_signal (int signum,
+ siginfo_t * = 0,
+ ucontext_t * = 0);
+
+ int handle_timeout (const ACE_Time_Value &tv,
+ const void *arg = 0);
+
+ ACE_Auto_Event handle_;
+ int iterations_;
+};
+
+static Event_Handler *global_event_handler;
+
+static void WINAPI
+apc_callback (DWORD)
+{
+ ACE_DEBUG ((LM_DEBUG,
+ "(%t) apc occured @ %T\n"));
+
+ global_event_handler->handle_.signal ();
+}
+
+void
+queue_apc (void)
+{
+ DWORD result = ::QueueUserAPC (&apc_callback, // pointer to APC function
+ ::GetCurrentThread (), // handle to the thread
+ 0); // argument for the APC function
+ if (result == FALSE)
+ ACE_OS::exit (-1);
+}
+
+int
+Event_Handler::handle_signal (int signum,
+ siginfo_t *,
+ ucontext_t *)
+{
+ --this->iterations_;
+
+ if (this->iterations_ == 0)
+ ACE_Reactor::end_event_loop ();
+
+ return 0;
+}
+
+int
+Event_Handler::handle_timeout (const ACE_Time_Value &tv,
+ const void *arg)
+{
+ ACE_DEBUG ((LM_DEBUG,
+ "(%t) timeout occured @ %T\n"));
+ queue_apc ();
+ return 0;
+}
+
+int
+main (int argc, char *argv[])
+{
+ Event_Handler event_handler;
+ event_handler.iterations_ = 5;
+ global_event_handler = &event_handler;
+
+ int result = ACE_Reactor::instance ()->register_handler (&event_handler,
+ event_handler.handle_.handle ());
+ ACE_ASSERT (result == 0);
+
+ ACE_Time_Value timeout (2);
+ result = ACE_Reactor::instance ()->schedule_timer (&event_handler,
+ 0,
+ timeout,
+ timeout);
+ ACE_ASSERT (result != -1);
+
+ ACE_Reactor::run_alertable_event_loop ();
+
+ return 0;
+}
diff --git a/examples/Reactor/WFMO_Reactor/test_console_input.cpp b/examples/Reactor/WFMO_Reactor/test_console_input.cpp
new file mode 100644
index 00000000000..adc9915b0a2
--- /dev/null
+++ b/examples/Reactor/WFMO_Reactor/test_console_input.cpp
@@ -0,0 +1,84 @@
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// examples
+//
+// = FILENAME
+// test_console_input.cpp
+//
+// = DESCRIPTION
+//
+// This application tests the working of WFMO_Reactor when users
+// are interested in console input.
+//
+// = AUTHOR
+// Irfan Pyarali <irfan@cs.wustl.edu>
+//
+// ============================================================================
+
+#include "ace/Reactor.h"
+
+ACE_RCSID(WFMO_Reactor, test_console_input, "$Id$")
+
+class Event_Handler : public ACE_Event_Handler
+{
+public:
+ Event_Handler (ACE_Reactor &reactor);
+ int handle_signal (int signum, siginfo_t * = 0, ucontext_t * = 0);
+ int handle_close (ACE_HANDLE handle,
+ ACE_Reactor_Mask close_mask);
+};
+
+Event_Handler::Event_Handler (ACE_Reactor &reactor)
+{
+ this->reactor (&reactor);
+
+ if (this->reactor ()->register_handler (this,
+ ACE_STDIN) != 0)
+ ACE_ERROR ((LM_ERROR,
+ "Registration with Reactor could not be done\n"));
+}
+
+int
+Event_Handler::handle_signal (int signum, siginfo_t *, ucontext_t *)
+{
+ ACE_TCHAR buffer[BUFSIZ];
+ int result = ACE_OS::read (ACE_STDIN, buffer, sizeof buffer);
+ buffer[result] = '\0';
+
+ if (result <= 0)
+ {
+ this->reactor ()->close ();
+ ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "ACE_OS::read"), -1);
+ }
+
+ if (ACE_OS::strcmp (ACE_TEXT("quit\r\n"), buffer) == 0)
+ this->reactor ()->close ();
+
+ ACE_DEBUG ((LM_DEBUG, "User input: %s", buffer));
+
+ return 0;
+}
+
+int
+Event_Handler::handle_close (ACE_HANDLE handle,
+ ACE_Reactor_Mask close_mask)
+{
+ ACE_DEBUG ((LM_DEBUG, "Event_Handler removed from Reactor\n"));
+ return 0;
+}
+
+int
+main (int, char *[])
+{
+ ACE_Reactor reactor;
+ Event_Handler handler (reactor);
+
+ int result = 0;
+ while (result != -1)
+ result = reactor.handle_events ();
+
+ return 0;
+}
diff --git a/examples/Reactor/WFMO_Reactor/test_directory_changes.cpp b/examples/Reactor/WFMO_Reactor/test_directory_changes.cpp
new file mode 100644
index 00000000000..48c486380cb
--- /dev/null
+++ b/examples/Reactor/WFMO_Reactor/test_directory_changes.cpp
@@ -0,0 +1,115 @@
+// $Id$
+//
+// ============================================================================
+//
+// = LIBRARY
+// examples
+//
+// = FILENAME
+// test_directory_changes.cpp
+//
+// = DESCRIPTION
+//
+// This application tests the working of WFMO_Reactor when users
+// are interested in monitoring changes in the filesystem.
+//
+// = AUTHOR
+// Irfan Pyarali
+//
+// ============================================================================
+
+#include "ace/Reactor.h"
+
+ACE_RCSID(WFMO_Reactor, test_directory_changes, "$Id$")
+
+static int stop_test = 0;
+static const ACE_TCHAR *directory = ACE_TEXT (".");
+static const ACE_TCHAR *temp_file = ACE_TEXT ("foo");
+
+class Event_Handler : public ACE_Event_Handler
+{
+public:
+ Event_Handler (ACE_Reactor &reactor);
+ ~Event_Handler (void);
+ int handle_signal (int signum, siginfo_t * = 0, ucontext_t * = 0);
+ int handle_close (ACE_HANDLE handle,
+ ACE_Reactor_Mask close_mask);
+
+private:
+ ACE_HANDLE handle_;
+};
+
+Event_Handler::Event_Handler (ACE_Reactor &reactor)
+ : handle_ (ACE_INVALID_HANDLE)
+{
+ this->reactor (&reactor);
+
+ int change_notification_flags = FILE_NOTIFY_CHANGE_FILE_NAME;
+
+ this->handle_ = ACE_TEXT_FindFirstChangeNotification (directory, // pointer to name of directory to watch
+ FALSE, // flag for monitoring directory or directory tree
+ change_notification_flags // filter conditions to watch for
+ );
+ if (this->handle_ == ACE_INVALID_HANDLE)
+ ACE_ERROR ((LM_ERROR, "FindFirstChangeNotification could not be setup\n"));
+
+ if (this->reactor ()->register_handler (this,
+ this->handle_) != 0)
+ ACE_ERROR ((LM_ERROR, "Registration with Reactor could not be done\n"));
+}
+
+Event_Handler::~Event_Handler (void)
+{
+}
+
+int
+Event_Handler::handle_signal (int signum, siginfo_t *, ucontext_t *)
+{
+ ::FindNextChangeNotification (this->handle_);
+ if (stop_test)
+ this->reactor ()->close ();
+ return 0;
+}
+
+int
+Event_Handler::handle_close (ACE_HANDLE handle,
+ ACE_Reactor_Mask close_mask)
+{
+ ACE_DEBUG ((LM_DEBUG, "Event_Handler removed from Reactor\n"));
+ ::FindCloseChangeNotification (this->handle_);
+ return 0;
+}
+
+void
+worker (void)
+{
+ ACE_DEBUG ((LM_DEBUG, "(%t) Thread creation\n"));
+ ACE_DEBUG ((LM_DEBUG, "(%t) Thread creating temporary file\n"));
+ ACE_HANDLE file = ACE_OS::open (temp_file, _O_CREAT | _O_EXCL);
+ if (file == ACE_INVALID_HANDLE)
+ ACE_ERROR ((LM_ERROR, "Error in creating %s: %p\n", temp_file, "ACE_OS::open"));
+ else
+ {
+ ACE_OS::close (file);
+ ACE_DEBUG ((LM_DEBUG, "(%t) Thread sleeping\n"));
+ ACE_OS::sleep (3);
+ ACE_DEBUG ((LM_DEBUG, "(%t) Thread removing temporary file\n"));
+ stop_test = 1;
+ ACE_OS::unlink (temp_file);
+ }
+}
+
+int
+main (int, char *[])
+{
+ ACE_Reactor reactor;
+ Event_Handler handler (reactor);
+
+ int result = ACE_OS::thr_create ((ACE_THR_FUNC) worker, 0, 0, 0);
+ ACE_ASSERT (result == 0);
+
+ for (result = 0; result != -1; result = reactor.handle_events ())
+ continue;
+
+ return 0;
+}
diff --git a/examples/Reactor/WFMO_Reactor/test_exceptions.cpp b/examples/Reactor/WFMO_Reactor/test_exceptions.cpp
new file mode 100644
index 00000000000..951959f39e1
--- /dev/null
+++ b/examples/Reactor/WFMO_Reactor/test_exceptions.cpp
@@ -0,0 +1,97 @@
+// $Id$
+//
+// ============================================================================
+//
+// = LIBRARY
+// examples
+//
+// = FILENAME
+// test_exceptions.cpp
+//
+// = DESCRIPTION
+//
+// This test application tests the state of WFMO_Reactor when
+// exceptions occurs when executing user callbacks.
+//
+// The thread count in WFMO_Reactor is used to ensure that state of
+// WFMO_Reactor is not fouled up when exceptions occur in user code.
+// This example also shows how to write event loops that survive
+// user exceptions
+//
+// = AUTHOR
+// Irfan Pyarali
+//
+// ============================================================================
+
+#include "ace/WFMO_Reactor.h"
+
+ACE_RCSID(WFMO_Reactor, test_exceptions, "$Id$")
+
+class Event_Handler : public ACE_Event_Handler
+{
+public:
+ Event_Handler (void)
+ : event_ (1)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "Event_Handler created\n"));
+ }
+
+ ~Event_Handler (void)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "Event_Handler destroyed\n"));
+ }
+
+ int handle_signal (int signum, siginfo_t * = 0, ucontext_t * = 0)
+ {
+ char *cause_exception = 0;
+ char a = *cause_exception;
+ return 0;
+ }
+
+ ACE_HANDLE get_handle (void) const
+ {
+ return this->event_.handle ();
+ }
+private:
+ ACE_Manual_Event event_;
+};
+
+class ACE_WFMO_Reactor_Test
+{
+public:
+ static void doit (ACE_WFMO_Reactor &wfmo_reactor)
+ {
+ for (int i = 1; i <= 10; i++)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "Active threads in WFMO_Reactor (before handle_events) = %d\n",
+ wfmo_reactor.active_threads_));
+ ACE_SEH_TRY
+ {
+ wfmo_reactor.handle_events ();
+ }
+ ACE_SEH_EXCEPT (EXCEPTION_EXECUTE_HANDLER)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "Exception occurred\n"));
+ }
+ ACE_DEBUG ((LM_DEBUG,
+ "Active threads in WFMO_Reactor (after handle_events) = %d\n",
+ wfmo_reactor.active_threads_));
+ }
+ }
+};
+
+int
+main (int, char *[])
+{
+ Event_Handler handler;
+ ACE_WFMO_Reactor wfmo_reactor;
+ wfmo_reactor.register_handler (&handler);
+
+ ACE_WFMO_Reactor_Test::doit (wfmo_reactor);
+
+ return 0;
+}
diff --git a/examples/Reactor/WFMO_Reactor/test_handle_close.cpp b/examples/Reactor/WFMO_Reactor/test_handle_close.cpp
new file mode 100644
index 00000000000..5141262c2a8
--- /dev/null
+++ b/examples/Reactor/WFMO_Reactor/test_handle_close.cpp
@@ -0,0 +1,306 @@
+// $Id$
+//
+// ============================================================================
+//
+// = LIBRARY
+// examples
+//
+// = FILENAME
+// test_handle_close.cpp
+//
+// = DESCRIPTION
+//
+// This application tests whether handle_close gets called and if
+// the correct masks are passed along. The handler should get
+// handle_close called for all three masks (READ, WRITE, and
+// EXCEPT).
+//
+// = AUTHOR
+// Irfan Pyarali
+//
+// ============================================================================
+
+#include "ace/Get_Opt.h"
+#include "ace/Reactor.h"
+#include "ace/WFMO_Reactor.h"
+#include "ace/Select_Reactor.h"
+#include "ace/Auto_Ptr.h"
+#include "ace/Pipe.h"
+
+ACE_RCSID(WFMO_Reactor, test_handle_close, "$Id$")
+
+// Use the WFMO_Reactor
+static int opt_wfmo_reactor = 0;
+
+// Use the Select_Reactor
+static int opt_select_reactor = 0;
+
+// Make pipe readable in main()
+static int write_to_pipe_in_main = 0;
+
+// Cancel reads
+static int cancel_reads = 0;
+
+// Write some data to the pipe. This will cause handle_input to get
+// called.
+void
+write_to_pipe (ACE_Pipe &pipe)
+{
+ char *data = "hello";
+ int len = ACE_OS::strlen (data);
+
+ int result = ACE::send (pipe.write_handle (),
+ data,
+ len);
+ ACE_ASSERT (result == len);
+}
+
+// Simple handler class
+class Handler : public ACE_Event_Handler
+{
+public:
+ Handler (ACE_Pipe &pipe)
+ : pipe_ (pipe)
+ {
+ }
+
+ ACE_HANDLE get_handle (void) const
+ {
+ return this->pipe_.read_handle ();
+ }
+
+ int handle_close (ACE_HANDLE handle,
+ ACE_Reactor_Mask close_mask)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "Handler::handle_close called with mask = %d\n",
+ close_mask));
+ return 0;
+ }
+
+ int handle_input (ACE_HANDLE handle)
+ {
+ ACE_DEBUG ((LM_DEBUG, "Handler::handle_input\n"));
+
+ // Remove for reading
+ return -1;
+ }
+
+ int handle_output (ACE_HANDLE handle)
+ {
+ ACE_DEBUG ((LM_DEBUG, "Handler::handle_output\n"));
+
+ // Optionally cancel reads
+ if (cancel_reads)
+ {
+ int result = ACE_Reactor::instance ()->cancel_wakeup (this,
+ ACE_Event_Handler::READ_MASK);
+ ACE_ASSERT (result != -1);
+ }
+
+ // Write to the pipe; this causes handle_input to get called.
+ if (!write_to_pipe_in_main)
+ write_to_pipe (this->pipe_);
+
+ // Remove for writing
+ return -1;
+ }
+
+protected:
+ ACE_Pipe &pipe_;
+};
+
+class Different_Handler : public ACE_Event_Handler
+{
+public:
+
+ Different_Handler (ACE_Pipe &pipe)
+ : pipe_ (pipe)
+ {
+ }
+
+ ACE_HANDLE get_handle (void) const
+ {
+ return this->pipe_.read_handle ();
+ }
+
+ int handle_close (ACE_HANDLE handle,
+ ACE_Reactor_Mask close_mask)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "Different_Handler::handle_close called with mask = %d\n",
+ close_mask));
+ return 0;
+ }
+
+ int handle_input (ACE_HANDLE handle)
+ {
+ ACE_DEBUG ((LM_DEBUG, "Different_Handler::handle_input\n"));
+
+ // Remove for reading
+ int result = ACE_Reactor::instance ()->remove_handler (this,
+ ACE_Event_Handler::READ_MASK);
+ ACE_ASSERT (result == 0);
+
+ return 0;
+ }
+
+ int handle_output (ACE_HANDLE handle)
+ {
+ ACE_DEBUG ((LM_DEBUG, "Different_Handler::handle_output\n"));
+
+ // Add for reading
+ int result = ACE_Reactor::instance ()->mask_ops (this,
+ ACE_Event_Handler::READ_MASK,
+ ACE_Reactor::ADD_MASK);
+ ACE_ASSERT (result != -1);
+
+ ACE_Reactor_Mask old_masks =
+ ACE_Event_Handler::WRITE_MASK |
+ ACE_Event_Handler::EXCEPT_MASK;
+
+ ACE_ASSERT (old_masks ==
+ ACE_static_cast (ACE_Reactor_Mask, result));
+
+ // Get new masks
+ result = ACE_Reactor::instance ()->mask_ops (this,
+ ACE_Event_Handler::NULL_MASK,
+ ACE_Reactor::GET_MASK);
+ ACE_ASSERT (result != -1);
+
+ ACE_Reactor_Mask current_masks =
+ ACE_Event_Handler::READ_MASK |
+ ACE_Event_Handler::WRITE_MASK |
+ ACE_Event_Handler::EXCEPT_MASK;
+
+ ACE_ASSERT (current_masks ==
+ ACE_static_cast (ACE_Reactor_Mask, result));
+
+ // Remove for writing
+ ACE_Reactor_Mask mask = ACE_Event_Handler::WRITE_MASK | ACE_Event_Handler::DONT_CALL;
+ result = ACE_Reactor::instance ()->remove_handler (this,
+ mask);
+ ACE_ASSERT (result == 0);
+
+ // Write to the pipe; this causes handle_input to get called.
+ if (!write_to_pipe_in_main)
+ write_to_pipe (this->pipe_);
+
+ return 0;
+ }
+
+protected:
+ ACE_Pipe &pipe_;
+};
+
+
+//
+// Selection of which reactor should get created
+//
+void
+create_reactor (void)
+{
+ ACE_Reactor_Impl *impl = 0;
+
+ if (opt_wfmo_reactor)
+ {
+#if defined (ACE_WIN32) && !defined (ACE_HAS_WINCE)
+ ACE_NEW (impl,
+ ACE_WFMO_Reactor);
+#endif /* ACE_WIN32 */
+ }
+ else if (opt_select_reactor)
+ ACE_NEW (impl,
+ ACE_Select_Reactor);
+
+ ACE_Reactor *reactor = 0;
+ ACE_NEW (reactor,
+ ACE_Reactor (impl));
+ ACE_Reactor::instance (reactor);
+}
+
+int
+main (int argc, char *argv[])
+{
+ int result = 0;
+
+ // Parse args
+ ACE_Get_Opt getopt (argc, argv, ACE_TEXT ("swmc"), 1);
+ for (int c; (c = getopt ()) != -1; )
+ switch (c)
+ {
+ case 's':
+ opt_select_reactor = 1;
+ break;
+ case 'w':
+ opt_wfmo_reactor = 1;
+ break;
+ case 'm':
+ write_to_pipe_in_main = 1;
+ break;
+ case 'c':
+ cancel_reads = 1;
+ break;
+ }
+
+ // Create pipes
+ ACE_Pipe pipe1, pipe2;
+
+ result = pipe1.open ();
+ ACE_ASSERT (result == 0);
+
+ result = pipe2.open ();
+ ACE_ASSERT (result == 0);
+
+ // Create handlers
+ Handler handler (pipe1);
+ Different_Handler different_handler (pipe2);
+
+ // Create reactor
+ create_reactor ();
+
+ // Manage memory automagically.
+ auto_ptr<ACE_Reactor> reactor (ACE_Reactor::instance ());
+ auto_ptr<ACE_Reactor_Impl> impl;
+
+ // If we are using other that the default implementation, we must
+ // clean up.
+ if (opt_select_reactor || opt_wfmo_reactor)
+ impl = auto_ptr<ACE_Reactor_Impl> (ACE_Reactor::instance ()->implementation ());
+
+ // Register handlers
+ ACE_Reactor_Mask handler_mask =
+ ACE_Event_Handler::READ_MASK |
+ ACE_Event_Handler::WRITE_MASK |
+ ACE_Event_Handler::EXCEPT_MASK;
+
+ ACE_Reactor_Mask different_handler_mask =
+ ACE_Event_Handler::WRITE_MASK |
+ ACE_Event_Handler::EXCEPT_MASK;
+
+ result = ACE_Reactor::instance ()->register_handler (&handler,
+ handler_mask);
+ ACE_ASSERT (result == 0);
+
+ result = ACE_Reactor::instance ()->register_handler (&different_handler,
+ different_handler_mask);
+ ACE_ASSERT (result == 0);
+
+ // Write to the pipe; this causes handle_input to get called.
+ if (write_to_pipe_in_main)
+ {
+ write_to_pipe (pipe1);
+ write_to_pipe (pipe2);
+ }
+
+ // Note that handle_output will get called automatically since the
+ // pipe is writable!
+
+ // Run for three seconds
+ ACE_Time_Value time (3);
+ ACE_Reactor::instance ()->run_event_loop (time);
+
+ ACE_DEBUG ((LM_DEBUG, "\nClosing down the application\n\n"));
+
+ return 0;
+}
diff --git a/examples/Reactor/WFMO_Reactor/test_multithreading.cpp b/examples/Reactor/WFMO_Reactor/test_multithreading.cpp
new file mode 100644
index 00000000000..ee368d18c11
--- /dev/null
+++ b/examples/Reactor/WFMO_Reactor/test_multithreading.cpp
@@ -0,0 +1,245 @@
+// $Id$
+//
+// ============================================================================
+//
+// = LIBRARY
+// examples
+//
+// = FILENAME
+// test_multithreading.cpp
+//
+// = DESCRIPTION
+//
+// This application tests multiple threads simultaneously calling
+// Reactor::handle_events(). It also shows how different threads
+// can update the state of Reactor by registering and removing
+// Event_Handlers.
+//
+// Note that this test will only work with WFMO_Reactor
+//
+// = AUTHOR
+// Irfan Pyarali
+//
+// ============================================================================
+
+#include "ace/Task.h"
+#include "ace/Reactor.h"
+#include "ace/WFMO_Reactor.h"
+#include "ace/Get_Opt.h"
+
+ACE_RCSID(WFMO_Reactor, test_multithreading, "$Id$")
+
+static int concurrent_threads = 1;
+static int number_of_handles = ACE_Reactor::instance ()->size ();
+static int number_of_handles_to_signal = 1;
+static int interval = 2;
+static int iterations = 10;
+
+// Explain usage and exit.
+static void
+print_usage_and_die (void)
+{
+ ACE_DEBUG ((LM_DEBUG,
+ "usage: \n\t"
+ "[-t (# of threads - default 1)] \n\t"
+ "[-h (# of handlers) - default 62] \n\t"
+ "[-i (# time interval between signals) - default 2] \n\t"
+ "[-s (# of handles to signal) - default 1] \n\t"
+ "[-e (# of iterations) - default 10] \n\t"));
+ ACE_OS::exit (1);
+}
+
+// Parse the command-line arguments and set options.
+static void
+parse_args (int argc, char **argv)
+{
+ ACE_Get_Opt get_opt (argc, argv, "t:h:s:i:e:");
+ int c;
+
+ while ((c = get_opt ()) != -1)
+ switch (c)
+ {
+ case 't':
+ concurrent_threads = ACE_OS::atoi (get_opt.opt_arg ());
+ break;
+ case 'e':
+ iterations = ACE_OS::atoi (get_opt.opt_arg ());
+ break;
+ case 'h':
+ number_of_handles = ACE_OS::atoi (get_opt.opt_arg ());
+ break;
+ case 'i':
+ interval = ACE_OS::atoi (get_opt.opt_arg ());
+ break;
+ case 's':
+ number_of_handles_to_signal = ACE_OS::atoi (get_opt.opt_arg ());
+ break;
+ default:
+ print_usage_and_die ();
+ break;
+ }
+}
+
+class Task_Handler : public ACE_Task<ACE_NULL_SYNCH>
+{
+public:
+ Task_Handler (size_t number_of_handles,
+ size_t concurrent_threads);
+ // Constructor.
+
+ ~Task_Handler (void);
+ // Destructor.
+
+ virtual int handle_close (ACE_HANDLE handle,
+ ACE_Reactor_Mask close_mask);
+ // Called when object is removed from the ACE_Reactor
+
+ int handle_signal (int signum, siginfo_t * = 0, ucontext_t * = 0);
+ // Handle events being signaled by the main thread.
+
+ virtual int handle_timeout (const ACE_Time_Value &tv,
+ const void *arg = 0);
+ // Called when timer expires.
+
+ int svc (void);
+ // Task event loop.
+
+ int signal (size_t index);
+ // Signal an event.
+
+private:
+ ACE_Auto_Event *events_;
+};
+
+// All threads do reactor->handle_events ()
+int
+Task_Handler::svc (void)
+{
+ // Try to become the owner
+ ACE_Reactor::instance ()->owner (ACE_Thread::self ());
+ // Run the event loop.
+ return ACE_Reactor::run_event_loop ();
+}
+
+Task_Handler::Task_Handler (size_t number_of_handles,
+ size_t concurrent_threads)
+{
+ ACE_NEW (this->events_, ACE_Auto_Event [number_of_handles]);
+
+ for (size_t i = 1; i <= number_of_handles; i++)
+ if (ACE_Reactor::instance ()->register_handler (this,
+ this->events_[i].handle ()) == -1)
+ ACE_ERROR ((LM_ERROR,
+ "%p\t cannot register handle %d with Reactor\n",
+ "Task_Handler::Task_Handler",
+ i));
+
+ // Make us an active object.
+ if (this->activate (THR_NEW_LWP,
+ concurrent_threads) == -1)
+ ACE_ERROR ((LM_ERROR, "%p\t cannot activate task\n",
+ "activate"));
+}
+
+Task_Handler::~Task_Handler (void)
+{
+ delete [] this->events_;
+}
+
+
+int
+Task_Handler::handle_signal (int signum, siginfo_t *siginfo, ucontext_t *)
+{
+ // When signaled, print message, remove self, and add self
+ // This will force Reactor to update its internal handle tables
+
+ if (ACE_Reactor::instance ()->remove_handler (siginfo->si_handle_,
+ ACE_Event_Handler::DONT_CALL) == -1)
+ return -1;
+ // ACE_ERROR_RETURN ((LM_ERROR,
+ // "(%t) %p\tTask cannot be unregistered from Reactor: handle value = %d\n",
+ // "Task_Handler::handle_signal",
+ // siginfo->si_handle_), -1);
+
+ if (ACE_Reactor::instance ()->register_handler (this,
+ siginfo->si_handle_) == -1)
+ return -1;
+ // ACE_ERROR_RETURN ((LM_ERROR,
+ // "(%t) %p\tTask cannot be registered with Reactor: handle value = %d\n",
+ // "Task_Handler::handle_signal",
+ // siginfo->si_handle_), -1);
+ return 0;
+}
+
+int
+Task_Handler::handle_close (ACE_HANDLE handle,
+ ACE_Reactor_Mask close_mask)
+{
+ ACE_DEBUG ((LM_DEBUG, "(%t) handle_close() called: handle value = %d\n",
+ handle));
+ return 0;
+}
+
+int
+Task_Handler::handle_timeout (const ACE_Time_Value &tv,
+ const void *arg)
+{
+ ACE_DEBUG ((LM_DEBUG, "(%t) handle_timeout() called: iteration value = %d\n",
+ int (arg)));
+ return 0;
+}
+
+int
+Task_Handler::signal (size_t index)
+{
+ return this->events_[index].signal ();
+}
+
+int
+main (int argc, char **argv)
+{
+ parse_args (argc, argv);
+ Task_Handler task (number_of_handles,
+ concurrent_threads);
+
+ ACE_OS::srand (ACE_OS::time (0L));
+
+ for (int i = 1; i <= iterations; i++)
+ {
+ // Sleep for a while
+ ACE_OS::sleep (interval);
+
+ // Randomly generate events
+ ACE_DEBUG ((LM_DEBUG, "********************************************************\n"));
+ ACE_DEBUG ((LM_DEBUG, "(%t -- main thread) signaling %d events : iteration = %d\n",
+ number_of_handles_to_signal,
+ i));
+ ACE_DEBUG ((LM_DEBUG, "********************************************************\n"));
+
+ // Setup a timer for the task
+ if (ACE_Reactor::instance ()->schedule_timer (&task,
+ (void *) i,
+ 0) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "schedule_timer"), -1);
+
+ for (int i = 0; i < number_of_handles_to_signal; i++)
+ // Randomly select a handle to signal.
+ task.signal (ACE_OS::rand() % number_of_handles);
+ }
+
+ // Sleep for a while
+ ACE_OS::sleep (interval);
+
+ // End the Reactor event loop
+ ACE_Reactor::end_event_loop ();
+
+ // Wait for all threads to exit
+ ACE_Thread_Manager::instance ()->wait ();
+
+ // Close the Reactor singleton before exiting this function.
+ // If we wait for the Object Manager to do this, it will be too
+ // late since Task_Handler instance would have disappeared.
+ ACE_Reactor::close_singleton ();
+
+ return 0;
+}
diff --git a/examples/Reactor/WFMO_Reactor/test_network_events.cpp b/examples/Reactor/WFMO_Reactor/test_network_events.cpp
new file mode 100644
index 00000000000..3f3c7fdcd20
--- /dev/null
+++ b/examples/Reactor/WFMO_Reactor/test_network_events.cpp
@@ -0,0 +1,203 @@
+// $Id$
+//
+// ============================================================================
+//
+// = LIBRARY
+// examples
+//
+// = FILENAME
+// test_network_events.cpp
+//
+// = DESCRIPTION
+//
+// This application tests Reactor to make sure that it responds
+// correctly to different kinds of network events.
+//
+// The test starts off by creating a Network_Listener, that listens
+// for connections at ACE_DEFAULT_SERVER_PORT. When a client
+// connects, a Network_Handler is created. Network_Handler reads
+// messages off the socket and prints them out. This is done until
+// the remote side shuts down. Multiple clients can connect at the
+// same time.
+//
+// Events tested in this example includes ACCEPT, READ, and CLOSE masks.
+//
+// To run this example, start an instance of this example and
+// connect to it using telnet (to port
+// ACE_DEFAULT_SERVER_PORT(10002)).
+//
+// = AUTHOR
+// Irfan Pyarali
+//
+// ============================================================================
+
+#include "ace/Reactor.h"
+#include "ace/WFMO_Reactor.h"
+#include "ace/INET_Addr.h"
+#include "ace/SOCK_Stream.h"
+#include "ace/SOCK_Acceptor.h"
+
+ACE_RCSID(WFMO_Reactor, test_network_events, "$Id$")
+
+class Network_Handler : public ACE_Event_Handler
+{
+public:
+ Network_Handler (ACE_SOCK_Stream &s);
+ // Default constructor
+
+ virtual int handle_input (ACE_HANDLE handle);
+ virtual int handle_close (ACE_HANDLE handle,
+ ACE_Reactor_Mask close_mask);
+ virtual ACE_HANDLE get_handle (void) const;
+
+ ACE_SOCK_Stream stream_;
+
+};
+
+Network_Handler::Network_Handler (ACE_SOCK_Stream &s)
+ : stream_ (s)
+{
+ this->reactor (ACE_Reactor::instance ());
+
+ int result = this->reactor ()->register_handler (this, READ_MASK);
+ ACE_ASSERT (result == 0);
+}
+
+ACE_HANDLE
+Network_Handler::get_handle (void) const
+{
+ return this->stream_.get_handle ();
+}
+
+int
+Network_Handler::handle_input (ACE_HANDLE handle)
+{
+ ACE_DEBUG ((LM_DEBUG, "Network_Handler::handle_input handle = %d\n", handle));
+
+ while (1)
+ {
+ char message[BUFSIZ];
+ int result = this->stream_.recv (message, sizeof message);
+ if (result > 0)
+ {
+ message[result] = 0;
+ ACE_DEBUG ((LM_DEBUG, "Remote message: %s\n", message));
+ }
+ else if (result == 0)
+ {
+ ACE_DEBUG ((LM_DEBUG, "Connection closed\n"));
+ return -1;
+ }
+ else if (errno == EWOULDBLOCK)
+ {
+ return 0;
+ }
+ else
+ {
+ ACE_DEBUG ((LM_DEBUG, "Problems in receiving data, result = %d", result));
+ return -1;
+ }
+ }
+}
+
+int
+Network_Handler::handle_close (ACE_HANDLE handle,
+ ACE_Reactor_Mask close_mask)
+{
+ ACE_DEBUG ((LM_DEBUG, "Network_Handler::handle_close handle = %d\n", handle));
+
+ this->stream_.close ();
+ delete this;
+ return 0;
+}
+
+class Network_Listener : public ACE_Event_Handler
+{
+public:
+ Network_Listener (void);
+ // Default constructor
+ ~Network_Listener (void);
+ // Default constructor
+
+ virtual int handle_input (ACE_HANDLE handle);
+ virtual int handle_close (ACE_HANDLE handle,
+ ACE_Reactor_Mask close_mask);
+ ACE_HANDLE get_handle (void) const;
+
+ ACE_INET_Addr local_address_;
+ ACE_SOCK_Acceptor acceptor_;
+};
+
+Network_Listener::Network_Listener (void)
+ : local_address_ (ACE_DEFAULT_SERVER_PORT),
+ acceptor_ (local_address_, 1)
+{
+ this->reactor (ACE_Reactor::instance ());
+ int result = this->reactor ()->register_handler (this,
+ ACE_Event_Handler::ACCEPT_MASK);
+ ACE_ASSERT (result == 0);
+}
+
+Network_Listener::~Network_Listener (void)
+{
+ this->reactor ()->remove_handler (this, ACE_Event_Handler::ACCEPT_MASK ||
+ ACE_Event_Handler::DONT_CALL);
+ this->handle_close (this->get_handle (), ACE_Event_Handler::ALL_EVENTS_MASK);
+}
+
+ACE_HANDLE
+Network_Listener::get_handle (void) const
+{
+ return this->acceptor_.get_handle ();
+}
+
+int
+Network_Listener::handle_input (ACE_HANDLE handle)
+{
+ ACE_DEBUG ((LM_DEBUG, "Network_Listener::handle_input handle = %d\n", handle));
+
+ ACE_INET_Addr remote_address;
+ ACE_SOCK_Stream stream;
+
+ // Try to find out if the implementation of the reactor that we are
+ // using requires us to reset the event association for the newly
+ // created handle. This is because the newly created handle will
+ // inherit the properties of the listen handle, including its event
+ // associations.
+ int reset_new_handle = this->reactor ()->uses_event_associations ();
+
+ int result = this->acceptor_.accept (stream, // stream
+ &remote_address, // remote address
+ 0, // timeout
+ 1, // restart
+ reset_new_handle); // reset new handler
+ ACE_ASSERT (result == 0);
+
+ ACE_DEBUG ((LM_DEBUG, "Remote connection from: "));
+ remote_address.dump ();
+
+ Network_Handler *handler;
+ ACE_NEW_RETURN (handler, Network_Handler (stream), -1);
+
+ return 0;
+}
+
+int
+Network_Listener::handle_close (ACE_HANDLE handle,
+ ACE_Reactor_Mask close_mask)
+{
+ ACE_DEBUG ((LM_DEBUG, "Network_Listener::handle_close handle = %d\n", handle));
+
+ this->acceptor_.close ();
+ return 0;
+}
+
+int
+main (int, char *[])
+{
+ Network_Listener listener;
+
+ ACE_Reactor::run_event_loop ();
+
+ return 0;
+};
diff --git a/examples/Reactor/WFMO_Reactor/test_prerun_state_changes.cpp b/examples/Reactor/WFMO_Reactor/test_prerun_state_changes.cpp
new file mode 100644
index 00000000000..fb880b8c8ee
--- /dev/null
+++ b/examples/Reactor/WFMO_Reactor/test_prerun_state_changes.cpp
@@ -0,0 +1,64 @@
+// $Id$
+//
+// ============================================================================
+//
+// = LIBRARY
+// examples
+//
+// = FILENAME
+// test_prerun_state_changes.cpp
+//
+// = DESCRIPTION
+//
+// Tests the Reactor's ability to handle state changes before
+// getting a chance to run.
+//
+// = AUTHOR
+//
+// Irfan Pyarali
+//
+// ============================================================================
+
+#include "ace/Reactor.h"
+
+ACE_RCSID(WFMO_Reactor, test_prerun_state_changes, "$Id$")
+
+class Event_Handler : public ACE_Event_Handler
+// = TITLE
+// Generic Event Handler.
+//
+{
+public:
+ virtual int handle_close (ACE_HANDLE handle, ACE_Reactor_Mask mask)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "event handler %d closed.\n",
+ (int) handle));
+ delete this;
+ return 0;
+ }
+};
+
+int
+main (int argc, char *argv[])
+{
+ ACE_HANDLE handle = (ACE_HANDLE) ::socket (PF_INET, SOCK_STREAM, 0);
+
+ Event_Handler *event_handler = new Event_Handler;
+
+ int result = ACE_Reactor::instance ()->register_handler (handle,
+ event_handler,
+ ACE_Event_Handler::READ_MASK);
+ ACE_ASSERT (result == 0);
+
+ result = ACE_Reactor::instance ()->register_handler (handle,
+ event_handler,
+ ACE_Event_Handler::WRITE_MASK | ACE_Event_Handler::QOS_MASK);
+ ACE_ASSERT (result == 0);
+
+ result = ACE_Reactor::instance ()->remove_handler (handle,
+ ACE_Event_Handler::READ_MASK | ACE_Event_Handler::DONT_CALL);
+ ACE_ASSERT (result == 0);
+
+ return 0;
+}
diff --git a/examples/Reactor/WFMO_Reactor/test_registration.cpp b/examples/Reactor/WFMO_Reactor/test_registration.cpp
new file mode 100644
index 00000000000..6409efc2749
--- /dev/null
+++ b/examples/Reactor/WFMO_Reactor/test_registration.cpp
@@ -0,0 +1,155 @@
+// $Id$
+//
+// ============================================================================
+//
+// = LIBRARY
+// examples
+//
+// = FILENAME
+// test_registration.cpp
+//
+// = DESCRIPTION
+//
+// This test application tests a wide range of registration,
+// suspension, resumption, and removal of events from Reactor.
+//
+// The application initially registers two events with Reactor. A
+// auxiliary thread is created to do the signaling on the
+// events. When the first event is signaled, the event is suspended
+// from Reactor. The event is then signaled again, but is "lost"
+// since the handler has been suspended. When the second event is
+// signal, the first event is resumed and the second is
+// suspended. When the first event is signaled again, both events
+// are removed from Reactor.
+//
+// This test shows off the following features of Reactor:
+// - Registration
+// - Suspension
+// - Resumption
+// - Removal (while active and while suspended)
+//
+// = AUTHOR
+// Irfan Pyarali
+//
+// ============================================================================
+
+#include "ace/Reactor.h"
+
+ACE_RCSID(WFMO_Reactor, test_registration, "$Id$")
+
+// Globals for this test
+int stop_test = 0;
+ACE_Reactor reactor;
+
+
+class Simple_Handler : public ACE_Event_Handler
+{
+public:
+ Simple_Handler (void);
+ // Default constructor
+
+ virtual int handle_signal (int signum, siginfo_t * = 0, ucontext_t * = 0);
+ virtual int handle_close (ACE_HANDLE handle,
+ ACE_Reactor_Mask close_mask);
+
+ ACE_Auto_Event event1_;
+ ACE_Auto_Event event2_;
+ int handle_signal_count_;
+ int handle_close_count_;
+};
+
+Simple_Handler::Simple_Handler (void)
+ : handle_signal_count_ (0),
+ handle_close_count_ (0)
+{
+}
+
+int
+Simple_Handler::handle_signal (int signum, siginfo_t *s, ucontext_t *)
+{
+ ACE_HANDLE handle = s->si_handle_;
+
+ this->handle_signal_count_++;
+
+ if (this->handle_signal_count_ == 1)
+ this->reactor ()->suspend_handler (event1_.handle ());
+ else if (this->handle_signal_count_ == 2)
+ {
+ this->reactor ()->resume_handler (event1_.handle ());
+ this->reactor ()->suspend_handler (event2_.handle ());
+ }
+ else if (this->handle_signal_count_ == 3)
+ {
+ this->reactor ()->remove_handler (event1_.handle (),
+ ACE_Event_Handler::NULL_MASK);
+ this->reactor ()->remove_handler (event2_.handle (),
+ ACE_Event_Handler::NULL_MASK);
+ }
+ return 0;
+}
+
+int
+Simple_Handler::handle_close (ACE_HANDLE handle,
+ ACE_Reactor_Mask close_mask)
+{
+ ACE_DEBUG ((LM_DEBUG, "Simple_Handler::handle_close handle = %d\n", handle));
+ this->handle_close_count_++;
+
+ if (this->handle_close_count_ == 1)
+ stop_test = 0;
+ else if (this->handle_close_count_ == 2)
+ stop_test = 1;
+
+ return 0;
+}
+
+// Globals for this test
+Simple_Handler simple_handler;
+
+void
+worker (void)
+{
+ ACE_DEBUG ((LM_DEBUG, "(%t) Thread creation\n"));
+ ACE_DEBUG ((LM_DEBUG, "(%t) Thread sleeping\n"));
+ ACE_OS::sleep (1);
+ ACE_DEBUG ((LM_DEBUG, "(%t) Thread signaling %d\n", simple_handler.event1_.handle()));
+ simple_handler.event1_.signal ();
+ ACE_DEBUG ((LM_DEBUG, "(%t) Thread sleeping\n"));
+ ACE_OS::sleep (1);
+ ACE_DEBUG ((LM_DEBUG, "(%t) Thread signaling %d\n", simple_handler.event1_.handle()));
+ ACE_DEBUG ((LM_DEBUG, "Note: This signal should be \"lost\" because of the suspended handler\n"));
+ simple_handler.event1_.signal ();
+ ACE_DEBUG ((LM_DEBUG, "(%t) Thread sleeping\n"));
+ ACE_OS::sleep (1);
+ ACE_DEBUG ((LM_DEBUG, "(%t) Thread resetting %d\n", simple_handler.event1_.handle()));
+ simple_handler.event1_.reset ();
+ ACE_DEBUG ((LM_DEBUG, "(%t) Thread signaling %d\n", simple_handler.event2_.handle()));
+ simple_handler.event2_.signal ();
+ ACE_DEBUG ((LM_DEBUG, "(%t) Thread sleeping\n"));
+ ACE_OS::sleep (1);
+ ACE_DEBUG ((LM_DEBUG, "(%t) Thread signaling %d\n", simple_handler.event1_.handle()));
+ simple_handler.event1_.signal ();
+ ACE_DEBUG ((LM_DEBUG, "(%t) Thread death\n"));
+}
+
+int
+main (int, char *[])
+{
+ int result = reactor.register_handler (&simple_handler,
+ simple_handler.event1_.handle ());
+ ACE_ASSERT (result == 0);
+
+ result = reactor.register_handler (&simple_handler,
+ simple_handler.event2_.handle ());
+ ACE_ASSERT (result == 0);
+
+ result = ACE_OS::thr_create ((ACE_THR_FUNC) worker, 0, 0, 0);
+ ACE_ASSERT (result == 0);
+
+ result = 0;
+ while (!stop_test && result != -1)
+ {
+ result = reactor.handle_events ();
+ }
+ return 0;
+};
diff --git a/examples/Reactor/WFMO_Reactor/test_registry_changes.cpp b/examples/Reactor/WFMO_Reactor/test_registry_changes.cpp
new file mode 100644
index 00000000000..1dd25680a1f
--- /dev/null
+++ b/examples/Reactor/WFMO_Reactor/test_registry_changes.cpp
@@ -0,0 +1,133 @@
+// $Id$
+//
+// ============================================================================
+//
+// = LIBRARY
+// examples
+//
+// = FILENAME
+// test_registry_changes.cpp
+//
+// = DESCRIPTION
+//
+// This application tests the working of Reactor when users are
+// interested in monitoring changes in the registry.
+//
+// = AUTHOR
+// Irfan Pyarali
+//
+// ============================================================================
+
+#include "ace/Reactor.h"
+#include "ace/Registry.h"
+
+ACE_RCSID(WFMO_Reactor, test_registry_changes, "$Id$")
+
+static int stop_test = 0;
+static HKEY context_to_monitor = HKEY_CURRENT_USER;
+static const ACE_TCHAR *temp_context_name = ACE_TEXT ("ACE temporary context");
+
+class Event_Handler : public ACE_Event_Handler
+{
+public:
+ Event_Handler (ACE_Reactor &reactor);
+ ~Event_Handler (void);
+ int handle_signal (int signum, siginfo_t * = 0, ucontext_t * = 0);
+ int handle_close (ACE_HANDLE handle,
+ ACE_Reactor_Mask close_mask);
+ ACE_Registry::Naming_Context &context (void);
+
+private:
+ ACE_Auto_Event event_;
+ ACE_Registry::Naming_Context context_;
+};
+
+Event_Handler::Event_Handler (ACE_Reactor &reactor)
+ : context_ (context_to_monitor)
+{
+ this->reactor (&reactor);
+
+ if (::RegNotifyChangeKeyValue (this->context_.key (), // handle of key to watch
+ FALSE, // flag for subkey notification
+ REG_NOTIFY_CHANGE_NAME, // changes to be reported
+ this->event_.handle (), // handle of signaled event
+ TRUE // flag for asynchronous reporting
+ ) != ERROR_SUCCESS)
+ ACE_ERROR ((LM_ERROR, "RegNotifyChangeKeyValue could not be setup\n"));
+
+ if (this->reactor ()->register_handler (this,
+ this->event_.handle ()) != 0)
+ ACE_ERROR ((LM_ERROR, "Registration with Reactor could not be done\n"));
+}
+
+Event_Handler::~Event_Handler (void)
+{
+}
+
+int
+Event_Handler::handle_signal (int signum, siginfo_t *, ucontext_t *)
+{
+ if (stop_test)
+ this->reactor ()->close ();
+ else if (::RegNotifyChangeKeyValue (this->context_.key (), // handle of key to watch
+ FALSE, // flag for subkey notification
+ REG_NOTIFY_CHANGE_NAME, // changes to be reported
+ this->event_.handle (), // handle of signaled event
+ TRUE // flag for asynchronous reporting
+ ) != ERROR_SUCCESS)
+ ACE_ERROR ((LM_ERROR,
+ "RegNotifyChangeKeyValue could not be setup\n"));
+ return 0;
+}
+
+int
+Event_Handler::handle_close (ACE_HANDLE handle,
+ ACE_Reactor_Mask close_mask)
+{
+ ACE_DEBUG ((LM_DEBUG, "Event_Handler removed from Reactor\n"));
+ return 0;
+}
+
+ACE_Registry::Naming_Context &
+Event_Handler::context (void)
+{
+ return this->context_;
+}
+
+void
+worker (Event_Handler *event_handler)
+{
+ ACE_DEBUG ((LM_DEBUG, "(%t) Thread creation\n"));
+ ACE_DEBUG ((LM_DEBUG, "(%t) Thread creating temporary registry entry\n"));
+
+ ACE_Registry::Naming_Context temp_context;
+ int result = event_handler->context ().bind_new_context (temp_context_name,
+ temp_context);
+
+ if (result == -1)
+ ACE_ERROR ((LM_ERROR, "Error in creating %s: %p\n", temp_context_name, "bind_new_context"));
+ else
+ {
+ ACE_DEBUG ((LM_DEBUG, "(%t) Thread sleeping\n"));
+ ACE_OS::sleep (3);
+
+ ACE_DEBUG ((LM_DEBUG, "(%t) Thread removing registry entry\n"));
+ stop_test = 1;
+ event_handler->context ().unbind_context (temp_context_name);
+ }
+}
+
+int
+main (int, char *[])
+{
+ ACE_Reactor reactor;
+ Event_Handler handler (reactor);
+
+ int result = ACE_OS::thr_create ((ACE_THR_FUNC) worker, &handler, 0, 0);
+ ACE_ASSERT (result == 0);
+
+ for (result = 0; result != -1; result = reactor.handle_events ())
+ continue;
+
+ return 0;
+}
diff --git a/examples/Reactor/WFMO_Reactor/test_removals.cpp b/examples/Reactor/WFMO_Reactor/test_removals.cpp
new file mode 100644
index 00000000000..1c4b4acf687
--- /dev/null
+++ b/examples/Reactor/WFMO_Reactor/test_removals.cpp
@@ -0,0 +1,103 @@
+// $Id$
+//
+// ============================================================================
+//
+// = LIBRARY
+// examples
+//
+// = FILENAME
+// test_removals.cpp
+//
+// = DESCRIPTION
+//
+// Tests the Reactor's ability to handle simultaneous events. If
+// you pass anything on the command-line, then each handler
+// requests to be removed from the Reactor after each event.
+//
+// = AUTHOR
+// Tim Harrison
+// Irfan Pyarali
+//
+// ============================================================================
+
+#include "ace/Reactor.h"
+#include "ace/Service_Config.h"
+#include "ace/Synch.h"
+
+ACE_RCSID(WFMO_Reactor, test_removals, "$Id$")
+
+class Event_Handler : public ACE_Event_Handler
+// = TITLE
+// Generic Event Handler.
+//
+// = DESCRIPTION
+//
+// Creates event. Registers with Reactor. Signals event. If
+// created with -close_down- it returns -1 from handle signal.
+{
+public:
+ Event_Handler (int event_number,
+ int close_down)
+ : event_number_ (event_number),
+ close_down_ (close_down)
+ {
+ if (ACE_Reactor::instance ()->register_handler (this,
+ this->event_.handle ()) == -1)
+ ACE_ERROR ((LM_ERROR, "%p\tevent handler %d cannot be added to Reactor\n", "", event_number_));
+ this->event_.signal ();
+ }
+
+ virtual int handle_signal (int index, siginfo_t *, ucontext_t *)
+ {
+ if (this->close_down_)
+ return -1;
+ else
+ return 0;
+ }
+
+ virtual int handle_close (ACE_HANDLE, ACE_Reactor_Mask)
+ {
+ ACE_DEBUG ((LM_DEBUG, "event handler %d closed.\n", event_number_));
+ delete this;
+ return 0;
+ }
+
+ virtual ACE_HANDLE get_handle (void) const
+ {
+ return event_.handle ();
+ }
+
+private:
+ int event_number_;
+ // Our event number.
+
+ int close_down_;
+ // Shall we close down or not.
+
+ ACE_Event event_;
+ // Signaled to shut down the handler.
+};
+
+int
+main (int argc, char *argv[])
+{
+ int close_down = argc > 1 ? 1 : 0;
+
+ for (size_t i = 1; i <= ACE_Reactor::instance ()->size (); i++)
+ new Event_Handler (i, close_down);
+
+ int result = 0;
+ ACE_Time_Value time (1);
+ while (1)
+ {
+ result = ACE_Reactor::instance ()->handle_events (time);
+ if (result == 0 && errno == ETIME)
+ {
+ ACE_DEBUG ((LM_DEBUG, "No more work left: timing out\n"));
+ break;
+ }
+ if (result == -1)
+ ACE_ERROR_RETURN ((LM_ERROR, "%p.\n", "main"), -1);
+ }
+ return 0;
+}
diff --git a/examples/Reactor/WFMO_Reactor/test_suspended_removals.cpp b/examples/Reactor/WFMO_Reactor/test_suspended_removals.cpp
new file mode 100644
index 00000000000..4dc7cc33bb7
--- /dev/null
+++ b/examples/Reactor/WFMO_Reactor/test_suspended_removals.cpp
@@ -0,0 +1,163 @@
+// $Id$
+//
+// ============================================================================
+//
+// = LIBRARY
+// examples
+//
+// = FILENAME
+// test_suspended_removals.cpp
+//
+// = DESCRIPTION
+//
+// Tests the Reactor's ability to handle removal of suspended
+// handles.
+//
+// = AUTHOR
+// Irfan Pyarali
+//
+// ============================================================================
+
+#include "ace/Reactor.h"
+#include "ace/WFMO_Reactor.h"
+#include "ace/Synch.h"
+
+ACE_RCSID(WFMO_Reactor, test_suspended_removals, "$Id$")
+
+class Event_Handler : public ACE_Event_Handler
+{
+public:
+
+ ACE_HANDLE get_handle (void) const
+ {
+ return this->event_.handle ();
+ }
+
+ ACE_Event event_;
+};
+
+class ACE_WFMO_Reactor_Test
+{
+public:
+ static void check_for_valid_state (ACE_WFMO_Reactor &wfmo_reactor,
+ size_t handles_to_be_added,
+ size_t handles_to_be_suspended,
+ size_t handles_to_be_resumed,
+ size_t handles_to_be_deleted)
+ {
+ ACE_ASSERT (wfmo_reactor.handler_rep_.handles_to_be_added_ == handles_to_be_added);
+ ACE_ASSERT (wfmo_reactor.handler_rep_.handles_to_be_suspended_ == handles_to_be_suspended);
+ ACE_ASSERT (wfmo_reactor.handler_rep_.handles_to_be_resumed_ == handles_to_be_resumed);
+ ACE_ASSERT (wfmo_reactor.handler_rep_.handles_to_be_deleted_ == handles_to_be_deleted);
+ }
+};
+
+int
+main (int argc, char *argv[])
+{
+ Event_Handler handler;
+ ACE_WFMO_Reactor reactor;
+ ACE_Reactor base_reactor (&reactor);
+ ACE_Time_Value time (1);
+
+ int result =
+ reactor.register_handler (&handler);
+ ACE_ASSERT (result == 0);
+
+ ACE_WFMO_Reactor_Test::check_for_valid_state (reactor,
+ 1, 0, 0, 0);
+
+ result =
+ reactor.remove_handler (&handler,
+ ACE_Event_Handler::DONT_CALL |
+ ACE_Event_Handler::ALL_EVENTS_MASK);
+ ACE_ASSERT (result == 0);
+
+ ACE_WFMO_Reactor_Test::check_for_valid_state (reactor,
+ 1, 0, 0, 1);
+
+ result = base_reactor.run_reactor_event_loop (time);
+ ACE_ASSERT (result != -1);
+
+ ACE_WFMO_Reactor_Test::check_for_valid_state (reactor,
+ 0, 0, 0, 0);
+
+ result =
+ reactor.register_handler (&handler);
+ ACE_ASSERT (result == 0);
+
+ ACE_WFMO_Reactor_Test::check_for_valid_state (reactor,
+ 1, 0, 0, 0);
+
+ result = base_reactor.run_reactor_event_loop (time);
+ ACE_ASSERT (result != -1);
+
+ ACE_WFMO_Reactor_Test::check_for_valid_state (reactor,
+ 0, 0, 0, 0);
+
+ result =
+ reactor.suspend_handler (&handler);
+ ACE_ASSERT (result == 0);
+
+ ACE_WFMO_Reactor_Test::check_for_valid_state (reactor,
+ 0, 1, 0, 0);
+
+ result =
+ reactor.remove_handler (&handler,
+ ACE_Event_Handler::DONT_CALL |
+ ACE_Event_Handler::ALL_EVENTS_MASK);
+ ACE_ASSERT (result == 0);
+
+ ACE_WFMO_Reactor_Test::check_for_valid_state (reactor,
+ 0, 0, 0, 1);
+
+ result = base_reactor.run_reactor_event_loop (time);
+ ACE_ASSERT (result != -1);
+
+ ACE_WFMO_Reactor_Test::check_for_valid_state (reactor,
+ 0, 0, 0, 0);
+
+ result =
+ reactor.register_handler (&handler);
+ ACE_ASSERT (result == 0);
+
+ ACE_WFMO_Reactor_Test::check_for_valid_state (reactor,
+ 1, 0, 0, 0);
+
+ result =
+ reactor.suspend_handler (&handler);
+ ACE_ASSERT (result == 0);
+
+ ACE_WFMO_Reactor_Test::check_for_valid_state (reactor,
+ 1, 1, 0, 0);
+
+ result = base_reactor.run_reactor_event_loop (time);
+ ACE_ASSERT (result != -1);
+
+ ACE_WFMO_Reactor_Test::check_for_valid_state (reactor,
+ 0, 0, 0, 0);
+
+ result =
+ reactor.resume_handler (&handler);
+ ACE_ASSERT (result == 0);
+
+ ACE_WFMO_Reactor_Test::check_for_valid_state (reactor,
+ 0, 0, 1, 0);
+
+ result =
+ reactor.remove_handler (&handler,
+ ACE_Event_Handler::DONT_CALL |
+ ACE_Event_Handler::ALL_EVENTS_MASK);
+ ACE_ASSERT (result == 0);
+
+ ACE_WFMO_Reactor_Test::check_for_valid_state (reactor,
+ 0, 0, 0, 1);
+
+ result = base_reactor.run_reactor_event_loop (time);
+ ACE_ASSERT (result != -1);
+
+ ACE_WFMO_Reactor_Test::check_for_valid_state (reactor,
+ 0, 0, 0, 0);
+
+ return 0;
+}
diff --git a/examples/Reactor/WFMO_Reactor/test_talker.cpp b/examples/Reactor/WFMO_Reactor/test_talker.cpp
new file mode 100644
index 00000000000..84ccb8a78b6
--- /dev/null
+++ b/examples/Reactor/WFMO_Reactor/test_talker.cpp
@@ -0,0 +1,559 @@
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// examples
+//
+// = FILENAME
+// test_talker.cpp
+//
+// = DESCRIPTION
+//
+// This test application tests a wide range of events that can be
+// demultiplexed using various ACE utilities. Events used include
+// ^C events, reading from STDIN, vanilla Win32 events, thread
+// exits, Reactor notifications, proactive reads, and proactive
+// writes.
+//
+// The proactive I/O events are demultiplexed by the ACE_Proactor.
+// The thread exits, notications, and vanilla Win32 events are
+// demultiplexed by the ACE_Reactor. To enable a single thread
+// to run all these events, the Proactor is integrated with the
+// Reactor.
+//
+// The test application prototypes a simple talk program. Two
+// instances of the application connect. Input from either console
+// is displayed on the others console also. Because of the evils
+// of Win32 STDIN, a separate thread is used to read from STDIN.
+// To test the Proactor and Reactor, I/O between the remote
+// processes is performed proactively and interactions between the
+// STDIN thread and the main thread are performed reactively.
+//
+// The following description of the test application is in two
+// parts. The participants section explains the main components
+// involved in the application. The collaboration section
+// describes how the partipants interact in response to the
+// multiple event types which occur.
+//
+// The Reactor test application has the following participants:
+//
+// . Reactor -- The Reactor demultiplexes Win32 "waitable"
+// events using WaitForMultipleObjects.
+//
+// . Proactor -- The proactor initiates and demultiplexes
+// overlapped I/O operations. The Proactor registers with the
+// Reactor so that a single-thread can demultiplex all
+// application events.
+//
+// . STDIN_Handler -- STDIN_Handler is an Active Object which reads
+// from STDIN and forwards the input to the Peer_Handler. This
+// runs in a separate thread to make the test more interesting.
+// However, STDIN is "waitable", so in general it can be waited on
+// by the ACE Reactor, thanks MicroSlush!
+//
+// . Peer_Handler -- The Peer_Handler connects to another instance
+// of test_reactor. It Proactively reads and writes data to the
+// peer. When the STDIN_Handler gives it messages, it fowards them
+// to the remote peer. When it receives messages from the remote
+// peer, it prints the output to the console.
+//
+// The collaborations of the participants are as follows:
+//
+// . Initialization
+//
+// Peer_Handler -- connects to the remote peer. It then begins
+// proactively reading from the remote connection. Note that it
+// will be notified by the Proactor when a read completes. It
+// also registers a notification strategy with message queue so
+// that it is notified when the STDIN_Handler posts a message
+// onto the queue.
+//
+// STDIN_Handler -- STDIN_Handler registers a signal handler for
+// SIGINT. This just captures the exception so that the kernel
+// doesn't kill our process; We want to exit gracefully. It also
+// creates an Exit_Hook object which registers the
+// STDIN_Handler's thread handle with the Reactor. The
+// Exit_Hook will get called back when the STDIN_Handler thread
+// exits. After registering these, it blocks reading from STDIN.
+//
+// Proactor -- is registered with the Reactor.
+//
+// The main thread of control waits in the Reactor.
+//
+// . STDIN events -- When the STDIN_Handler thread reads from
+// STDIN, it puts the message on Peer_Handler's message queue. It
+// then returns to reading from STDIN.
+//
+// . Message enqueue -- The Reactor thread wakes up and calls
+// Peer_Handler::handle_output. The Peer_Handler then tries to
+// dequeue a message from its message queue. If it can, the
+// message is Proactively sent to the remote peer. Note that the
+// Peer_Handler will be notified with this operation is complete.
+// The Peer_Handler then falls back into the Reactor event loop.
+//
+// . Send complete event -- When a proactive send is complete, the
+// Proactor is notified by the Reactor. The Proactor, in turn,
+// notifies the Peer_Handler. The Peer_Handler then checks for
+// more messages from the message queue. If there are any, it
+// tries to send them. If there are not, it returns to the
+// Reactor event loop.
+//
+// . Read complete event -- When a proactive read is complete (the
+// Peer_Handler initiated a proactive read when it connected to the
+// remote peer), the Proactor is notified by the Reactor. The
+// Proactor, in turn notifies the Peer_Handler. If the read was
+// successful the Peer_Handler just displays the received msg to
+// the console and reinvokes a proactive read from the network
+// connection. If the read failed (i.e. the remote peer exited),
+// the Peer_Handler sets a flag to end the event loop and returns.
+// This will cause the application to exit.
+//
+// . ^C events -- When the user types ^C at the console, the
+// STDIN_Handler's signal handler will be called. It does nothing,
+// but as a result of the signal, the STDIN_Handler thread will
+// exit.
+//
+// . STDIN_Handler thread exits -- The Exit_Hook will get called
+// back from the Reactor. Exit_Hook::handle_signal sets a flag
+// to end the event loop and returns. This will cause the
+// application to exit.
+//
+//
+// To run example, start an instance of the test with an optional
+// local port argument (as the acceptor). Start the other instance
+// with -h <hostname> and -p <server port>. Type in either the
+// client or server windows and your message should show up in the
+// other window. Control C to exit.
+//
+// = AUTHOR
+// Tim Harrison
+// Irfan Pyarali
+//
+// ============================================================================
+
+#include "ace/Reactor.h"
+#include "ace/Reactor_Notification_Strategy.h"
+#include "ace/WIN32_Proactor.h"
+#include "ace/Proactor.h"
+#include "ace/SOCK_Connector.h"
+#include "ace/SOCK_Acceptor.h"
+#include "ace/Get_Opt.h"
+#include "ace/Service_Config.h"
+#include "ace/Synch.h"
+#include "ace/Task.h"
+
+ACE_RCSID(WFMO_Reactor, test_talker, "$Id$")
+
+typedef ACE_Task<ACE_MT_SYNCH> MT_TASK;
+
+class Peer_Handler : public MT_TASK, public ACE_Handler
+// = TITLE
+// Connect to a server. Receive messages from STDIN_Handler
+// and forward them to the server using proactive I/O.
+{
+public:
+ // = Initialization methods.
+ Peer_Handler (int argc, char *argv[]);
+ ~Peer_Handler (void);
+
+ int open (void * =0);
+ // This method creates the network connection to the remote peer.
+ // It does blocking connects and accepts depending on whether a
+ // hostname was specified from the command line.
+
+ virtual void handle_read_stream (const ACE_Asynch_Read_Stream::Result &result);
+ // This method will be called when an asynchronous read completes on a stream.
+ // The remote peer has sent us something. If it succeeded, print
+ // out the message and reinitiate a read. Otherwise, fail. In both
+ // cases, delete the message sent.
+
+ virtual void handle_write_stream (const ACE_Asynch_Write_Stream::Result &result);
+ // This method will be called when an asynchronous write completes on a strea_m.
+ // One of our asynchronous writes to the remote peer has completed.
+ // Make sure it succeeded and then delete the message.
+
+ virtual ACE_HANDLE handle (void) const;
+ // Get the I/O handle used by this <handler>. This method will be
+ // called by the ACE_Asynch_* classes when an ACE_INVALID_HANDLE is
+ // passed to <open>.
+
+ virtual int handle_close (ACE_HANDLE, ACE_Reactor_Mask);
+ // We've been removed from the Reactor.
+
+ virtual int handle_output (ACE_HANDLE fd);
+ // Called when output events should start. Note that this is
+ // automatically invoked by the
+ // <ACE_Reactor_Notificiation_Strategy>.
+
+private:
+ ACE_SOCK_Stream stream_;
+ // Socket that we have connected to the server.
+
+ ACE_Reactor_Notification_Strategy strategy_;
+ // The strategy object that the reactor uses to notify us when
+ // something is added to the queue.
+
+ // = Remote peer info.
+ char *host_;
+ // Name of remote host.
+
+ u_short port_;
+ // Port number for remote host.
+
+ ACE_Asynch_Read_Stream rd_stream_;
+ // Read stream
+
+ ACE_Asynch_Write_Stream wr_stream_;
+ // Write stream
+
+ ACE_Message_Block mb_;
+ // Message Block for reading from the network
+};
+
+class STDIN_Handler : public ACE_Task<ACE_NULL_SYNCH>
+// = TITLE
+// Active Object. Reads from STDIN and passes message blocks to
+// the peer handler.
+{
+public:
+ STDIN_Handler (MT_TASK &ph);
+ // Initialization.
+
+ virtual int open (void * = 0);
+ // Activate object.
+
+ virtual int close (u_long = 0);
+ // Shut down.
+
+ int svc (void);
+ // Thread runs here as an active object.
+
+private:
+ static void handler (int signum);
+ // Handle a ^C. (Do nothing, this just illustrates how we can catch
+ // signals along with the other things).
+
+ void register_thread_exit_hook (void);
+ // Helper function to register with the Reactor for thread exit.
+
+ virtual int handle_signal (int index, siginfo_t *, ucontext_t *);
+ // The STDIN thread has exited. This means the user hit ^C. We can
+ // end the event loop.
+
+ MT_TASK &ph_;
+ // Send all input to ph_.
+
+ ACE_HANDLE thr_handle_;
+ // Handle of our thread.
+};
+
+Peer_Handler::Peer_Handler (int argc, char *argv[])
+ : host_ (0),
+ port_ (ACE_DEFAULT_SERVER_PORT),
+ strategy_ (ACE_Reactor::instance (),
+ this,
+ ACE_Event_Handler::WRITE_MASK),
+ mb_ (BUFSIZ)
+{
+ // This code sets up the message to notify us when a new message is
+ // added to the queue. Actually, the queue notifies Reactor which
+ // then notifies us.
+ this->msg_queue ()->notification_strategy (&this->strategy_);
+
+ ACE_Get_Opt get_opt (argc, argv, "h:p:");
+ int c;
+
+ while ((c = get_opt ()) != EOF)
+ {
+ switch (c)
+ {
+ case 'h':
+ host_ = get_opt.opt_arg ();
+ break;
+ case 'p':
+ port_ = ACE_OS::atoi (get_opt.opt_arg ());
+ break;
+ }
+ }
+}
+
+Peer_Handler::~Peer_Handler (void)
+{
+}
+
+// This method creates the network connection to the remote peer. It
+// does blocking connects and accepts depending on whether a hostname
+// was specified from the command line.
+
+int
+Peer_Handler::open (void *)
+{
+ if (host_ != 0) // Connector
+ {
+ ACE_INET_Addr addr (port_, host_);
+ ACE_SOCK_Connector connector;
+
+ // Establish connection with server.
+ if (connector.connect (stream_, addr) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "connect"), -1);
+
+ ACE_DEBUG ((LM_DEBUG, "(%t) connected.\n"));
+ }
+ else // Acceptor
+ {
+ ACE_SOCK_Acceptor acceptor;
+ ACE_INET_Addr local_addr (port_);
+
+ if ((acceptor.open (local_addr) == -1) ||
+ (acceptor.accept (this->stream_) == -1))
+ ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "accept failed"), -1);
+
+ ACE_DEBUG ((LM_DEBUG, "(%t) accepted.\n"));
+ }
+
+ int result = this->rd_stream_.open (*this);
+ if (result != 0)
+ return result;
+
+ result = this->wr_stream_.open (*this);
+ if (result != 0)
+ return result;
+
+ result = this->rd_stream_.read (this->mb_,
+ this->mb_.size ());
+ return result;
+}
+
+// One of our asynchronous writes to the remote peer has completed.
+// Make sure it succeeded and then delete the message.
+
+void
+Peer_Handler::handle_write_stream (const ACE_Asynch_Write_Stream::Result &result)
+{
+ if (result.bytes_transferred () <= 0)
+ ACE_DEBUG ((LM_DEBUG, "(%t) %p bytes = %d\n", "Message failed",
+ result.bytes_transferred ()));
+
+ // This was allocated by the STDIN_Handler, queued, dequeued, passed
+ // to the proactor, and now passed back to us.
+ result.message_block ().release ();
+}
+
+// The remote peer has sent us something. If it succeeded, print
+// out the message and reinitiate a read. Otherwise, fail. In both
+// cases, delete the message sent.
+
+
+void
+Peer_Handler::handle_read_stream (const ACE_Asynch_Read_Stream::Result &result)
+{
+ if (result.bytes_transferred () > 0 &&
+ this->mb_.length () > 0)
+ {
+ this->mb_.rd_ptr ()[result.bytes_transferred ()] = '\0';
+ // Print out the message received from the server.
+ ACE_DEBUG ((LM_DEBUG, "%s", this->mb_.rd_ptr ()));
+ }
+ else
+ {
+ // If a read failed, we will assume it's because the remote peer
+ // went away. We will end the event loop. Since we're in the
+ // main thread, we don't need to do a notify.
+ ACE_Reactor::end_event_loop();
+ return;
+ }
+
+ // Reset pointers
+ this->mb_.wr_ptr (this->mb_.wr_ptr () - result.bytes_transferred ());
+
+ // Start off another read
+ if (this->rd_stream_.read (this->mb_,
+ this->mb_.size ()) == -1)
+ ACE_ERROR ((LM_ERROR, "%p Read initiate.\n", "Peer_Handler"));
+}
+
+// This is so the Proactor can get our handle.
+ACE_HANDLE
+Peer_Handler::handle (void) const
+{
+ return this->stream_.get_handle ();
+}
+
+// We've been removed from the Reactor.
+int
+Peer_Handler::handle_close (ACE_HANDLE, ACE_Reactor_Mask)
+{
+ ACE_DEBUG ((LM_DEBUG, "(%t) Peer_Handler closing down\n"));
+ return 0;
+}
+
+// New stuff added to the message queue. Try to dequeue a message.
+int
+Peer_Handler::handle_output (ACE_HANDLE fd)
+{
+ ACE_Message_Block *mb;
+
+ ACE_Time_Value tv (ACE_Time_Value::zero);
+
+ // Forward the message to the remote peer receiver.
+ if (this->getq (mb, &tv) != -1)
+ {
+ if (this->wr_stream_.write (*mb,
+ mb->length ()) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR, "%p Write initiate.\n", "Peer_Handler"), -1);
+ }
+ return 0;
+}
+
+void
+STDIN_Handler::handler (int signum)
+{
+ ACE_DEBUG ((LM_DEBUG, "(%t) signal = %S\n", signum));
+}
+
+STDIN_Handler::STDIN_Handler (MT_TASK &ph)
+ : ph_ (ph)
+{
+ // Register for ^C from the console. We just need to catch the
+ // exception so that the kernel doesn't kill our process.
+ // Registering this signal handler just tells the kernel that we
+ // know what we're doing; to leave us alone.
+
+ ACE_OS::signal (SIGINT, (ACE_SignalHandler) STDIN_Handler::handler);
+};
+
+// Activate object.
+
+int
+STDIN_Handler::open (void *)
+{
+ if (this->activate (THR_NEW_LWP | THR_DETACHED) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "spawn"), -1);
+
+ return 0;
+}
+
+// Shut down.
+
+int
+STDIN_Handler::close (u_long)
+{
+ ACE_DEBUG ((LM_DEBUG, "(%t) thread is exiting.\n"));
+ return 0;
+}
+
+// Thread runs here.
+
+int
+STDIN_Handler::svc (void)
+{
+ this->register_thread_exit_hook ();
+
+ for (;;)
+ {
+ ACE_Message_Block *mb = new ACE_Message_Block (BUFSIZ);
+
+ // Read from stdin into mb.
+ int read_result = ACE_OS::read (ACE_STDIN,
+ mb->rd_ptr (),
+ mb->size ());
+
+ // If read succeeds, put mb to peer handler, else end the loop.
+ if (read_result > 0)
+ {
+ mb->wr_ptr (read_result);
+ // Note that this call will first enqueue mb onto the peer
+ // handler's message queue, which will then turn around and
+ // notify the Reactor via the Notification_Strategy. This
+ // will subsequently signal the Peer_Handler, which will
+ // react by calling back to its handle_output() method,
+ // which dequeues the message and sends it to the peer
+ // across the network.
+ this->ph_.putq (mb);
+ }
+ else
+ {
+ mb->release ();
+ break;
+ }
+ }
+
+ // handle_signal will get called on the main proactor thread since
+ // we just exited and the main thread is waiting on our thread exit.
+ return 0;
+}
+
+// Register an exit hook with the reactor.
+
+void
+STDIN_Handler::register_thread_exit_hook (void)
+{
+ // Get a real handle to our thread.
+ ACE_Thread_Manager::instance ()->thr_self (this->thr_handle_);
+
+ // Register ourselves to get called back when our thread exits.
+
+ if (ACE_Reactor::instance ()->
+ register_handler (this, this->thr_handle_) == -1)
+ ACE_ERROR ((LM_ERROR, "Exit_Hook Register failed.\n"));
+}
+
+// The STDIN thread has exited. This means the user hit ^C. We can
+// end the event loop and delete ourself.
+
+int
+STDIN_Handler::handle_signal (int, siginfo_t *si, ucontext_t *)
+{
+ ACE_ASSERT (this->thr_handle_ == si->si_handle_);
+ ACE_Reactor::end_event_loop ();
+ return 0;
+}
+
+int
+main (int argc, char *argv[])
+{
+ // Let the proactor know that it will be used with Reactor
+ // Create specific proactor
+ ACE_WIN32_Proactor win32_proactor (0, 1);
+ // Get the interface proactor
+ ACE_Proactor proactor (&win32_proactor);
+ // Put it as the instance.
+ ACE_Proactor::instance (&proactor);
+
+ // Open handler for remote peer communications this will run from
+ // the main thread.
+ Peer_Handler peer_handler (argc, argv);
+
+ if (peer_handler.open () == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "%p open failed, errno = %d.\n",
+ "peer_handler", errno), 0);
+
+ // Open active object for reading from stdin.
+ STDIN_Handler stdin_handler (peer_handler);
+
+ // Spawn thread.
+ if (stdin_handler.open () == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "%p open failed, errno = %d.\n",
+ "stdin_handler", errno), 0);
+
+ // Register proactor with Reactor so that we can demultiplex
+ // "waitable" events and I/O operations from a single thread.
+ if (ACE_Reactor::instance ()->register_handler
+ (ACE_Proactor::instance ()->implementation ()) != 0)
+ ACE_ERROR_RETURN ((LM_ERROR, "%p failed to register Proactor.\n",
+ argv[0]), -1);
+
+ // Run main event demultiplexor.
+ ACE_Reactor::run_event_loop ();
+
+ // Remove proactor with Reactor.
+ if (ACE_Reactor::instance ()->remove_handler
+ (ACE_Proactor::instance (), ACE_Event_Handler::DONT_CALL) != 0)
+ ACE_ERROR_RETURN ((LM_ERROR, "%p failed to register Proactor.\n",
+ argv[0]), -1);
+
+ return 0;
+}
diff --git a/examples/Reactor/WFMO_Reactor/test_timeouts.cpp b/examples/Reactor/WFMO_Reactor/test_timeouts.cpp
new file mode 100644
index 00000000000..8fa41f46a66
--- /dev/null
+++ b/examples/Reactor/WFMO_Reactor/test_timeouts.cpp
@@ -0,0 +1,80 @@
+// $Id$
+//
+// ============================================================================
+//
+// = LIBRARY
+// examples
+//
+// = FILENAME
+// test_timeouts.cpp
+//
+// = DESCRIPTION
+//
+// This example application shows how to write Reactor event
+// loops that handle events for some fixed amount of time.
+//
+// Run this example (without arguments) to see the timers
+// expire. The order should be:
+//
+// foo, bar, foo, bar, foo, foo, bar, foo, bar, foo
+//
+// = AUTHOR
+// Tim Harrison
+// Irfan Pyarali
+//
+// ============================================================================
+
+#include "ace/Reactor.h"
+#include "ace/Service_Config.h"
+#include "ace/OS.h"
+
+ACE_RCSID(WFMO_Reactor, test_timeouts, "$Id$")
+
+class Timeout_Handler : public ACE_Event_Handler
+// = TITLE
+// Generic timeout handler.
+{
+public:
+ Timeout_Handler (void)
+ : count_ (0) {}
+
+ virtual int handle_timeout (const ACE_Time_Value &tv,
+ const void *arg)
+ // Print out when timeouts occur.
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "%d timeout occurred for %s.\n",
+ ++count_,
+ (char *) arg));
+ return 0;
+ }
+
+private:
+ int count_;
+};
+
+int
+main (int, char *[])
+{
+ Timeout_Handler handler;
+
+ // Register a 3 second timer.
+ ACE_Time_Value bar_tv (3);
+ ACE_Reactor::instance ()->schedule_timer (&handler,
+ (void *) "Bar",
+ bar_tv,
+ bar_tv);
+
+ // Register a 2 second timer.
+ ACE_Time_Value foo_tv (2);
+ ACE_Reactor::instance ()->schedule_timer (&handler,
+ (void *) "Foo",
+ foo_tv,
+ foo_tv);
+ // Handle events for 12 seconds.
+ ACE_Time_Value run_time (12);
+ if (ACE_Reactor::run_event_loop(run_time) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR, "%p.\n", "main"), -1);
+
+ return 0;
+}
diff --git a/examples/Reactor/WFMO_Reactor/test_window_messages.cpp b/examples/Reactor/WFMO_Reactor/test_window_messages.cpp
new file mode 100644
index 00000000000..f46dea7ad19
--- /dev/null
+++ b/examples/Reactor/WFMO_Reactor/test_window_messages.cpp
@@ -0,0 +1,90 @@
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// examples
+//
+// = FILENAME
+// test_window_messages.cpp
+//
+// = DESCRIPTION
+//
+// Tests the Msg_WFMO_Reactor's ability to handle regular events
+// and window messages.
+//
+// = AUTHOR
+//
+// Irfan Pyarali <irfan@cs.wustl.edu>
+//
+// ============================================================================
+
+#include "ace/Msg_WFMO_Reactor.h"
+#include "ace/Reactor.h"
+#include "ace/Auto_Ptr.h"
+
+ACE_RCSID(WFMO_Reactor, test_window_messages, "$Id$")
+
+class Event_Handler : public ACE_Event_Handler
+{
+public:
+ int handle_signal (int signum, siginfo_t * = 0, ucontext_t * = 0);
+
+ ACE_Auto_Event handle_;
+ int iterations_;
+};
+
+int
+Event_Handler::handle_signal (int signum, siginfo_t *, ucontext_t *)
+{
+ --this->iterations_;
+
+ if (this->iterations_ == 0)
+ ACE_Reactor::end_event_loop ();
+
+ return 0;
+}
+
+static Event_Handler *global_event_handler;
+
+void WINAPI
+timer_callback (HWND hwnd,
+ UINT uMsg,
+ UINT idEvent,
+ DWORD dwTime)
+{
+ ACE_DEBUG ((LM_DEBUG, "(%t) timeout occured @ %d\n", dwTime));
+
+ global_event_handler->handle_.signal ();
+}
+
+int
+main (int argc, char** argv)
+{
+ // Manage memory automagically.
+ // Note that ordering here is important.
+ ACE_Reactor_Impl *impl = new ACE_Msg_WFMO_Reactor;
+ auto_ptr<ACE_Reactor> reactor (new ACE_Reactor (impl));
+ ACE_Reactor::instance (reactor.get ());
+ auto_ptr<ACE_Reactor_Impl> delete_impl (impl);
+
+ Event_Handler event_handler;
+ global_event_handler = &event_handler;
+
+ event_handler.iterations_ = 5;
+ int result = ACE_Reactor::instance ()->register_handler (&event_handler,
+ event_handler.handle_.handle ());
+ ACE_ASSERT (result == 0);
+
+ ACE_Time_Value timeout (1);
+ result = ::SetTimer (NULL, // handle of window for timer messages
+ NULL, // timer identifier
+ timeout.msec (), // time-out value
+ (TIMERPROC) &timer_callback // address of timer procedure
+ );
+ ACE_ASSERT (result != 0);
+
+ ACE_Reactor::run_event_loop ();
+
+ return 0;
+}
diff --git a/protocols/ace/RMCast/README b/protocols/ace/RMCast/README
deleted file mode 100644
index 2dd0c5d9cfc..00000000000
--- a/protocols/ace/RMCast/README
+++ /dev/null
@@ -1,57 +0,0 @@
-# $Id$
-
- This directory will contain a simple, small-scale reliable
-multicast framework for ACE. The framework is based on the ASX
-components of the ACE library: the protocol is implemented as a stack
-of interchangeable "modules", each one in charge of a very small task.
-For example, one module implements fragmentation and reassembly, other
-modules implement retransmission, send ACK and NAK messages, and
-maintain receiver membership.
-
- The modules are replaced to achieve different levels of
-reliability. For example, the retransmission module can be either the
-"Best_Effort", "Semi_Reliable" or "Reliable" implementation. In the
-first case no retransmissions are performed, but lost messages are
-detected and reported to the receiver. The "Semi_Reliable" case
-messages are held for a pre-specified amount of time, and
-re-transmited if requested, but it is possible to loose some messages
-if multiple re-transmissions fail. As in the "Best_Effort" case the
-lost messages are detected and flagged to the application. Finally
-in the "Reliable" mode the senders are flowed controlled until enough
-messages are successfully transmitted.
-
- In general the stack looks like this:
-
-
-SENDER:
-
-----------------------------------------------------------------
-Buffering : Save lost messages
-Retransmission : Retransmit
-----------------------------------------------------------------
-Fragmentation : Fragment messages in smaller chunks
-Reassembly : and ensure that the IOVMAX limit is not
- : reached
-----------------------------------------------------------------
-Tranport : Encapsulate the specific transport media
- : such as TCP/IP, ATM, or shared memory
- : Demuxes incoming data to the right chain
- : Change control messages and data messages
- : to the right dynamic types.
-----------------------------------------------------------------
-
-RECEIVER:
-
-----------------------------------------------------------------
-Lost detection : Detect lost messages and send control
- : messages back
-----------------------------------------------------------------
-Reassembly : Reassemble messages, fragment control
-Fragmentation : data
-----------------------------------------------------------------
-Transport : Group membership, ACT reception,
- : handle keep-alive messages...
-----------------------------------------------------------------
-
-
-@@ TODO: Piggybacking...
diff --git a/protocols/ace/RMCast/RMCast_Export.h b/protocols/ace/RMCast/RMCast_Export.h
deleted file mode 100644
index 51257c4d682..00000000000
--- a/protocols/ace/RMCast/RMCast_Export.h
+++ /dev/null
@@ -1,44 +0,0 @@
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by
-// generate_export_file.pl
-// ------------------------------
-#if !defined (ACE_RMCAST_EXPORT_H)
-#define ACE_RMCAST_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if defined (ACE_AS_STATIC_LIBS) && !defined (ACE_RMCAST_HAS_DLL)
-# define ACE_RMCAST_HAS_DLL 0
-#endif /* ACE_AS_STATIC_LIBS && ACE_RMCAST_HAS_DLL */
-
-#if !defined (ACE_RMCAST_HAS_DLL)
-#define ACE_RMCAST_HAS_DLL 1
-#endif /* ! ACE_RMCAST_HAS_DLL */
-
-#if defined (ACE_RMCAST_HAS_DLL)
-# if (ACE_RMCAST_HAS_DLL == 1)
-# if defined (ACE_RMCAST_BUILD_DLL)
-# define ACE_RMCast_Export ACE_Proper_Export_Flag
-# define ACE_RMCAST_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define ACE_RMCAST_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else
-# define ACE_RMCast_Export ACE_Proper_Import_Flag
-# define ACE_RMCAST_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define ACE_RMCAST_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* ACE_RMCAST_BUILD_DLL */
-# else
-# define ACE_RMCast_Export
-# define ACE_RMCAST_SINGLETON_DECLARATION(T)
-# define ACE_RMCAST_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* ! ACE_RMCAST_HAS_DLL == 1 */
-#else
-# define ACE_RMCast_Export
-# define ACE_RMCAST_SINGLETON_DECLARATION(T)
-# define ACE_RMCAST_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* ACE_RMCAST_HAS_DLL */
-
-#endif /* ACE_RMCAST_EXPORT_H */
-
-// End of auto generated file.
diff --git a/tests/run_tests.lst b/tests/run_tests.lst
deleted file mode 100644
index cc304f80bda..00000000000
--- a/tests/run_tests.lst
+++ /dev/null
@@ -1,90 +0,0 @@
-ARGV_Test
-Basic_Types_Test
-Bound_Ptr_Test
-chorus/Env_Value_Test
-Capabilities_Test
-Config_Test
-Atomic_Op_Test
-Auto_IncDec_Test
-Object_Manager_Test
-CDR_Array_Test
-CDR_File_Test
-CDR_Test
-Dirent_Test
-Semaphore_Test
-TSS_Test
-Log_Msg_Test
-Timeprobe_Test
-Time_Value_Test
-High_Res_Timer_Test
-SString_Test
-Collection_Test
-Unicos/libDLL_Test/DLL_Test
-OTHER/chorus/LynxOS/Unicos/Naming_Test
-Handle_Set_Test
-OrdMultiSet_Test
-chorus/Unicos/Mem_Map_Test
-MEM_Stream_Test
-Malloc_Test
-Unicos/SV_Shared_Memory_Test
-chorus/Unicos/MM_Shared_Memory_Test
-DISABLED/Signal_Test
-Sigset_Ops_Test
-Timer_Queue_Test
-DISABLED/MT_Reactor_Timer_Test
-SOCK_Connector_Test
-LynxOS/SOCK_Send_Recv_Test
-Task_Test
-Unicos/Thread_Manager_Test
-DISABLED/Process_Manager_Test
-LynxOS/Thread_Pool_Test
-Future_Test
-Future_Set_Test
-RB_Tree_Test
-Reactors_Test
-Reactor_Exceptions_Test
-Reactor_Notify_Test
-Reactor_Timer_Test
-chorus/Reactor_Performance_Test
-Notify_Performance_Test
-Reader_Writer_Test
-chorus/Priority_Reactor_Test
-chorus/SOCK_Test
-chorus/MT_SOCK_Test
-SPIPE_Test
-UPIPE_SAP_Test
-Barrier_Test
-Svc_Handler_Test
-Buffer_Stream_Test
-Priority_Buffer_Test
-Dynamic_Priority_Test
-Recursive_Mutex_Test
-Reverse_Lock_Test
-DISABLED/netsvcs_main/TOKEN/chorus/Unicos/Time_Service_Test
-DISABLED/TOKEN/chorus/Unicos/Tokens_Test
-Cache_Map_Manager_Test
-LynxOS/Cached_Conn_Test
-Cached_Accept_Conn_Test
-Map_Manager_Test
-Hash_Map_Manager_Test
-Lazy_Map_Manager_Test
-Hash_Map_Bucket_Iterator_Test
-Map_Test
-Message_Queue_Notifications_Test
-chorus/Message_Queue_Test
-chorus/Message_Queue_Test_Ex
-chorus/Simple_Message_Block_Test
-chorus/Message_Block_Test
-chorus/Pipe_Test
-chorus/Process_Mutex_Test
-chorus/Thread_Mutex_Test
-chorus/LynxOS/Process_Strategy_Test
-Service_Config_Test
-Unicos/Priority_Task_Test
-IOStream_Test
-Enum_Interfaces_Test
-chorus/Upgradable_RW_Test
-chorus/Conn_Test
-DISABLED/New_Fail_Test
-OS_Test
-Refcounted_Auto_Ptr_Test