From 313d763c57f0116ae8a4d516a339356e20578e19 Mon Sep 17 00:00:00 2001 From: nobody Date: Sat, 20 Jul 2002 14:32:29 +0000 Subject: This commit was manufactured by cvs2svn to create branch 'OS-h_refactor'. --- .../be_visitor_interface/direct_collocated_sh.cpp | 150 + .../be_visitor_interface/direct_collocated_ss.cpp | 205 + .../be/be_visitor_interface/interceptors_ch.cpp | 48 + .../thru_poa_collocated_sh.cpp | 116 + .../thru_poa_collocated_ss.cpp | 171 + .../be_visitor_operation/direct_collocated_sh.cpp | 124 + .../be_visitor_operation/direct_collocated_ss.cpp | 188 + .../be/be_visitor_operation/inv_arglist.cpp | 103 + .../thru_poa_collocated_sh.cpp | 124 + .../thru_poa_collocated_ss.cpp | 227 + .../be_visitor_union_branch/public_access_cs.cpp | 446 + TAO/TAO_IDL/be_include/be.h | 148 + .../be_visitor_interface/direct_collocated_sh.h | 42 + .../be_visitor_interface/direct_collocated_ss.h | 47 + .../be_visitor_interface/interceptors_ch.h | 43 + .../be_visitor_interface/thru_poa_collocated_sh.h | 42 + .../be_visitor_interface/thru_poa_collocated_ss.h | 47 + .../be_visitor_operation/direct_collocated_sh.h | 51 + .../be_visitor_operation/direct_collocated_ss.h | 57 + .../be_include/be_visitor_operation/inv_arglist.h | 55 + .../be_visitor_operation/thru_poa_collocated_sh.h | 52 + .../be_visitor_operation/thru_poa_collocated_ss.h | 57 + .../be_visitor_union_branch/public_access_cs.h | 80 + TAO/TAO_IDL/driver/drv_private.cpp | 83 + TAO/TAO_IDL/include/drv_private.h | 92 + TAO/TAO_IDL/include/idl.h | 97 + TAO/TAO_IDL/include/idl_extern.h | 79 + TAO/TAO_IDL/include/idl_fwd.h | 148 + TAO/TAO_IDL/include/util.h | 84 + TAO/orbsvcs/IFR_Service/AbstractInterfaceDef_i.cpp | 56 + TAO/orbsvcs/IFR_Service/AbstractInterfaceDef_i.h | 77 + TAO/orbsvcs/IFR_Service/AliasDef_i.cpp | 151 + TAO/orbsvcs/IFR_Service/AliasDef_i.h | 99 + TAO/orbsvcs/IFR_Service/ArrayDef_i.cpp | 283 + TAO/orbsvcs/IFR_Service/ArrayDef_i.h | 146 + TAO/orbsvcs/IFR_Service/AttributeDef_i.cpp | 572 + TAO/orbsvcs/IFR_Service/AttributeDef_i.h | 149 + TAO/orbsvcs/IFR_Service/ComponentDef_i.cpp | 383 + TAO/orbsvcs/IFR_Service/ComponentDef_i.h | 287 + TAO/orbsvcs/IFR_Service/ComponentRepository_i.cpp | 97 + TAO/orbsvcs/IFR_Service/ComponentRepository_i.h | 104 + TAO/orbsvcs/IFR_Service/ConstantDef_i.cpp | 290 + TAO/orbsvcs/IFR_Service/ConstantDef_i.h | 130 + TAO/orbsvcs/IFR_Service/ConsumesDef_i.cpp | 62 + TAO/orbsvcs/IFR_Service/ConsumesDef_i.h | 89 + TAO/orbsvcs/IFR_Service/Contained_i.cpp | 1182 + TAO/orbsvcs/IFR_Service/Contained_i.h | 234 + TAO/orbsvcs/IFR_Service/Container_i.cpp | 2760 +++ TAO/orbsvcs/IFR_Service/Container_i.h | 458 + TAO/orbsvcs/IFR_Service/EmitsDef_i.cpp | 60 + TAO/orbsvcs/IFR_Service/EmitsDef_i.h | 89 + TAO/orbsvcs/IFR_Service/EnumDef_i.cpp | 148 + TAO/orbsvcs/IFR_Service/EnumDef_i.h | 99 + TAO/orbsvcs/IFR_Service/EventDef_i.cpp | 89 + TAO/orbsvcs/IFR_Service/EventDef_i.h | 105 + TAO/orbsvcs/IFR_Service/ExceptionDef_i.cpp | 335 + TAO/orbsvcs/IFR_Service/ExceptionDef_i.h | 122 + TAO/orbsvcs/IFR_Service/FactoryDef_i.cpp | 62 + TAO/orbsvcs/IFR_Service/FactoryDef_i.h | 89 + TAO/orbsvcs/IFR_Service/FinderDef_i.cpp | 60 + TAO/orbsvcs/IFR_Service/FinderDef_i.h | 89 + TAO/orbsvcs/IFR_Service/FixedDef_i.cpp | 131 + TAO/orbsvcs/IFR_Service/FixedDef_i.h | 131 + TAO/orbsvcs/IFR_Service/HomeDef_i.cpp | 277 + TAO/orbsvcs/IFR_Service/HomeDef_i.h | 221 + TAO/orbsvcs/IFR_Service/IDLType_i.cpp | 17 + TAO/orbsvcs/IFR_Service/IDLType_i.h | 74 + TAO/orbsvcs/IFR_Service/IFR_BaseS.cpp | 10497 ++++++++ TAO/orbsvcs/IFR_Service/IFR_BaseS.h | 1697 ++ TAO/orbsvcs/IFR_Service/IFR_BaseS.i | 321 + TAO/orbsvcs/IFR_Service/IFR_BaseS_T.cpp | 32 + TAO/orbsvcs/IFR_Service/IFR_BaseS_T.h | 708 + TAO/orbsvcs/IFR_Service/IFR_BaseS_T.i | 1232 + TAO/orbsvcs/IFR_Service/IFR_BasicS.cpp | 24083 +++++++++++++++++++ TAO/orbsvcs/IFR_Service/IFR_BasicS.h | 6490 +++++ TAO/orbsvcs/IFR_Service/IFR_BasicS.i | 5151 ++++ TAO/orbsvcs/IFR_Service/IFR_BasicS_T.cpp | 32 + TAO/orbsvcs/IFR_Service/IFR_BasicS_T.h | 4400 ++++ TAO/orbsvcs/IFR_Service/IFR_BasicS_T.i | 8163 +++++++ TAO/orbsvcs/IFR_Service/IFR_ComponentsS.cpp | 13818 +++++++++++ TAO/orbsvcs/IFR_Service/IFR_ComponentsS.h | 4190 ++++ TAO/orbsvcs/IFR_Service/IFR_ComponentsS.i | 3711 +++ TAO/orbsvcs/IFR_Service/IFR_ComponentsS_T.cpp | 32 + TAO/orbsvcs/IFR_Service/IFR_ComponentsS_T.h | 2884 +++ TAO/orbsvcs/IFR_Service/IFR_ComponentsS_T.i | 5308 ++++ TAO/orbsvcs/IFR_Service/IFR_ExtendedS.cpp | 9173 +++++++ TAO/orbsvcs/IFR_Service/IFR_ExtendedS.h | 1748 ++ TAO/orbsvcs/IFR_Service/IFR_ExtendedS.i | 936 + TAO/orbsvcs/IFR_Service/IFR_ExtendedS_T.cpp | 32 + TAO/orbsvcs/IFR_Service/IFR_ExtendedS_T.h | 983 + TAO/orbsvcs/IFR_Service/IFR_ExtendedS_T.i | 1749 ++ TAO/orbsvcs/IFR_Service/IFR_macro.h | 46 + TAO/orbsvcs/IFR_Service/IRObject_i.cpp | 28 + TAO/orbsvcs/IFR_Service/IRObject_i.h | 88 + TAO/orbsvcs/IFR_Service/InterfaceDef_i.cpp | 1396 ++ TAO/orbsvcs/IFR_Service/InterfaceDef_i.h | 246 + TAO/orbsvcs/IFR_Service/LocalInterfaceDef_i.cpp | 55 + TAO/orbsvcs/IFR_Service/LocalInterfaceDef_i.h | 77 + TAO/orbsvcs/IFR_Service/ModuleDef_i.cpp | 97 + TAO/orbsvcs/IFR_Service/ModuleDef_i.h | 90 + TAO/orbsvcs/IFR_Service/NativeDef_i.cpp | 56 + TAO/orbsvcs/IFR_Service/NativeDef_i.h | 77 + TAO/orbsvcs/IFR_Service/OperationDef_i.cpp | 785 + TAO/orbsvcs/IFR_Service/OperationDef_i.h | 206 + TAO/orbsvcs/IFR_Service/Options.cpp | 125 + TAO/orbsvcs/IFR_Service/Options.h | 81 + TAO/orbsvcs/IFR_Service/PrimaryKeyDef_i.cpp | 98 + TAO/orbsvcs/IFR_Service/PrimaryKeyDef_i.h | 111 + TAO/orbsvcs/IFR_Service/PrimitiveDef_i.cpp | 132 + TAO/orbsvcs/IFR_Service/PrimitiveDef_i.h | 98 + TAO/orbsvcs/IFR_Service/ProvidesDef_i.cpp | 78 + TAO/orbsvcs/IFR_Service/ProvidesDef_i.h | 97 + TAO/orbsvcs/IFR_Service/PublishesDef_i.cpp | 62 + TAO/orbsvcs/IFR_Service/PublishesDef_i.h | 89 + TAO/orbsvcs/IFR_Service/Repository_i.cpp | 860 + TAO/orbsvcs/IFR_Service/Repository_i.h | 289 + TAO/orbsvcs/IFR_Service/SequenceDef_i.cpp | 286 + TAO/orbsvcs/IFR_Service/SequenceDef_i.h | 149 + TAO/orbsvcs/IFR_Service/Servant_Factory.cpp | 1492 ++ TAO/orbsvcs/IFR_Service/Servant_Factory.h | 78 + TAO/orbsvcs/IFR_Service/Servant_Locator.cpp | 66 + TAO/orbsvcs/IFR_Service/Servant_Locator.h | 73 + TAO/orbsvcs/IFR_Service/StringDef_i.cpp | 113 + TAO/orbsvcs/IFR_Service/StringDef_i.h | 110 + TAO/orbsvcs/IFR_Service/StructDef_i.cpp | 278 + TAO/orbsvcs/IFR_Service/StructDef_i.h | 111 + TAO/orbsvcs/IFR_Service/TypedefDef_i.cpp | 73 + TAO/orbsvcs/IFR_Service/TypedefDef_i.h | 73 + TAO/orbsvcs/IFR_Service/UnionDef_i.cpp | 470 + TAO/orbsvcs/IFR_Service/UnionDef_i.h | 153 + TAO/orbsvcs/IFR_Service/UsesDef_i.cpp | 93 + TAO/orbsvcs/IFR_Service/UsesDef_i.h | 107 + TAO/orbsvcs/IFR_Service/ValueBoxDef_i.cpp | 153 + TAO/orbsvcs/IFR_Service/ValueBoxDef_i.h | 99 + TAO/orbsvcs/IFR_Service/ValueDef_i.cpp | 493 + TAO/orbsvcs/IFR_Service/ValueDef_i.h | 345 + TAO/orbsvcs/IFR_Service/ValueMemberDef_i.cpp | 150 + TAO/orbsvcs/IFR_Service/ValueMemberDef_i.h | 141 + TAO/orbsvcs/IFR_Service/WstringDef_i.cpp | 113 + TAO/orbsvcs/IFR_Service/WstringDef_i.h | 110 + TAO/orbsvcs/IFR_Service/concrete_classes.h | 54 + TAO/orbsvcs/IFR_Service/tmplinst.cpp | 250 + TAO/orbsvcs/tests/Concurrency/NS_client.cpp | 214 + TAO/orbsvcs/tests/Concurrency/NS_client.h | 93 + TAO/performance-tests/AMI_Latency/Roundtrip.cpp | 26 - TAO/performance-tests/AMI_Latency/Roundtrip.h | 46 - .../AMI_Latency/Roundtrip_Handler.cpp | 75 - .../AMI_Latency/Roundtrip_Handler.h | 61 - TAO/performance-tests/AMI_Latency/Server_Task.cpp | 24 - TAO/performance-tests/AMI_Latency/client.cpp | 185 - TAO/performance-tests/AMI_Latency/server.cpp | 155 - TAO/performance-tests/DII_Latency/Roundtrip.cpp | 26 - TAO/performance-tests/DII_Latency/Roundtrip.h | 46 - TAO/performance-tests/DII_Latency/client.cpp | 178 - TAO/performance-tests/DII_Latency/server.cpp | 136 - TAO/performance-tests/DSI_Latency/Roundtrip.cpp | 97 - TAO/performance-tests/DSI_Latency/Roundtrip.h | 48 - TAO/performance-tests/DSI_Latency/client.cpp | 163 - TAO/performance-tests/DSI_Latency/server.cpp | 142 - .../Deferred_Latency/Roundtrip.cpp | 26 - TAO/performance-tests/Deferred_Latency/Roundtrip.h | 46 - TAO/performance-tests/Deferred_Latency/client.cpp | 203 - TAO/performance-tests/Deferred_Latency/server.cpp | 136 - .../Endpoint_Per_Priority/Makefile | 616 - .../Single_Threaded_Latency/Roundtrip.cpp | 26 - .../Single_Threaded_Latency/Roundtrip.h | 46 - .../Single_Threaded_Latency/client.cpp | 164 - .../Single_Threaded_Latency/server.cpp | 136 - .../Thread_Per_Connection_Latency/Client_Task.cpp | 65 - .../Thread_Per_Connection_Latency/Client_Task.h | 46 - .../Thread_Per_Connection_Latency/Roundtrip.cpp | 26 - .../Thread_Per_Connection_Latency/Roundtrip.h | 46 - .../Thread_Per_Connection_Latency/client.cpp | 149 - .../Thread_Per_Connection_Latency/server.cpp | 136 - .../Thread_Pool_Latency/Client_Task.cpp | 65 - .../Thread_Pool_Latency/Client_Task.h | 46 - .../Thread_Pool_Latency/Roundtrip.cpp | 26 - .../Thread_Pool_Latency/Roundtrip.h | 46 - .../Thread_Pool_Latency/Worker_Thread.cpp | 24 - .../Thread_Pool_Latency/client.cpp | 149 - .../Thread_Pool_Latency/server.cpp | 139 - TAO/tao/ORBInitializer_Registry.inl | 10 + TAO/tao/Pluggable.cpp | 219 + TAO/tao/Pluggable.h | 223 + TAO/tao/Pluggable.i | 29 + TAO/tests/RTCORBA/Linear_Priority/readers.cpp | 323 + ace/Main_Macros.h | 246 + ace/Object_Manager_Base.cpp | 643 + ace/Object_Manager_Base.h | 363 + ace/os_include/aio.h | 32 + ace/os_include/assert.h | 29 + ace/os_include/ctype.h | 28 + ace/os_include/dirent.h | 38 + ace/os_include/dlfcn.h | 81 + ace/os_include/errno.h | 93 + ace/os_include/fcntl.h | 106 + ace/os_include/limits.h | 60 + ace/os_include/netinet/in.h | 66 + ace/os_include/new.h | 32 + ace/os_include/poll.h | 29 + ace/os_include/psos.h | 567 + ace/os_include/pwd.h | 29 + ace/os_include/sched.h | 29 + ace/os_include/semaphore.h | 29 + ace/os_include/signal.h | 299 + ace/os_include/stddef.h | 29 + ace/os_include/stdio.h | 127 + ace/os_include/stdlib.h | 46 + ace/os_include/string.h | 57 + ace/os_include/stropts.h | 83 + ace/os_include/sys/ioctl.h | 29 + ace/os_include/sys/ipc.h | 53 + ace/os_include/sys/mman.h | 90 + ace/os_include/sys/msg.h | 51 + ace/os_include/sys/param.h | 44 + ace/os_include/sys/resource.h | 57 + ace/os_include/sys/select.h | 41 + ace/os_include/sys/sem.h | 70 + ace/os_include/sys/shm.h | 29 + ace/os_include/sys/socket.h | 307 + ace/os_include/sys/stat.h | 80 + ace/os_include/sys/times.h | 28 + ace/os_include/sys/types.h | 192 + ace/os_include/sys/uio.h | 47 + ace/os_include/sys/utsname.h | 49 + ace/os_include/sys/wait.h | 121 + ace/os_include/termios.h | 50 + ace/os_include/threads.h | 1204 + ace/os_include/time.h | 65 + ace/os_include/unistd.h | 106 + ace/os_include/utime.h | 29 + ace/os_include/vxworks.h | 117 + docs/ACE-inheritance.pdf.gz | Bin 0 -> 19666 bytes examples/Reactor/WFMO_Reactor/Abondoned.dsp | 58 + examples/Reactor/WFMO_Reactor/test_abandoned.cpp | 121 + examples/Reactor/WFMO_Reactor/test_apc.cpp | 105 + .../Reactor/WFMO_Reactor/test_console_input.cpp | 84 + .../WFMO_Reactor/test_directory_changes.cpp | 115 + examples/Reactor/WFMO_Reactor/test_exceptions.cpp | 97 + .../Reactor/WFMO_Reactor/test_handle_close.cpp | 306 + .../Reactor/WFMO_Reactor/test_multithreading.cpp | 245 + .../Reactor/WFMO_Reactor/test_network_events.cpp | 203 + .../WFMO_Reactor/test_prerun_state_changes.cpp | 64 + .../Reactor/WFMO_Reactor/test_registration.cpp | 155 + .../Reactor/WFMO_Reactor/test_registry_changes.cpp | 133 + examples/Reactor/WFMO_Reactor/test_removals.cpp | 103 + .../WFMO_Reactor/test_suspended_removals.cpp | 163 + examples/Reactor/WFMO_Reactor/test_talker.cpp | 559 + examples/Reactor/WFMO_Reactor/test_timeouts.cpp | 80 + .../Reactor/WFMO_Reactor/test_window_messages.cpp | 90 + protocols/ace/RMCast/README | 57 - protocols/ace/RMCast/RMCast_Export.h | 44 - tests/run_tests.lst | 90 - 253 files changed, 141175 insertions(+), 3961 deletions(-) create mode 100644 TAO/TAO_IDL/be/be_visitor_interface/direct_collocated_sh.cpp create mode 100644 TAO/TAO_IDL/be/be_visitor_interface/direct_collocated_ss.cpp create mode 100644 TAO/TAO_IDL/be/be_visitor_interface/interceptors_ch.cpp create mode 100644 TAO/TAO_IDL/be/be_visitor_interface/thru_poa_collocated_sh.cpp create mode 100644 TAO/TAO_IDL/be/be_visitor_interface/thru_poa_collocated_ss.cpp create mode 100644 TAO/TAO_IDL/be/be_visitor_operation/direct_collocated_sh.cpp create mode 100644 TAO/TAO_IDL/be/be_visitor_operation/direct_collocated_ss.cpp create mode 100644 TAO/TAO_IDL/be/be_visitor_operation/inv_arglist.cpp create mode 100644 TAO/TAO_IDL/be/be_visitor_operation/thru_poa_collocated_sh.cpp create mode 100644 TAO/TAO_IDL/be/be_visitor_operation/thru_poa_collocated_ss.cpp create mode 100644 TAO/TAO_IDL/be/be_visitor_union_branch/public_access_cs.cpp create mode 100644 TAO/TAO_IDL/be_include/be.h create mode 100644 TAO/TAO_IDL/be_include/be_visitor_interface/direct_collocated_sh.h create mode 100644 TAO/TAO_IDL/be_include/be_visitor_interface/direct_collocated_ss.h create mode 100644 TAO/TAO_IDL/be_include/be_visitor_interface/interceptors_ch.h create mode 100644 TAO/TAO_IDL/be_include/be_visitor_interface/thru_poa_collocated_sh.h create mode 100644 TAO/TAO_IDL/be_include/be_visitor_interface/thru_poa_collocated_ss.h create mode 100644 TAO/TAO_IDL/be_include/be_visitor_operation/direct_collocated_sh.h create mode 100644 TAO/TAO_IDL/be_include/be_visitor_operation/direct_collocated_ss.h create mode 100644 TAO/TAO_IDL/be_include/be_visitor_operation/inv_arglist.h create mode 100644 TAO/TAO_IDL/be_include/be_visitor_operation/thru_poa_collocated_sh.h create mode 100644 TAO/TAO_IDL/be_include/be_visitor_operation/thru_poa_collocated_ss.h create mode 100644 TAO/TAO_IDL/be_include/be_visitor_union_branch/public_access_cs.h create mode 100644 TAO/TAO_IDL/driver/drv_private.cpp create mode 100644 TAO/TAO_IDL/include/drv_private.h create mode 100644 TAO/TAO_IDL/include/idl.h create mode 100644 TAO/TAO_IDL/include/idl_extern.h create mode 100644 TAO/TAO_IDL/include/idl_fwd.h create mode 100644 TAO/TAO_IDL/include/util.h create mode 100644 TAO/orbsvcs/IFR_Service/AbstractInterfaceDef_i.cpp create mode 100644 TAO/orbsvcs/IFR_Service/AbstractInterfaceDef_i.h create mode 100644 TAO/orbsvcs/IFR_Service/AliasDef_i.cpp create mode 100644 TAO/orbsvcs/IFR_Service/AliasDef_i.h create mode 100644 TAO/orbsvcs/IFR_Service/ArrayDef_i.cpp create mode 100644 TAO/orbsvcs/IFR_Service/ArrayDef_i.h create mode 100644 TAO/orbsvcs/IFR_Service/AttributeDef_i.cpp create mode 100644 TAO/orbsvcs/IFR_Service/AttributeDef_i.h create mode 100644 TAO/orbsvcs/IFR_Service/ComponentDef_i.cpp create mode 100644 TAO/orbsvcs/IFR_Service/ComponentDef_i.h create mode 100644 TAO/orbsvcs/IFR_Service/ComponentRepository_i.cpp create mode 100644 TAO/orbsvcs/IFR_Service/ComponentRepository_i.h create mode 100644 TAO/orbsvcs/IFR_Service/ConstantDef_i.cpp create mode 100644 TAO/orbsvcs/IFR_Service/ConstantDef_i.h create mode 100644 TAO/orbsvcs/IFR_Service/ConsumesDef_i.cpp create mode 100644 TAO/orbsvcs/IFR_Service/ConsumesDef_i.h create mode 100644 TAO/orbsvcs/IFR_Service/Contained_i.cpp create mode 100644 TAO/orbsvcs/IFR_Service/Contained_i.h create mode 100644 TAO/orbsvcs/IFR_Service/Container_i.cpp create mode 100644 TAO/orbsvcs/IFR_Service/Container_i.h create mode 100644 TAO/orbsvcs/IFR_Service/EmitsDef_i.cpp create mode 100644 TAO/orbsvcs/IFR_Service/EmitsDef_i.h create mode 100644 TAO/orbsvcs/IFR_Service/EnumDef_i.cpp create mode 100644 TAO/orbsvcs/IFR_Service/EnumDef_i.h create mode 100644 TAO/orbsvcs/IFR_Service/EventDef_i.cpp create mode 100644 TAO/orbsvcs/IFR_Service/EventDef_i.h create mode 100644 TAO/orbsvcs/IFR_Service/ExceptionDef_i.cpp create mode 100644 TAO/orbsvcs/IFR_Service/ExceptionDef_i.h create mode 100644 TAO/orbsvcs/IFR_Service/FactoryDef_i.cpp create mode 100644 TAO/orbsvcs/IFR_Service/FactoryDef_i.h create mode 100644 TAO/orbsvcs/IFR_Service/FinderDef_i.cpp create mode 100644 TAO/orbsvcs/IFR_Service/FinderDef_i.h create mode 100644 TAO/orbsvcs/IFR_Service/FixedDef_i.cpp create mode 100644 TAO/orbsvcs/IFR_Service/FixedDef_i.h create mode 100644 TAO/orbsvcs/IFR_Service/HomeDef_i.cpp create mode 100644 TAO/orbsvcs/IFR_Service/HomeDef_i.h create mode 100644 TAO/orbsvcs/IFR_Service/IDLType_i.cpp create mode 100644 TAO/orbsvcs/IFR_Service/IDLType_i.h create mode 100644 TAO/orbsvcs/IFR_Service/IFR_BaseS.cpp create mode 100644 TAO/orbsvcs/IFR_Service/IFR_BaseS.h create mode 100644 TAO/orbsvcs/IFR_Service/IFR_BaseS.i create mode 100644 TAO/orbsvcs/IFR_Service/IFR_BaseS_T.cpp create mode 100644 TAO/orbsvcs/IFR_Service/IFR_BaseS_T.h create mode 100644 TAO/orbsvcs/IFR_Service/IFR_BaseS_T.i create mode 100644 TAO/orbsvcs/IFR_Service/IFR_BasicS.cpp create mode 100644 TAO/orbsvcs/IFR_Service/IFR_BasicS.h create mode 100644 TAO/orbsvcs/IFR_Service/IFR_BasicS.i create mode 100644 TAO/orbsvcs/IFR_Service/IFR_BasicS_T.cpp create mode 100644 TAO/orbsvcs/IFR_Service/IFR_BasicS_T.h create mode 100644 TAO/orbsvcs/IFR_Service/IFR_BasicS_T.i create mode 100644 TAO/orbsvcs/IFR_Service/IFR_ComponentsS.cpp create mode 100644 TAO/orbsvcs/IFR_Service/IFR_ComponentsS.h create mode 100644 TAO/orbsvcs/IFR_Service/IFR_ComponentsS.i create mode 100644 TAO/orbsvcs/IFR_Service/IFR_ComponentsS_T.cpp create mode 100644 TAO/orbsvcs/IFR_Service/IFR_ComponentsS_T.h create mode 100644 TAO/orbsvcs/IFR_Service/IFR_ComponentsS_T.i create mode 100644 TAO/orbsvcs/IFR_Service/IFR_ExtendedS.cpp create mode 100644 TAO/orbsvcs/IFR_Service/IFR_ExtendedS.h create mode 100644 TAO/orbsvcs/IFR_Service/IFR_ExtendedS.i create mode 100644 TAO/orbsvcs/IFR_Service/IFR_ExtendedS_T.cpp create mode 100644 TAO/orbsvcs/IFR_Service/IFR_ExtendedS_T.h create mode 100644 TAO/orbsvcs/IFR_Service/IFR_ExtendedS_T.i create mode 100644 TAO/orbsvcs/IFR_Service/IFR_macro.h create mode 100644 TAO/orbsvcs/IFR_Service/IRObject_i.cpp create mode 100644 TAO/orbsvcs/IFR_Service/IRObject_i.h create mode 100644 TAO/orbsvcs/IFR_Service/InterfaceDef_i.cpp create mode 100644 TAO/orbsvcs/IFR_Service/InterfaceDef_i.h create mode 100644 TAO/orbsvcs/IFR_Service/LocalInterfaceDef_i.cpp create mode 100644 TAO/orbsvcs/IFR_Service/LocalInterfaceDef_i.h create mode 100644 TAO/orbsvcs/IFR_Service/ModuleDef_i.cpp create mode 100644 TAO/orbsvcs/IFR_Service/ModuleDef_i.h create mode 100644 TAO/orbsvcs/IFR_Service/NativeDef_i.cpp create mode 100644 TAO/orbsvcs/IFR_Service/NativeDef_i.h create mode 100644 TAO/orbsvcs/IFR_Service/OperationDef_i.cpp create mode 100644 TAO/orbsvcs/IFR_Service/OperationDef_i.h create mode 100644 TAO/orbsvcs/IFR_Service/Options.cpp create mode 100644 TAO/orbsvcs/IFR_Service/Options.h create mode 100644 TAO/orbsvcs/IFR_Service/PrimaryKeyDef_i.cpp create mode 100644 TAO/orbsvcs/IFR_Service/PrimaryKeyDef_i.h create mode 100644 TAO/orbsvcs/IFR_Service/PrimitiveDef_i.cpp create mode 100644 TAO/orbsvcs/IFR_Service/PrimitiveDef_i.h create mode 100644 TAO/orbsvcs/IFR_Service/ProvidesDef_i.cpp create mode 100644 TAO/orbsvcs/IFR_Service/ProvidesDef_i.h create mode 100644 TAO/orbsvcs/IFR_Service/PublishesDef_i.cpp create mode 100644 TAO/orbsvcs/IFR_Service/PublishesDef_i.h create mode 100644 TAO/orbsvcs/IFR_Service/Repository_i.cpp create mode 100644 TAO/orbsvcs/IFR_Service/Repository_i.h create mode 100644 TAO/orbsvcs/IFR_Service/SequenceDef_i.cpp create mode 100644 TAO/orbsvcs/IFR_Service/SequenceDef_i.h create mode 100644 TAO/orbsvcs/IFR_Service/Servant_Factory.cpp create mode 100644 TAO/orbsvcs/IFR_Service/Servant_Factory.h create mode 100644 TAO/orbsvcs/IFR_Service/Servant_Locator.cpp create mode 100644 TAO/orbsvcs/IFR_Service/Servant_Locator.h create mode 100644 TAO/orbsvcs/IFR_Service/StringDef_i.cpp create mode 100644 TAO/orbsvcs/IFR_Service/StringDef_i.h create mode 100644 TAO/orbsvcs/IFR_Service/StructDef_i.cpp create mode 100644 TAO/orbsvcs/IFR_Service/StructDef_i.h create mode 100644 TAO/orbsvcs/IFR_Service/TypedefDef_i.cpp create mode 100644 TAO/orbsvcs/IFR_Service/TypedefDef_i.h create mode 100644 TAO/orbsvcs/IFR_Service/UnionDef_i.cpp create mode 100644 TAO/orbsvcs/IFR_Service/UnionDef_i.h create mode 100644 TAO/orbsvcs/IFR_Service/UsesDef_i.cpp create mode 100644 TAO/orbsvcs/IFR_Service/UsesDef_i.h create mode 100644 TAO/orbsvcs/IFR_Service/ValueBoxDef_i.cpp create mode 100644 TAO/orbsvcs/IFR_Service/ValueBoxDef_i.h create mode 100644 TAO/orbsvcs/IFR_Service/ValueDef_i.cpp create mode 100644 TAO/orbsvcs/IFR_Service/ValueDef_i.h create mode 100644 TAO/orbsvcs/IFR_Service/ValueMemberDef_i.cpp create mode 100644 TAO/orbsvcs/IFR_Service/ValueMemberDef_i.h create mode 100644 TAO/orbsvcs/IFR_Service/WstringDef_i.cpp create mode 100644 TAO/orbsvcs/IFR_Service/WstringDef_i.h create mode 100644 TAO/orbsvcs/IFR_Service/concrete_classes.h create mode 100644 TAO/orbsvcs/IFR_Service/tmplinst.cpp create mode 100644 TAO/orbsvcs/tests/Concurrency/NS_client.cpp create mode 100644 TAO/orbsvcs/tests/Concurrency/NS_client.h delete mode 100644 TAO/performance-tests/AMI_Latency/Roundtrip.cpp delete mode 100644 TAO/performance-tests/AMI_Latency/Roundtrip.h delete mode 100644 TAO/performance-tests/AMI_Latency/Roundtrip_Handler.cpp delete mode 100644 TAO/performance-tests/AMI_Latency/Roundtrip_Handler.h delete mode 100644 TAO/performance-tests/AMI_Latency/Server_Task.cpp delete mode 100644 TAO/performance-tests/AMI_Latency/client.cpp delete mode 100644 TAO/performance-tests/AMI_Latency/server.cpp delete mode 100644 TAO/performance-tests/DII_Latency/Roundtrip.cpp delete mode 100644 TAO/performance-tests/DII_Latency/Roundtrip.h delete mode 100644 TAO/performance-tests/DII_Latency/client.cpp delete mode 100644 TAO/performance-tests/DII_Latency/server.cpp delete mode 100644 TAO/performance-tests/DSI_Latency/Roundtrip.cpp delete mode 100644 TAO/performance-tests/DSI_Latency/Roundtrip.h delete mode 100644 TAO/performance-tests/DSI_Latency/client.cpp delete mode 100644 TAO/performance-tests/DSI_Latency/server.cpp delete mode 100644 TAO/performance-tests/Deferred_Latency/Roundtrip.cpp delete mode 100644 TAO/performance-tests/Deferred_Latency/Roundtrip.h delete mode 100644 TAO/performance-tests/Deferred_Latency/client.cpp delete mode 100644 TAO/performance-tests/Deferred_Latency/server.cpp delete mode 100644 TAO/performance-tests/RTCorba/Multiple_Endpoints/Endpoint_Per_Priority/Makefile delete mode 100644 TAO/performance-tests/Single_Threaded_Latency/Roundtrip.cpp delete mode 100644 TAO/performance-tests/Single_Threaded_Latency/Roundtrip.h delete mode 100644 TAO/performance-tests/Single_Threaded_Latency/client.cpp delete mode 100644 TAO/performance-tests/Single_Threaded_Latency/server.cpp delete mode 100644 TAO/performance-tests/Thread_Per_Connection_Latency/Client_Task.cpp delete mode 100644 TAO/performance-tests/Thread_Per_Connection_Latency/Client_Task.h delete mode 100644 TAO/performance-tests/Thread_Per_Connection_Latency/Roundtrip.cpp delete mode 100644 TAO/performance-tests/Thread_Per_Connection_Latency/Roundtrip.h delete mode 100644 TAO/performance-tests/Thread_Per_Connection_Latency/client.cpp delete mode 100644 TAO/performance-tests/Thread_Per_Connection_Latency/server.cpp delete mode 100644 TAO/performance-tests/Thread_Pool_Latency/Client_Task.cpp delete mode 100644 TAO/performance-tests/Thread_Pool_Latency/Client_Task.h delete mode 100644 TAO/performance-tests/Thread_Pool_Latency/Roundtrip.cpp delete mode 100644 TAO/performance-tests/Thread_Pool_Latency/Roundtrip.h delete mode 100644 TAO/performance-tests/Thread_Pool_Latency/Worker_Thread.cpp delete mode 100644 TAO/performance-tests/Thread_Pool_Latency/client.cpp delete mode 100644 TAO/performance-tests/Thread_Pool_Latency/server.cpp create mode 100644 TAO/tao/ORBInitializer_Registry.inl create mode 100644 TAO/tao/Pluggable.cpp create mode 100644 TAO/tao/Pluggable.h create mode 100644 TAO/tao/Pluggable.i create mode 100644 TAO/tests/RTCORBA/Linear_Priority/readers.cpp create mode 100644 ace/Main_Macros.h create mode 100644 ace/Object_Manager_Base.cpp create mode 100644 ace/Object_Manager_Base.h create mode 100644 ace/os_include/aio.h create mode 100644 ace/os_include/assert.h create mode 100644 ace/os_include/ctype.h create mode 100644 ace/os_include/dirent.h create mode 100644 ace/os_include/dlfcn.h create mode 100644 ace/os_include/errno.h create mode 100644 ace/os_include/fcntl.h create mode 100644 ace/os_include/limits.h create mode 100644 ace/os_include/netinet/in.h create mode 100644 ace/os_include/new.h create mode 100644 ace/os_include/poll.h create mode 100644 ace/os_include/psos.h create mode 100644 ace/os_include/pwd.h create mode 100644 ace/os_include/sched.h create mode 100644 ace/os_include/semaphore.h create mode 100644 ace/os_include/signal.h create mode 100644 ace/os_include/stddef.h create mode 100644 ace/os_include/stdio.h create mode 100644 ace/os_include/stdlib.h create mode 100644 ace/os_include/string.h create mode 100644 ace/os_include/stropts.h create mode 100644 ace/os_include/sys/ioctl.h create mode 100644 ace/os_include/sys/ipc.h create mode 100644 ace/os_include/sys/mman.h create mode 100644 ace/os_include/sys/msg.h create mode 100644 ace/os_include/sys/param.h create mode 100644 ace/os_include/sys/resource.h create mode 100644 ace/os_include/sys/select.h create mode 100644 ace/os_include/sys/sem.h create mode 100644 ace/os_include/sys/shm.h create mode 100644 ace/os_include/sys/socket.h create mode 100644 ace/os_include/sys/stat.h create mode 100644 ace/os_include/sys/times.h create mode 100644 ace/os_include/sys/types.h create mode 100644 ace/os_include/sys/uio.h create mode 100644 ace/os_include/sys/utsname.h create mode 100644 ace/os_include/sys/wait.h create mode 100644 ace/os_include/termios.h create mode 100644 ace/os_include/threads.h create mode 100644 ace/os_include/time.h create mode 100644 ace/os_include/unistd.h create mode 100644 ace/os_include/utime.h create mode 100644 ace/os_include/vxworks.h create mode 100644 docs/ACE-inheritance.pdf.gz create mode 100644 examples/Reactor/WFMO_Reactor/Abondoned.dsp create mode 100644 examples/Reactor/WFMO_Reactor/test_abandoned.cpp create mode 100644 examples/Reactor/WFMO_Reactor/test_apc.cpp create mode 100644 examples/Reactor/WFMO_Reactor/test_console_input.cpp create mode 100644 examples/Reactor/WFMO_Reactor/test_directory_changes.cpp create mode 100644 examples/Reactor/WFMO_Reactor/test_exceptions.cpp create mode 100644 examples/Reactor/WFMO_Reactor/test_handle_close.cpp create mode 100644 examples/Reactor/WFMO_Reactor/test_multithreading.cpp create mode 100644 examples/Reactor/WFMO_Reactor/test_network_events.cpp create mode 100644 examples/Reactor/WFMO_Reactor/test_prerun_state_changes.cpp create mode 100644 examples/Reactor/WFMO_Reactor/test_registration.cpp create mode 100644 examples/Reactor/WFMO_Reactor/test_registry_changes.cpp create mode 100644 examples/Reactor/WFMO_Reactor/test_removals.cpp create mode 100644 examples/Reactor/WFMO_Reactor/test_suspended_removals.cpp create mode 100644 examples/Reactor/WFMO_Reactor/test_talker.cpp create mode 100644 examples/Reactor/WFMO_Reactor/test_timeouts.cpp create mode 100644 examples/Reactor/WFMO_Reactor/test_window_messages.cpp delete mode 100644 protocols/ace/RMCast/README delete mode 100644 protocols/ace/RMCast/RMCast_Export.h delete mode 100644 tests/run_tests.lst 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 +// +// ============================================================================ + +#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 +// +// ============================================================================ + +#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 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 +// +// ============================================================================ + +#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 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 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 +// +// ============================================================================ + +#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 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 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 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 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 +// +// ============================================================================ + +#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 +// +// ============================================================================ + +#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 +// +// ============================================================================ + +#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 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 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 +// +// ============================================================================ + +#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 +// +// ============================================================================ + +#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 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 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 +// +// ============================================================================ + +#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 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 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 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 kind_queue; + ACE_Unbounded_Queue 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 kind_queue; + ACE_Unbounded_Queue 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 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 &kind_queue, + ACE_Unbounded_Queue &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 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 &kind_queue, + ACE_Unbounded_Queue &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 &kind_queue, + ACE_Unbounded_Queue &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 +// +// ============================================================================ + +#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 . + +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 &kind_queue, + ACE_Unbounded_Queue &path_queue, + const char *search_name, + CORBA::Boolean exclude_inherited + ); + + void lookup_op ( + ACE_Unbounded_Queue &kind_queue, + ACE_Unbounded_Queue &path_queue, + const char *search_name, + CORBA::Boolean exclude_inherited + ); + +private: + void lookup_name_recursive ( + ACE_Unbounded_Queue &kind_queue, + ACE_Unbounded_Queue &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 +// +// ============================================================================ + +#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 +// +// ============================================================================ + +#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 +// +// ============================================================================ + +#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 kind_queue; + ACE_Unbounded_Queue path_queue; + ACE_Unbounded_Queue 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 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 +// +// ============================================================================ + +#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 +// +// ============================================================================ + +#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 +// +// ============================================================================ + +#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 +// +// ============================================================================ + +#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 ¶ms, + 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 ¶ms, + 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 +// +// ============================================================================ + +#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 ¶ms, + 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 ¶ms, + 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 ¶ms, + 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 ¶ms, + 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 +// +// ============================================================================ + +#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::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::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::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::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::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 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 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 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 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 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 ACE_INLINE +POA_CORBA_IRObject_tie::POA_CORBA_IRObject_tie (T &t) + : ptr_ (&t), + poa_ (PortableServer::POA::_nil ()), + rel_ (0) +{} + +template ACE_INLINE +POA_CORBA_IRObject_tie::POA_CORBA_IRObject_tie (T &t, PortableServer::POA_ptr poa) + : ptr_ (&t), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (0) +{} + +template ACE_INLINE +POA_CORBA_IRObject_tie::POA_CORBA_IRObject_tie (T *tp, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_nil ()), + rel_ (release) +{} + +template ACE_INLINE +POA_CORBA_IRObject_tie::POA_CORBA_IRObject_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (release) +{} + +template ACE_INLINE +POA_CORBA_IRObject_tie::~POA_CORBA_IRObject_tie (void) +{ + if (this->rel_) delete this->ptr_; +} + +template ACE_INLINE T * +POA_CORBA_IRObject_tie::_tied_object (void) +{ + return this->ptr_; +} + +template ACE_INLINE void +POA_CORBA_IRObject_tie::_tied_object (T &obj) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = &obj; + this->rel_ = 0; +} + +template ACE_INLINE void +POA_CORBA_IRObject_tie::_tied_object (T *obj, CORBA::Boolean release) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = obj; + this->rel_ = release; +} + +template ACE_INLINE CORBA::Boolean +POA_CORBA_IRObject_tie::_is_owner (void) +{ + return this->rel_; +} + +template ACE_INLINE void +POA_CORBA_IRObject_tie::_is_owner (CORBA::Boolean b) +{ + this->rel_ = b; +} + +template ACE_INLINE PortableServer::POA_ptr +POA_CORBA_IRObject_tie::_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 ACE_INLINE +CORBA::DefinitionKind POA_CORBA_IRObject_tie::def_kind ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->def_kind ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_IRObject_tie::destroy ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->destroy ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +POA_CORBA_Contained_tie::POA_CORBA_Contained_tie (T &t) + : ptr_ (&t), + poa_ (PortableServer::POA::_nil ()), + rel_ (0) +{} + +template ACE_INLINE +POA_CORBA_Contained_tie::POA_CORBA_Contained_tie (T &t, PortableServer::POA_ptr poa) + : ptr_ (&t), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (0) +{} + +template ACE_INLINE +POA_CORBA_Contained_tie::POA_CORBA_Contained_tie (T *tp, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_nil ()), + rel_ (release) +{} + +template ACE_INLINE +POA_CORBA_Contained_tie::POA_CORBA_Contained_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (release) +{} + +template ACE_INLINE +POA_CORBA_Contained_tie::~POA_CORBA_Contained_tie (void) +{ + if (this->rel_) delete this->ptr_; +} + +template ACE_INLINE T * +POA_CORBA_Contained_tie::_tied_object (void) +{ + return this->ptr_; +} + +template ACE_INLINE void +POA_CORBA_Contained_tie::_tied_object (T &obj) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = &obj; + this->rel_ = 0; +} + +template ACE_INLINE void +POA_CORBA_Contained_tie::_tied_object (T *obj, CORBA::Boolean release) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = obj; + this->rel_ = release; +} + +template ACE_INLINE CORBA::Boolean +POA_CORBA_Contained_tie::_is_owner (void) +{ + return this->rel_; +} + +template ACE_INLINE void +POA_CORBA_Contained_tie::_is_owner (CORBA::Boolean b) +{ + this->rel_ = b; +} + +template ACE_INLINE PortableServer::POA_ptr +POA_CORBA_Contained_tie::_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 ACE_INLINE +char * POA_CORBA_Contained_tie::id ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->id ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_Contained_tie::id ( + const char * id + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->id ( +id + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_Contained_tie::name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_Contained_tie::name ( + const char * name + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->name ( +name + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_Contained_tie::version ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->version ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_Contained_tie::version ( + const char * version + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->version ( +version + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Container_ptr POA_CORBA_Contained_tie::defined_in ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->defined_in ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_Contained_tie::absolute_name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->absolute_name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Repository_ptr POA_CORBA_Contained_tie::containing_repository ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->containing_repository ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Contained::Description * POA_CORBA_Contained_tie::describe ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->describe ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_Contained_tie::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 ACE_INLINE +CORBA::DefinitionKind POA_CORBA_Contained_tie::def_kind ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->def_kind ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_Contained_tie::destroy ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->destroy ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +POA_CORBA_Container_tie::POA_CORBA_Container_tie (T &t) + : ptr_ (&t), + poa_ (PortableServer::POA::_nil ()), + rel_ (0) +{} + +template ACE_INLINE +POA_CORBA_Container_tie::POA_CORBA_Container_tie (T &t, PortableServer::POA_ptr poa) + : ptr_ (&t), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (0) +{} + +template ACE_INLINE +POA_CORBA_Container_tie::POA_CORBA_Container_tie (T *tp, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_nil ()), + rel_ (release) +{} + +template ACE_INLINE +POA_CORBA_Container_tie::POA_CORBA_Container_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (release) +{} + +template ACE_INLINE +POA_CORBA_Container_tie::~POA_CORBA_Container_tie (void) +{ + if (this->rel_) delete this->ptr_; +} + +template ACE_INLINE T * +POA_CORBA_Container_tie::_tied_object (void) +{ + return this->ptr_; +} + +template ACE_INLINE void +POA_CORBA_Container_tie::_tied_object (T &obj) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = &obj; + this->rel_ = 0; +} + +template ACE_INLINE void +POA_CORBA_Container_tie::_tied_object (T *obj, CORBA::Boolean release) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = obj; + this->rel_ = release; +} + +template ACE_INLINE CORBA::Boolean +POA_CORBA_Container_tie::_is_owner (void) +{ + return this->rel_; +} + +template ACE_INLINE void +POA_CORBA_Container_tie::_is_owner (CORBA::Boolean b) +{ + this->rel_ = b; +} + +template ACE_INLINE PortableServer::POA_ptr +POA_CORBA_Container_tie::_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 ACE_INLINE +CORBA_Contained_ptr POA_CORBA_Container_tie::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 ACE_INLINE +CORBA_ContainedSeq * POA_CORBA_Container_tie::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 ACE_INLINE +CORBA_ContainedSeq * POA_CORBA_Container_tie::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 ACE_INLINE +CORBA_Container::DescriptionSeq * POA_CORBA_Container_tie::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 ACE_INLINE +CORBA_ModuleDef_ptr POA_CORBA_Container_tie::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 ACE_INLINE +CORBA_ConstantDef_ptr POA_CORBA_Container_tie::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 ACE_INLINE +CORBA_StructDef_ptr POA_CORBA_Container_tie::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 ACE_INLINE +CORBA_UnionDef_ptr POA_CORBA_Container_tie::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 ACE_INLINE +CORBA_EnumDef_ptr POA_CORBA_Container_tie::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 ACE_INLINE +CORBA_AliasDef_ptr POA_CORBA_Container_tie::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 ACE_INLINE +CORBA_InterfaceDef_ptr POA_CORBA_Container_tie::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 ACE_INLINE +CORBA_ValueDef_ptr POA_CORBA_Container_tie::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 ACE_INLINE +CORBA_ValueBoxDef_ptr POA_CORBA_Container_tie::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 ACE_INLINE +CORBA_ExceptionDef_ptr POA_CORBA_Container_tie::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 ACE_INLINE +CORBA_NativeDef_ptr POA_CORBA_Container_tie::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 ACE_INLINE +CORBA_AbstractInterfaceDef_ptr POA_CORBA_Container_tie::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 ACE_INLINE +CORBA_LocalInterfaceDef_ptr POA_CORBA_Container_tie::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 ACE_INLINE +CORBA::DefinitionKind POA_CORBA_Container_tie::def_kind ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->def_kind ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_Container_tie::destroy ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->destroy ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +POA_CORBA_IDLType_tie::POA_CORBA_IDLType_tie (T &t) + : ptr_ (&t), + poa_ (PortableServer::POA::_nil ()), + rel_ (0) +{} + +template ACE_INLINE +POA_CORBA_IDLType_tie::POA_CORBA_IDLType_tie (T &t, PortableServer::POA_ptr poa) + : ptr_ (&t), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (0) +{} + +template ACE_INLINE +POA_CORBA_IDLType_tie::POA_CORBA_IDLType_tie (T *tp, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_nil ()), + rel_ (release) +{} + +template ACE_INLINE +POA_CORBA_IDLType_tie::POA_CORBA_IDLType_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (release) +{} + +template ACE_INLINE +POA_CORBA_IDLType_tie::~POA_CORBA_IDLType_tie (void) +{ + if (this->rel_) delete this->ptr_; +} + +template ACE_INLINE T * +POA_CORBA_IDLType_tie::_tied_object (void) +{ + return this->ptr_; +} + +template ACE_INLINE void +POA_CORBA_IDLType_tie::_tied_object (T &obj) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = &obj; + this->rel_ = 0; +} + +template ACE_INLINE void +POA_CORBA_IDLType_tie::_tied_object (T *obj, CORBA::Boolean release) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = obj; + this->rel_ = release; +} + +template ACE_INLINE CORBA::Boolean +POA_CORBA_IDLType_tie::_is_owner (void) +{ + return this->rel_; +} + +template ACE_INLINE void +POA_CORBA_IDLType_tie::_is_owner (CORBA::Boolean b) +{ + this->rel_ = b; +} + +template ACE_INLINE PortableServer::POA_ptr +POA_CORBA_IDLType_tie::_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 ACE_INLINE +CORBA::TypeCode_ptr POA_CORBA_IDLType_tie::type ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->type ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA::DefinitionKind POA_CORBA_IDLType_tie::def_kind ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->def_kind ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_IDLType_tie::destroy ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->destroy ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +POA_CORBA_TypedefDef_tie::POA_CORBA_TypedefDef_tie (T &t) + : ptr_ (&t), + poa_ (PortableServer::POA::_nil ()), + rel_ (0) +{} + +template ACE_INLINE +POA_CORBA_TypedefDef_tie::POA_CORBA_TypedefDef_tie (T &t, PortableServer::POA_ptr poa) + : ptr_ (&t), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (0) +{} + +template ACE_INLINE +POA_CORBA_TypedefDef_tie::POA_CORBA_TypedefDef_tie (T *tp, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_nil ()), + rel_ (release) +{} + +template ACE_INLINE +POA_CORBA_TypedefDef_tie::POA_CORBA_TypedefDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (release) +{} + +template ACE_INLINE +POA_CORBA_TypedefDef_tie::~POA_CORBA_TypedefDef_tie (void) +{ + if (this->rel_) delete this->ptr_; +} + +template ACE_INLINE T * +POA_CORBA_TypedefDef_tie::_tied_object (void) +{ + return this->ptr_; +} + +template ACE_INLINE void +POA_CORBA_TypedefDef_tie::_tied_object (T &obj) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = &obj; + this->rel_ = 0; +} + +template ACE_INLINE void +POA_CORBA_TypedefDef_tie::_tied_object (T *obj, CORBA::Boolean release) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = obj; + this->rel_ = release; +} + +template ACE_INLINE CORBA::Boolean +POA_CORBA_TypedefDef_tie::_is_owner (void) +{ + return this->rel_; +} + +template ACE_INLINE void +POA_CORBA_TypedefDef_tie::_is_owner (CORBA::Boolean b) +{ + this->rel_ = b; +} + +template ACE_INLINE PortableServer::POA_ptr +POA_CORBA_TypedefDef_tie::_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 ACE_INLINE +char * POA_CORBA_TypedefDef_tie::id ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->id ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_TypedefDef_tie::id ( + const char * id + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->id ( +id + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_TypedefDef_tie::name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_TypedefDef_tie::name ( + const char * name + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->name ( +name + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_TypedefDef_tie::version ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->version ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_TypedefDef_tie::version ( + const char * version + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->version ( +version + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Container_ptr POA_CORBA_TypedefDef_tie::defined_in ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->defined_in ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_TypedefDef_tie::absolute_name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->absolute_name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Repository_ptr POA_CORBA_TypedefDef_tie::containing_repository ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->containing_repository ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Contained::Description * POA_CORBA_TypedefDef_tie::describe ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->describe ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_TypedefDef_tie::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 ACE_INLINE +CORBA::TypeCode_ptr POA_CORBA_TypedefDef_tie::type ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->type ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA::DefinitionKind POA_CORBA_TypedefDef_tie::def_kind ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->def_kind ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_TypedefDef_tie::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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::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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 ACE_INLINE +POA_CORBA_Repository_tie::POA_CORBA_Repository_tie (T &t) + : ptr_ (&t), + poa_ (PortableServer::POA::_nil ()), + rel_ (0) +{} + +template ACE_INLINE +POA_CORBA_Repository_tie::POA_CORBA_Repository_tie (T &t, PortableServer::POA_ptr poa) + : ptr_ (&t), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (0) +{} + +template ACE_INLINE +POA_CORBA_Repository_tie::POA_CORBA_Repository_tie (T *tp, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_nil ()), + rel_ (release) +{} + +template ACE_INLINE +POA_CORBA_Repository_tie::POA_CORBA_Repository_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (release) +{} + +template ACE_INLINE +POA_CORBA_Repository_tie::~POA_CORBA_Repository_tie (void) +{ + if (this->rel_) delete this->ptr_; +} + +template ACE_INLINE T * +POA_CORBA_Repository_tie::_tied_object (void) +{ + return this->ptr_; +} + +template ACE_INLINE void +POA_CORBA_Repository_tie::_tied_object (T &obj) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = &obj; + this->rel_ = 0; +} + +template ACE_INLINE void +POA_CORBA_Repository_tie::_tied_object (T *obj, CORBA::Boolean release) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = obj; + this->rel_ = release; +} + +template ACE_INLINE CORBA::Boolean +POA_CORBA_Repository_tie::_is_owner (void) +{ + return this->rel_; +} + +template ACE_INLINE void +POA_CORBA_Repository_tie::_is_owner (CORBA::Boolean b) +{ + this->rel_ = b; +} + +template ACE_INLINE PortableServer::POA_ptr +POA_CORBA_Repository_tie::_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 ACE_INLINE +CORBA_Contained_ptr POA_CORBA_Repository_tie::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 ACE_INLINE +CORBA::TypeCode_ptr POA_CORBA_Repository_tie::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 ACE_INLINE +CORBA_PrimitiveDef_ptr POA_CORBA_Repository_tie::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 ACE_INLINE +CORBA_StringDef_ptr POA_CORBA_Repository_tie::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 ACE_INLINE +CORBA_WstringDef_ptr POA_CORBA_Repository_tie::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 ACE_INLINE +CORBA_SequenceDef_ptr POA_CORBA_Repository_tie::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 ACE_INLINE +CORBA_ArrayDef_ptr POA_CORBA_Repository_tie::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 ACE_INLINE +CORBA_FixedDef_ptr POA_CORBA_Repository_tie::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 ACE_INLINE +CORBA_Contained_ptr POA_CORBA_Repository_tie::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 ACE_INLINE +CORBA_ContainedSeq * POA_CORBA_Repository_tie::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 ACE_INLINE +CORBA_ContainedSeq * POA_CORBA_Repository_tie::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 ACE_INLINE +CORBA_Container::DescriptionSeq * POA_CORBA_Repository_tie::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 ACE_INLINE +CORBA_ModuleDef_ptr POA_CORBA_Repository_tie::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 ACE_INLINE +CORBA_ConstantDef_ptr POA_CORBA_Repository_tie::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 ACE_INLINE +CORBA_StructDef_ptr POA_CORBA_Repository_tie::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 ACE_INLINE +CORBA_UnionDef_ptr POA_CORBA_Repository_tie::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 ACE_INLINE +CORBA_EnumDef_ptr POA_CORBA_Repository_tie::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 ACE_INLINE +CORBA_AliasDef_ptr POA_CORBA_Repository_tie::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 ACE_INLINE +CORBA_InterfaceDef_ptr POA_CORBA_Repository_tie::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 ACE_INLINE +CORBA_ValueDef_ptr POA_CORBA_Repository_tie::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 ACE_INLINE +CORBA_ValueBoxDef_ptr POA_CORBA_Repository_tie::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 ACE_INLINE +CORBA_ExceptionDef_ptr POA_CORBA_Repository_tie::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 ACE_INLINE +CORBA_NativeDef_ptr POA_CORBA_Repository_tie::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 ACE_INLINE +CORBA_AbstractInterfaceDef_ptr POA_CORBA_Repository_tie::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 ACE_INLINE +CORBA_LocalInterfaceDef_ptr POA_CORBA_Repository_tie::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 ACE_INLINE +CORBA::DefinitionKind POA_CORBA_Repository_tie::def_kind ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->def_kind ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_Repository_tie::destroy ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->destroy ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +POA_CORBA_ModuleDef_tie::POA_CORBA_ModuleDef_tie (T &t) + : ptr_ (&t), + poa_ (PortableServer::POA::_nil ()), + rel_ (0) +{} + +template ACE_INLINE +POA_CORBA_ModuleDef_tie::POA_CORBA_ModuleDef_tie (T &t, PortableServer::POA_ptr poa) + : ptr_ (&t), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (0) +{} + +template ACE_INLINE +POA_CORBA_ModuleDef_tie::POA_CORBA_ModuleDef_tie (T *tp, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_nil ()), + rel_ (release) +{} + +template ACE_INLINE +POA_CORBA_ModuleDef_tie::POA_CORBA_ModuleDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (release) +{} + +template ACE_INLINE +POA_CORBA_ModuleDef_tie::~POA_CORBA_ModuleDef_tie (void) +{ + if (this->rel_) delete this->ptr_; +} + +template ACE_INLINE T * +POA_CORBA_ModuleDef_tie::_tied_object (void) +{ + return this->ptr_; +} + +template ACE_INLINE void +POA_CORBA_ModuleDef_tie::_tied_object (T &obj) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = &obj; + this->rel_ = 0; +} + +template ACE_INLINE void +POA_CORBA_ModuleDef_tie::_tied_object (T *obj, CORBA::Boolean release) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = obj; + this->rel_ = release; +} + +template ACE_INLINE CORBA::Boolean +POA_CORBA_ModuleDef_tie::_is_owner (void) +{ + return this->rel_; +} + +template ACE_INLINE void +POA_CORBA_ModuleDef_tie::_is_owner (CORBA::Boolean b) +{ + this->rel_ = b; +} + +template ACE_INLINE PortableServer::POA_ptr +POA_CORBA_ModuleDef_tie::_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 ACE_INLINE +CORBA_Contained_ptr POA_CORBA_ModuleDef_tie::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 ACE_INLINE +CORBA_ContainedSeq * POA_CORBA_ModuleDef_tie::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 ACE_INLINE +CORBA_ContainedSeq * POA_CORBA_ModuleDef_tie::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 ACE_INLINE +CORBA_Container::DescriptionSeq * POA_CORBA_ModuleDef_tie::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 ACE_INLINE +CORBA_ModuleDef_ptr POA_CORBA_ModuleDef_tie::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 ACE_INLINE +CORBA_ConstantDef_ptr POA_CORBA_ModuleDef_tie::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 ACE_INLINE +CORBA_StructDef_ptr POA_CORBA_ModuleDef_tie::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 ACE_INLINE +CORBA_UnionDef_ptr POA_CORBA_ModuleDef_tie::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 ACE_INLINE +CORBA_EnumDef_ptr POA_CORBA_ModuleDef_tie::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 ACE_INLINE +CORBA_AliasDef_ptr POA_CORBA_ModuleDef_tie::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 ACE_INLINE +CORBA_InterfaceDef_ptr POA_CORBA_ModuleDef_tie::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 ACE_INLINE +CORBA_ValueDef_ptr POA_CORBA_ModuleDef_tie::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 ACE_INLINE +CORBA_ValueBoxDef_ptr POA_CORBA_ModuleDef_tie::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 ACE_INLINE +CORBA_ExceptionDef_ptr POA_CORBA_ModuleDef_tie::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 ACE_INLINE +CORBA_NativeDef_ptr POA_CORBA_ModuleDef_tie::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 ACE_INLINE +CORBA_AbstractInterfaceDef_ptr POA_CORBA_ModuleDef_tie::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 ACE_INLINE +CORBA_LocalInterfaceDef_ptr POA_CORBA_ModuleDef_tie::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 ACE_INLINE +char * POA_CORBA_ModuleDef_tie::id ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->id ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_ModuleDef_tie::id ( + const char * id + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->id ( +id + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_ModuleDef_tie::name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_ModuleDef_tie::name ( + const char * name + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->name ( +name + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_ModuleDef_tie::version ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->version ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_ModuleDef_tie::version ( + const char * version + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->version ( +version + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Container_ptr POA_CORBA_ModuleDef_tie::defined_in ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->defined_in ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_ModuleDef_tie::absolute_name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->absolute_name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Repository_ptr POA_CORBA_ModuleDef_tie::containing_repository ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->containing_repository ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Contained::Description * POA_CORBA_ModuleDef_tie::describe ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->describe ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_ModuleDef_tie::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 ACE_INLINE +CORBA::DefinitionKind POA_CORBA_ModuleDef_tie::def_kind ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->def_kind ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_ModuleDef_tie::destroy ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->destroy ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +POA_CORBA_ConstantDef_tie::POA_CORBA_ConstantDef_tie (T &t) + : ptr_ (&t), + poa_ (PortableServer::POA::_nil ()), + rel_ (0) +{} + +template ACE_INLINE +POA_CORBA_ConstantDef_tie::POA_CORBA_ConstantDef_tie (T &t, PortableServer::POA_ptr poa) + : ptr_ (&t), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (0) +{} + +template ACE_INLINE +POA_CORBA_ConstantDef_tie::POA_CORBA_ConstantDef_tie (T *tp, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_nil ()), + rel_ (release) +{} + +template ACE_INLINE +POA_CORBA_ConstantDef_tie::POA_CORBA_ConstantDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (release) +{} + +template ACE_INLINE +POA_CORBA_ConstantDef_tie::~POA_CORBA_ConstantDef_tie (void) +{ + if (this->rel_) delete this->ptr_; +} + +template ACE_INLINE T * +POA_CORBA_ConstantDef_tie::_tied_object (void) +{ + return this->ptr_; +} + +template ACE_INLINE void +POA_CORBA_ConstantDef_tie::_tied_object (T &obj) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = &obj; + this->rel_ = 0; +} + +template ACE_INLINE void +POA_CORBA_ConstantDef_tie::_tied_object (T *obj, CORBA::Boolean release) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = obj; + this->rel_ = release; +} + +template ACE_INLINE CORBA::Boolean +POA_CORBA_ConstantDef_tie::_is_owner (void) +{ + return this->rel_; +} + +template ACE_INLINE void +POA_CORBA_ConstantDef_tie::_is_owner (CORBA::Boolean b) +{ + this->rel_ = b; +} + +template ACE_INLINE PortableServer::POA_ptr +POA_CORBA_ConstantDef_tie::_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 ACE_INLINE +CORBA::TypeCode_ptr POA_CORBA_ConstantDef_tie::type ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->type ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_IDLType_ptr POA_CORBA_ConstantDef_tie::type_def ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->type_def ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_ConstantDef_tie::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 ACE_INLINE +CORBA::Any * POA_CORBA_ConstantDef_tie::value ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->value ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_ConstantDef_tie::value ( + const CORBA::Any & value + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->value ( +value + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_ConstantDef_tie::id ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->id ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_ConstantDef_tie::id ( + const char * id + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->id ( +id + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_ConstantDef_tie::name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_ConstantDef_tie::name ( + const char * name + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->name ( +name + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_ConstantDef_tie::version ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->version ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_ConstantDef_tie::version ( + const char * version + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->version ( +version + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Container_ptr POA_CORBA_ConstantDef_tie::defined_in ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->defined_in ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_ConstantDef_tie::absolute_name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->absolute_name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Repository_ptr POA_CORBA_ConstantDef_tie::containing_repository ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->containing_repository ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Contained::Description * POA_CORBA_ConstantDef_tie::describe ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->describe ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_ConstantDef_tie::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 ACE_INLINE +CORBA::DefinitionKind POA_CORBA_ConstantDef_tie::def_kind ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->def_kind ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_ConstantDef_tie::destroy ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->destroy ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +POA_CORBA_StructDef_tie::POA_CORBA_StructDef_tie (T &t) + : ptr_ (&t), + poa_ (PortableServer::POA::_nil ()), + rel_ (0) +{} + +template ACE_INLINE +POA_CORBA_StructDef_tie::POA_CORBA_StructDef_tie (T &t, PortableServer::POA_ptr poa) + : ptr_ (&t), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (0) +{} + +template ACE_INLINE +POA_CORBA_StructDef_tie::POA_CORBA_StructDef_tie (T *tp, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_nil ()), + rel_ (release) +{} + +template ACE_INLINE +POA_CORBA_StructDef_tie::POA_CORBA_StructDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (release) +{} + +template ACE_INLINE +POA_CORBA_StructDef_tie::~POA_CORBA_StructDef_tie (void) +{ + if (this->rel_) delete this->ptr_; +} + +template ACE_INLINE T * +POA_CORBA_StructDef_tie::_tied_object (void) +{ + return this->ptr_; +} + +template ACE_INLINE void +POA_CORBA_StructDef_tie::_tied_object (T &obj) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = &obj; + this->rel_ = 0; +} + +template ACE_INLINE void +POA_CORBA_StructDef_tie::_tied_object (T *obj, CORBA::Boolean release) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = obj; + this->rel_ = release; +} + +template ACE_INLINE CORBA::Boolean +POA_CORBA_StructDef_tie::_is_owner (void) +{ + return this->rel_; +} + +template ACE_INLINE void +POA_CORBA_StructDef_tie::_is_owner (CORBA::Boolean b) +{ + this->rel_ = b; +} + +template ACE_INLINE PortableServer::POA_ptr +POA_CORBA_StructDef_tie::_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 ACE_INLINE +CORBA_StructMemberSeq * POA_CORBA_StructDef_tie::members ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->members ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_StructDef_tie::members ( + const CORBA_StructMemberSeq & members + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->members ( +members + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Contained_ptr POA_CORBA_StructDef_tie::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 ACE_INLINE +CORBA_ContainedSeq * POA_CORBA_StructDef_tie::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 ACE_INLINE +CORBA_ContainedSeq * POA_CORBA_StructDef_tie::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 ACE_INLINE +CORBA_Container::DescriptionSeq * POA_CORBA_StructDef_tie::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 ACE_INLINE +CORBA_ModuleDef_ptr POA_CORBA_StructDef_tie::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 ACE_INLINE +CORBA_ConstantDef_ptr POA_CORBA_StructDef_tie::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 ACE_INLINE +CORBA_StructDef_ptr POA_CORBA_StructDef_tie::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 ACE_INLINE +CORBA_UnionDef_ptr POA_CORBA_StructDef_tie::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 ACE_INLINE +CORBA_EnumDef_ptr POA_CORBA_StructDef_tie::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 ACE_INLINE +CORBA_AliasDef_ptr POA_CORBA_StructDef_tie::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 ACE_INLINE +CORBA_InterfaceDef_ptr POA_CORBA_StructDef_tie::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 ACE_INLINE +CORBA_ValueDef_ptr POA_CORBA_StructDef_tie::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 ACE_INLINE +CORBA_ValueBoxDef_ptr POA_CORBA_StructDef_tie::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 ACE_INLINE +CORBA_ExceptionDef_ptr POA_CORBA_StructDef_tie::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 ACE_INLINE +CORBA_NativeDef_ptr POA_CORBA_StructDef_tie::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 ACE_INLINE +CORBA_AbstractInterfaceDef_ptr POA_CORBA_StructDef_tie::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 ACE_INLINE +CORBA_LocalInterfaceDef_ptr POA_CORBA_StructDef_tie::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 ACE_INLINE +char * POA_CORBA_StructDef_tie::id ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->id ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_StructDef_tie::id ( + const char * id + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->id ( +id + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_StructDef_tie::name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_StructDef_tie::name ( + const char * name + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->name ( +name + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_StructDef_tie::version ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->version ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_StructDef_tie::version ( + const char * version + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->version ( +version + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Container_ptr POA_CORBA_StructDef_tie::defined_in ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->defined_in ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_StructDef_tie::absolute_name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->absolute_name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Repository_ptr POA_CORBA_StructDef_tie::containing_repository ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->containing_repository ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Contained::Description * POA_CORBA_StructDef_tie::describe ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->describe ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_StructDef_tie::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 ACE_INLINE +CORBA::TypeCode_ptr POA_CORBA_StructDef_tie::type ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->type ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA::DefinitionKind POA_CORBA_StructDef_tie::def_kind ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->def_kind ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_StructDef_tie::destroy ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->destroy ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +POA_CORBA_UnionDef_tie::POA_CORBA_UnionDef_tie (T &t) + : ptr_ (&t), + poa_ (PortableServer::POA::_nil ()), + rel_ (0) +{} + +template ACE_INLINE +POA_CORBA_UnionDef_tie::POA_CORBA_UnionDef_tie (T &t, PortableServer::POA_ptr poa) + : ptr_ (&t), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (0) +{} + +template ACE_INLINE +POA_CORBA_UnionDef_tie::POA_CORBA_UnionDef_tie (T *tp, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_nil ()), + rel_ (release) +{} + +template ACE_INLINE +POA_CORBA_UnionDef_tie::POA_CORBA_UnionDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (release) +{} + +template ACE_INLINE +POA_CORBA_UnionDef_tie::~POA_CORBA_UnionDef_tie (void) +{ + if (this->rel_) delete this->ptr_; +} + +template ACE_INLINE T * +POA_CORBA_UnionDef_tie::_tied_object (void) +{ + return this->ptr_; +} + +template ACE_INLINE void +POA_CORBA_UnionDef_tie::_tied_object (T &obj) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = &obj; + this->rel_ = 0; +} + +template ACE_INLINE void +POA_CORBA_UnionDef_tie::_tied_object (T *obj, CORBA::Boolean release) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = obj; + this->rel_ = release; +} + +template ACE_INLINE CORBA::Boolean +POA_CORBA_UnionDef_tie::_is_owner (void) +{ + return this->rel_; +} + +template ACE_INLINE void +POA_CORBA_UnionDef_tie::_is_owner (CORBA::Boolean b) +{ + this->rel_ = b; +} + +template ACE_INLINE PortableServer::POA_ptr +POA_CORBA_UnionDef_tie::_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 ACE_INLINE +CORBA::TypeCode_ptr POA_CORBA_UnionDef_tie::discriminator_type ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->discriminator_type ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_IDLType_ptr POA_CORBA_UnionDef_tie::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 ACE_INLINE +void POA_CORBA_UnionDef_tie::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 ACE_INLINE +CORBA_UnionMemberSeq * POA_CORBA_UnionDef_tie::members ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->members ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_UnionDef_tie::members ( + const CORBA_UnionMemberSeq & members + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->members ( +members + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Contained_ptr POA_CORBA_UnionDef_tie::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 ACE_INLINE +CORBA_ContainedSeq * POA_CORBA_UnionDef_tie::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 ACE_INLINE +CORBA_ContainedSeq * POA_CORBA_UnionDef_tie::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 ACE_INLINE +CORBA_Container::DescriptionSeq * POA_CORBA_UnionDef_tie::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 ACE_INLINE +CORBA_ModuleDef_ptr POA_CORBA_UnionDef_tie::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 ACE_INLINE +CORBA_ConstantDef_ptr POA_CORBA_UnionDef_tie::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 ACE_INLINE +CORBA_StructDef_ptr POA_CORBA_UnionDef_tie::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 ACE_INLINE +CORBA_UnionDef_ptr POA_CORBA_UnionDef_tie::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 ACE_INLINE +CORBA_EnumDef_ptr POA_CORBA_UnionDef_tie::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 ACE_INLINE +CORBA_AliasDef_ptr POA_CORBA_UnionDef_tie::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 ACE_INLINE +CORBA_InterfaceDef_ptr POA_CORBA_UnionDef_tie::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 ACE_INLINE +CORBA_ValueDef_ptr POA_CORBA_UnionDef_tie::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 ACE_INLINE +CORBA_ValueBoxDef_ptr POA_CORBA_UnionDef_tie::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 ACE_INLINE +CORBA_ExceptionDef_ptr POA_CORBA_UnionDef_tie::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 ACE_INLINE +CORBA_NativeDef_ptr POA_CORBA_UnionDef_tie::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 ACE_INLINE +CORBA_AbstractInterfaceDef_ptr POA_CORBA_UnionDef_tie::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 ACE_INLINE +CORBA_LocalInterfaceDef_ptr POA_CORBA_UnionDef_tie::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 ACE_INLINE +char * POA_CORBA_UnionDef_tie::id ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->id ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_UnionDef_tie::id ( + const char * id + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->id ( +id + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_UnionDef_tie::name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_UnionDef_tie::name ( + const char * name + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->name ( +name + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_UnionDef_tie::version ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->version ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_UnionDef_tie::version ( + const char * version + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->version ( +version + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Container_ptr POA_CORBA_UnionDef_tie::defined_in ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->defined_in ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_UnionDef_tie::absolute_name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->absolute_name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Repository_ptr POA_CORBA_UnionDef_tie::containing_repository ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->containing_repository ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Contained::Description * POA_CORBA_UnionDef_tie::describe ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->describe ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_UnionDef_tie::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 ACE_INLINE +CORBA::TypeCode_ptr POA_CORBA_UnionDef_tie::type ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->type ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA::DefinitionKind POA_CORBA_UnionDef_tie::def_kind ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->def_kind ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_UnionDef_tie::destroy ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->destroy ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +POA_CORBA_EnumDef_tie::POA_CORBA_EnumDef_tie (T &t) + : ptr_ (&t), + poa_ (PortableServer::POA::_nil ()), + rel_ (0) +{} + +template ACE_INLINE +POA_CORBA_EnumDef_tie::POA_CORBA_EnumDef_tie (T &t, PortableServer::POA_ptr poa) + : ptr_ (&t), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (0) +{} + +template ACE_INLINE +POA_CORBA_EnumDef_tie::POA_CORBA_EnumDef_tie (T *tp, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_nil ()), + rel_ (release) +{} + +template ACE_INLINE +POA_CORBA_EnumDef_tie::POA_CORBA_EnumDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (release) +{} + +template ACE_INLINE +POA_CORBA_EnumDef_tie::~POA_CORBA_EnumDef_tie (void) +{ + if (this->rel_) delete this->ptr_; +} + +template ACE_INLINE T * +POA_CORBA_EnumDef_tie::_tied_object (void) +{ + return this->ptr_; +} + +template ACE_INLINE void +POA_CORBA_EnumDef_tie::_tied_object (T &obj) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = &obj; + this->rel_ = 0; +} + +template ACE_INLINE void +POA_CORBA_EnumDef_tie::_tied_object (T *obj, CORBA::Boolean release) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = obj; + this->rel_ = release; +} + +template ACE_INLINE CORBA::Boolean +POA_CORBA_EnumDef_tie::_is_owner (void) +{ + return this->rel_; +} + +template ACE_INLINE void +POA_CORBA_EnumDef_tie::_is_owner (CORBA::Boolean b) +{ + this->rel_ = b; +} + +template ACE_INLINE PortableServer::POA_ptr +POA_CORBA_EnumDef_tie::_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 ACE_INLINE +CORBA_EnumMemberSeq * POA_CORBA_EnumDef_tie::members ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->members ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_EnumDef_tie::members ( + const CORBA_EnumMemberSeq & members + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->members ( +members + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_EnumDef_tie::id ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->id ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_EnumDef_tie::id ( + const char * id + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->id ( +id + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_EnumDef_tie::name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_EnumDef_tie::name ( + const char * name + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->name ( +name + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_EnumDef_tie::version ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->version ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_EnumDef_tie::version ( + const char * version + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->version ( +version + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Container_ptr POA_CORBA_EnumDef_tie::defined_in ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->defined_in ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_EnumDef_tie::absolute_name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->absolute_name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Repository_ptr POA_CORBA_EnumDef_tie::containing_repository ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->containing_repository ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Contained::Description * POA_CORBA_EnumDef_tie::describe ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->describe ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_EnumDef_tie::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 ACE_INLINE +CORBA::TypeCode_ptr POA_CORBA_EnumDef_tie::type ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->type ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA::DefinitionKind POA_CORBA_EnumDef_tie::def_kind ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->def_kind ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_EnumDef_tie::destroy ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->destroy ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +POA_CORBA_AliasDef_tie::POA_CORBA_AliasDef_tie (T &t) + : ptr_ (&t), + poa_ (PortableServer::POA::_nil ()), + rel_ (0) +{} + +template ACE_INLINE +POA_CORBA_AliasDef_tie::POA_CORBA_AliasDef_tie (T &t, PortableServer::POA_ptr poa) + : ptr_ (&t), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (0) +{} + +template ACE_INLINE +POA_CORBA_AliasDef_tie::POA_CORBA_AliasDef_tie (T *tp, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_nil ()), + rel_ (release) +{} + +template ACE_INLINE +POA_CORBA_AliasDef_tie::POA_CORBA_AliasDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (release) +{} + +template ACE_INLINE +POA_CORBA_AliasDef_tie::~POA_CORBA_AliasDef_tie (void) +{ + if (this->rel_) delete this->ptr_; +} + +template ACE_INLINE T * +POA_CORBA_AliasDef_tie::_tied_object (void) +{ + return this->ptr_; +} + +template ACE_INLINE void +POA_CORBA_AliasDef_tie::_tied_object (T &obj) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = &obj; + this->rel_ = 0; +} + +template ACE_INLINE void +POA_CORBA_AliasDef_tie::_tied_object (T *obj, CORBA::Boolean release) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = obj; + this->rel_ = release; +} + +template ACE_INLINE CORBA::Boolean +POA_CORBA_AliasDef_tie::_is_owner (void) +{ + return this->rel_; +} + +template ACE_INLINE void +POA_CORBA_AliasDef_tie::_is_owner (CORBA::Boolean b) +{ + this->rel_ = b; +} + +template ACE_INLINE PortableServer::POA_ptr +POA_CORBA_AliasDef_tie::_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 ACE_INLINE +CORBA_IDLType_ptr POA_CORBA_AliasDef_tie::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 ACE_INLINE +void POA_CORBA_AliasDef_tie::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 ACE_INLINE +char * POA_CORBA_AliasDef_tie::id ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->id ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_AliasDef_tie::id ( + const char * id + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->id ( +id + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_AliasDef_tie::name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_AliasDef_tie::name ( + const char * name + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->name ( +name + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_AliasDef_tie::version ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->version ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_AliasDef_tie::version ( + const char * version + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->version ( +version + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Container_ptr POA_CORBA_AliasDef_tie::defined_in ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->defined_in ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_AliasDef_tie::absolute_name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->absolute_name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Repository_ptr POA_CORBA_AliasDef_tie::containing_repository ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->containing_repository ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Contained::Description * POA_CORBA_AliasDef_tie::describe ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->describe ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_AliasDef_tie::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 ACE_INLINE +CORBA::TypeCode_ptr POA_CORBA_AliasDef_tie::type ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->type ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA::DefinitionKind POA_CORBA_AliasDef_tie::def_kind ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->def_kind ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_AliasDef_tie::destroy ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->destroy ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +POA_CORBA_NativeDef_tie::POA_CORBA_NativeDef_tie (T &t) + : ptr_ (&t), + poa_ (PortableServer::POA::_nil ()), + rel_ (0) +{} + +template ACE_INLINE +POA_CORBA_NativeDef_tie::POA_CORBA_NativeDef_tie (T &t, PortableServer::POA_ptr poa) + : ptr_ (&t), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (0) +{} + +template ACE_INLINE +POA_CORBA_NativeDef_tie::POA_CORBA_NativeDef_tie (T *tp, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_nil ()), + rel_ (release) +{} + +template ACE_INLINE +POA_CORBA_NativeDef_tie::POA_CORBA_NativeDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (release) +{} + +template ACE_INLINE +POA_CORBA_NativeDef_tie::~POA_CORBA_NativeDef_tie (void) +{ + if (this->rel_) delete this->ptr_; +} + +template ACE_INLINE T * +POA_CORBA_NativeDef_tie::_tied_object (void) +{ + return this->ptr_; +} + +template ACE_INLINE void +POA_CORBA_NativeDef_tie::_tied_object (T &obj) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = &obj; + this->rel_ = 0; +} + +template ACE_INLINE void +POA_CORBA_NativeDef_tie::_tied_object (T *obj, CORBA::Boolean release) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = obj; + this->rel_ = release; +} + +template ACE_INLINE CORBA::Boolean +POA_CORBA_NativeDef_tie::_is_owner (void) +{ + return this->rel_; +} + +template ACE_INLINE void +POA_CORBA_NativeDef_tie::_is_owner (CORBA::Boolean b) +{ + this->rel_ = b; +} + +template ACE_INLINE PortableServer::POA_ptr +POA_CORBA_NativeDef_tie::_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 ACE_INLINE +char * POA_CORBA_NativeDef_tie::id ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->id ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_NativeDef_tie::id ( + const char * id + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->id ( +id + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_NativeDef_tie::name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_NativeDef_tie::name ( + const char * name + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->name ( +name + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_NativeDef_tie::version ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->version ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_NativeDef_tie::version ( + const char * version + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->version ( +version + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Container_ptr POA_CORBA_NativeDef_tie::defined_in ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->defined_in ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_NativeDef_tie::absolute_name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->absolute_name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Repository_ptr POA_CORBA_NativeDef_tie::containing_repository ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->containing_repository ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Contained::Description * POA_CORBA_NativeDef_tie::describe ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->describe ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_NativeDef_tie::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 ACE_INLINE +CORBA::TypeCode_ptr POA_CORBA_NativeDef_tie::type ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->type ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA::DefinitionKind POA_CORBA_NativeDef_tie::def_kind ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->def_kind ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_NativeDef_tie::destroy ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->destroy ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +POA_CORBA_PrimitiveDef_tie::POA_CORBA_PrimitiveDef_tie (T &t) + : ptr_ (&t), + poa_ (PortableServer::POA::_nil ()), + rel_ (0) +{} + +template ACE_INLINE +POA_CORBA_PrimitiveDef_tie::POA_CORBA_PrimitiveDef_tie (T &t, PortableServer::POA_ptr poa) + : ptr_ (&t), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (0) +{} + +template ACE_INLINE +POA_CORBA_PrimitiveDef_tie::POA_CORBA_PrimitiveDef_tie (T *tp, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_nil ()), + rel_ (release) +{} + +template ACE_INLINE +POA_CORBA_PrimitiveDef_tie::POA_CORBA_PrimitiveDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (release) +{} + +template ACE_INLINE +POA_CORBA_PrimitiveDef_tie::~POA_CORBA_PrimitiveDef_tie (void) +{ + if (this->rel_) delete this->ptr_; +} + +template ACE_INLINE T * +POA_CORBA_PrimitiveDef_tie::_tied_object (void) +{ + return this->ptr_; +} + +template ACE_INLINE void +POA_CORBA_PrimitiveDef_tie::_tied_object (T &obj) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = &obj; + this->rel_ = 0; +} + +template ACE_INLINE void +POA_CORBA_PrimitiveDef_tie::_tied_object (T *obj, CORBA::Boolean release) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = obj; + this->rel_ = release; +} + +template ACE_INLINE CORBA::Boolean +POA_CORBA_PrimitiveDef_tie::_is_owner (void) +{ + return this->rel_; +} + +template ACE_INLINE void +POA_CORBA_PrimitiveDef_tie::_is_owner (CORBA::Boolean b) +{ + this->rel_ = b; +} + +template ACE_INLINE PortableServer::POA_ptr +POA_CORBA_PrimitiveDef_tie::_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 ACE_INLINE +CORBA::PrimitiveKind POA_CORBA_PrimitiveDef_tie::kind ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->kind ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA::TypeCode_ptr POA_CORBA_PrimitiveDef_tie::type ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->type ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA::DefinitionKind POA_CORBA_PrimitiveDef_tie::def_kind ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->def_kind ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_PrimitiveDef_tie::destroy ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->destroy ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +POA_CORBA_StringDef_tie::POA_CORBA_StringDef_tie (T &t) + : ptr_ (&t), + poa_ (PortableServer::POA::_nil ()), + rel_ (0) +{} + +template ACE_INLINE +POA_CORBA_StringDef_tie::POA_CORBA_StringDef_tie (T &t, PortableServer::POA_ptr poa) + : ptr_ (&t), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (0) +{} + +template ACE_INLINE +POA_CORBA_StringDef_tie::POA_CORBA_StringDef_tie (T *tp, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_nil ()), + rel_ (release) +{} + +template ACE_INLINE +POA_CORBA_StringDef_tie::POA_CORBA_StringDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (release) +{} + +template ACE_INLINE +POA_CORBA_StringDef_tie::~POA_CORBA_StringDef_tie (void) +{ + if (this->rel_) delete this->ptr_; +} + +template ACE_INLINE T * +POA_CORBA_StringDef_tie::_tied_object (void) +{ + return this->ptr_; +} + +template ACE_INLINE void +POA_CORBA_StringDef_tie::_tied_object (T &obj) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = &obj; + this->rel_ = 0; +} + +template ACE_INLINE void +POA_CORBA_StringDef_tie::_tied_object (T *obj, CORBA::Boolean release) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = obj; + this->rel_ = release; +} + +template ACE_INLINE CORBA::Boolean +POA_CORBA_StringDef_tie::_is_owner (void) +{ + return this->rel_; +} + +template ACE_INLINE void +POA_CORBA_StringDef_tie::_is_owner (CORBA::Boolean b) +{ + this->rel_ = b; +} + +template ACE_INLINE PortableServer::POA_ptr +POA_CORBA_StringDef_tie::_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 ACE_INLINE +CORBA::ULong POA_CORBA_StringDef_tie::bound ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->bound ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_StringDef_tie::bound ( + CORBA::ULong bound + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->bound ( +bound + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA::TypeCode_ptr POA_CORBA_StringDef_tie::type ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->type ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA::DefinitionKind POA_CORBA_StringDef_tie::def_kind ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->def_kind ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_StringDef_tie::destroy ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->destroy ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +POA_CORBA_WstringDef_tie::POA_CORBA_WstringDef_tie (T &t) + : ptr_ (&t), + poa_ (PortableServer::POA::_nil ()), + rel_ (0) +{} + +template ACE_INLINE +POA_CORBA_WstringDef_tie::POA_CORBA_WstringDef_tie (T &t, PortableServer::POA_ptr poa) + : ptr_ (&t), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (0) +{} + +template ACE_INLINE +POA_CORBA_WstringDef_tie::POA_CORBA_WstringDef_tie (T *tp, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_nil ()), + rel_ (release) +{} + +template ACE_INLINE +POA_CORBA_WstringDef_tie::POA_CORBA_WstringDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (release) +{} + +template ACE_INLINE +POA_CORBA_WstringDef_tie::~POA_CORBA_WstringDef_tie (void) +{ + if (this->rel_) delete this->ptr_; +} + +template ACE_INLINE T * +POA_CORBA_WstringDef_tie::_tied_object (void) +{ + return this->ptr_; +} + +template ACE_INLINE void +POA_CORBA_WstringDef_tie::_tied_object (T &obj) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = &obj; + this->rel_ = 0; +} + +template ACE_INLINE void +POA_CORBA_WstringDef_tie::_tied_object (T *obj, CORBA::Boolean release) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = obj; + this->rel_ = release; +} + +template ACE_INLINE CORBA::Boolean +POA_CORBA_WstringDef_tie::_is_owner (void) +{ + return this->rel_; +} + +template ACE_INLINE void +POA_CORBA_WstringDef_tie::_is_owner (CORBA::Boolean b) +{ + this->rel_ = b; +} + +template ACE_INLINE PortableServer::POA_ptr +POA_CORBA_WstringDef_tie::_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 ACE_INLINE +CORBA::ULong POA_CORBA_WstringDef_tie::bound ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->bound ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_WstringDef_tie::bound ( + CORBA::ULong bound + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->bound ( +bound + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA::TypeCode_ptr POA_CORBA_WstringDef_tie::type ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->type ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA::DefinitionKind POA_CORBA_WstringDef_tie::def_kind ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->def_kind ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_WstringDef_tie::destroy ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->destroy ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +POA_CORBA_SequenceDef_tie::POA_CORBA_SequenceDef_tie (T &t) + : ptr_ (&t), + poa_ (PortableServer::POA::_nil ()), + rel_ (0) +{} + +template ACE_INLINE +POA_CORBA_SequenceDef_tie::POA_CORBA_SequenceDef_tie (T &t, PortableServer::POA_ptr poa) + : ptr_ (&t), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (0) +{} + +template ACE_INLINE +POA_CORBA_SequenceDef_tie::POA_CORBA_SequenceDef_tie (T *tp, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_nil ()), + rel_ (release) +{} + +template ACE_INLINE +POA_CORBA_SequenceDef_tie::POA_CORBA_SequenceDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (release) +{} + +template ACE_INLINE +POA_CORBA_SequenceDef_tie::~POA_CORBA_SequenceDef_tie (void) +{ + if (this->rel_) delete this->ptr_; +} + +template ACE_INLINE T * +POA_CORBA_SequenceDef_tie::_tied_object (void) +{ + return this->ptr_; +} + +template ACE_INLINE void +POA_CORBA_SequenceDef_tie::_tied_object (T &obj) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = &obj; + this->rel_ = 0; +} + +template ACE_INLINE void +POA_CORBA_SequenceDef_tie::_tied_object (T *obj, CORBA::Boolean release) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = obj; + this->rel_ = release; +} + +template ACE_INLINE CORBA::Boolean +POA_CORBA_SequenceDef_tie::_is_owner (void) +{ + return this->rel_; +} + +template ACE_INLINE void +POA_CORBA_SequenceDef_tie::_is_owner (CORBA::Boolean b) +{ + this->rel_ = b; +} + +template ACE_INLINE PortableServer::POA_ptr +POA_CORBA_SequenceDef_tie::_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 ACE_INLINE +CORBA::ULong POA_CORBA_SequenceDef_tie::bound ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->bound ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_SequenceDef_tie::bound ( + CORBA::ULong bound + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->bound ( +bound + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA::TypeCode_ptr POA_CORBA_SequenceDef_tie::element_type ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->element_type ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_IDLType_ptr POA_CORBA_SequenceDef_tie::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 ACE_INLINE +void POA_CORBA_SequenceDef_tie::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 ACE_INLINE +CORBA::TypeCode_ptr POA_CORBA_SequenceDef_tie::type ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->type ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA::DefinitionKind POA_CORBA_SequenceDef_tie::def_kind ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->def_kind ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_SequenceDef_tie::destroy ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->destroy ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +POA_CORBA_ArrayDef_tie::POA_CORBA_ArrayDef_tie (T &t) + : ptr_ (&t), + poa_ (PortableServer::POA::_nil ()), + rel_ (0) +{} + +template ACE_INLINE +POA_CORBA_ArrayDef_tie::POA_CORBA_ArrayDef_tie (T &t, PortableServer::POA_ptr poa) + : ptr_ (&t), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (0) +{} + +template ACE_INLINE +POA_CORBA_ArrayDef_tie::POA_CORBA_ArrayDef_tie (T *tp, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_nil ()), + rel_ (release) +{} + +template ACE_INLINE +POA_CORBA_ArrayDef_tie::POA_CORBA_ArrayDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (release) +{} + +template ACE_INLINE +POA_CORBA_ArrayDef_tie::~POA_CORBA_ArrayDef_tie (void) +{ + if (this->rel_) delete this->ptr_; +} + +template ACE_INLINE T * +POA_CORBA_ArrayDef_tie::_tied_object (void) +{ + return this->ptr_; +} + +template ACE_INLINE void +POA_CORBA_ArrayDef_tie::_tied_object (T &obj) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = &obj; + this->rel_ = 0; +} + +template ACE_INLINE void +POA_CORBA_ArrayDef_tie::_tied_object (T *obj, CORBA::Boolean release) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = obj; + this->rel_ = release; +} + +template ACE_INLINE CORBA::Boolean +POA_CORBA_ArrayDef_tie::_is_owner (void) +{ + return this->rel_; +} + +template ACE_INLINE void +POA_CORBA_ArrayDef_tie::_is_owner (CORBA::Boolean b) +{ + this->rel_ = b; +} + +template ACE_INLINE PortableServer::POA_ptr +POA_CORBA_ArrayDef_tie::_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 ACE_INLINE +CORBA::ULong POA_CORBA_ArrayDef_tie::length ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->length ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_ArrayDef_tie::length ( + CORBA::ULong length + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->length ( +length + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA::TypeCode_ptr POA_CORBA_ArrayDef_tie::element_type ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->element_type ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_IDLType_ptr POA_CORBA_ArrayDef_tie::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 ACE_INLINE +void POA_CORBA_ArrayDef_tie::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 ACE_INLINE +CORBA::TypeCode_ptr POA_CORBA_ArrayDef_tie::type ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->type ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA::DefinitionKind POA_CORBA_ArrayDef_tie::def_kind ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->def_kind ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_ArrayDef_tie::destroy ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->destroy ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +POA_CORBA_ExceptionDef_tie::POA_CORBA_ExceptionDef_tie (T &t) + : ptr_ (&t), + poa_ (PortableServer::POA::_nil ()), + rel_ (0) +{} + +template ACE_INLINE +POA_CORBA_ExceptionDef_tie::POA_CORBA_ExceptionDef_tie (T &t, PortableServer::POA_ptr poa) + : ptr_ (&t), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (0) +{} + +template ACE_INLINE +POA_CORBA_ExceptionDef_tie::POA_CORBA_ExceptionDef_tie (T *tp, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_nil ()), + rel_ (release) +{} + +template ACE_INLINE +POA_CORBA_ExceptionDef_tie::POA_CORBA_ExceptionDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (release) +{} + +template ACE_INLINE +POA_CORBA_ExceptionDef_tie::~POA_CORBA_ExceptionDef_tie (void) +{ + if (this->rel_) delete this->ptr_; +} + +template ACE_INLINE T * +POA_CORBA_ExceptionDef_tie::_tied_object (void) +{ + return this->ptr_; +} + +template ACE_INLINE void +POA_CORBA_ExceptionDef_tie::_tied_object (T &obj) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = &obj; + this->rel_ = 0; +} + +template ACE_INLINE void +POA_CORBA_ExceptionDef_tie::_tied_object (T *obj, CORBA::Boolean release) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = obj; + this->rel_ = release; +} + +template ACE_INLINE CORBA::Boolean +POA_CORBA_ExceptionDef_tie::_is_owner (void) +{ + return this->rel_; +} + +template ACE_INLINE void +POA_CORBA_ExceptionDef_tie::_is_owner (CORBA::Boolean b) +{ + this->rel_ = b; +} + +template ACE_INLINE PortableServer::POA_ptr +POA_CORBA_ExceptionDef_tie::_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 ACE_INLINE +CORBA::TypeCode_ptr POA_CORBA_ExceptionDef_tie::type ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->type ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_StructMemberSeq * POA_CORBA_ExceptionDef_tie::members ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->members ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_ExceptionDef_tie::members ( + const CORBA_StructMemberSeq & members + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->members ( +members + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_ExceptionDef_tie::id ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->id ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_ExceptionDef_tie::id ( + const char * id + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->id ( +id + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_ExceptionDef_tie::name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_ExceptionDef_tie::name ( + const char * name + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->name ( +name + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_ExceptionDef_tie::version ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->version ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_ExceptionDef_tie::version ( + const char * version + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->version ( +version + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Container_ptr POA_CORBA_ExceptionDef_tie::defined_in ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->defined_in ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_ExceptionDef_tie::absolute_name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->absolute_name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Repository_ptr POA_CORBA_ExceptionDef_tie::containing_repository ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->containing_repository ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Contained::Description * POA_CORBA_ExceptionDef_tie::describe ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->describe ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_ExceptionDef_tie::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 ACE_INLINE +CORBA_Contained_ptr POA_CORBA_ExceptionDef_tie::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 ACE_INLINE +CORBA_ContainedSeq * POA_CORBA_ExceptionDef_tie::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 ACE_INLINE +CORBA_ContainedSeq * POA_CORBA_ExceptionDef_tie::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 ACE_INLINE +CORBA_Container::DescriptionSeq * POA_CORBA_ExceptionDef_tie::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 ACE_INLINE +CORBA_ModuleDef_ptr POA_CORBA_ExceptionDef_tie::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 ACE_INLINE +CORBA_ConstantDef_ptr POA_CORBA_ExceptionDef_tie::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 ACE_INLINE +CORBA_StructDef_ptr POA_CORBA_ExceptionDef_tie::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 ACE_INLINE +CORBA_UnionDef_ptr POA_CORBA_ExceptionDef_tie::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 ACE_INLINE +CORBA_EnumDef_ptr POA_CORBA_ExceptionDef_tie::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 ACE_INLINE +CORBA_AliasDef_ptr POA_CORBA_ExceptionDef_tie::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 ACE_INLINE +CORBA_InterfaceDef_ptr POA_CORBA_ExceptionDef_tie::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 ACE_INLINE +CORBA_ValueDef_ptr POA_CORBA_ExceptionDef_tie::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 ACE_INLINE +CORBA_ValueBoxDef_ptr POA_CORBA_ExceptionDef_tie::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 ACE_INLINE +CORBA_ExceptionDef_ptr POA_CORBA_ExceptionDef_tie::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 ACE_INLINE +CORBA_NativeDef_ptr POA_CORBA_ExceptionDef_tie::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 ACE_INLINE +CORBA_AbstractInterfaceDef_ptr POA_CORBA_ExceptionDef_tie::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 ACE_INLINE +CORBA_LocalInterfaceDef_ptr POA_CORBA_ExceptionDef_tie::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 ACE_INLINE +CORBA::DefinitionKind POA_CORBA_ExceptionDef_tie::def_kind ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->def_kind ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_ExceptionDef_tie::destroy ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->destroy ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +POA_CORBA_AttributeDef_tie::POA_CORBA_AttributeDef_tie (T &t) + : ptr_ (&t), + poa_ (PortableServer::POA::_nil ()), + rel_ (0) +{} + +template ACE_INLINE +POA_CORBA_AttributeDef_tie::POA_CORBA_AttributeDef_tie (T &t, PortableServer::POA_ptr poa) + : ptr_ (&t), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (0) +{} + +template ACE_INLINE +POA_CORBA_AttributeDef_tie::POA_CORBA_AttributeDef_tie (T *tp, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_nil ()), + rel_ (release) +{} + +template ACE_INLINE +POA_CORBA_AttributeDef_tie::POA_CORBA_AttributeDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (release) +{} + +template ACE_INLINE +POA_CORBA_AttributeDef_tie::~POA_CORBA_AttributeDef_tie (void) +{ + if (this->rel_) delete this->ptr_; +} + +template ACE_INLINE T * +POA_CORBA_AttributeDef_tie::_tied_object (void) +{ + return this->ptr_; +} + +template ACE_INLINE void +POA_CORBA_AttributeDef_tie::_tied_object (T &obj) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = &obj; + this->rel_ = 0; +} + +template ACE_INLINE void +POA_CORBA_AttributeDef_tie::_tied_object (T *obj, CORBA::Boolean release) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = obj; + this->rel_ = release; +} + +template ACE_INLINE CORBA::Boolean +POA_CORBA_AttributeDef_tie::_is_owner (void) +{ + return this->rel_; +} + +template ACE_INLINE void +POA_CORBA_AttributeDef_tie::_is_owner (CORBA::Boolean b) +{ + this->rel_ = b; +} + +template ACE_INLINE PortableServer::POA_ptr +POA_CORBA_AttributeDef_tie::_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 ACE_INLINE +CORBA::TypeCode_ptr POA_CORBA_AttributeDef_tie::type ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->type ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_IDLType_ptr POA_CORBA_AttributeDef_tie::type_def ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->type_def ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_AttributeDef_tie::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 ACE_INLINE +CORBA::AttributeMode POA_CORBA_AttributeDef_tie::mode ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->mode ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_AttributeDef_tie::mode ( + CORBA::AttributeMode mode + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->mode ( +mode + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_AttributeDef_tie::id ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->id ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_AttributeDef_tie::id ( + const char * id + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->id ( +id + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_AttributeDef_tie::name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_AttributeDef_tie::name ( + const char * name + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->name ( +name + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_AttributeDef_tie::version ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->version ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_AttributeDef_tie::version ( + const char * version + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->version ( +version + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Container_ptr POA_CORBA_AttributeDef_tie::defined_in ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->defined_in ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_AttributeDef_tie::absolute_name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->absolute_name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Repository_ptr POA_CORBA_AttributeDef_tie::containing_repository ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->containing_repository ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Contained::Description * POA_CORBA_AttributeDef_tie::describe ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->describe ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_AttributeDef_tie::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 ACE_INLINE +CORBA::DefinitionKind POA_CORBA_AttributeDef_tie::def_kind ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->def_kind ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_AttributeDef_tie::destroy ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->destroy ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +POA_CORBA_OperationDef_tie::POA_CORBA_OperationDef_tie (T &t) + : ptr_ (&t), + poa_ (PortableServer::POA::_nil ()), + rel_ (0) +{} + +template ACE_INLINE +POA_CORBA_OperationDef_tie::POA_CORBA_OperationDef_tie (T &t, PortableServer::POA_ptr poa) + : ptr_ (&t), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (0) +{} + +template ACE_INLINE +POA_CORBA_OperationDef_tie::POA_CORBA_OperationDef_tie (T *tp, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_nil ()), + rel_ (release) +{} + +template ACE_INLINE +POA_CORBA_OperationDef_tie::POA_CORBA_OperationDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (release) +{} + +template ACE_INLINE +POA_CORBA_OperationDef_tie::~POA_CORBA_OperationDef_tie (void) +{ + if (this->rel_) delete this->ptr_; +} + +template ACE_INLINE T * +POA_CORBA_OperationDef_tie::_tied_object (void) +{ + return this->ptr_; +} + +template ACE_INLINE void +POA_CORBA_OperationDef_tie::_tied_object (T &obj) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = &obj; + this->rel_ = 0; +} + +template ACE_INLINE void +POA_CORBA_OperationDef_tie::_tied_object (T *obj, CORBA::Boolean release) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = obj; + this->rel_ = release; +} + +template ACE_INLINE CORBA::Boolean +POA_CORBA_OperationDef_tie::_is_owner (void) +{ + return this->rel_; +} + +template ACE_INLINE void +POA_CORBA_OperationDef_tie::_is_owner (CORBA::Boolean b) +{ + this->rel_ = b; +} + +template ACE_INLINE PortableServer::POA_ptr +POA_CORBA_OperationDef_tie::_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 ACE_INLINE +CORBA::TypeCode_ptr POA_CORBA_OperationDef_tie::result ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->result ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_IDLType_ptr POA_CORBA_OperationDef_tie::result_def ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->result_def ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_OperationDef_tie::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 ACE_INLINE +CORBA_ParDescriptionSeq * POA_CORBA_OperationDef_tie::params ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->params ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_OperationDef_tie::params ( + const CORBA_ParDescriptionSeq & params + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->params ( +params + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA::OperationMode POA_CORBA_OperationDef_tie::mode ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->mode ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_OperationDef_tie::mode ( + CORBA::OperationMode mode + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->mode ( +mode + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_ContextIdSeq * POA_CORBA_OperationDef_tie::contexts ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->contexts ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_OperationDef_tie::contexts ( + const CORBA_ContextIdSeq & contexts + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->contexts ( +contexts + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_ExceptionDefSeq * POA_CORBA_OperationDef_tie::exceptions ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->exceptions ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_OperationDef_tie::exceptions ( + const CORBA_ExceptionDefSeq & exceptions + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->exceptions ( +exceptions + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_OperationDef_tie::id ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->id ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_OperationDef_tie::id ( + const char * id + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->id ( +id + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_OperationDef_tie::name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_OperationDef_tie::name ( + const char * name + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->name ( +name + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_OperationDef_tie::version ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->version ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_OperationDef_tie::version ( + const char * version + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->version ( +version + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Container_ptr POA_CORBA_OperationDef_tie::defined_in ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->defined_in ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_OperationDef_tie::absolute_name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->absolute_name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Repository_ptr POA_CORBA_OperationDef_tie::containing_repository ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->containing_repository ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Contained::Description * POA_CORBA_OperationDef_tie::describe ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->describe ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_OperationDef_tie::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 ACE_INLINE +CORBA::DefinitionKind POA_CORBA_OperationDef_tie::def_kind ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->def_kind ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_OperationDef_tie::destroy ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->destroy ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +POA_CORBA_InterfaceDef_tie::POA_CORBA_InterfaceDef_tie (T &t) + : ptr_ (&t), + poa_ (PortableServer::POA::_nil ()), + rel_ (0) +{} + +template ACE_INLINE +POA_CORBA_InterfaceDef_tie::POA_CORBA_InterfaceDef_tie (T &t, PortableServer::POA_ptr poa) + : ptr_ (&t), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (0) +{} + +template ACE_INLINE +POA_CORBA_InterfaceDef_tie::POA_CORBA_InterfaceDef_tie (T *tp, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_nil ()), + rel_ (release) +{} + +template ACE_INLINE +POA_CORBA_InterfaceDef_tie::POA_CORBA_InterfaceDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (release) +{} + +template ACE_INLINE +POA_CORBA_InterfaceDef_tie::~POA_CORBA_InterfaceDef_tie (void) +{ + if (this->rel_) delete this->ptr_; +} + +template ACE_INLINE T * +POA_CORBA_InterfaceDef_tie::_tied_object (void) +{ + return this->ptr_; +} + +template ACE_INLINE void +POA_CORBA_InterfaceDef_tie::_tied_object (T &obj) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = &obj; + this->rel_ = 0; +} + +template ACE_INLINE void +POA_CORBA_InterfaceDef_tie::_tied_object (T *obj, CORBA::Boolean release) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = obj; + this->rel_ = release; +} + +template ACE_INLINE CORBA::Boolean +POA_CORBA_InterfaceDef_tie::_is_owner (void) +{ + return this->rel_; +} + +template ACE_INLINE void +POA_CORBA_InterfaceDef_tie::_is_owner (CORBA::Boolean b) +{ + this->rel_ = b; +} + +template ACE_INLINE PortableServer::POA_ptr +POA_CORBA_InterfaceDef_tie::_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 ACE_INLINE +CORBA_InterfaceDefSeq * POA_CORBA_InterfaceDef_tie::base_interfaces ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->base_interfaces ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_InterfaceDef_tie::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 ACE_INLINE +CORBA::Boolean POA_CORBA_InterfaceDef_tie::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 ACE_INLINE +CORBA_InterfaceDef::FullInterfaceDescription * POA_CORBA_InterfaceDef_tie::describe_interface ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->describe_interface ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_AttributeDef_ptr POA_CORBA_InterfaceDef_tie::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 ACE_INLINE +CORBA_OperationDef_ptr POA_CORBA_InterfaceDef_tie::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 ACE_INLINE +CORBA_Contained_ptr POA_CORBA_InterfaceDef_tie::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 ACE_INLINE +CORBA_ContainedSeq * POA_CORBA_InterfaceDef_tie::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 ACE_INLINE +CORBA_ContainedSeq * POA_CORBA_InterfaceDef_tie::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 ACE_INLINE +CORBA_Container::DescriptionSeq * POA_CORBA_InterfaceDef_tie::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 ACE_INLINE +CORBA_ModuleDef_ptr POA_CORBA_InterfaceDef_tie::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 ACE_INLINE +CORBA_ConstantDef_ptr POA_CORBA_InterfaceDef_tie::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 ACE_INLINE +CORBA_StructDef_ptr POA_CORBA_InterfaceDef_tie::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 ACE_INLINE +CORBA_UnionDef_ptr POA_CORBA_InterfaceDef_tie::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 ACE_INLINE +CORBA_EnumDef_ptr POA_CORBA_InterfaceDef_tie::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 ACE_INLINE +CORBA_AliasDef_ptr POA_CORBA_InterfaceDef_tie::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 ACE_INLINE +CORBA_InterfaceDef_ptr POA_CORBA_InterfaceDef_tie::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 ACE_INLINE +CORBA_ValueDef_ptr POA_CORBA_InterfaceDef_tie::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 ACE_INLINE +CORBA_ValueBoxDef_ptr POA_CORBA_InterfaceDef_tie::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 ACE_INLINE +CORBA_ExceptionDef_ptr POA_CORBA_InterfaceDef_tie::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 ACE_INLINE +CORBA_NativeDef_ptr POA_CORBA_InterfaceDef_tie::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 ACE_INLINE +CORBA_AbstractInterfaceDef_ptr POA_CORBA_InterfaceDef_tie::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 ACE_INLINE +CORBA_LocalInterfaceDef_ptr POA_CORBA_InterfaceDef_tie::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 ACE_INLINE +char * POA_CORBA_InterfaceDef_tie::id ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->id ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_InterfaceDef_tie::id ( + const char * id + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->id ( +id + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_InterfaceDef_tie::name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_InterfaceDef_tie::name ( + const char * name + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->name ( +name + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_InterfaceDef_tie::version ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->version ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_InterfaceDef_tie::version ( + const char * version + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->version ( +version + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Container_ptr POA_CORBA_InterfaceDef_tie::defined_in ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->defined_in ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_InterfaceDef_tie::absolute_name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->absolute_name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Repository_ptr POA_CORBA_InterfaceDef_tie::containing_repository ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->containing_repository ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Contained::Description * POA_CORBA_InterfaceDef_tie::describe ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->describe ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_InterfaceDef_tie::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 ACE_INLINE +CORBA::TypeCode_ptr POA_CORBA_InterfaceDef_tie::type ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->type ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA::DefinitionKind POA_CORBA_InterfaceDef_tie::def_kind ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->def_kind ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_InterfaceDef_tie::destroy ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->destroy ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +POA_CORBA_AbstractInterfaceDef_tie::POA_CORBA_AbstractInterfaceDef_tie (T &t) + : ptr_ (&t), + poa_ (PortableServer::POA::_nil ()), + rel_ (0) +{} + +template ACE_INLINE +POA_CORBA_AbstractInterfaceDef_tie::POA_CORBA_AbstractInterfaceDef_tie (T &t, PortableServer::POA_ptr poa) + : ptr_ (&t), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (0) +{} + +template ACE_INLINE +POA_CORBA_AbstractInterfaceDef_tie::POA_CORBA_AbstractInterfaceDef_tie (T *tp, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_nil ()), + rel_ (release) +{} + +template ACE_INLINE +POA_CORBA_AbstractInterfaceDef_tie::POA_CORBA_AbstractInterfaceDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (release) +{} + +template ACE_INLINE +POA_CORBA_AbstractInterfaceDef_tie::~POA_CORBA_AbstractInterfaceDef_tie (void) +{ + if (this->rel_) delete this->ptr_; +} + +template ACE_INLINE T * +POA_CORBA_AbstractInterfaceDef_tie::_tied_object (void) +{ + return this->ptr_; +} + +template ACE_INLINE void +POA_CORBA_AbstractInterfaceDef_tie::_tied_object (T &obj) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = &obj; + this->rel_ = 0; +} + +template ACE_INLINE void +POA_CORBA_AbstractInterfaceDef_tie::_tied_object (T *obj, CORBA::Boolean release) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = obj; + this->rel_ = release; +} + +template ACE_INLINE CORBA::Boolean +POA_CORBA_AbstractInterfaceDef_tie::_is_owner (void) +{ + return this->rel_; +} + +template ACE_INLINE void +POA_CORBA_AbstractInterfaceDef_tie::_is_owner (CORBA::Boolean b) +{ + this->rel_ = b; +} + +template ACE_INLINE PortableServer::POA_ptr +POA_CORBA_AbstractInterfaceDef_tie::_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 ACE_INLINE +CORBA_InterfaceDefSeq * POA_CORBA_AbstractInterfaceDef_tie::base_interfaces ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->base_interfaces ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_AbstractInterfaceDef_tie::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 ACE_INLINE +CORBA::Boolean POA_CORBA_AbstractInterfaceDef_tie::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 ACE_INLINE +CORBA_InterfaceDef::FullInterfaceDescription * POA_CORBA_AbstractInterfaceDef_tie::describe_interface ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->describe_interface ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_AttributeDef_ptr POA_CORBA_AbstractInterfaceDef_tie::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 ACE_INLINE +CORBA_OperationDef_ptr POA_CORBA_AbstractInterfaceDef_tie::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 ACE_INLINE +CORBA_Contained_ptr POA_CORBA_AbstractInterfaceDef_tie::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 ACE_INLINE +CORBA_ContainedSeq * POA_CORBA_AbstractInterfaceDef_tie::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 ACE_INLINE +CORBA_ContainedSeq * POA_CORBA_AbstractInterfaceDef_tie::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 ACE_INLINE +CORBA_Container::DescriptionSeq * POA_CORBA_AbstractInterfaceDef_tie::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 ACE_INLINE +CORBA_ModuleDef_ptr POA_CORBA_AbstractInterfaceDef_tie::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 ACE_INLINE +CORBA_ConstantDef_ptr POA_CORBA_AbstractInterfaceDef_tie::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 ACE_INLINE +CORBA_StructDef_ptr POA_CORBA_AbstractInterfaceDef_tie::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 ACE_INLINE +CORBA_UnionDef_ptr POA_CORBA_AbstractInterfaceDef_tie::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 ACE_INLINE +CORBA_EnumDef_ptr POA_CORBA_AbstractInterfaceDef_tie::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 ACE_INLINE +CORBA_AliasDef_ptr POA_CORBA_AbstractInterfaceDef_tie::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 ACE_INLINE +CORBA_InterfaceDef_ptr POA_CORBA_AbstractInterfaceDef_tie::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 ACE_INLINE +CORBA_ValueDef_ptr POA_CORBA_AbstractInterfaceDef_tie::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 ACE_INLINE +CORBA_ValueBoxDef_ptr POA_CORBA_AbstractInterfaceDef_tie::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 ACE_INLINE +CORBA_ExceptionDef_ptr POA_CORBA_AbstractInterfaceDef_tie::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 ACE_INLINE +CORBA_NativeDef_ptr POA_CORBA_AbstractInterfaceDef_tie::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 ACE_INLINE +CORBA_AbstractInterfaceDef_ptr POA_CORBA_AbstractInterfaceDef_tie::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 ACE_INLINE +CORBA_LocalInterfaceDef_ptr POA_CORBA_AbstractInterfaceDef_tie::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 ACE_INLINE +char * POA_CORBA_AbstractInterfaceDef_tie::id ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->id ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_AbstractInterfaceDef_tie::id ( + const char * id + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->id ( +id + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_AbstractInterfaceDef_tie::name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_AbstractInterfaceDef_tie::name ( + const char * name + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->name ( +name + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_AbstractInterfaceDef_tie::version ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->version ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_AbstractInterfaceDef_tie::version ( + const char * version + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->version ( +version + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Container_ptr POA_CORBA_AbstractInterfaceDef_tie::defined_in ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->defined_in ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_AbstractInterfaceDef_tie::absolute_name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->absolute_name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Repository_ptr POA_CORBA_AbstractInterfaceDef_tie::containing_repository ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->containing_repository ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Contained::Description * POA_CORBA_AbstractInterfaceDef_tie::describe ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->describe ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_AbstractInterfaceDef_tie::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 ACE_INLINE +CORBA::TypeCode_ptr POA_CORBA_AbstractInterfaceDef_tie::type ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->type ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA::DefinitionKind POA_CORBA_AbstractInterfaceDef_tie::def_kind ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->def_kind ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_AbstractInterfaceDef_tie::destroy ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->destroy ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +POA_CORBA_LocalInterfaceDef_tie::POA_CORBA_LocalInterfaceDef_tie (T &t) + : ptr_ (&t), + poa_ (PortableServer::POA::_nil ()), + rel_ (0) +{} + +template ACE_INLINE +POA_CORBA_LocalInterfaceDef_tie::POA_CORBA_LocalInterfaceDef_tie (T &t, PortableServer::POA_ptr poa) + : ptr_ (&t), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (0) +{} + +template ACE_INLINE +POA_CORBA_LocalInterfaceDef_tie::POA_CORBA_LocalInterfaceDef_tie (T *tp, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_nil ()), + rel_ (release) +{} + +template ACE_INLINE +POA_CORBA_LocalInterfaceDef_tie::POA_CORBA_LocalInterfaceDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (release) +{} + +template ACE_INLINE +POA_CORBA_LocalInterfaceDef_tie::~POA_CORBA_LocalInterfaceDef_tie (void) +{ + if (this->rel_) delete this->ptr_; +} + +template ACE_INLINE T * +POA_CORBA_LocalInterfaceDef_tie::_tied_object (void) +{ + return this->ptr_; +} + +template ACE_INLINE void +POA_CORBA_LocalInterfaceDef_tie::_tied_object (T &obj) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = &obj; + this->rel_ = 0; +} + +template ACE_INLINE void +POA_CORBA_LocalInterfaceDef_tie::_tied_object (T *obj, CORBA::Boolean release) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = obj; + this->rel_ = release; +} + +template ACE_INLINE CORBA::Boolean +POA_CORBA_LocalInterfaceDef_tie::_is_owner (void) +{ + return this->rel_; +} + +template ACE_INLINE void +POA_CORBA_LocalInterfaceDef_tie::_is_owner (CORBA::Boolean b) +{ + this->rel_ = b; +} + +template ACE_INLINE PortableServer::POA_ptr +POA_CORBA_LocalInterfaceDef_tie::_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 ACE_INLINE +CORBA_InterfaceDefSeq * POA_CORBA_LocalInterfaceDef_tie::base_interfaces ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->base_interfaces ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_LocalInterfaceDef_tie::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 ACE_INLINE +CORBA::Boolean POA_CORBA_LocalInterfaceDef_tie::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 ACE_INLINE +CORBA_InterfaceDef::FullInterfaceDescription * POA_CORBA_LocalInterfaceDef_tie::describe_interface ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->describe_interface ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_AttributeDef_ptr POA_CORBA_LocalInterfaceDef_tie::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 ACE_INLINE +CORBA_OperationDef_ptr POA_CORBA_LocalInterfaceDef_tie::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 ACE_INLINE +CORBA_Contained_ptr POA_CORBA_LocalInterfaceDef_tie::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 ACE_INLINE +CORBA_ContainedSeq * POA_CORBA_LocalInterfaceDef_tie::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 ACE_INLINE +CORBA_ContainedSeq * POA_CORBA_LocalInterfaceDef_tie::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 ACE_INLINE +CORBA_Container::DescriptionSeq * POA_CORBA_LocalInterfaceDef_tie::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 ACE_INLINE +CORBA_ModuleDef_ptr POA_CORBA_LocalInterfaceDef_tie::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 ACE_INLINE +CORBA_ConstantDef_ptr POA_CORBA_LocalInterfaceDef_tie::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 ACE_INLINE +CORBA_StructDef_ptr POA_CORBA_LocalInterfaceDef_tie::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 ACE_INLINE +CORBA_UnionDef_ptr POA_CORBA_LocalInterfaceDef_tie::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 ACE_INLINE +CORBA_EnumDef_ptr POA_CORBA_LocalInterfaceDef_tie::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 ACE_INLINE +CORBA_AliasDef_ptr POA_CORBA_LocalInterfaceDef_tie::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 ACE_INLINE +CORBA_InterfaceDef_ptr POA_CORBA_LocalInterfaceDef_tie::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 ACE_INLINE +CORBA_ValueDef_ptr POA_CORBA_LocalInterfaceDef_tie::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 ACE_INLINE +CORBA_ValueBoxDef_ptr POA_CORBA_LocalInterfaceDef_tie::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 ACE_INLINE +CORBA_ExceptionDef_ptr POA_CORBA_LocalInterfaceDef_tie::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 ACE_INLINE +CORBA_NativeDef_ptr POA_CORBA_LocalInterfaceDef_tie::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 ACE_INLINE +CORBA_AbstractInterfaceDef_ptr POA_CORBA_LocalInterfaceDef_tie::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 ACE_INLINE +CORBA_LocalInterfaceDef_ptr POA_CORBA_LocalInterfaceDef_tie::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 ACE_INLINE +char * POA_CORBA_LocalInterfaceDef_tie::id ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->id ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_LocalInterfaceDef_tie::id ( + const char * id + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->id ( +id + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_LocalInterfaceDef_tie::name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_LocalInterfaceDef_tie::name ( + const char * name + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->name ( +name + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_LocalInterfaceDef_tie::version ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->version ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_LocalInterfaceDef_tie::version ( + const char * version + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->version ( +version + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Container_ptr POA_CORBA_LocalInterfaceDef_tie::defined_in ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->defined_in ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_LocalInterfaceDef_tie::absolute_name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->absolute_name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Repository_ptr POA_CORBA_LocalInterfaceDef_tie::containing_repository ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->containing_repository ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Contained::Description * POA_CORBA_LocalInterfaceDef_tie::describe ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->describe ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_LocalInterfaceDef_tie::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 ACE_INLINE +CORBA::TypeCode_ptr POA_CORBA_LocalInterfaceDef_tie::type ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->type ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA::DefinitionKind POA_CORBA_LocalInterfaceDef_tie::def_kind ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->def_kind ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_LocalInterfaceDef_tie::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::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::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::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::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::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::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::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::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::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::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::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::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 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 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 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 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 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 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 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 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 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 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 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 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 ACE_INLINE +POA_IR::ComponentRepository_tie::ComponentRepository_tie (T &t) + : ptr_ (&t), + poa_ (PortableServer::POA::_nil ()), + rel_ (0) +{} + +template ACE_INLINE +POA_IR::ComponentRepository_tie::ComponentRepository_tie (T &t, PortableServer::POA_ptr poa) + : ptr_ (&t), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (0) +{} + +template ACE_INLINE +POA_IR::ComponentRepository_tie::ComponentRepository_tie (T *tp, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_nil ()), + rel_ (release) +{} + +template ACE_INLINE +POA_IR::ComponentRepository_tie::ComponentRepository_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (release) +{} + +template ACE_INLINE +POA_IR::ComponentRepository_tie::~ComponentRepository_tie (void) +{ + if (this->rel_) delete this->ptr_; +} + +template ACE_INLINE T * +POA_IR::ComponentRepository_tie::_tied_object (void) +{ + return this->ptr_; +} + +template ACE_INLINE void +POA_IR::ComponentRepository_tie::_tied_object (T &obj) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = &obj; + this->rel_ = 0; +} + +template ACE_INLINE void +POA_IR::ComponentRepository_tie::_tied_object (T *obj, CORBA::Boolean release) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = obj; + this->rel_ = release; +} + +template ACE_INLINE CORBA::Boolean +POA_IR::ComponentRepository_tie::_is_owner (void) +{ + return this->rel_; +} + +template ACE_INLINE void +POA_IR::ComponentRepository_tie::_is_owner (CORBA::Boolean b) +{ + this->rel_ = b; +} + +template ACE_INLINE PortableServer::POA_ptr +POA_IR::ComponentRepository_tie::_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 ACE_INLINE +IR::ComponentDef_ptr POA_IR::ComponentRepository_tie::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 ACE_INLINE +IR::HomeDef_ptr POA_IR::ComponentRepository_tie::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 ACE_INLINE +CORBA_Contained_ptr POA_IR::ComponentRepository_tie::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 ACE_INLINE +CORBA::TypeCode_ptr POA_IR::ComponentRepository_tie::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 ACE_INLINE +CORBA_PrimitiveDef_ptr POA_IR::ComponentRepository_tie::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 ACE_INLINE +CORBA_StringDef_ptr POA_IR::ComponentRepository_tie::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 ACE_INLINE +CORBA_WstringDef_ptr POA_IR::ComponentRepository_tie::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 ACE_INLINE +CORBA_SequenceDef_ptr POA_IR::ComponentRepository_tie::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 ACE_INLINE +CORBA_ArrayDef_ptr POA_IR::ComponentRepository_tie::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 ACE_INLINE +CORBA_FixedDef_ptr POA_IR::ComponentRepository_tie::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 ACE_INLINE +CORBA_Contained_ptr POA_IR::ComponentRepository_tie::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 ACE_INLINE +CORBA_ContainedSeq * POA_IR::ComponentRepository_tie::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 ACE_INLINE +CORBA_ContainedSeq * POA_IR::ComponentRepository_tie::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 ACE_INLINE +CORBA_Container::DescriptionSeq * POA_IR::ComponentRepository_tie::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 ACE_INLINE +CORBA_ModuleDef_ptr POA_IR::ComponentRepository_tie::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 ACE_INLINE +CORBA_ConstantDef_ptr POA_IR::ComponentRepository_tie::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 ACE_INLINE +CORBA_StructDef_ptr POA_IR::ComponentRepository_tie::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 ACE_INLINE +CORBA_UnionDef_ptr POA_IR::ComponentRepository_tie::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 ACE_INLINE +CORBA_EnumDef_ptr POA_IR::ComponentRepository_tie::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 ACE_INLINE +CORBA_AliasDef_ptr POA_IR::ComponentRepository_tie::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 ACE_INLINE +CORBA_InterfaceDef_ptr POA_IR::ComponentRepository_tie::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 ACE_INLINE +CORBA_ValueDef_ptr POA_IR::ComponentRepository_tie::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 ACE_INLINE +CORBA_ValueBoxDef_ptr POA_IR::ComponentRepository_tie::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 ACE_INLINE +CORBA_ExceptionDef_ptr POA_IR::ComponentRepository_tie::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 ACE_INLINE +CORBA_NativeDef_ptr POA_IR::ComponentRepository_tie::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 ACE_INLINE +CORBA_AbstractInterfaceDef_ptr POA_IR::ComponentRepository_tie::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 ACE_INLINE +CORBA_LocalInterfaceDef_ptr POA_IR::ComponentRepository_tie::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 ACE_INLINE +CORBA::DefinitionKind POA_IR::ComponentRepository_tie::def_kind ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->def_kind ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::ComponentRepository_tie::destroy ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->destroy ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +POA_IR::ProvidesDef_tie::ProvidesDef_tie (T &t) + : ptr_ (&t), + poa_ (PortableServer::POA::_nil ()), + rel_ (0) +{} + +template ACE_INLINE +POA_IR::ProvidesDef_tie::ProvidesDef_tie (T &t, PortableServer::POA_ptr poa) + : ptr_ (&t), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (0) +{} + +template ACE_INLINE +POA_IR::ProvidesDef_tie::ProvidesDef_tie (T *tp, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_nil ()), + rel_ (release) +{} + +template ACE_INLINE +POA_IR::ProvidesDef_tie::ProvidesDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (release) +{} + +template ACE_INLINE +POA_IR::ProvidesDef_tie::~ProvidesDef_tie (void) +{ + if (this->rel_) delete this->ptr_; +} + +template ACE_INLINE T * +POA_IR::ProvidesDef_tie::_tied_object (void) +{ + return this->ptr_; +} + +template ACE_INLINE void +POA_IR::ProvidesDef_tie::_tied_object (T &obj) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = &obj; + this->rel_ = 0; +} + +template ACE_INLINE void +POA_IR::ProvidesDef_tie::_tied_object (T *obj, CORBA::Boolean release) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = obj; + this->rel_ = release; +} + +template ACE_INLINE CORBA::Boolean +POA_IR::ProvidesDef_tie::_is_owner (void) +{ + return this->rel_; +} + +template ACE_INLINE void +POA_IR::ProvidesDef_tie::_is_owner (CORBA::Boolean b) +{ + this->rel_ = b; +} + +template ACE_INLINE PortableServer::POA_ptr +POA_IR::ProvidesDef_tie::_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 ACE_INLINE +CORBA_InterfaceDef_ptr POA_IR::ProvidesDef_tie::interface_type ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->interface_type ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_IR::ProvidesDef_tie::id ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->id ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::ProvidesDef_tie::id ( + const char * id + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->id ( +id + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_IR::ProvidesDef_tie::name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::ProvidesDef_tie::name ( + const char * name + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->name ( +name + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_IR::ProvidesDef_tie::version ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->version ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::ProvidesDef_tie::version ( + const char * version + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->version ( +version + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Container_ptr POA_IR::ProvidesDef_tie::defined_in ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->defined_in ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_IR::ProvidesDef_tie::absolute_name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->absolute_name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Repository_ptr POA_IR::ProvidesDef_tie::containing_repository ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->containing_repository ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Contained::Description * POA_IR::ProvidesDef_tie::describe ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->describe ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::ProvidesDef_tie::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 ACE_INLINE +CORBA::DefinitionKind POA_IR::ProvidesDef_tie::def_kind ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->def_kind ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::ProvidesDef_tie::destroy ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->destroy ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +POA_IR::UsesDef_tie::UsesDef_tie (T &t) + : ptr_ (&t), + poa_ (PortableServer::POA::_nil ()), + rel_ (0) +{} + +template ACE_INLINE +POA_IR::UsesDef_tie::UsesDef_tie (T &t, PortableServer::POA_ptr poa) + : ptr_ (&t), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (0) +{} + +template ACE_INLINE +POA_IR::UsesDef_tie::UsesDef_tie (T *tp, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_nil ()), + rel_ (release) +{} + +template ACE_INLINE +POA_IR::UsesDef_tie::UsesDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (release) +{} + +template ACE_INLINE +POA_IR::UsesDef_tie::~UsesDef_tie (void) +{ + if (this->rel_) delete this->ptr_; +} + +template ACE_INLINE T * +POA_IR::UsesDef_tie::_tied_object (void) +{ + return this->ptr_; +} + +template ACE_INLINE void +POA_IR::UsesDef_tie::_tied_object (T &obj) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = &obj; + this->rel_ = 0; +} + +template ACE_INLINE void +POA_IR::UsesDef_tie::_tied_object (T *obj, CORBA::Boolean release) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = obj; + this->rel_ = release; +} + +template ACE_INLINE CORBA::Boolean +POA_IR::UsesDef_tie::_is_owner (void) +{ + return this->rel_; +} + +template ACE_INLINE void +POA_IR::UsesDef_tie::_is_owner (CORBA::Boolean b) +{ + this->rel_ = b; +} + +template ACE_INLINE PortableServer::POA_ptr +POA_IR::UsesDef_tie::_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 ACE_INLINE +CORBA_InterfaceDef_ptr POA_IR::UsesDef_tie::interface_type ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->interface_type ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA::Boolean POA_IR::UsesDef_tie::is_multiple ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->is_multiple ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_IR::UsesDef_tie::id ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->id ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::UsesDef_tie::id ( + const char * id + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->id ( +id + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_IR::UsesDef_tie::name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::UsesDef_tie::name ( + const char * name + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->name ( +name + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_IR::UsesDef_tie::version ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->version ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::UsesDef_tie::version ( + const char * version + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->version ( +version + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Container_ptr POA_IR::UsesDef_tie::defined_in ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->defined_in ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_IR::UsesDef_tie::absolute_name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->absolute_name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Repository_ptr POA_IR::UsesDef_tie::containing_repository ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->containing_repository ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Contained::Description * POA_IR::UsesDef_tie::describe ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->describe ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::UsesDef_tie::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 ACE_INLINE +CORBA::DefinitionKind POA_IR::UsesDef_tie::def_kind ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->def_kind ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::UsesDef_tie::destroy ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->destroy ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +POA_IR::EventDef_tie::EventDef_tie (T &t) + : ptr_ (&t), + poa_ (PortableServer::POA::_nil ()), + rel_ (0) +{} + +template ACE_INLINE +POA_IR::EventDef_tie::EventDef_tie (T &t, PortableServer::POA_ptr poa) + : ptr_ (&t), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (0) +{} + +template ACE_INLINE +POA_IR::EventDef_tie::EventDef_tie (T *tp, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_nil ()), + rel_ (release) +{} + +template ACE_INLINE +POA_IR::EventDef_tie::EventDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (release) +{} + +template ACE_INLINE +POA_IR::EventDef_tie::~EventDef_tie (void) +{ + if (this->rel_) delete this->ptr_; +} + +template ACE_INLINE T * +POA_IR::EventDef_tie::_tied_object (void) +{ + return this->ptr_; +} + +template ACE_INLINE void +POA_IR::EventDef_tie::_tied_object (T &obj) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = &obj; + this->rel_ = 0; +} + +template ACE_INLINE void +POA_IR::EventDef_tie::_tied_object (T *obj, CORBA::Boolean release) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = obj; + this->rel_ = release; +} + +template ACE_INLINE CORBA::Boolean +POA_IR::EventDef_tie::_is_owner (void) +{ + return this->rel_; +} + +template ACE_INLINE void +POA_IR::EventDef_tie::_is_owner (CORBA::Boolean b) +{ + this->rel_ = b; +} + +template ACE_INLINE PortableServer::POA_ptr +POA_IR::EventDef_tie::_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 ACE_INLINE +CORBA::Boolean POA_IR::EventDef_tie::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 ACE_INLINE +CORBA_ValueDef_ptr POA_IR::EventDef_tie::event ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->event ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_IR::EventDef_tie::id ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->id ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::EventDef_tie::id ( + const char * id + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->id ( +id + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_IR::EventDef_tie::name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::EventDef_tie::name ( + const char * name + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->name ( +name + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_IR::EventDef_tie::version ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->version ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::EventDef_tie::version ( + const char * version + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->version ( +version + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Container_ptr POA_IR::EventDef_tie::defined_in ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->defined_in ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_IR::EventDef_tie::absolute_name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->absolute_name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Repository_ptr POA_IR::EventDef_tie::containing_repository ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->containing_repository ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Contained::Description * POA_IR::EventDef_tie::describe ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->describe ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::EventDef_tie::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 ACE_INLINE +CORBA::DefinitionKind POA_IR::EventDef_tie::def_kind ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->def_kind ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::EventDef_tie::destroy ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->destroy ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +POA_IR::EmitsDef_tie::EmitsDef_tie (T &t) + : ptr_ (&t), + poa_ (PortableServer::POA::_nil ()), + rel_ (0) +{} + +template ACE_INLINE +POA_IR::EmitsDef_tie::EmitsDef_tie (T &t, PortableServer::POA_ptr poa) + : ptr_ (&t), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (0) +{} + +template ACE_INLINE +POA_IR::EmitsDef_tie::EmitsDef_tie (T *tp, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_nil ()), + rel_ (release) +{} + +template ACE_INLINE +POA_IR::EmitsDef_tie::EmitsDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (release) +{} + +template ACE_INLINE +POA_IR::EmitsDef_tie::~EmitsDef_tie (void) +{ + if (this->rel_) delete this->ptr_; +} + +template ACE_INLINE T * +POA_IR::EmitsDef_tie::_tied_object (void) +{ + return this->ptr_; +} + +template ACE_INLINE void +POA_IR::EmitsDef_tie::_tied_object (T &obj) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = &obj; + this->rel_ = 0; +} + +template ACE_INLINE void +POA_IR::EmitsDef_tie::_tied_object (T *obj, CORBA::Boolean release) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = obj; + this->rel_ = release; +} + +template ACE_INLINE CORBA::Boolean +POA_IR::EmitsDef_tie::_is_owner (void) +{ + return this->rel_; +} + +template ACE_INLINE void +POA_IR::EmitsDef_tie::_is_owner (CORBA::Boolean b) +{ + this->rel_ = b; +} + +template ACE_INLINE PortableServer::POA_ptr +POA_IR::EmitsDef_tie::_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 ACE_INLINE +CORBA::Boolean POA_IR::EmitsDef_tie::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 ACE_INLINE +CORBA_ValueDef_ptr POA_IR::EmitsDef_tie::event ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->event ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_IR::EmitsDef_tie::id ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->id ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::EmitsDef_tie::id ( + const char * id + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->id ( +id + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_IR::EmitsDef_tie::name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::EmitsDef_tie::name ( + const char * name + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->name ( +name + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_IR::EmitsDef_tie::version ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->version ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::EmitsDef_tie::version ( + const char * version + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->version ( +version + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Container_ptr POA_IR::EmitsDef_tie::defined_in ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->defined_in ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_IR::EmitsDef_tie::absolute_name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->absolute_name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Repository_ptr POA_IR::EmitsDef_tie::containing_repository ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->containing_repository ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Contained::Description * POA_IR::EmitsDef_tie::describe ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->describe ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::EmitsDef_tie::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 ACE_INLINE +CORBA::DefinitionKind POA_IR::EmitsDef_tie::def_kind ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->def_kind ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::EmitsDef_tie::destroy ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->destroy ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +POA_IR::PublishesDef_tie::PublishesDef_tie (T &t) + : ptr_ (&t), + poa_ (PortableServer::POA::_nil ()), + rel_ (0) +{} + +template ACE_INLINE +POA_IR::PublishesDef_tie::PublishesDef_tie (T &t, PortableServer::POA_ptr poa) + : ptr_ (&t), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (0) +{} + +template ACE_INLINE +POA_IR::PublishesDef_tie::PublishesDef_tie (T *tp, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_nil ()), + rel_ (release) +{} + +template ACE_INLINE +POA_IR::PublishesDef_tie::PublishesDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (release) +{} + +template ACE_INLINE +POA_IR::PublishesDef_tie::~PublishesDef_tie (void) +{ + if (this->rel_) delete this->ptr_; +} + +template ACE_INLINE T * +POA_IR::PublishesDef_tie::_tied_object (void) +{ + return this->ptr_; +} + +template ACE_INLINE void +POA_IR::PublishesDef_tie::_tied_object (T &obj) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = &obj; + this->rel_ = 0; +} + +template ACE_INLINE void +POA_IR::PublishesDef_tie::_tied_object (T *obj, CORBA::Boolean release) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = obj; + this->rel_ = release; +} + +template ACE_INLINE CORBA::Boolean +POA_IR::PublishesDef_tie::_is_owner (void) +{ + return this->rel_; +} + +template ACE_INLINE void +POA_IR::PublishesDef_tie::_is_owner (CORBA::Boolean b) +{ + this->rel_ = b; +} + +template ACE_INLINE PortableServer::POA_ptr +POA_IR::PublishesDef_tie::_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 ACE_INLINE +CORBA::Boolean POA_IR::PublishesDef_tie::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 ACE_INLINE +CORBA_ValueDef_ptr POA_IR::PublishesDef_tie::event ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->event ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_IR::PublishesDef_tie::id ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->id ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::PublishesDef_tie::id ( + const char * id + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->id ( +id + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_IR::PublishesDef_tie::name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::PublishesDef_tie::name ( + const char * name + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->name ( +name + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_IR::PublishesDef_tie::version ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->version ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::PublishesDef_tie::version ( + const char * version + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->version ( +version + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Container_ptr POA_IR::PublishesDef_tie::defined_in ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->defined_in ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_IR::PublishesDef_tie::absolute_name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->absolute_name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Repository_ptr POA_IR::PublishesDef_tie::containing_repository ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->containing_repository ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Contained::Description * POA_IR::PublishesDef_tie::describe ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->describe ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::PublishesDef_tie::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 ACE_INLINE +CORBA::DefinitionKind POA_IR::PublishesDef_tie::def_kind ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->def_kind ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::PublishesDef_tie::destroy ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->destroy ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +POA_IR::ConsumesDef_tie::ConsumesDef_tie (T &t) + : ptr_ (&t), + poa_ (PortableServer::POA::_nil ()), + rel_ (0) +{} + +template ACE_INLINE +POA_IR::ConsumesDef_tie::ConsumesDef_tie (T &t, PortableServer::POA_ptr poa) + : ptr_ (&t), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (0) +{} + +template ACE_INLINE +POA_IR::ConsumesDef_tie::ConsumesDef_tie (T *tp, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_nil ()), + rel_ (release) +{} + +template ACE_INLINE +POA_IR::ConsumesDef_tie::ConsumesDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (release) +{} + +template ACE_INLINE +POA_IR::ConsumesDef_tie::~ConsumesDef_tie (void) +{ + if (this->rel_) delete this->ptr_; +} + +template ACE_INLINE T * +POA_IR::ConsumesDef_tie::_tied_object (void) +{ + return this->ptr_; +} + +template ACE_INLINE void +POA_IR::ConsumesDef_tie::_tied_object (T &obj) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = &obj; + this->rel_ = 0; +} + +template ACE_INLINE void +POA_IR::ConsumesDef_tie::_tied_object (T *obj, CORBA::Boolean release) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = obj; + this->rel_ = release; +} + +template ACE_INLINE CORBA::Boolean +POA_IR::ConsumesDef_tie::_is_owner (void) +{ + return this->rel_; +} + +template ACE_INLINE void +POA_IR::ConsumesDef_tie::_is_owner (CORBA::Boolean b) +{ + this->rel_ = b; +} + +template ACE_INLINE PortableServer::POA_ptr +POA_IR::ConsumesDef_tie::_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 ACE_INLINE +CORBA::Boolean POA_IR::ConsumesDef_tie::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 ACE_INLINE +CORBA_ValueDef_ptr POA_IR::ConsumesDef_tie::event ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->event ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_IR::ConsumesDef_tie::id ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->id ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::ConsumesDef_tie::id ( + const char * id + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->id ( +id + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_IR::ConsumesDef_tie::name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::ConsumesDef_tie::name ( + const char * name + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->name ( +name + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_IR::ConsumesDef_tie::version ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->version ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::ConsumesDef_tie::version ( + const char * version + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->version ( +version + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Container_ptr POA_IR::ConsumesDef_tie::defined_in ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->defined_in ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_IR::ConsumesDef_tie::absolute_name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->absolute_name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Repository_ptr POA_IR::ConsumesDef_tie::containing_repository ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->containing_repository ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Contained::Description * POA_IR::ConsumesDef_tie::describe ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->describe ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::ConsumesDef_tie::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 ACE_INLINE +CORBA::DefinitionKind POA_IR::ConsumesDef_tie::def_kind ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->def_kind ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::ConsumesDef_tie::destroy ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->destroy ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +POA_IR::ComponentDef_tie::ComponentDef_tie (T &t) + : ptr_ (&t), + poa_ (PortableServer::POA::_nil ()), + rel_ (0) +{} + +template ACE_INLINE +POA_IR::ComponentDef_tie::ComponentDef_tie (T &t, PortableServer::POA_ptr poa) + : ptr_ (&t), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (0) +{} + +template ACE_INLINE +POA_IR::ComponentDef_tie::ComponentDef_tie (T *tp, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_nil ()), + rel_ (release) +{} + +template ACE_INLINE +POA_IR::ComponentDef_tie::ComponentDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (release) +{} + +template ACE_INLINE +POA_IR::ComponentDef_tie::~ComponentDef_tie (void) +{ + if (this->rel_) delete this->ptr_; +} + +template ACE_INLINE T * +POA_IR::ComponentDef_tie::_tied_object (void) +{ + return this->ptr_; +} + +template ACE_INLINE void +POA_IR::ComponentDef_tie::_tied_object (T &obj) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = &obj; + this->rel_ = 0; +} + +template ACE_INLINE void +POA_IR::ComponentDef_tie::_tied_object (T *obj, CORBA::Boolean release) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = obj; + this->rel_ = release; +} + +template ACE_INLINE CORBA::Boolean +POA_IR::ComponentDef_tie::_is_owner (void) +{ + return this->rel_; +} + +template ACE_INLINE void +POA_IR::ComponentDef_tie::_is_owner (CORBA::Boolean b) +{ + this->rel_ = b; +} + +template ACE_INLINE PortableServer::POA_ptr +POA_IR::ComponentDef_tie::_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 ACE_INLINE +CORBA_InterfaceDefSeq * POA_IR::ComponentDef_tie::supported_interfaces ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->supported_interfaces ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::ComponentDef_tie::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 ACE_INLINE +IR::ComponentDef_ptr POA_IR::ComponentDef_tie::base_component ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->base_component ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +IR::ProvidesDefSeq * POA_IR::ComponentDef_tie::provides_interfaces ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->provides_interfaces ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +IR::UsesDefSeq * POA_IR::ComponentDef_tie::uses_interfaces ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->uses_interfaces ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +IR::EmitsDefSeq * POA_IR::ComponentDef_tie::emits_events ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->emits_events ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +IR::PublishesDefSeq * POA_IR::ComponentDef_tie::publishes_events ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->publishes_events ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +IR::ConsumesDefSeq * POA_IR::ComponentDef_tie::consumes_events ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->consumes_events ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA::Boolean POA_IR::ComponentDef_tie::is_basic ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->is_basic ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +IR::ProvidesDef_ptr POA_IR::ComponentDef_tie::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 ACE_INLINE +IR::UsesDef_ptr POA_IR::ComponentDef_tie::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 ACE_INLINE +IR::EmitsDef_ptr POA_IR::ComponentDef_tie::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 ACE_INLINE +IR::PublishesDef_ptr POA_IR::ComponentDef_tie::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 ACE_INLINE +IR::ConsumesDef_ptr POA_IR::ComponentDef_tie::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 ACE_INLINE +CORBA_InterfaceDefSeq * POA_IR::ComponentDef_tie::base_interfaces ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->base_interfaces ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::ComponentDef_tie::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 ACE_INLINE +CORBA::Boolean POA_IR::ComponentDef_tie::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 ACE_INLINE +CORBA_InterfaceDef::FullInterfaceDescription * POA_IR::ComponentDef_tie::describe_interface ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->describe_interface ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_AttributeDef_ptr POA_IR::ComponentDef_tie::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 ACE_INLINE +CORBA_OperationDef_ptr POA_IR::ComponentDef_tie::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 ACE_INLINE +CORBA_Contained_ptr POA_IR::ComponentDef_tie::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 ACE_INLINE +CORBA_ContainedSeq * POA_IR::ComponentDef_tie::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 ACE_INLINE +CORBA_ContainedSeq * POA_IR::ComponentDef_tie::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 ACE_INLINE +CORBA_Container::DescriptionSeq * POA_IR::ComponentDef_tie::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 ACE_INLINE +CORBA_ModuleDef_ptr POA_IR::ComponentDef_tie::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 ACE_INLINE +CORBA_ConstantDef_ptr POA_IR::ComponentDef_tie::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 ACE_INLINE +CORBA_StructDef_ptr POA_IR::ComponentDef_tie::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 ACE_INLINE +CORBA_UnionDef_ptr POA_IR::ComponentDef_tie::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 ACE_INLINE +CORBA_EnumDef_ptr POA_IR::ComponentDef_tie::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 ACE_INLINE +CORBA_AliasDef_ptr POA_IR::ComponentDef_tie::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 ACE_INLINE +CORBA_InterfaceDef_ptr POA_IR::ComponentDef_tie::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 ACE_INLINE +CORBA_ValueDef_ptr POA_IR::ComponentDef_tie::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 ACE_INLINE +CORBA_ValueBoxDef_ptr POA_IR::ComponentDef_tie::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 ACE_INLINE +CORBA_ExceptionDef_ptr POA_IR::ComponentDef_tie::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 ACE_INLINE +CORBA_NativeDef_ptr POA_IR::ComponentDef_tie::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 ACE_INLINE +CORBA_AbstractInterfaceDef_ptr POA_IR::ComponentDef_tie::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 ACE_INLINE +CORBA_LocalInterfaceDef_ptr POA_IR::ComponentDef_tie::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 ACE_INLINE +char * POA_IR::ComponentDef_tie::id ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->id ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::ComponentDef_tie::id ( + const char * id + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->id ( +id + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_IR::ComponentDef_tie::name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::ComponentDef_tie::name ( + const char * name + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->name ( +name + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_IR::ComponentDef_tie::version ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->version ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::ComponentDef_tie::version ( + const char * version + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->version ( +version + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Container_ptr POA_IR::ComponentDef_tie::defined_in ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->defined_in ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_IR::ComponentDef_tie::absolute_name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->absolute_name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Repository_ptr POA_IR::ComponentDef_tie::containing_repository ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->containing_repository ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Contained::Description * POA_IR::ComponentDef_tie::describe ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->describe ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::ComponentDef_tie::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 ACE_INLINE +CORBA::TypeCode_ptr POA_IR::ComponentDef_tie::type ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->type ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA::DefinitionKind POA_IR::ComponentDef_tie::def_kind ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->def_kind ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::ComponentDef_tie::destroy ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->destroy ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +POA_IR::PrimaryKeyDef_tie::PrimaryKeyDef_tie (T &t) + : ptr_ (&t), + poa_ (PortableServer::POA::_nil ()), + rel_ (0) +{} + +template ACE_INLINE +POA_IR::PrimaryKeyDef_tie::PrimaryKeyDef_tie (T &t, PortableServer::POA_ptr poa) + : ptr_ (&t), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (0) +{} + +template ACE_INLINE +POA_IR::PrimaryKeyDef_tie::PrimaryKeyDef_tie (T *tp, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_nil ()), + rel_ (release) +{} + +template ACE_INLINE +POA_IR::PrimaryKeyDef_tie::PrimaryKeyDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (release) +{} + +template ACE_INLINE +POA_IR::PrimaryKeyDef_tie::~PrimaryKeyDef_tie (void) +{ + if (this->rel_) delete this->ptr_; +} + +template ACE_INLINE T * +POA_IR::PrimaryKeyDef_tie::_tied_object (void) +{ + return this->ptr_; +} + +template ACE_INLINE void +POA_IR::PrimaryKeyDef_tie::_tied_object (T &obj) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = &obj; + this->rel_ = 0; +} + +template ACE_INLINE void +POA_IR::PrimaryKeyDef_tie::_tied_object (T *obj, CORBA::Boolean release) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = obj; + this->rel_ = release; +} + +template ACE_INLINE CORBA::Boolean +POA_IR::PrimaryKeyDef_tie::_is_owner (void) +{ + return this->rel_; +} + +template ACE_INLINE void +POA_IR::PrimaryKeyDef_tie::_is_owner (CORBA::Boolean b) +{ + this->rel_ = b; +} + +template ACE_INLINE PortableServer::POA_ptr +POA_IR::PrimaryKeyDef_tie::_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 ACE_INLINE +CORBA::Boolean POA_IR::PrimaryKeyDef_tie::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 ACE_INLINE +CORBA_ValueDef_ptr POA_IR::PrimaryKeyDef_tie::primary_key ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->primary_key ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_IR::PrimaryKeyDef_tie::id ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->id ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::PrimaryKeyDef_tie::id ( + const char * id + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->id ( +id + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_IR::PrimaryKeyDef_tie::name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::PrimaryKeyDef_tie::name ( + const char * name + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->name ( +name + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_IR::PrimaryKeyDef_tie::version ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->version ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::PrimaryKeyDef_tie::version ( + const char * version + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->version ( +version + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Container_ptr POA_IR::PrimaryKeyDef_tie::defined_in ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->defined_in ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_IR::PrimaryKeyDef_tie::absolute_name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->absolute_name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Repository_ptr POA_IR::PrimaryKeyDef_tie::containing_repository ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->containing_repository ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Contained::Description * POA_IR::PrimaryKeyDef_tie::describe ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->describe ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::PrimaryKeyDef_tie::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 ACE_INLINE +CORBA::DefinitionKind POA_IR::PrimaryKeyDef_tie::def_kind ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->def_kind ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::PrimaryKeyDef_tie::destroy ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->destroy ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +POA_IR::FactoryDef_tie::FactoryDef_tie (T &t) + : ptr_ (&t), + poa_ (PortableServer::POA::_nil ()), + rel_ (0) +{} + +template ACE_INLINE +POA_IR::FactoryDef_tie::FactoryDef_tie (T &t, PortableServer::POA_ptr poa) + : ptr_ (&t), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (0) +{} + +template ACE_INLINE +POA_IR::FactoryDef_tie::FactoryDef_tie (T *tp, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_nil ()), + rel_ (release) +{} + +template ACE_INLINE +POA_IR::FactoryDef_tie::FactoryDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (release) +{} + +template ACE_INLINE +POA_IR::FactoryDef_tie::~FactoryDef_tie (void) +{ + if (this->rel_) delete this->ptr_; +} + +template ACE_INLINE T * +POA_IR::FactoryDef_tie::_tied_object (void) +{ + return this->ptr_; +} + +template ACE_INLINE void +POA_IR::FactoryDef_tie::_tied_object (T &obj) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = &obj; + this->rel_ = 0; +} + +template ACE_INLINE void +POA_IR::FactoryDef_tie::_tied_object (T *obj, CORBA::Boolean release) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = obj; + this->rel_ = release; +} + +template ACE_INLINE CORBA::Boolean +POA_IR::FactoryDef_tie::_is_owner (void) +{ + return this->rel_; +} + +template ACE_INLINE void +POA_IR::FactoryDef_tie::_is_owner (CORBA::Boolean b) +{ + this->rel_ = b; +} + +template ACE_INLINE PortableServer::POA_ptr +POA_IR::FactoryDef_tie::_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 ACE_INLINE +CORBA::TypeCode_ptr POA_IR::FactoryDef_tie::result ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->result ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_IDLType_ptr POA_IR::FactoryDef_tie::result_def ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->result_def ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::FactoryDef_tie::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 ACE_INLINE +CORBA_ParDescriptionSeq * POA_IR::FactoryDef_tie::params ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->params ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::FactoryDef_tie::params ( + const CORBA_ParDescriptionSeq & params + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->params ( +params + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA::OperationMode POA_IR::FactoryDef_tie::mode ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->mode ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::FactoryDef_tie::mode ( + CORBA::OperationMode mode + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->mode ( +mode + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_ContextIdSeq * POA_IR::FactoryDef_tie::contexts ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->contexts ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::FactoryDef_tie::contexts ( + const CORBA_ContextIdSeq & contexts + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->contexts ( +contexts + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_ExceptionDefSeq * POA_IR::FactoryDef_tie::exceptions ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->exceptions ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::FactoryDef_tie::exceptions ( + const CORBA_ExceptionDefSeq & exceptions + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->exceptions ( +exceptions + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_IR::FactoryDef_tie::id ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->id ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::FactoryDef_tie::id ( + const char * id + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->id ( +id + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_IR::FactoryDef_tie::name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::FactoryDef_tie::name ( + const char * name + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->name ( +name + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_IR::FactoryDef_tie::version ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->version ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::FactoryDef_tie::version ( + const char * version + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->version ( +version + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Container_ptr POA_IR::FactoryDef_tie::defined_in ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->defined_in ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_IR::FactoryDef_tie::absolute_name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->absolute_name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Repository_ptr POA_IR::FactoryDef_tie::containing_repository ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->containing_repository ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Contained::Description * POA_IR::FactoryDef_tie::describe ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->describe ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::FactoryDef_tie::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 ACE_INLINE +CORBA::DefinitionKind POA_IR::FactoryDef_tie::def_kind ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->def_kind ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::FactoryDef_tie::destroy ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->destroy ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +POA_IR::FinderDef_tie::FinderDef_tie (T &t) + : ptr_ (&t), + poa_ (PortableServer::POA::_nil ()), + rel_ (0) +{} + +template ACE_INLINE +POA_IR::FinderDef_tie::FinderDef_tie (T &t, PortableServer::POA_ptr poa) + : ptr_ (&t), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (0) +{} + +template ACE_INLINE +POA_IR::FinderDef_tie::FinderDef_tie (T *tp, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_nil ()), + rel_ (release) +{} + +template ACE_INLINE +POA_IR::FinderDef_tie::FinderDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (release) +{} + +template ACE_INLINE +POA_IR::FinderDef_tie::~FinderDef_tie (void) +{ + if (this->rel_) delete this->ptr_; +} + +template ACE_INLINE T * +POA_IR::FinderDef_tie::_tied_object (void) +{ + return this->ptr_; +} + +template ACE_INLINE void +POA_IR::FinderDef_tie::_tied_object (T &obj) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = &obj; + this->rel_ = 0; +} + +template ACE_INLINE void +POA_IR::FinderDef_tie::_tied_object (T *obj, CORBA::Boolean release) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = obj; + this->rel_ = release; +} + +template ACE_INLINE CORBA::Boolean +POA_IR::FinderDef_tie::_is_owner (void) +{ + return this->rel_; +} + +template ACE_INLINE void +POA_IR::FinderDef_tie::_is_owner (CORBA::Boolean b) +{ + this->rel_ = b; +} + +template ACE_INLINE PortableServer::POA_ptr +POA_IR::FinderDef_tie::_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 ACE_INLINE +CORBA::TypeCode_ptr POA_IR::FinderDef_tie::result ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->result ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_IDLType_ptr POA_IR::FinderDef_tie::result_def ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->result_def ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::FinderDef_tie::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 ACE_INLINE +CORBA_ParDescriptionSeq * POA_IR::FinderDef_tie::params ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->params ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::FinderDef_tie::params ( + const CORBA_ParDescriptionSeq & params + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->params ( +params + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA::OperationMode POA_IR::FinderDef_tie::mode ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->mode ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::FinderDef_tie::mode ( + CORBA::OperationMode mode + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->mode ( +mode + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_ContextIdSeq * POA_IR::FinderDef_tie::contexts ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->contexts ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::FinderDef_tie::contexts ( + const CORBA_ContextIdSeq & contexts + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->contexts ( +contexts + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_ExceptionDefSeq * POA_IR::FinderDef_tie::exceptions ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->exceptions ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::FinderDef_tie::exceptions ( + const CORBA_ExceptionDefSeq & exceptions + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->exceptions ( +exceptions + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_IR::FinderDef_tie::id ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->id ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::FinderDef_tie::id ( + const char * id + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->id ( +id + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_IR::FinderDef_tie::name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::FinderDef_tie::name ( + const char * name + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->name ( +name + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_IR::FinderDef_tie::version ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->version ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::FinderDef_tie::version ( + const char * version + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->version ( +version + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Container_ptr POA_IR::FinderDef_tie::defined_in ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->defined_in ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_IR::FinderDef_tie::absolute_name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->absolute_name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Repository_ptr POA_IR::FinderDef_tie::containing_repository ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->containing_repository ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Contained::Description * POA_IR::FinderDef_tie::describe ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->describe ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::FinderDef_tie::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 ACE_INLINE +CORBA::DefinitionKind POA_IR::FinderDef_tie::def_kind ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->def_kind ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::FinderDef_tie::destroy ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->destroy ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +POA_IR::HomeDef_tie::HomeDef_tie (T &t) + : ptr_ (&t), + poa_ (PortableServer::POA::_nil ()), + rel_ (0) +{} + +template ACE_INLINE +POA_IR::HomeDef_tie::HomeDef_tie (T &t, PortableServer::POA_ptr poa) + : ptr_ (&t), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (0) +{} + +template ACE_INLINE +POA_IR::HomeDef_tie::HomeDef_tie (T *tp, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_nil ()), + rel_ (release) +{} + +template ACE_INLINE +POA_IR::HomeDef_tie::HomeDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (release) +{} + +template ACE_INLINE +POA_IR::HomeDef_tie::~HomeDef_tie (void) +{ + if (this->rel_) delete this->ptr_; +} + +template ACE_INLINE T * +POA_IR::HomeDef_tie::_tied_object (void) +{ + return this->ptr_; +} + +template ACE_INLINE void +POA_IR::HomeDef_tie::_tied_object (T &obj) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = &obj; + this->rel_ = 0; +} + +template ACE_INLINE void +POA_IR::HomeDef_tie::_tied_object (T *obj, CORBA::Boolean release) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = obj; + this->rel_ = release; +} + +template ACE_INLINE CORBA::Boolean +POA_IR::HomeDef_tie::_is_owner (void) +{ + return this->rel_; +} + +template ACE_INLINE void +POA_IR::HomeDef_tie::_is_owner (CORBA::Boolean b) +{ + this->rel_ = b; +} + +template ACE_INLINE PortableServer::POA_ptr +POA_IR::HomeDef_tie::_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 ACE_INLINE +IR::HomeDef_ptr POA_IR::HomeDef_tie::base_home ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->base_home ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +IR::ComponentDef_ptr POA_IR::HomeDef_tie::managed_component ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->managed_component ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +IR::PrimaryKeyDef_ptr POA_IR::HomeDef_tie::primary_key ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->primary_key ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +IR::FactoryDefSeq * POA_IR::HomeDef_tie::factories ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->factories ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +IR::FinderDefSeq * POA_IR::HomeDef_tie::finders ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->finders ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA::Boolean POA_IR::HomeDef_tie::is_basic ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->is_basic ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +IR::PrimaryKeyDef_ptr POA_IR::HomeDef_tie::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 ACE_INLINE +IR::FactoryDef_ptr POA_IR::HomeDef_tie::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 ACE_INLINE +IR::FinderDef_ptr POA_IR::HomeDef_tie::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 ACE_INLINE +CORBA_InterfaceDefSeq * POA_IR::HomeDef_tie::base_interfaces ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->base_interfaces ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::HomeDef_tie::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 ACE_INLINE +CORBA::Boolean POA_IR::HomeDef_tie::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 ACE_INLINE +CORBA_InterfaceDef::FullInterfaceDescription * POA_IR::HomeDef_tie::describe_interface ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->describe_interface ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_AttributeDef_ptr POA_IR::HomeDef_tie::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 ACE_INLINE +CORBA_OperationDef_ptr POA_IR::HomeDef_tie::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 ACE_INLINE +CORBA_Contained_ptr POA_IR::HomeDef_tie::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 ACE_INLINE +CORBA_ContainedSeq * POA_IR::HomeDef_tie::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 ACE_INLINE +CORBA_ContainedSeq * POA_IR::HomeDef_tie::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 ACE_INLINE +CORBA_Container::DescriptionSeq * POA_IR::HomeDef_tie::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 ACE_INLINE +CORBA_ModuleDef_ptr POA_IR::HomeDef_tie::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 ACE_INLINE +CORBA_ConstantDef_ptr POA_IR::HomeDef_tie::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 ACE_INLINE +CORBA_StructDef_ptr POA_IR::HomeDef_tie::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 ACE_INLINE +CORBA_UnionDef_ptr POA_IR::HomeDef_tie::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 ACE_INLINE +CORBA_EnumDef_ptr POA_IR::HomeDef_tie::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 ACE_INLINE +CORBA_AliasDef_ptr POA_IR::HomeDef_tie::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 ACE_INLINE +CORBA_InterfaceDef_ptr POA_IR::HomeDef_tie::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 ACE_INLINE +CORBA_ValueDef_ptr POA_IR::HomeDef_tie::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 ACE_INLINE +CORBA_ValueBoxDef_ptr POA_IR::HomeDef_tie::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 ACE_INLINE +CORBA_ExceptionDef_ptr POA_IR::HomeDef_tie::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 ACE_INLINE +CORBA_NativeDef_ptr POA_IR::HomeDef_tie::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 ACE_INLINE +CORBA_AbstractInterfaceDef_ptr POA_IR::HomeDef_tie::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 ACE_INLINE +CORBA_LocalInterfaceDef_ptr POA_IR::HomeDef_tie::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 ACE_INLINE +char * POA_IR::HomeDef_tie::id ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->id ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::HomeDef_tie::id ( + const char * id + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->id ( +id + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_IR::HomeDef_tie::name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::HomeDef_tie::name ( + const char * name + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->name ( +name + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_IR::HomeDef_tie::version ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->version ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::HomeDef_tie::version ( + const char * version + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->version ( +version + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Container_ptr POA_IR::HomeDef_tie::defined_in ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->defined_in ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_IR::HomeDef_tie::absolute_name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->absolute_name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Repository_ptr POA_IR::HomeDef_tie::containing_repository ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->containing_repository ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Contained::Description * POA_IR::HomeDef_tie::describe ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->describe ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::HomeDef_tie::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 ACE_INLINE +CORBA::TypeCode_ptr POA_IR::HomeDef_tie::type ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->type ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA::DefinitionKind POA_IR::HomeDef_tie::def_kind ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->def_kind ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_IR::HomeDef_tie::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::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::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::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::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 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 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 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 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 ACE_INLINE +POA_CORBA_FixedDef_tie::POA_CORBA_FixedDef_tie (T &t) + : ptr_ (&t), + poa_ (PortableServer::POA::_nil ()), + rel_ (0) +{} + +template ACE_INLINE +POA_CORBA_FixedDef_tie::POA_CORBA_FixedDef_tie (T &t, PortableServer::POA_ptr poa) + : ptr_ (&t), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (0) +{} + +template ACE_INLINE +POA_CORBA_FixedDef_tie::POA_CORBA_FixedDef_tie (T *tp, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_nil ()), + rel_ (release) +{} + +template ACE_INLINE +POA_CORBA_FixedDef_tie::POA_CORBA_FixedDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (release) +{} + +template ACE_INLINE +POA_CORBA_FixedDef_tie::~POA_CORBA_FixedDef_tie (void) +{ + if (this->rel_) delete this->ptr_; +} + +template ACE_INLINE T * +POA_CORBA_FixedDef_tie::_tied_object (void) +{ + return this->ptr_; +} + +template ACE_INLINE void +POA_CORBA_FixedDef_tie::_tied_object (T &obj) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = &obj; + this->rel_ = 0; +} + +template ACE_INLINE void +POA_CORBA_FixedDef_tie::_tied_object (T *obj, CORBA::Boolean release) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = obj; + this->rel_ = release; +} + +template ACE_INLINE CORBA::Boolean +POA_CORBA_FixedDef_tie::_is_owner (void) +{ + return this->rel_; +} + +template ACE_INLINE void +POA_CORBA_FixedDef_tie::_is_owner (CORBA::Boolean b) +{ + this->rel_ = b; +} + +template ACE_INLINE PortableServer::POA_ptr +POA_CORBA_FixedDef_tie::_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 ACE_INLINE +CORBA::UShort POA_CORBA_FixedDef_tie::digits ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->digits ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_FixedDef_tie::digits ( + CORBA::UShort digits + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->digits ( +digits + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA::Short POA_CORBA_FixedDef_tie::scale ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->scale ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_FixedDef_tie::scale ( + CORBA::Short scale + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->scale ( +scale + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA::TypeCode_ptr POA_CORBA_FixedDef_tie::type ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->type ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA::DefinitionKind POA_CORBA_FixedDef_tie::def_kind ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->def_kind ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_FixedDef_tie::destroy ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->destroy ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +POA_CORBA_ValueMemberDef_tie::POA_CORBA_ValueMemberDef_tie (T &t) + : ptr_ (&t), + poa_ (PortableServer::POA::_nil ()), + rel_ (0) +{} + +template ACE_INLINE +POA_CORBA_ValueMemberDef_tie::POA_CORBA_ValueMemberDef_tie (T &t, PortableServer::POA_ptr poa) + : ptr_ (&t), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (0) +{} + +template ACE_INLINE +POA_CORBA_ValueMemberDef_tie::POA_CORBA_ValueMemberDef_tie (T *tp, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_nil ()), + rel_ (release) +{} + +template ACE_INLINE +POA_CORBA_ValueMemberDef_tie::POA_CORBA_ValueMemberDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (release) +{} + +template ACE_INLINE +POA_CORBA_ValueMemberDef_tie::~POA_CORBA_ValueMemberDef_tie (void) +{ + if (this->rel_) delete this->ptr_; +} + +template ACE_INLINE T * +POA_CORBA_ValueMemberDef_tie::_tied_object (void) +{ + return this->ptr_; +} + +template ACE_INLINE void +POA_CORBA_ValueMemberDef_tie::_tied_object (T &obj) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = &obj; + this->rel_ = 0; +} + +template ACE_INLINE void +POA_CORBA_ValueMemberDef_tie::_tied_object (T *obj, CORBA::Boolean release) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = obj; + this->rel_ = release; +} + +template ACE_INLINE CORBA::Boolean +POA_CORBA_ValueMemberDef_tie::_is_owner (void) +{ + return this->rel_; +} + +template ACE_INLINE void +POA_CORBA_ValueMemberDef_tie::_is_owner (CORBA::Boolean b) +{ + this->rel_ = b; +} + +template ACE_INLINE PortableServer::POA_ptr +POA_CORBA_ValueMemberDef_tie::_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 ACE_INLINE +CORBA::TypeCode_ptr POA_CORBA_ValueMemberDef_tie::type ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->type ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_IDLType_ptr POA_CORBA_ValueMemberDef_tie::type_def ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->type_def ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_ValueMemberDef_tie::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 ACE_INLINE +CORBA::Visibility POA_CORBA_ValueMemberDef_tie::access ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->access ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_ValueMemberDef_tie::access ( + CORBA::Visibility access + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->access ( +access + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_ValueMemberDef_tie::id ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->id ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_ValueMemberDef_tie::id ( + const char * id + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->id ( +id + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_ValueMemberDef_tie::name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_ValueMemberDef_tie::name ( + const char * name + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->name ( +name + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_ValueMemberDef_tie::version ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->version ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_ValueMemberDef_tie::version ( + const char * version + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->version ( +version + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Container_ptr POA_CORBA_ValueMemberDef_tie::defined_in ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->defined_in ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_ValueMemberDef_tie::absolute_name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->absolute_name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Repository_ptr POA_CORBA_ValueMemberDef_tie::containing_repository ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->containing_repository ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Contained::Description * POA_CORBA_ValueMemberDef_tie::describe ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->describe ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_ValueMemberDef_tie::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 ACE_INLINE +CORBA::DefinitionKind POA_CORBA_ValueMemberDef_tie::def_kind ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->def_kind ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_ValueMemberDef_tie::destroy ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->destroy ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +POA_CORBA_ValueDef_tie::POA_CORBA_ValueDef_tie (T &t) + : ptr_ (&t), + poa_ (PortableServer::POA::_nil ()), + rel_ (0) +{} + +template ACE_INLINE +POA_CORBA_ValueDef_tie::POA_CORBA_ValueDef_tie (T &t, PortableServer::POA_ptr poa) + : ptr_ (&t), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (0) +{} + +template ACE_INLINE +POA_CORBA_ValueDef_tie::POA_CORBA_ValueDef_tie (T *tp, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_nil ()), + rel_ (release) +{} + +template ACE_INLINE +POA_CORBA_ValueDef_tie::POA_CORBA_ValueDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (release) +{} + +template ACE_INLINE +POA_CORBA_ValueDef_tie::~POA_CORBA_ValueDef_tie (void) +{ + if (this->rel_) delete this->ptr_; +} + +template ACE_INLINE T * +POA_CORBA_ValueDef_tie::_tied_object (void) +{ + return this->ptr_; +} + +template ACE_INLINE void +POA_CORBA_ValueDef_tie::_tied_object (T &obj) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = &obj; + this->rel_ = 0; +} + +template ACE_INLINE void +POA_CORBA_ValueDef_tie::_tied_object (T *obj, CORBA::Boolean release) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = obj; + this->rel_ = release; +} + +template ACE_INLINE CORBA::Boolean +POA_CORBA_ValueDef_tie::_is_owner (void) +{ + return this->rel_; +} + +template ACE_INLINE void +POA_CORBA_ValueDef_tie::_is_owner (CORBA::Boolean b) +{ + this->rel_ = b; +} + +template ACE_INLINE PortableServer::POA_ptr +POA_CORBA_ValueDef_tie::_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 ACE_INLINE +CORBA_InterfaceDefSeq * POA_CORBA_ValueDef_tie::supported_interfaces ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->supported_interfaces ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_ValueDef_tie::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 ACE_INLINE +CORBA_InitializerSeq * POA_CORBA_ValueDef_tie::initializers ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->initializers ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_ValueDef_tie::initializers ( + const CORBA_InitializerSeq & initializers + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->initializers ( +initializers + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_ValueDef_ptr POA_CORBA_ValueDef_tie::base_value ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->base_value ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_ValueDef_tie::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 ACE_INLINE +CORBA_ValueDefSeq * POA_CORBA_ValueDef_tie::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 ACE_INLINE +void POA_CORBA_ValueDef_tie::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 ACE_INLINE +CORBA::Boolean POA_CORBA_ValueDef_tie::is_abstract ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->is_abstract ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_ValueDef_tie::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 ACE_INLINE +CORBA::Boolean POA_CORBA_ValueDef_tie::is_custom ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->is_custom ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_ValueDef_tie::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 ACE_INLINE +CORBA::Boolean POA_CORBA_ValueDef_tie::is_truncatable ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->is_truncatable ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_ValueDef_tie::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 ACE_INLINE +CORBA::Boolean POA_CORBA_ValueDef_tie::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 ACE_INLINE +CORBA_ValueDef::FullValueDescription * POA_CORBA_ValueDef_tie::describe_value ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->describe_value ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_ValueMemberDef_ptr POA_CORBA_ValueDef_tie::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 ACE_INLINE +CORBA_AttributeDef_ptr POA_CORBA_ValueDef_tie::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 ACE_INLINE +CORBA_OperationDef_ptr POA_CORBA_ValueDef_tie::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 ACE_INLINE +CORBA_Contained_ptr POA_CORBA_ValueDef_tie::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 ACE_INLINE +CORBA_ContainedSeq * POA_CORBA_ValueDef_tie::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 ACE_INLINE +CORBA_ContainedSeq * POA_CORBA_ValueDef_tie::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 ACE_INLINE +CORBA_Container::DescriptionSeq * POA_CORBA_ValueDef_tie::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 ACE_INLINE +CORBA_ModuleDef_ptr POA_CORBA_ValueDef_tie::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 ACE_INLINE +CORBA_ConstantDef_ptr POA_CORBA_ValueDef_tie::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 ACE_INLINE +CORBA_StructDef_ptr POA_CORBA_ValueDef_tie::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 ACE_INLINE +CORBA_UnionDef_ptr POA_CORBA_ValueDef_tie::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 ACE_INLINE +CORBA_EnumDef_ptr POA_CORBA_ValueDef_tie::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 ACE_INLINE +CORBA_AliasDef_ptr POA_CORBA_ValueDef_tie::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 ACE_INLINE +CORBA_InterfaceDef_ptr POA_CORBA_ValueDef_tie::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 ACE_INLINE +CORBA_ValueDef_ptr POA_CORBA_ValueDef_tie::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 ACE_INLINE +CORBA_ValueBoxDef_ptr POA_CORBA_ValueDef_tie::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 ACE_INLINE +CORBA_ExceptionDef_ptr POA_CORBA_ValueDef_tie::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 ACE_INLINE +CORBA_NativeDef_ptr POA_CORBA_ValueDef_tie::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 ACE_INLINE +CORBA_AbstractInterfaceDef_ptr POA_CORBA_ValueDef_tie::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 ACE_INLINE +CORBA_LocalInterfaceDef_ptr POA_CORBA_ValueDef_tie::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 ACE_INLINE +char * POA_CORBA_ValueDef_tie::id ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->id ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_ValueDef_tie::id ( + const char * id + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->id ( +id + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_ValueDef_tie::name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_ValueDef_tie::name ( + const char * name + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->name ( +name + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_ValueDef_tie::version ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->version ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_ValueDef_tie::version ( + const char * version + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->version ( +version + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Container_ptr POA_CORBA_ValueDef_tie::defined_in ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->defined_in ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_ValueDef_tie::absolute_name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->absolute_name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Repository_ptr POA_CORBA_ValueDef_tie::containing_repository ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->containing_repository ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Contained::Description * POA_CORBA_ValueDef_tie::describe ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->describe ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_ValueDef_tie::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 ACE_INLINE +CORBA::TypeCode_ptr POA_CORBA_ValueDef_tie::type ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->type ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA::DefinitionKind POA_CORBA_ValueDef_tie::def_kind ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->def_kind ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_ValueDef_tie::destroy ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->destroy ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +POA_CORBA_ValueBoxDef_tie::POA_CORBA_ValueBoxDef_tie (T &t) + : ptr_ (&t), + poa_ (PortableServer::POA::_nil ()), + rel_ (0) +{} + +template ACE_INLINE +POA_CORBA_ValueBoxDef_tie::POA_CORBA_ValueBoxDef_tie (T &t, PortableServer::POA_ptr poa) + : ptr_ (&t), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (0) +{} + +template ACE_INLINE +POA_CORBA_ValueBoxDef_tie::POA_CORBA_ValueBoxDef_tie (T *tp, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_nil ()), + rel_ (release) +{} + +template ACE_INLINE +POA_CORBA_ValueBoxDef_tie::POA_CORBA_ValueBoxDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (release) +{} + +template ACE_INLINE +POA_CORBA_ValueBoxDef_tie::~POA_CORBA_ValueBoxDef_tie (void) +{ + if (this->rel_) delete this->ptr_; +} + +template ACE_INLINE T * +POA_CORBA_ValueBoxDef_tie::_tied_object (void) +{ + return this->ptr_; +} + +template ACE_INLINE void +POA_CORBA_ValueBoxDef_tie::_tied_object (T &obj) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = &obj; + this->rel_ = 0; +} + +template ACE_INLINE void +POA_CORBA_ValueBoxDef_tie::_tied_object (T *obj, CORBA::Boolean release) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = obj; + this->rel_ = release; +} + +template ACE_INLINE CORBA::Boolean +POA_CORBA_ValueBoxDef_tie::_is_owner (void) +{ + return this->rel_; +} + +template ACE_INLINE void +POA_CORBA_ValueBoxDef_tie::_is_owner (CORBA::Boolean b) +{ + this->rel_ = b; +} + +template ACE_INLINE PortableServer::POA_ptr +POA_CORBA_ValueBoxDef_tie::_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 ACE_INLINE +CORBA_IDLType_ptr POA_CORBA_ValueBoxDef_tie::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 ACE_INLINE +void POA_CORBA_ValueBoxDef_tie::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 ACE_INLINE +char * POA_CORBA_ValueBoxDef_tie::id ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->id ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_ValueBoxDef_tie::id ( + const char * id + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->id ( +id + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_ValueBoxDef_tie::name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_ValueBoxDef_tie::name ( + const char * name + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->name ( +name + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_ValueBoxDef_tie::version ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->version ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_ValueBoxDef_tie::version ( + const char * version + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->version ( +version + ACE_ENV_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Container_ptr POA_CORBA_ValueBoxDef_tie::defined_in ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->defined_in ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +char * POA_CORBA_ValueBoxDef_tie::absolute_name ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->absolute_name ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Repository_ptr POA_CORBA_ValueBoxDef_tie::containing_repository ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->containing_repository ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA_Contained::Description * POA_CORBA_ValueBoxDef_tie::describe ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->describe ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_ValueBoxDef_tie::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 ACE_INLINE +CORBA::TypeCode_ptr POA_CORBA_ValueBoxDef_tie::type ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->type ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +CORBA::DefinitionKind POA_CORBA_ValueBoxDef_tie::def_kind ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->def_kind ( + ACE_ENV_SINGLE_ARG_PARAMETER + ); +} + +template ACE_INLINE +void POA_CORBA_ValueBoxDef_tie::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 +// +// ============================================================================ + +#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 kind_queue; + ACE_Unbounded_Queue 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 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 ¶ms, + 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 ¶ms, + 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 &kind_queue, + ACE_Unbounded_Queue &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 &kind_queue, + ACE_Unbounded_Queue &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 &key_queue + ) +{ + ACE_Unbounded_Queue kind_queue; + ACE_Unbounded_Queue 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 &key_queue + ) +{ + ACE_Unbounded_Queue kind_queue; + ACE_Unbounded_Queue 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 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 +// +// ============================================================================ + +#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 ¶ms, + 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 ¶ms, + 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 &kind_queue, + ACE_Unbounded_Queue &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 &kind_queue, + ACE_Unbounded_Queue &path_queue + ); + // Depth-first traversal of the inheritance tree to get all + // the base interfaces. + + void inherited_attributes ( + ACE_Unbounded_Queue &key_queue + ); + // Depth-first traversal of the inheritance tree to get all the + // attributes. + + void inherited_operations ( + ACE_Unbounded_Queue &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 +// +// ============================================================================ + +#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 +// +// ============================================================================ + +#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 +// +// ============================================================================ + +#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 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 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 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 ¶ms + 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 ¶ms + 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 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 kind_queue; + ACE_Unbounded_Queue 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 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 +// +// ============================================================================ + +#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 ¶ms + ACE_ENV_ARG_DECL_WITH_DEFAULTS) + + ACE_THROW_SPEC ((CORBA::SystemException)); + + void params_i ( + const CORBA_ParDescriptionSeq ¶ms + 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] " + " [-r]" + " [-m]" + " [-p]" + " [-b] " + "\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 ; +#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) +#pragma instantiate ACE_Singleton +#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 + // 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; + +#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 +// +// ============================================================================ + +#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 +// +// ============================================================================ + +#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 +// +// ============================================================================ + +#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 +// +// ============================================================================ + +#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 (), + CORBA::NO_MEMORY ()); + } + else + { + ACE_NEW_THROW_EX (this->lock_, + ACE_Lock_Adapter (), + 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 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 +// +// ============================================================================ + +#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 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 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 +// +// ============================================================================ + +#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 safety (impl); + + POA_CORBA_AttributeDef_tie *impl_tie = 0; + ACE_NEW_THROW_EX (impl_tie, + POA_CORBA_AttributeDef_tie (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 safety (impl); + + POA_CORBA_ConstantDef_tie *impl_tie = 0; + ACE_NEW_THROW_EX (impl_tie, + POA_CORBA_ConstantDef_tie (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 safety (impl); + + POA_CORBA_ExceptionDef_tie *impl_tie = 0; + ACE_NEW_THROW_EX (impl_tie, + POA_CORBA_ExceptionDef_tie (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 safety (impl); + + POA_CORBA_InterfaceDef_tie *impl_tie = 0; + ACE_NEW_THROW_EX (impl_tie, + POA_CORBA_InterfaceDef_tie (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 safety (impl); + + POA_CORBA_AbstractInterfaceDef_tie *impl_tie = 0; + ACE_NEW_THROW_EX ( + impl_tie, + POA_CORBA_AbstractInterfaceDef_tie (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 safety (impl); + + POA_CORBA_LocalInterfaceDef_tie *impl_tie = 0; + ACE_NEW_THROW_EX ( + impl_tie, + POA_CORBA_LocalInterfaceDef_tie (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 safety (impl); + + POA_CORBA_ModuleDef_tie *impl_tie = 0; + ACE_NEW_THROW_EX (impl_tie, + POA_CORBA_ModuleDef_tie (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 safety (impl); + + POA_CORBA_OperationDef_tie *impl_tie = 0; + ACE_NEW_THROW_EX (impl_tie, + POA_CORBA_OperationDef_tie (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 safety (impl); + + POA_CORBA_AliasDef_tie *impl_tie = 0; + ACE_NEW_THROW_EX (impl_tie, + POA_CORBA_AliasDef_tie (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 safety (impl); + + POA_CORBA_StructDef_tie *impl_tie = 0; + ACE_NEW_THROW_EX (impl_tie, + POA_CORBA_StructDef_tie (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 safety (impl); + + POA_CORBA_UnionDef_tie *impl_tie = 0; + ACE_NEW_THROW_EX (impl_tie, + POA_CORBA_UnionDef_tie (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 safety (impl); + + POA_CORBA_EnumDef_tie *impl_tie = 0; + ACE_NEW_THROW_EX (impl_tie, + POA_CORBA_EnumDef_tie (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 safety (impl); + + POA_CORBA_PrimitiveDef_tie *impl_tie = 0; + ACE_NEW_THROW_EX (impl_tie, + POA_CORBA_PrimitiveDef_tie (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 safety (impl); + + POA_CORBA_StringDef_tie *impl_tie = 0; + ACE_NEW_THROW_EX (impl_tie, + POA_CORBA_StringDef_tie (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 safety (impl); + + POA_CORBA_SequenceDef_tie *impl_tie = 0; + ACE_NEW_THROW_EX (impl_tie, + POA_CORBA_SequenceDef_tie (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 safety (impl); + + POA_CORBA_ArrayDef_tie *impl_tie = 0; + ACE_NEW_THROW_EX (impl_tie, + POA_CORBA_ArrayDef_tie (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 safety (impl); + + POA_CORBA_WstringDef_tie *impl_tie = 0; + ACE_NEW_THROW_EX (impl_tie, + POA_CORBA_WstringDef_tie (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 safety (impl); + + POA_CORBA_FixedDef_tie *impl_tie = 0; + ACE_NEW_THROW_EX (impl_tie, + POA_CORBA_FixedDef_tie (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 safety (impl); + + POA_CORBA_ValueDef_tie *impl_tie = 0; + ACE_NEW_THROW_EX (impl_tie, + POA_CORBA_ValueDef_tie (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 safety (impl); + + POA_CORBA_ValueBoxDef_tie *impl_tie = 0; + ACE_NEW_THROW_EX (impl_tie, + POA_CORBA_ValueBoxDef_tie (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 safety (impl); + + POA_CORBA_ValueMemberDef_tie *impl_tie = 0; + ACE_NEW_THROW_EX ( + impl_tie, + POA_CORBA_ValueMemberDef_tie (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 safety (impl); + + POA_CORBA_NativeDef_tie *impl_tie = 0; + ACE_NEW_THROW_EX (impl_tie, + POA_CORBA_NativeDef_tie (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 safety (impl); + + POA_IR::ComponentDef_tie *impl_tie = 0; + ACE_NEW_THROW_EX (impl_tie, + POA_IR::ComponentDef_tie (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 safety (impl); + + POA_IR::HomeDef_tie *impl_tie = 0; + ACE_NEW_THROW_EX (impl_tie, + POA_IR::HomeDef_tie (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 safety (impl); + + POA_IR::FactoryDef_tie *impl_tie = 0; + ACE_NEW_THROW_EX (impl_tie, + POA_IR::FactoryDef_tie (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 safety (impl); + + POA_IR::FinderDef_tie *impl_tie = 0; + ACE_NEW_THROW_EX (impl_tie, + POA_IR::FinderDef_tie (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 safety (impl); + + POA_IR::PrimaryKeyDef_tie *impl_tie = 0; + ACE_NEW_THROW_EX (impl_tie, + POA_IR::PrimaryKeyDef_tie (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 safety (impl); + + POA_IR::EmitsDef_tie *impl_tie = 0; + ACE_NEW_THROW_EX (impl_tie, + POA_IR::EmitsDef_tie (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 safety (impl); + + POA_IR::PublishesDef_tie *impl_tie = 0; + ACE_NEW_THROW_EX (impl_tie, + POA_IR::PublishesDef_tie (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 safety (impl); + + POA_IR::ConsumesDef_tie *impl_tie = 0; + ACE_NEW_THROW_EX (impl_tie, + POA_IR::ConsumesDef_tie (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 safety (impl); + + POA_IR::ProvidesDef_tie *impl_tie = 0; + ACE_NEW_THROW_EX (impl_tie, + POA_IR::ProvidesDef_tie (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 safety (impl); + + POA_IR::UsesDef_tie *impl_tie = 0; + ACE_NEW_THROW_EX (impl_tie, + POA_IR::UsesDef_tie (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 +// +// ============================================================================ + +#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 kind_queue; + ACE_Unbounded_Queue path_queue; + ACE_Unbounded_Queue 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 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 +// +// ============================================================================ + +#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 +// +// ============================================================================ + +#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 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 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 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 +// +// ============================================================================ + +#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 +// +// ============================================================================ + +#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 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 +// +// ============================================================================ + +#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 ¶ms, + 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 +// +// ============================================================================ + +#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 ¶ms, + 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 ¶ms, + 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 +// +// ============================================================================ + +#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 +// +// ============================================================================ + +#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; +template class ACE_Unbounded_Queue; +template class ACE_Unbounded_Queue_Iterator; +template class ACE_Node; +template class ACE_Unbounded_Queue; +template class ACE_Unbounded_Queue_Iterator; + +template class POA_CORBA_Repository_tie; +template class POA_IR::ComponentRepository_tie; +template class POA_CORBA_PrimitiveDef_tie; +template class POA_CORBA_StringDef_tie; +template class POA_CORBA_WstringDef_tie; +template class POA_CORBA_SequenceDef_tie; +template class POA_CORBA_ArrayDef_tie; +template class POA_CORBA_FixedDef_tie; +template class POA_CORBA_EnumDef_tie; +template class POA_CORBA_AliasDef_tie; +template class POA_CORBA_NativeDef_tie; +template class POA_CORBA_ValueBoxDef_tie; +template class POA_CORBA_UnionDef_tie; +template class POA_CORBA_StructDef_tie; +template class POA_IR::ConsumesDef_tie; +template class POA_IR::PublishesDef_tie; +template class POA_IR::EmitsDef_tie; +template class POA_IR::PrimaryKeyDef_tie; +template class POA_IR::ProvidesDef_tie; +template class POA_IR::UsesDef_tie; +template class POA_CORBA_ValueMemberDef_tie; +template class POA_IR::FactoryDef_tie; +template class POA_IR::FinderDef_tie; +template class POA_CORBA_AttributeDef_tie; +template class POA_CORBA_ConstantDef_tie; +template class POA_IR::ComponentDef_tie; +template class POA_IR::HomeDef_tie; +template class POA_CORBA_ValueDef_tie; +template class POA_CORBA_ExceptionDef_tie; +template class POA_CORBA_ModuleDef_tie; +template class POA_CORBA_OperationDef_tie; +template class POA_CORBA_InterfaceDef_tie; +template class POA_CORBA_AbstractInterfaceDef_tie; +template class POA_CORBA_LocalInterfaceDef_tie; + +template class auto_ptr; +template class ACE_Auto_Basic_Ptr; +template class auto_ptr; +template class ACE_Auto_Basic_Ptr; +template class auto_ptr; +template class ACE_Auto_Basic_Ptr; +template class auto_ptr; +template class ACE_Auto_Basic_Ptr; +template class auto_ptr; +template class ACE_Auto_Basic_Ptr; +template class auto_ptr; +template class ACE_Auto_Basic_Ptr; +template class auto_ptr; +template class ACE_Auto_Basic_Ptr; +template class auto_ptr; +template class ACE_Auto_Basic_Ptr; +template class auto_ptr; +template class ACE_Auto_Basic_Ptr; +template class auto_ptr; +template class ACE_Auto_Basic_Ptr; +template class auto_ptr; +template class ACE_Auto_Basic_Ptr; +template class auto_ptr; +template class ACE_Auto_Basic_Ptr; +template class auto_ptr; +template class ACE_Auto_Basic_Ptr; +template class auto_ptr; +template class ACE_Auto_Basic_Ptr; +template class auto_ptr; +template class ACE_Auto_Basic_Ptr; +template class auto_ptr; +template class ACE_Auto_Basic_Ptr; +template class auto_ptr; +template class ACE_Auto_Basic_Ptr; +template class auto_ptr; +template class ACE_Auto_Basic_Ptr; +template class auto_ptr; +template class ACE_Auto_Basic_Ptr; +template class auto_ptr; +template class ACE_Auto_Basic_Ptr; +template class auto_ptr; +template class ACE_Auto_Basic_Ptr; +template class auto_ptr; +template class ACE_Auto_Basic_Ptr; +template class auto_ptr; +template class ACE_Auto_Basic_Ptr; +template class auto_ptr; +template class ACE_Auto_Basic_Ptr; +template class auto_ptr; +template class ACE_Auto_Basic_Ptr; +template class auto_ptr; +template class ACE_Auto_Basic_Ptr; +template class auto_ptr; +template class ACE_Auto_Basic_Ptr; +template class auto_ptr; +template class ACE_Auto_Basic_Ptr; +template class auto_ptr; +template class ACE_Auto_Basic_Ptr; +template class auto_ptr; +template class ACE_Auto_Basic_Ptr; +template class auto_ptr; +template class ACE_Auto_Basic_Ptr; +template class auto_ptr; +template class ACE_Auto_Basic_Ptr; +template class auto_ptr; +template class ACE_Auto_Basic_Ptr; +template class auto_ptr; +template class ACE_Auto_Basic_Ptr; +template class auto_ptr; +template class ACE_Auto_Basic_Ptr; +template class auto_ptr; +template class ACE_Auto_Basic_Ptr; +template class auto_ptr; +template class ACE_Auto_Basic_Ptr; + +template class ACE_Auto_Basic_Ptr; + +#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) + +#pragma instantiate ACE_Node +#pragma instantiate ACE_Unbounded_Queue +#pragma instantiate ACE_Unbounded_Queue_Iterator +#pragma instantiate ACE_Node +#pragma instantiate ACE_Unbounded_Queue +#pragma instantiate ACE_Unbounded_Queue_Iterator + +#pragma instantiate POA_CORBA_Repository_tie +#pragma instantiate POA_IR::ComponentRepository_tie +#pragma instantiate POA_CORBA_PrimitiveDef_tie +#pragma instantiate POA_CORBA_StringDef_tie +#pragma instantiate POA_CORBA_WstringDef_tie +#pragma instantiate POA_CORBA_SequenceDef_tie +#pragma instantiate POA_CORBA_ArrayDef_tie +#pragma instantiate POA_CORBA_FixedDef_tie +#pragma instantiate POA_CORBA_EnumDef_tie +#pragma instantiate POA_CORBA_AliasDef_tie +#pragma instantiate POA_CORBA_NativeDef_tie +#pragma instantiate POA_CORBA_ValueBoxDef_tie +#pragma instantiate POA_CORBA_UnionDef_tie +#pragma instantiate POA_CORBA_StructDef_tie +#pragma instantiate POA_IR::ConsumesDef_tie +#pragma instantiate POA_IR::PublishesDef_tie +#pragma instantiate POA_IR::EmitsDef_tie +#pragma instantiate POA_IR::PrimaryKeyDef_tie +#pragma instantiate POA_IR::ProvidesDef_tie +#pragma instantiate POA_IR::UsesDef_tie +#pragma instantiate POA_CORBA_ValueMemberDef_tie +#pragma instantiate POA_IR::FactoryDef_tie +#pragma instantiate POA_IR::FinderDef_tie +#pragma instantiate POA_CORBA_AttributeDef_tie +#pragma instantiate POA_CORBA_ConstantDef_tie +#pragma instantiate POA_IR::ComponentDef_tie +#pragma instantiate POA_IR::HomeDef_tie +#pragma instantiate POA_CORBA_ValueDef_tie +#pragma instantiate POA_CORBA_ExceptionDef_tie +#pragma instantiate POA_CORBA_ModuleDef_tie +#pragma instantiate POA_CORBA_OperationDef_tie +#pragma instantiate POA_CORBA_InterfaceDef_tie +#pragma instantiate POA_CORBA_AbstractInterfaceDef_tie +#pragma instantiate POA_CORBA_LocalInterfaceDef_tie + +#pragma instantiate auto_ptr +#pragma instantiate ACE_Auto_Basic_Ptr +#pragma instantiate auto_ptr +#pragma instantiate ACE_Auto_Basic_Ptr +#pragma instantiate auto_ptr +#pragma instantiate ACE_Auto_Basic_Ptr +#pragma instantiate auto_ptr +#pragma instantiate ACE_Auto_Basic_Ptr +#pragma instantiate auto_ptr +#pragma instantiate ACE_Auto_Basic_Ptr +#pragma instantiate auto_ptr +#pragma instantiate ACE_Auto_Basic_Ptr +#pragma instantiate auto_ptr +#pragma instantiate ACE_Auto_Basic_Ptr +#pragma instantiate auto_ptr +#pragma instantiate ACE_Auto_Basic_Ptr +#pragma instantiate auto_ptr +#pragma instantiate ACE_Auto_Basic_Ptr +#pragma instantiate auto_ptr +#pragma instantiate ACE_Auto_Basic_Ptr +#pragma instantiate auto_ptr +#pragma instantiate ACE_Auto_Basic_Ptr +#pragma instantiate auto_ptr +#pragma instantiate ACE_Auto_Basic_Ptr +#pragma instantiate auto_ptr +#pragma instantiate ACE_Auto_Basic_Ptr +#pragma instantiate auto_ptr +#pragma instantiate ACE_Auto_Basic_Ptr +#pragma instantiate auto_ptr +#pragma instantiate ACE_Auto_Basic_Ptr +#pragma instantiate auto_ptr +#pragma instantiate ACE_Auto_Basic_Ptr +#pragma instantiate auto_ptr +#pragma instantiate ACE_Auto_Basic_Ptr +#pragma instantiate auto_ptr +#pragma instantiate ACE_Auto_Basic_Ptr +#pragma instantiate auto_ptr +#pragma instantiate ACE_Auto_Basic_Ptr +#pragma instantiate auto_ptr +#pragma instantiate ACE_Auto_Basic_Ptr +#pragma instantiate auto_ptr +#pragma instantiate ACE_Auto_Basic_Ptr +#pragma instantiate auto_ptr +#pragma instantiate ACE_Auto_Basic_Ptr +#pragma instantiate auto_ptr +#pragma instantiate ACE_Auto_Basic_Ptr +#pragma instantiate auto_ptr +#pragma instantiate ACE_Auto_Basic_Ptr +#pragma instantiate auto_ptr +#pragma instantiate ACE_Auto_Basic_Ptr +#pragma instantiate auto_ptr +#pragma instantiate ACE_Auto_Basic_Ptr +#pragma instantiate auto_ptr +#pragma instantiate ACE_Auto_Basic_Ptr +#pragma instantiate auto_ptr +#pragma instantiate ACE_Auto_Basic_Ptr +#pragma instantiate auto_ptr +#pragma instantiate ACE_Auto_Basic_Ptr +#pragma instantiate auto_ptr +#pragma instantiate ACE_Auto_Basic_Ptr +#pragma instantiate auto_ptr +#pragma instantiate ACE_Auto_Basic_Ptr +#pragma instantiate auto_ptr +#pragma instantiate ACE_Auto_Basic_Ptr +#pragma instantiate auto_ptr +#pragma instantiate ACE_Auto_Basic_Ptr +#pragma instantiate auto_ptr +#pragma instantiate ACE_Auto_Basic_Ptr +#pragma instantiate auto_ptr +#pragma instantiate ACE_Auto_Basic_Ptr +#pragma instantiate auto_ptr +#pragma instantiate ACE_Auto_Basic_Ptr +#pragma instantiate auto_ptr +#pragma instantiate ACE_Auto_Basic_Ptr + +#pragma instantiate ACE_Auto_Basic_Ptr + +#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 +// Torben Worm +// +// ============================================================================ + +#include "NS_client.h" +#include "tao/debug.h" +#include + +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 +// Torben Worm +// +// ============================================================================ + +#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 " - "-i " - "-p " - "-b " - "\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 " - "-n " - "\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 " - "-i " - "-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 " - "\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 " - "-i " - "-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 " - "\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 " - "-i " - "-b " - "-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 " - "\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 " - "-i " - "-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 " - "\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 " - "-i " - "-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 " - "\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 " - "-i " - "-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 " - "\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::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 + */ +//============================================================================= + + +#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 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 from the . Protocols that + * are pluggable can send data that are specific in the + * 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 + 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 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; +#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) +#pragma instantiate ACE_Array_Base +#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 + * @author Jesper S. M|ller + * @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 \ +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 . + : 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 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 + * @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 +// and the . +# 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 . + void *object_; + + /// Cleanup hook that gets called back. + ACE_CLEANUP_FUNC cleanup_hook_; + + /// Parameter passed to the . + 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 has been + * constructed. See for more + * information. + */ + static int starting_up (void); + + /// Returns 1 after the has been destroyed. + /// See 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 + /// 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 . + 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 can be + // constructed/destructed in
with + // . + /// 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 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 /**/ +# 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 /**/ +# 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 /**/ +# 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 /**/ +# 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 /**/ +# 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 /**/ +# else +# include /**/ +# 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 /**/ +# 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 /**/ +# endif /* !ACE_LACKS_FCNTL_H */ + +// Include additional/alternate headers for certain platfor/compiler combinations. +# if defined (ACE_NEEDS_SYS_FCNTL_H) +# include /**/ +# 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 /**/ +# 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 /**/ +# 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 /**/ +# else +# include /**/ +# 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 /**/ +# 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+ system calls */ +# include /**/ /* pNA+ TCP/IP Network Manager calls */ + + /* In the *simulator* environment, use unsigned int for size_t */ +# define size_t unsigned int + + + /* include pRPC+ Remote Procedure Call Library calls */ + /* are not supported by pSOSim */ + /* */ + /* include 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 /**/ +# include /**/ +# include /**/ +# include /**/ + +# 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 /**/ /* includes all pSOS headers */ +// #include /**/ /* pSOS system calls */ +# include /**/ /* pNA+ TCP/IP Network Manager calls */ +# include /**/ /* pHILE+ file system calls */ +// #include /**/ /* pREPC+ file system calls */ +# if defined (ACE_PSOS_DIAB_MIPS) +# if defined (ACE_PSOS_USES_DIAB_SYS_CALLS) +# include /**/ /* Diab Data supplied file system calls */ +# else +# include /**/ +# endif /* ACE_PSOS_USES_DIAB_SYS_CALLS */ +# include /**/ /* Diab Data supplied header file */ +# endif /* ACE_PSOS_DIAB_MIPS */ + +// This collides with phile.h +// #include /**/ /* 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 /**/ +# 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 /**/ +# 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 /**/ +# 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 /**/ +# endif /* SCO */ + +# if defined (ACE_HAS_SIGINFO_T) +# if !defined (ACE_LACKS_SIGINFO_H) +# if defined (__QNX__) +# include /**/ +# else /* ! __QNX__ */ +# include /**/ +# endif /* ! __QNX__ */ +# endif /* ACE_LACKS_SIGINFO_H */ +# if !defined (ACE_LACKS_UCONTEXT_H) +# include /**/ +# 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 /**/ +# if defined (ACE_HAS_STL_QUEUE_CONFLICT) +# undef queue +# endif /* ACE_HAS_STL_QUEUE_CONFLICT */ +# elif defined (ACE_HAS_OSF_TIMOD_H) +# include /**/ +# 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" 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 and +// methods. They must be unique and cannot +// conflict with the value of . 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 /**/ +# 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 /**/ // 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 /**/ +# else +# if !defined (ACE_LACKS_STDIO_H) +# include /**/ +# endif /* !ACE_LACKS_STDIO_H */ +# endif +#else /* 0 */ +# if !defined (ACE_LACKS_STDIO_H) +# include /**/ +# 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 /**/ +# 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 /**/ +# else +# if !defined (ACE_LACKS_MEMORY_H) +# include /**/ +# 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 /**/ +# endif /* !ACE_LACKS_STRING_H */ + +// IRIX5 defines bzero() in this odd file... +# if defined (ACE_HAS_BSTRING) +# include /**/ +# 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 /**/ +# 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 /**/ +# undef _XOPEN_EXTENDED_SOURCE +# endif /* AIX */ +//# else +//# include /**/ +# endif /* ACE_HAS_STREAMS */ +# include /**/ +# 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 /**/ +# 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 /**/ +# 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 /**/ +} +# elif !defined (ACE_LACKS_SYS_MMAN_H) +# include /**/ +# 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 /**/ +# 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 /**/ +# 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 /**/ +# 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 /**/ +# 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 /**/ +# 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 /**/ +# 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 /**/ +# define __cplusplus +# else +# include /**/ +# 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 /**/ +# 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 /**/ +# elif !defined (ACE_WIN32) +# if defined (ACE_HAS_STL_QUEUE_CONFLICT) +# define queue _Queue_ +# endif /* ACE_HAS_STL_QUEUE_CONFLICT */ +# include /**/ +# 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 /**/ +# 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 /**/ +# 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 /**/ +# 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 /**/ +# 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 +// 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 +// 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 +# 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 /**/ +# 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 /**/ +# 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 /**/ +# 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 /**/ +# 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 /**/ +# 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 /**/ +# 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 +# endif /* ACE_LACKS_SYS_WAIT_H */ + + + // Wrapping around wait status 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 /**/ +# 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 /**/ +# endif /* ACE_NEEDS_TERMIOS_H) */ + +# if defined (ACE_NEEDS_SYS_MODEM_H) // HPUX +# include /**/ +# 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 /**/ +# 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 /**/ +# endif /* sun */ + + // Need to #include these before #defining USYNC_PROCESS on SunOS 5.x. +# include /**/ +# include /**/ +# 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 /**/ +# 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 /**/ +# 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 /**/ +# 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 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 /**/ +# include /**/ +# 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 . + */ + +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 . + 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 /**/ +typedef rwlock_t ACE_rwlock_t; +# endif /* !ACE_LACKS_RWLOCK_T */ +# include /**/ +# 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 /**/ + +# include /**/ +# include /**/ +# include /**/ +# include /**/ +# include /**/ +# include /**/ +# include /**/ +# include /**/ +# include /**/ +# include /**/ + +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 . + 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 /**/ +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 . 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 /**/ +# endif /* ACE_LACKS_TIME_H */ + +# if defined (ACE_NEEDS_SYS_TIMES_H) + include /**/ +# endif /* ACE_NEEDS_SYS_TIMES_H) */ + +# if defined (ACE_NEEDS_SYS_TIME_H) +# include /**/ +# 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 /**/ +# 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 s supported by +// . +# 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 /**/ +# 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 /**/ + +# include /**/ +# include /**/ +# include /**/ +# include /**/ +# include /**/ +# include /**/ +# include /**/ +# include /**/ +# include /**/ +# include /**/ + +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 Binary files /dev/null and b/docs/ACE-inheritance.pdf.gz 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 +// +// ============================================================================ + +#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 +// +// ============================================================================ + +#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 +// +// ============================================================================ + +#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 reactor (ACE_Reactor::instance ()); + auto_ptr 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::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 +{ +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 and -p . 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 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 . This method will be + // called by the ACE_Asynch_* classes when an ACE_INVALID_HANDLE is + // passed to . + + 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 + // . + +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 +// = 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 +// +// ============================================================================ + +#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 reactor (new ACE_Reactor (impl)); + ACE_Reactor::instance (reactor.get ()); + auto_ptr 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 -- cgit v1.2.1