summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2010-08-24 18:15:09 +0000
committerparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2010-08-24 18:15:09 +0000
commit2ba21484da0a176c7b084b3dc956e61be7e8bb2c (patch)
treede90661357fb97b9d64b721e468fe356aa5db8db
parentd86939f8e188671a6226b24e0957d984050c0ed6 (diff)
downloadATCD-2ba21484da0a176c7b084b3dc956e61be7e8bb2c.tar.gz
ChangeLogTag: Tue Aug 24 18:13:42 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
-rw-r--r--ChangeLog1089
-rw-r--r--TAO_IDL/be/be_codegen.cpp12
-rw-r--r--TAO_IDL/be/be_sequence.cpp2
-rw-r--r--TAO_IDL/be/be_visitor_sequence/any_op_ch.cpp16
-rw-r--r--TAO_IDL/be/be_visitor_sequence/any_op_cs.cpp24
-rw-r--r--TAO_IDL/be/be_visitor_sequence/cdr_op_ch.cpp23
-rw-r--r--TAO_IDL/be/be_visitor_sequence/cdr_op_cs.cpp135
-rw-r--r--TAO_IDL/be/be_visitor_sequence/serializer_op_cs.cpp2
-rw-r--r--TAO_IDL/be/be_visitor_typedef/typedef_ch.cpp18
-rw-r--r--TAO_IDL/be_include/be_codegen.h2
-rw-r--r--tao/AnyTypeCode.mpc2
-rw-r--r--tao/AnyTypeCode/BasicTypeTraits.h28
-rw-r--r--tao/AnyTypeCode/Vector_AnyOp_T.h6
-rw-r--r--tao/CONV_FRAME.pidl4
-rw-r--r--tao/ClientRequestInterceptor_Adapter.h6
-rw-r--r--tao/Codeset/Codeset_Manager_i.cpp16
-rw-r--r--tao/GIOP_Message_Base.cpp4
-rw-r--r--tao/GIOP_Message_Generator_Parser_10.cpp6
-rw-r--r--tao/GIOP_Message_Generator_Parser_12.cpp2
-rw-r--r--tao/IIOP_Acceptor.cpp11
-rw-r--r--tao/IIOP_Connection_Handler.cpp2
-rw-r--r--tao/IIOP_Connection_Handler.h5
-rw-r--r--tao/IIOP_Profile.cpp45
-rw-r--r--tao/IIOP_Transport.cpp6
-rw-r--r--tao/IIOP_Transport.h3
-rw-r--r--tao/IOP.pidl3
-rw-r--r--tao/LocalObject.cpp4
-rw-r--r--tao/LocalObject.h4
-rw-r--r--tao/LocateRequest_Invocation_Adapter.cpp5
-rw-r--r--tao/LocateRequest_Invocation_Adapter.h4
-rw-r--r--tao/MProfile.cpp2
-rw-r--r--tao/MProfile.h6
-rw-r--r--tao/ORB.cpp2
-rw-r--r--tao/ORB.h27
-rw-r--r--tao/ORB_Core.cpp23
-rw-r--r--tao/ORB_Core.h14
-rw-r--r--tao/Object.cpp48
-rw-r--r--tao/Object.h6
-rw-r--r--tao/ObjectIdList.pidl4
-rw-r--r--tao/Object_KeyC.cpp58
-rw-r--r--tao/Object_KeyC.h41
-rw-r--r--tao/Policy_Current.cpp2
-rw-r--r--tao/Policy_Current.h2
-rw-r--r--tao/Policy_Current_Impl.cpp2
-rw-r--r--tao/Policy_Current_Impl.h2
-rw-r--r--tao/Policy_Forward.pidl4
-rw-r--r--tao/Policy_Manager.cpp7
-rw-r--r--tao/Policy_Manager.h2
-rw-r--r--tao/Policy_Set.cpp46
-rw-r--r--tao/Policy_Set.h2
-rw-r--r--tao/Policy_Set.inl2
-rw-r--r--tao/PortableServer.mpc2
-rw-r--r--tao/PortableServer/Active_Object_Map.cpp25
-rw-r--r--tao/PortableServer/Active_Object_Map.h38
-rw-r--r--tao/PortableServer/Active_Object_Map.inl46
-rw-r--r--tao/PortableServer/LifespanStrategy.h2
-rw-r--r--tao/PortableServer/Object_Adapter.h4
-rw-r--r--tao/PortableServer/POAManager.cpp10
-rw-r--r--tao/PortableServer/POAManager.h4
-rw-r--r--tao/PortableServer/POAManagerFactory.cpp13
-rw-r--r--tao/PortableServer/POAManagerFactory.h2
-rw-r--r--tao/PortableServer/POA_Policy_Set.cpp4
-rw-r--r--tao/PortableServer/POA_Policy_Set.h2
-rw-r--r--tao/PortableServer/PS_ForwardC.h2
-rw-r--r--tao/PortableServer/RequestProcessingStrategy.h2
-rw-r--r--tao/PortableServer/RequestProcessingStrategyAOMOnly.cpp2
-rw-r--r--tao/PortableServer/RequestProcessingStrategyAOMOnly.h2
-rw-r--r--tao/PortableServer/RequestProcessingStrategyDefaultServant.cpp2
-rw-r--r--tao/PortableServer/RequestProcessingStrategyDefaultServant.h2
-rw-r--r--tao/PortableServer/RequestProcessingStrategyServantManager.cpp2
-rw-r--r--tao/PortableServer/RequestProcessingStrategyServantManager.h2
-rw-r--r--tao/PortableServer/Root_POA.cpp234
-rw-r--r--tao/PortableServer/Root_POA.h54
-rw-r--r--tao/PortableServer/Root_POA.inl10
-rw-r--r--tao/PortableServer/ServantRetentionStrategy.h4
-rw-r--r--tao/PortableServer/ServantRetentionStrategyNonRetain.cpp11
-rw-r--r--tao/PortableServer/ServantRetentionStrategyNonRetain.h4
-rw-r--r--tao/PortableServer/ServantRetentionStrategyRetain.cpp18
-rw-r--r--tao/PortableServer/ServantRetentionStrategyRetain.h4
-rw-r--r--tao/Principal.cpp13
-rw-r--r--tao/Profile.cpp99
-rw-r--r--tao/Profile.h7
-rw-r--r--tao/Profile_Transport_Resolver.cpp4
-rw-r--r--tao/Profile_Transport_Resolver.h13
-rw-r--r--tao/Profile_Transport_Resolver.inl10
-rw-r--r--tao/ServerRequestInterceptor_Adapter.h6
-rw-r--r--tao/Service_Callbacks.h5
-rw-r--r--tao/Service_Context.cpp77
-rw-r--r--tao/Service_Context.inl2
-rw-r--r--tao/Service_Context_Handler_Registry.cpp2
-rw-r--r--tao/Services.pidl3
-rw-r--r--tao/Stub.cpp11
-rw-r--r--tao/Stub.h2
-rw-r--r--tao/Synch_Reply_Dispatcher.cpp11
-rw-r--r--tao/Synch_Reply_Dispatcher.h6
-rw-r--r--tao/TAO_Server_Request.cpp26
-rw-r--r--tao/TAO_Server_Request.h4
-rw-r--r--tao/TAO_Server_Request.inl4
-rw-r--r--tao/Tagged_Components.cpp67
-rw-r--r--tao/operation_details.inl4
-rw-r--r--tao/tao.mpc2
101 files changed, 1010 insertions, 1666 deletions
diff --git a/ChangeLog b/ChangeLog
index 6f2c48aa13f..53ad5204e16 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,998 +1,109 @@
-Fri Aug 13 13:48:03 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * orbsvcs/IFR_Service/makefile.am:
-
- Updated with new file in TAO_IFR_BE.
-
-Wed Aug 11 20:49:43 UTC 2010 Adam Mitz <mitza@ociweb.com>
-
- * tao/tao.mpc:
-
- install orb.idl.
-
-Tue Aug 10 17:46:16 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * TAO_IDL/fe/fe_init.cpp(fe_populate_global_scope):
-
- Put "omg.org" on the pragma prefix stack temporarily
- so it will be applied when creating CORBA module
- and its contents.
-
-Tue Aug 10 12:24:31 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * tests/IDL_Test/included.idl:
-
- Cosmetic changes.
-
-Mon Aug 9 17:06:41 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * TAO_IDL/ast/ast_redef.cpp:
- * TAO_IDL/Makefile.am:
-
- Removed the source file, since its only
- method has been moved rewritten in
- class FE_Utils, and updated the automake
- file.
-
- * TAO_IDL/include/fe_utils.h:
- * TAO_IDL/include/utl_scope_T.cpp:
- * TAO_IDL/include/global_extern.h:
- * TAO_IDL/ast/ast_module.cpp:
- * TAO_IDL/ast/ast_enum.cpp:
- * TAO_IDL/fe/fe_utils.cpp:
- * TAO_IDL/util/utl_scope.cpp:
-
- Rewrote the formerly global method
- can_be_redefined() in class FE_Utils,
- and rerouted all calls to the new version.
- This change fixes some redefinition bugs
- that were introduced in x.8.1, thanks to
- Robert Shectman <shectman at llnl dot gov> for
- reporting the problem.
-
- * tests/IDL_Test/interface.idl:
-
- Added test cases for the above change.
-
-Mon Aug 9 13:13:21 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * orbsvcs/tests/InterfaceRepo/Bug_3883_Regression/test.idl:
-
- Added id string.
-
-Sun Aug 8 21:10:30 UTC 2010 William R. Otte <wotte@dre.vanderbilt.edu>
+Tue Aug 24 18:13:42 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
+ * TAO_IDL/be/be_visitor_typedef/typedef_ch.cpp:
* TAO_IDL/be/be_codegen.cpp:
- * TAO_IDL/be/be_visitor_enum.cpp:
- * TAO_IDL/be/be_visitor_enum/any_op_ch.cpp:
- * TAO_IDL/be/be_visitor_enum/any_op_cs.cpp:
- * TAO_IDL/be/be_visitor_exception.cpp:
- * TAO_IDL/be/be_visitor_exception/any_op_ch.cpp:
- * TAO_IDL/be/be_visitor_exception/any_op_cs.cpp:
- * TAO_IDL/be/be_visitor_interface/any_op_ch.cpp:
- * TAO_IDL/be/be_visitor_interface/any_op_cs.cpp:
- * TAO_IDL/be/be_visitor_sequence.cpp:
* TAO_IDL/be/be_visitor_sequence/any_op_ch.cpp:
+ * TAO_IDL/be/be_visitor_sequence/cdr_op_ch.cpp:
* TAO_IDL/be/be_visitor_sequence/any_op_cs.cpp:
- * TAO_IDL/be/be_visitor_structure.cpp:
- * TAO_IDL/be/be_visitor_structure/any_op_ch.cpp:
- * TAO_IDL/be/be_visitor_structure/any_op_cs.cpp:
- * TAO_IDL/be/be_visitor_union.cpp:
- * TAO_IDL/be/be_visitor_union/any_op_ch.cpp:
- * TAO_IDL/be/be_visitor_union/any_op_cs.cpp:
- * tao/AnyTypeCode/Any.h:
- * tao/AnyTypeCode/Any.inl:
- * tao/AnyTypeCode/Any.cpp:
- * tao/AnyTypeCode/ExceptionA.h:
- * tao/AnyTypeCode/ExceptionA.cpp:
- * tao/AnyTypeCode/PolicyA.h:
- * tao/AnyTypeCode/PolicyA.cpp:
- * tao/AnyTypeCode/WrongTransactionA.h:
- * tao/AnyTypeCode/WrongTransactionA.cpp:
-
- Expanded use of the ACE_ANY_OPS_USE_NAMESPACE macro for compilers that
- implement strict argument dependent lookup, especially for overloaded
- operators.
-
- * tao/DynamicAny/DynCommon.cpp:
- * tao/Messaging/Buffering_Constraint_Policy.cpp:
- * tao/RTCORBA/RT_ProtocolPropertiesA.cpp:
- * tao/orbconf.h:
-
- Various compile fixes for the Clang LLVM compiler.
-
-Fri Aug 6 20:24:47 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * TAO_IDL/be/be_visitor_component.cpp:
- * TAO_IDL/be/be_visitor_home.cpp:
- * TAO_IDL/be_include/be_visitor_home.h:
-
- Removed unnecessary includes.
-
-Fri Aug 6 20:18:12 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * TAO_IDL/be/be_visitor_home/home_ch.cpp:
- * TAO_IDL/be/be_visitor_home/home_cs.cpp:
- * TAO_IDL/be_include/be_visitor_home/home_cs.h:
- * TAO_IDL/be_include/be_visitor_home/home_ch.h:
-
- Removed these visitors, their functionality has
- been subsumed by the corresponding interface
- visitors.
-
- * TAO_IDL/be/be_visitor_interface/interface_ch.cpp:
- * TAO_IDL/be/be_visitor_interface/interface_cs.cpp:
- * TAO_IDL/be/be_visitor_home.cpp:
- * TAO_IDL/be/be_visitor_module/module.cpp:
- * TAO_IDL/be_include/be_visitor_home.h:
-
- Changes related to the visitor removal described
- above.
-
-Fri Aug 6 18:57:50 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * TAO_IDL/be/be_visitor_component/component_ss.cpp:
- * TAO_IDL/be/be_visitor_component/component_sh.cpp:
- * TAO_IDL/be/be_visitor_component/component_si.cpp:
- * TAO_IDL/be_include/be_visitor_component/component_sh.h:
- * TAO_IDL/be_include/be_visitor_component/component_si.h:
- * TAO_IDL/be_include/be_visitor_component/component_ss.h:
-
- Removed these visitors, their functions are now taken
- over by the corresponding interface visitors.
-
- * TAO_IDL/be/be_visitor_component.cpp:
- * TAO_IDL/be/be_visitor_interface/interface_sh.cpp:
- * TAO_IDL/be/be_visitor_interface/interface_si.cpp:
- * TAO_IDL/be/be_visitor_interface/interface_ss.cpp:
- * TAO_IDL/be/be_component.cpp:
- * TAO_IDL/be/be_visitor_component/component.cpp:
- * TAO_IDL/be/be_visitor_module/module.cpp:
- * TAO_IDL/be/be_interface.cpp:
- * TAO_IDL/be_include/be_interface.h:
- * TAO_IDL/be_include/be_component.h:
- * TAO_IDL/be_include/be_visitor_interface/interface_sh.h:
- * TAO_IDL/be_include/be_visitor_interface/interface_si.h:
- * TAO_IDL/be_include/be_visitor_interface/interface_ss.h:
- * TAO_IDL/be_include/be_visitor_component.h:
-
- - Refactored code from component and interface skeleton
- visitors, to facilitate the removal of the former,
- as described above.
-
- - Formatted ACE_ERROR macros to use ACE_TEXT.
-
- - Cosmetic changes.
-
-Fri Aug 6 14:43:26 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * bin/tao_other_tests.lst:
-
- Added new test below.
-
-Fri Aug 6 14:35:45 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * orbsvcs/tests/InterfaceRepo/Bug_3881_Regression/*.*:
-
- New test, consisiting of IDL file and perl script, to
- check for reintroduction of [BUGID:3881].
-
-Fri Aug 6 13:42:39 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * orbsvcs/orbsvcs/IFRService/IFR_Service_Utils.cpp(valid_creation):
-
- Skipped call to pre_exist() check if the new entry represents
- an IDL module, since modules may be reopened. This bug (reported
- by Bogdan Jeram <bjeram at eso dot org>) was somehow
- reintroduced since 1.7.8. This fix handles any reopened
- module, and closes [BUGID:3881].
-
-Thu Aug 5 13:25:00 UTC 2010 Build CZar <buildczar at prismtech dot com>
-
- * tao/Valuetype/AbstractBase.h:
-
- Removed hard-coded 'inline' from declaration of _decr_refcount().
-
-Wed Aug 4 20:52:39 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * TAO_IDL/be/be_codegen.cpp:
- * TAO_IDL/be/be_util.cpp:
- * TAO_IDL/be/be_global.cpp:
- * TAO_IDL/be_include/be_global.h:
-
- New IDL compiler option -Sg, which disables the generation of
- unique extensions on header file preprocessor guards. These
- changes are from a patch supplied by Bogdan Jeram
- <bjeram at eso dot org>, and close [BUGID:3867].
-
- * docs/compiler.html:
-
- Updated IDL compiler options table.
-
-Wed Aug 4 19:24:15 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * MPC/config/rtcosscheduling.mpb:
- * orbsvcs/orbsvcs/RTCosScheduling:
- * orbsvcs/orbsvcs/RTCosScheduling.idl:
- * orbsvcs/orbsvcs/RTCosScheduling.mpc:
- * orbsvcs/orbsvcs/RTCosScheduling/RTCosScheduling_ClientScheduler_i.h:
- * orbsvcs/orbsvcs/RTCosScheduling/RTCosScheduling_ClientScheduler_i.cpp:
- * orbsvcs/orbsvcs/RTCosScheduling/RTCosScheduling_PCP_Manager.h:
- * orbsvcs/orbsvcs/RTCosScheduling/RTCosScheduling_PCP_Manager.inl:
- * orbsvcs/orbsvcs/RTCosScheduling/RTCosScheduling_PCP_Manager.cpp:
- * orbsvcs/orbsvcs/RTCosScheduling/RTCosScheduling_ServerScheduler_i.h:
- * orbsvcs/orbsvcs/RTCosScheduling/RTCosScheduling_ServerScheduler_i.inl:
- * orbsvcs/orbsvcs/RTCosScheduling/RTCosScheduling_ServerScheduler_i.cpp:
- * orbsvcs/orbsvcs/RTCosScheduling/RTCosScheduling_export.h:
- * orbsvcs/tests/RTCosScheduling:
- * orbsvcs/tests/RTCosScheduling/Object1_i.h:
- * orbsvcs/tests/RTCosScheduling/Object1_i.cpp:
- * orbsvcs/tests/RTCosScheduling/README:
- * orbsvcs/tests/RTCosScheduling/RTCosScheduling.mpc:
- * orbsvcs/tests/RTCosScheduling/client.cpp:
- * orbsvcs/tests/RTCosScheduling/run_test.pl:
- * orbsvcs/tests/RTCosScheduling/schedule.cfg:
- * orbsvcs/tests/RTCosScheduling/server.ior:
- * orbsvcs/tests/RTCosScheduling/server.cpp:
- * orbsvcs/tests/RTCosScheduling/svc.conf:
- * orbsvcs/tests/RTCosScheduling/testSched.idl:
- * orbsvcs/tests/RTCosScheduling/testSched_export.h:
- Removed these files, RTCosScheduling got disabled with a dummy label
- 5 years ago because it used a non portable way to register
- interceptors and in those 5 years nobody complained about this
-
-Wed Aug 4 17:54:39 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * test//Bug_3672_Regression/client.cpp:
-
- Changed call orb->_decr_refcnt() to new name _decr_refcount().
-
- * TAO_IDL/be/be_visitor_argument/invoke_cs.cpp:
- * TAO_IDL/be/be_visitor_argument/marshal_ss.cpp:
-
- Removed unused local variable and commented out code.
-
- * TAO_IDL/be/be_visitor_interface/interface_cs.cpp:
-
- In the generated marshal() operation, added generation of
- /*. . .*/ guards around the 'cdr' parameter if the
- interface is local and parameter is not used.
-
- * tao/Object.h:
-
- Removed hard-coded 'inline' from declaration of _decr_refcount().
-
-Wed Aug 4 14:48:11 UTC 2010 Adam Mitz <mitza@ociweb.com>
-
+ * TAO_IDL/be/be_visitor_sequence/cdr_op_cs.cpp:
+ * TAO_IDL/be/be_visitor_sequence/serializer_op_cs.cpp:
+ * TAO_IDL/be/be_sequence.cpp:
+ * TAO_IDL/be_include/be_codegen.h:
+ * tao/Tagged_Components.cpp:
+ * tao/Synch_Reply_Dispatcher.h:
+ * tao/ORB_Core.cpp:
* tao/tao.mpc:
-
- orb.idl is not a Template_File. Adding it to that list causes
- uninteded side-effects that produce an unusable project with vc10.
- Moved it to the PIDL_Files so that it will continue to not be
- compiled by tao_idl.
-
-Wed Aug 4 14:43:14 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * orbsvcs/orbsvcs/Notify/XML_Loader.h:
- * orbsvcs/orbsvcs/Notify/XML_Loader.cpp:
- Fixed compile errors
-
-Wed Aug 4 13:10:21 UTC 2010 Marcel Smit <msmit@remedy.nl>
-
- * tao/SystemException.cpp:
- Renamed TAO_SKIP_NEW_LINE_IN_EXCEPTION_LOGGING to
- TAO_SUPPRESS_NEW_LINE_IN_EXCEPTION_LOGGING.
-
-Wed Aug 4 12:21:58 UTC 2010 Marcel Smit <msmit@remedy.nl>
-
- * tao/SystemException.cpp:
- Added TAO_SKIP_NEW_LINE_IN_EXCEPTION_LOGGING define. When set,
- no newline character will occur in the exception logging and therefor
- all logging will appear on one line.
-
-Wed Aug 4 08:41:54 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * orbsvcs/ImplRepo_Service/Locator_Repository.cpp:
- Fixed compile errors
-
-Tue Aug 3 14:48:42 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * tao/Environment.cpp:
-
- Added Id string.
-
- * tao/Object.inl:
- * tao/Valuetype/AbstractBase.inl:
-
- Replace 'inline' with 'ACE_INLINE'.
-
- * TAO_IDL/be/be_visitor_argument/argument.cpp:
-
- Added missing final newline.
-
-Tue Aug 3 14:17:23 UTC 2010 Vladimir Zykov <vladimir.zykov@prismtech.com>
-
- * tests/Exposed_Policies/Policy_Verifier.cpp:
- Fixed memory leaks.
-
-Tue Aug 3 13:59:58 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * TAO_IDL/be/be_visitor_component/any_op_ch.cpp:
- * TAO_IDL/be/be_visitor_component/any_op_cs.cpp:
- * TAO_IDL/be/be_visitor_component/component_ch.cpp:
- * TAO_IDL/be/be_visitor_component/component_ci.cpp:
- * TAO_IDL/be/be_visitor_component/cdr_op_ch.cpp:
- * TAO_IDL/be/be_visitor_component/component_cs.cpp:
- * TAO_IDL/be/be_visitor_component/cdr_op_cs.cpp:
- * TAO_IDL/be_include/be_visitor_component/cdr_op_cs.h:
- * TAO_IDL/be_include/be_visitor_component/any_op_ch.h:
- * TAO_IDL/be_include/be_visitor_component/any_op_cs.h:
- * TAO_IDL/be_include/be_visitor_component/component_ch.h:
- * TAO_IDL/be_include/be_visitor_component/component_ci.h:
- * TAO_IDL/be_include/be_visitor_component/cdr_op_ch.h:
- * TAO_IDL/be_include/be_visitor_component/component_cs.h:
-
- Removed these files, the contained visitors are now
- replaced in the traversal by the corresponding interface
- visitor.
-
- * TAO_IDL/be/be_visitor_exception/exception_ch.cpp:
- * TAO_IDL/be/be_visitor_typecode/typecode_decl.cpp:
- * TAO_IDL/be/be_visitor_argument/invoke_cs.cpp:
- * TAO_IDL/be/be_visitor_argument/argument.cpp:
- * TAO_IDL/be/be_visitor_argument/upcall_ss.cpp:
- * TAO_IDL/be/be_visitor_argument/vardecl_ss.cpp:
- * TAO_IDL/be/be_visitor_argument/marshal_ss.cpp:
- * TAO_IDL/be/be_visitor_component.cpp:
- * TAO_IDL/be/be_visitor_operation/operation_ss.cpp:
- * TAO_IDL/be/be_visitor_interface/interface_ch.cpp:
- * TAO_IDL/be/be_visitor_interface/interface_ci.cpp:
- * TAO_IDL/be/be_visitor_interface/cdr_op_ch.cpp:
- * TAO_IDL/be/be_visitor_interface/interface_cs.cpp:
- * TAO_IDL/be/be_visitor_interface/cdr_op_cs.cpp:
- * TAO_IDL/be/be_visitor_interface/any_op_ch.cpp:
- * TAO_IDL/be/be_visitor_interface/any_op_cs.cpp:
- * TAO_IDL/be/be_visitor_sequence/any_op_ch.cpp:
- * TAO_IDL/be/be_visitor_sequence/sequence_ch.cpp:
- * TAO_IDL/be/be_visitor_sequence/any_op_cs.cpp:
- * TAO_IDL/be/be_visitor_sequence/sequence_cs.cpp:
- * TAO_IDL/be/be_type.cpp:
- * TAO_IDL/be/be_visitor_valuebox/valuebox_ch.cpp:
- * TAO_IDL/be/be_visitor_valuetype/valuetype_ch.cpp:
- * TAO_IDL/be/be_component.cpp:
- * TAO_IDL/be/be_visitor_interface.cpp:
- * TAO_IDL/be/be_visitor_module/module.cpp:
- * TAO_IDL/be/be_visitor_union/union_ch.cpp:
- * TAO_IDL/be/be_visitor_structure/structure_ch.cpp:
- * TAO_IDL/be/be_extended_port.cpp:
- * TAO_IDL/be/be_interface.cpp:
- * TAO_IDL/be_include/be_interface.h:
- * TAO_IDL/be_include/be_component.h:
- * TAO_IDL/be_include/be_visitor_typecode/typecode_decl.h:
- * TAO_IDL/be_include/be_visitor_argument/argument.h:
- * TAO_IDL/be_include/be_type.h:
- * TAO_IDL/be_include/be_visitor_interface/cdr_op_cs.h:
- * TAO_IDL/be_include/be_visitor_interface/any_op_ch.h:
- * TAO_IDL/be_include/be_visitor_interface/interface.h:
- * TAO_IDL/be_include/be_visitor_interface/any_op_cs.h:
- * TAO_IDL/be_include/be_visitor_interface/interface_ch.h:
- * TAO_IDL/be_include/be_visitor_interface/interface_ci.h:
- * TAO_IDL/be_include/be_visitor_interface/cdr_op_ch.h:
- * TAO_IDL/be_include/be_visitor_interface/interface_cs.h:
- * TAO_IDL/be_include/be_visitor_component_scope.h:
- * TAO_IDL/be_include/be_visitor_interface.h:
- * TAO_IDL/be_include/be_visitor_component.h:
-
- - Factored common stub header file code generation into
- a method in class be_type.
-
- - Abstracted differences in stub code generation between
- interfaces and components into methods on the
- corresponding node classes.
-
- - Replaced calls to component visitors for stub, cdr op
- and any op generation with the corresponding interface
- visitors.
-
- * tao/Object.inl:
- * tao/AnyTypeCode/TypeCode.cpp:
- * tao/AnyTypeCode/AnyTypeCode_methods.h:
- * tao/AnyTypeCode/TypeCode.inl:
- * tao/AnyTypeCode/NVList.h:
- * tao/AnyTypeCode/NVList.cpp:
- * tao/AnyTypeCode/NVList.inl:
- * tao/Adapter.h:
- * tao/IFR_Client/IFR_Client_Adapter_Impl.cpp:
- * tao/ZIOP_Adapter.cpp:
- * tao/Unbounded_Sequence_CDR_T.h:
- * tao/DynamicInterface/ExceptionList.h:
- * tao/DynamicInterface/Server_Request.h:
- * tao/DynamicInterface/Context.h:
- * tao/DynamicInterface/ExceptionList.cpp:
- * tao/DynamicInterface/ExceptionList.inl:
- * tao/DynamicInterface/Request.h:
- * tao/DynamicInterface/DII_CORBA_methods.h:
- * tao/DynamicInterface/Dynamic_Adapter_Impl.cpp:
- * tao/DynamicInterface/Server_Request.inl:
- * tao/DynamicInterface/Server_Request.cpp:
- * tao/DynamicInterface/Context.cpp:
- * tao/DynamicInterface/Context.inl:
- * tao/DynamicInterface/Request.inl:
- * tao/DynamicInterface/Request.cpp:
- * tao/CORBA_methods.h:
- * tao/Environment.h:
+ * tao/GIOP_Message_Base.cpp:
+ * tao/AnyTypeCode/Vector_AnyOp_T.h:
+ * tao/AnyTypeCode/BasicTypeTraits.h:
+ * tao/PortableServer.mpc:
+ * tao/Policy_Set.cpp:
+ * tao/PortableServer/RequestProcessingStrategyServantManager
+ * tao/PortableServer/ServantRetentionStrategyNonRetain.cpp:
+ * tao/PortableServer/RequestProcessingStrategyAOMOnly.h:
+ * tao/PortableServer/POA_Policy_Set.h:
+ * tao/PortableServer/ServantRetentionStrategyRetain.cpp:
+ * tao/PortableServer/POAManager.cpp:
+ * tao/PortableServer/POAManager.h:
+ * tao/PortableServer/Active_Object_Map.h:
+ * tao/PortableServer/Object_Adapter.h:
+ * tao/PortableServer/Active_Object_Map.inl:
+ * tao/PortableServer/ServantRetentionStrategy.h:
+ * tao/PortableServer/RequestProcessingStrategy.h:
+ * tao/PortableServer/RequestProcessingStrategyDefaultServant
+ * tao/PortableServer/Root_POA.inl:
+ * tao/PortableServer/POAManagerFactory.cpp:
+ * tao/PortableServer/ServantRetentionStrategyRetain.h:
+ * tao/PortableServer/RequestProcessingStrategyServantManager
+ * tao/PortableServer/POAManagerFactory.h:
+ * tao/PortableServer/RequestProcessingStrategyAOMOnly.cpp:
+ * tao/PortableServer/RequestProcessingStrategyDefaultServant
+ * tao/PortableServer/Active_Object_Map.cpp:
+ * tao/PortableServer/Root_POA.cpp:
+ * tao/PortableServer/Root_POA.h:
+ * tao/PortableServer/LifespanStrategy.h:
+ * tao/PortableServer/POA_Policy_Set.cpp:
+ * tao/PortableServer/PS_ForwardC.h:
+ * tao/PortableServer/ServantRetentionStrategyNonRetain.h:
+ * tao/IIOP_Acceptor.cpp:
+ * tao/Object_KeyC.cpp:
+ * tao/Synch_Reply_Dispatcher.cpp:
+ * tao/Stub.cpp:
+ * tao/LocateRequest_Invocation_Adapter.cpp:
+ * tao/MProfile.h:
+ * tao/Object_KeyC.h:
+ * tao/Profile_Transport_Resolver.inl:
+ * tao/Profile_Transport_Resolver.h:
+ * tao/operation_details.inl:
+ * tao/IIOP_Transport.h:
+ * tao/Profile.cpp:
+ * tao/IIOP_Connection_Handler.cpp:
+ * tao/ClientRequestInterceptor_Adapter.h:
+ * tao/Service_Context.cpp:
+ * tao/Policy_Set.inl:
+ * tao/ORB.cpp:
* tao/ORB.h:
- * tao/Environment.cpp:
+ * tao/Policy_Current.cpp:
+ * tao/Profile.h:
* tao/Object.h:
- * tao/IORManipulation/IORManip_Filter.h:
+ * tao/Stub.h:
+ * tao/Policy_Manager.h:
+ * tao/Service_Callbacks.h:
+ * tao/TAO_Server_Request.cpp:
* tao/Principal.cpp:
- * tao/Principal.h:
- * tao/Valuetype/AbstractBase.h:
- * tao/Valuetype/AbstractBase.inl:
- * tao/Valuetype/AbstractBase.cpp:
- * tao/Valuetype/Value_CORBA_methods.h:
- * tao/Object.cpp::
- * tao/ORB.inl
- * tao/Environment.inl:
- * tao/Principal.inl:
-
- Made CORBA::is_nil() and CORBA::release() into
- template functions, and removed all the overloads.
- This fix closes [BUGID:3854].
-
-Tue Aug 3 12:07:11 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * MPC/config/taodefaults.mpb:
- Removed exceptions as base, we are removing non exception support
-
- * tao/Acceptor_Registry.cpp:
- Removed not needed include
-
- * tao/CORBALOC_Parser.h:
- Updated include base ace/Array.h will be removed soon
-
-Sun Aug 1 18:16:59 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * NEWS:
- Updated for next release
-
-Sun Aug 01 11:30:54 CEST 2010 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * TAO version 1.8.1 released.
-
-Wed Jul 28 13:34:11 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * NEWS:
-
- Updated with IDL compiler changes.
-
-Tue Jul 27 20:00:14 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * TAO_IDL/driver/drv_args.cpp:
- * TAO_IDL/util/utl_err.cpp:
- * TAO_IDL/util/utl_global.cpp:
- * TAO_IDL/include/idl_global.h:
-
- Modified IDL compiler handling of anonymous types.
- Default is now silence, or no output. IDL_ANON_ERROR,
- IDL_ANON_WARNING, or IDL_ANON_SILENT may be defined
- in config.h to select global behavior of outputting
- error, warning or nothing respectively. The command
- line options -ae (error), -aw (warning) or -as
- (silent) may be used to override this behavior
- locally.
-
- * MPC/config/idl_anon_error.mpb:
- * MPC/config/idl_anon_warning.mpb:
- * MPC/config/idl_anon_silent.mpb:
-
- New base project files, which simply add -ae, -aw
- or -as, respectively, to the IDL compiler command
- line.
-
- * docs/compiler.html:
-
- Updated IDL compiler documentation.
-
- * tests/IDL_Test/IDL_Test.mpc:
-
- Removed -as option from project, it is now the default
- behavior.
-
-Tue Jul 27 11:51:25 UTC 2010 Marcel Smit <msmit@remedy.nl>
-
- * examples/CSD_Strategy/ThreadPool5/Foo.idl:
- * examples/Logging/Logger.idl:
- * tests/DII_Collocation_Tests/oneway/Test.idl:
-
- Removed anonymous constructs from test IDL and modified
- test code accordingly.
-
-Sat Jul 24 20:41:24 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * TAO_IDL/util/utl_global.cpp:
- For the moment make -as the default, that should resolve a lot of
- issues on the scoreboard and makes it possible to resolve the fallout
- seperately and get a feeling on the current repo status
-
-Sat Jul 24 07:35:12 UTC 2010 Marcel Smit <msmit@remedy.nl>
-
- * tests/OBV/ValueBox/vb_struct.idl:
-
- Removed anonymous constructs from test IDL and modified
- test code accordingly.
-
-Sat Jul 24 07:28:04 UTC 2010 Marcel Smit <msmit@remedy.nl>
-
- * tests/CSD_Strategy_Tests/TP_Foo_B/Foo_B.idl:
- * tests/DSI_AMI_Gateway/test.idl:
- * tests/DSI_Gateway/test.idl:
-
- Removed anonymous constructs from test IDL and modified
- test code accordingly.
-
-Sat Jul 24 07:15:15 UTC 2010 Marcel Smit <msmit@remedy.nl>
-
- * tests/Bug_3506_Regression/IF_EXE_M_R_Structs.idl:
- * tests/Bug_3524_Regression/test.idl:
-
- Removed anonymous constructs from test IDL and modified
- test code accordingly.
-
-Fri Jul 23 20:59:59 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * TAO_IDL/include/idl_global.h:
- * TAO_IDL/fe/y.tab.cpp:
- * TAO_IDL/fe/idl.yy:
- * TAO_IDL/driver/drv_args.cpp:
- * TAO_IDL/util/utl_global.cpp:
-
- Added -as option to completely silence any diagnostic
- for anonymous IDL constructs.
-
- * docs/compiler.html:
-
- Updated IDL compiler options documentation.
-
- * tests/IDL_Test/IDL_Test.mpc:
-
- Replace -aw option with the new -as option.
-
-Fri Jul 23 19:56:53 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * tests/Param_Test/big_union.cpp:
- * tests/Param_Test/param_test.idl:
- * tests/Param_Test/recursive_union.cpp:
-
- Removed anonymous constructs from test IDL and modified
- test code accordingly.
-
-Thu Jul 22 19:21:28 UTC 2010 Phil Mesnier <mesnier_p@ociweb.com>
-
- * examples/CSD_Strategy/ThreadPool4/Foo.idl:
- * orbsvcs/orbsvcs/miop.idl:
- * orbsvcs/tests/InterfaceRepo/IFR_Self_Recursive_IDL_Test/Test.idl:
- * performance-tests/Anyop/test.idl:
- * tests/Bug_2119_Regression/test.idl:
-
- Fix anonymous type errors.
-
-Thu Jul 22 03:57:34 UTC 2010 William R. Otte <wotte@dre.vanderbilt.edu>
-
- * TAO_IDL/util/utl_err.cpp:
- * TAO_IDL/util/utl_global.cpp:
-
- Fuzz.
-
-Wed Jul 21 21:38:11 UTC 2010 Phil Mesnier <mesnier_p@ociweb.com>
-
- * orbsvcs/orbsvcs/RtecUDPAdmin.idl:
- * orbsvcs/orbsvcs/miop.idl:
-
- Fix anonymous arrays that the IDL compiler now complains about.
-
-Wed Jul 21 16:22:38 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * TAO_IDL/fe/idl.yy:
- * TAO_IDL/fe/y.tab.cpp:
-
- Overlooked change in error message call signature.
-
- * tests/IDL_Test/IDL_Test.mpc:
-
- Added new option -aw from
-
- Wed Jul 21 15:02:16 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- to necessary IDL files.
-
-Wed Jul 21 15:54:27 UTC 2010 Phil Mesnier <mesnier_p@ociweb.com>
-
- * tao/TAO_Internal.cpp:
-
- reverted for_TAO specific call to service gestalt open.
-
-Wed Jul 21 15:43:39 UTC 2010 Vladimir Zykov <vladimir.zykov@prismtech.com>
-
- * tests/Sequence_Unit_Tests/value_sequence_tester.hpp:
- Fixed a valgrind complain about uninitialized value.
-
-Wed Jul 21 15:02:16 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * TAO_IDL/ast/ast_array.cpp:
-
- Cosmetic changes.
-
- * TAO_IDL/include/idl_global.h:
- * TAO_IDL/include/utl_err.h:
- * TAO_IDL/fe/y.tab.cpp:
- * TAO_IDL/fe/idl.yy:
- * TAO_IDL/driver/drv_args.cpp:
- * TAO_IDL/util/utl_err.cpp:
- * TAO_IDL/util/utl_global.cpp:
-
- An error is now output when an anonymous
- type is seen. For legacy IDL files, a
- command line option -aw has been added,
- which will cause a warning to be output
- instead.
-
- * docs/compiler.html:
-
- Updated documentation with the new option above.
-
-Wed Jul 21 09:57:34 UTC 2010 Vladimir Zykov <vladimir.zykov@prismtech.com>
-
- * tao/ORB_Core_TSS_Resources.cpp:
- * tao/ORB_Core.cpp:
- * tao/ORB_Core.inl:
- * tao/ORB_Core_TSS_Resources.h:
* tao/ORB_Core.h:
- Fixed bug 2533. Now ORB_Core's TSS resources are cleaned during
- orb destroy.
-
- * tests/Portable_Interceptors/Slot/driver.cpp:
- Explicitely destroy orb since doing this implicitely when main()
- returns is too late.
-
-Wed Jul 21 03:09:21 UTC 2010 Phil Mesnier <mesnier_p@ociweb.com>
-
- * tao/TAO_Internal.cpp:
-
- Fix for premature committal error.
-
-Wed Jul 21 02:34:25 UTC 2010 Phil Mesnier <mesnier_p@ociweb.com>
-
- * tao/TAO_Internal.cpp:
-
- Use the modified open method in the ACE_Service_Gestalt to get
- the behavior that has been assumed since the introduction of
- multiple service contexts.
-
-Tue Jul 20 12:28:24 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * TAO_IDL/be/be_visitor_attribute/attribute.cpp:
-
- Fixed typo in facet impl attribute operation generation,
- similar to the fix in
-
- Mon Jul 19 17:14:48 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
-
-Mon Jul 19 18:25:04 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * TAO_IDL/be/be_visitor_connector/connector_ami_rh_exs.cpp:
-
- Fixed fuzz error.
-
-Mon Jul 19 18:19:22 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * TAO_IDL/driver/drv_preproc.cpp:
-
- Fixed typo in OpenVMS-spcific code.
-
-Mon Jul 19 17:14:48 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * TAO_IDL/be/be_visitor_operation/operation_exs.cpp:
-
- Fixed typo in facet impl operation generation.
-
-Sat Jul 17 14:13:33 UTC 2010 Phil Mesnier <mesnier_p@ociweb.com>
-
- * tao/TAO_Internal.cpp (ORB::open_services):
-
- Silence compiler warnings
-
-Fri Jul 16 22:13:14 UTC 2010 Phil Mesnier <mesnier_p@ociweb.com>
-
- * tao/TAO_Internal.cpp:
-
- Detect and allow an ENOENT error returned from opening a service
- configuration context. That is alright because any explicitly named
- service config files are checked for existence when the -ORBSvcConf
- argument is processed, so the only file that could raise ENOENT is
- a defaulted svc.conf.
-
-Thu Jul 15 13:37:06 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * TAO_IDL/be/be_codegen.cpp(end_server_header):
-
- Changes to avoid a mismatched versioned namespace macro
- pair in *S.h when the -SS option is used.
-
-Thu Jul 15 12:55:54 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * TAO_IDL/be/be_visitor_connector/executor_ami_exs.cpp:
- * TAO_IDL/be/be_visitor_connector/facet_ami_exs.cpp:
- * TAO_IDL/be/be_visitor_connector/facet_ami_exh.cpp:
-
- Added code generation for _get_component() and
- _set_component) in the AMI4CCM connector's facet executor,
- as well as code to initialize and reset this value in
- the corresponding connector executor.
-
-Thu Jul 15 09:44:25 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * TAO_IDL/be/be_visitor_connector/connector_ami_rh_exs.cpp:
- * TAO_IDL/be/be_visitor_connector/connector_ami_rh_exh.cpp:
- * TAO_IDL/be_include/be_visitor_connector/connector_ami_rh_exs.h:
- * TAO_IDL/be_include/be_visitor_connector/connector_ami_rh_exh.h:
-
- New visitors, generating the AMI4CCM reply handler
- implementation, with empty method bodies, and triggered by
- -Gex used on the generated *A.idl file. The option -Gcn
- used on this file will generate a *A_conn.{h,cpp} set
- of files. The addition of -Gex to this command line
- will trigger the generation of a *A_conn_i.{h,cpp}
- set of files, containing the corresponding empty
- implementations of the reply handler methods.
-
- * TAO_IDL/be/be_visitor_home/home_exs.cpp:
- * TAO_IDL/be/be_visitor_operation/operation_exs.cpp:
- * TAO_IDL/be/be_codegen.cpp:
- * TAO_IDL/be/be_visitor_root/root_cnh.cpp:
- * TAO_IDL/be/be_visitor_root/root_cns.cpp:
- * TAO_IDL/be/be_visitor_connector.cpp:
- * TAO_IDL/be/be_visitor_component/servant_svs.cpp:
- * TAO_IDL/be/be_global.cpp:
- * TAO_IDL/be/be_visitor_attribute/attribute.cpp:
- * TAO_IDL/be/be_visitor_connector/connector_ami_exs.cpp:
- * TAO_IDL/be/be_visitor_connector/connector_ami_exh.cpp:
- * TAO_IDL/be/be_visitor_connector/facet_ami_exs.cpp:
- * TAO_IDL/be/be_visitor_connector/facet_ami_exh.cpp:
- * TAO_IDL/be/be_visitor.cpp:
- * TAO_IDL/be_include/be_visitor_operation/operation_exs.h:
- * TAO_IDL/be_include/be_visitor_context.h:
- * TAO_IDL/be_include/be_visitor_connector.h:
- * TAO_IDL/be_include/be_visitor.h:
- * TAO_IDL/be_include/be_codegen.h:
- * TAO_IDL/be_include/be_helper.h:
- * TAO_IDL/be_include/be_visitor_attribute/attribute.h:
- * TAO_IDL/be_include/be_visitor_connector/facet_ami_exh.h:
- * TAO_IDL/be_include/be_visitor_connector/connector_ami_exh.h:
- * TAO_IDL/be_include/be_global.h:
-
- Changes to existing files necessary to complete the
- support of AMI4CCM reply handler implementation
- generation. Also some minor cosmetic and comment changes.
-
-Thu Jul 15 09:23:20 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * orbsvcs/orbsvcs/Trader/Constraint_Visitors.h:
- * orbsvcs/orbsvcs/Trader/Offer_Database.h:
- * orbsvcs/orbsvcs/Trader/Offer_Iterators.h:
- * tao/Bounded_Basic_String_Sequence_T.h:
- * tao/Bounded_Object_Reference_Sequence_T.h:
- * tao/Bounded_Value_Sequence_T.h:
- * tao/Endpoint.h:
- * tao/Unbounded_Basic_String_Sequence_T.h:
- * tao/Unbounded_Object_Reference_Sequence_T.h:
- * tao/Unbounded_Octet_Sequence_T.h:
- Doxygen improvements
-
-Tue Jul 13 11:29:59 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * TAO_IDL/be/be_codegen.cpp:
- * TAO_IDL/fe/fe_utils.cpp:
- * TAO_IDL/fe/y.tab.cpp:
- * TAO_IDL/fe/idl.yy:
-
- Fixes for various code generation errors stemming from
-
- Mon Jul 12 08:19:49 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
-
-Tue Jul 13 11:22:49 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * tests/Alt_Mapping/ub_struct_seq.cpp:
-
- Changes corresponding to changes in generated code for
- sequences (in this test represented by std::vector<>).
-
-Mon Jul 12 12:55:55 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * tao/PortableServer/PS_ForwardS.h:
-
- New file, an empty placeholder that is now generated as
- an include by the IDL compiler. The corresponding IDL
- file is not automatically processed, but it is included
- in other IDL files.
-
-Mon Jul 12 11:32:30 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * TAO_IDL/fe/y.tab.cpp:
- * TAO_IDL/fe/fe_init.cpp:
- * TAO_IDL/fe/idl.yy:
- * TAO_IDL/util/utl_scope.cpp:
-
- Changes in handling of pseudo object creation and lookup.
-
-Mon Jul 12 08:26:24 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * tools/IDL3_to_IDL2/be_util.cpp:
- * tools/IDL3_to_IDL2/be_util.h:
-
- New files containing a utility class
- of static methods.
-
-
- * tools/IDL3_to_IDL2/IDL3_to_IDL2.mpc:
-
- Added new files to project.
-
- * tools/IDL3_to_IDL2/be_global.cpp:
- * tools/IDL3_to_IDL2/be_global.h:
-
- Factored out methods that have nothing
- to do with global data storage and
- moved them to the new utility class.
-
-Mon Jul 12 08:19:49 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
-
- * TAO_IDL/include/fe_utils.h:
- * TAO_IDL/include/ast_decl.h:
- * TAO_IDL/include/idl_global.h:
- * TAO_IDL/include/utl_scope.h:
- * TAO_IDL/include/ast_interface.h:
- * TAO_IDL/be/be_visitor_typecode/typecode_defn.cpp:
- * TAO_IDL/be/be_visitor_interface/any_op_ch.cpp:
- * TAO_IDL/be/be_visitor_interface/any_op_cs.cpp:
- * TAO_IDL/be/be_visitor_operation/upcall_command_ss.cpp:
- * TAO_IDL/be/be_codegen.cpp:
- * TAO_IDL/be/be_visitor_sequence/sequence_ch.cpp:
- * TAO_IDL/be/be_visitor_sequence/sequence_cs.cpp:
- * TAO_IDL/be/be_visitor_ami_pre_proc.cpp:
- * TAO_IDL/be/be_visitor_root/root_sh.cpp:
- * TAO_IDL/be/be_visitor_valuebox/any_op_ch.cpp:
- * TAO_IDL/be/be_visitor_valuebox/any_op_cs.cpp:
- * TAO_IDL/be/be_visitor_valuetype/any_op_ch.cpp:
- * TAO_IDL/be/be_visitor_valuetype/any_op_cs.cpp:
- * TAO_IDL/be/be_util.cpp:
- * TAO_IDL/be/be_visitor_typecode.cpp:
- * TAO_IDL/be/be_visitor_operation.cpp:
- * TAO_IDL/be/be_visitor_xplicit_pre_proc.cpp:
- * TAO_IDL/be/be_visitor_constant/constant_cs.cpp:
- * TAO_IDL/be/be_visitor_sequence.cpp:
- * TAO_IDL/be/be_visitor_interface_fwd/any_op_ch.cpp:
- * TAO_IDL/be/be_global.cpp:
- * TAO_IDL/be/be_sequence.cpp:
- * TAO_IDL/be/be_visitor_connector/facet_ami_exs.cpp:
- * TAO_IDL/be/be_visitor_connector/facet_ami_exh.cpp:
- * TAO_IDL/be/be_visitor_ccm_pre_proc.cpp:
- * TAO_IDL/be/be_visitor_valuetype_fwd/any_op_ch.cpp:
- * TAO_IDL/be/be_generator.cpp:
- * TAO_IDL/ast/ast_visitor_reifying.cpp:
- * TAO_IDL/ast/ast_decl.cpp:
- * TAO_IDL/be_include/be_visitor_typecode/typecode_defn.h:
- * TAO_IDL/be_include/be_visitor_operation/upcall_command_ss.h:
- * TAO_IDL/be_include/be_util.h:
- * TAO_IDL/be_include/be_visitor_constant/constant_cs.h:
- * TAO_IDL/be_include/be_constant.h:
- * TAO_IDL/be_include/be_global.h:
- * TAO_IDL/fe/fe_utils.cpp:
- * TAO_IDL/fe/fe_init.cpp:
- * TAO_IDL/fe/y.tab.cpp:
- * TAO_IDL/fe/idl.yy:
- * TAO_IDL/fe/lex.yy.cpp:
- * TAO_IDL/fe/idl.ll:
- * TAO_IDL/driver/drv_preproc.cpp:
- * TAO_IDL/driver/drv_args.cpp:
- * TAO_IDL/tao_idl.cpp:
- * TAO_IDL/util/utl_global.cpp:
- * TAO_IDL/util/utl_scope.cpp:
-
-
- - Changed generation of alternate mapping sequences to be a
- typedef of std::vector.
-
- - Refactored non-data code in FE and BE global data classes
- to corresponding utils classes.
-
- - Changed code generation triggered by �SS to generate the
- *S.h and *C.h includes, so they can be propagated to
- including IDL files.
-
-Tue Jul 6 11:11:49 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * etc/tao.doxygen:
- * etc/tao_anytypecode.doxygen:
- * etc/tao_av.doxygen:
- * etc/tao_compression.doxygen:
- * etc/tao_cosevent.doxygen:
- * etc/tao_cosnaming.doxygen:
- * etc/tao_cosnotification.doxygen:
- * etc/tao_costime.doxygen:
- * etc/tao_costrader.doxygen:
- * etc/tao_dynamicany.doxygen:
- * etc/tao_dynamicinterface.doxygen:
- * etc/tao_esf.doxygen:
- * etc/tao_ifr.doxygen:
- * etc/tao_implrepo.doxygen:
- * etc/tao_iormanip.doxygen:
- * etc/tao_iortable.doxygen:
- * etc/tao_pi.doxygen:
- * etc/tao_pi_server.doxygen:
- * etc/tao_portablegroup.doxygen:
- * etc/tao_portableserver.doxygen:
- * etc/tao_pss.doxygen:
- * etc/tao_rtcorba.doxygen:
- * etc/tao_rtevent.doxygen:
- * etc/tao_rtportableserver.doxygen:
- * etc/tao_security.doxygen:
- * etc/tao_smartproxies.doxygen:
- * etc/tao_ssliop.doxygen:
- * etc/tao_strategies.doxygen:
- * etc/tao_transportcurrent.doxygen:
- * etc/tao_ziop.doxygen:
- Reduced the size of the colloboration graphs
-
-Mon Jul 5 14:00:57 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * etc/tao.doxygen:
- * etc/tao_anytypecode.doxygen:
- * etc/tao_av.doxygen:
- * etc/tao_compression.doxygen:
- * etc/tao_cosevent.doxygen:
- * etc/tao_cosnaming.doxygen:
- * etc/tao_cosnotification.doxygen:
- * etc/tao_costime.doxygen:
- * etc/tao_costrader.doxygen:
- * etc/tao_dynamicany.doxygen:
- * etc/tao_dynamicinterface.doxygen:
- * etc/tao_esf.doxygen:
- * etc/tao_ifr.doxygen:
- * etc/tao_implrepo.doxygen:
- * etc/tao_iormanip.doxygen:
- * etc/tao_iortable.doxygen:
- * etc/tao_pi.doxygen:
- * etc/tao_pi_server.doxygen:
- * etc/tao_portablegroup.doxygen:
- * etc/tao_portableserver.doxygen:
- * etc/tao_pss.doxygen:
- * etc/tao_rtcorba.doxygen:
- * etc/tao_rtevent.doxygen:
- * etc/tao_rtportableserver.doxygen:
- * etc/tao_security.doxygen:
- * etc/tao_smartproxies.doxygen:
- * etc/tao_ssliop.doxygen:
- * etc/tao_strategies.doxygen:
- * etc/tao_transportcurrent.doxygen:
- * etc/tao_ziop.doxygen:
- Disable include and included graphs, this should reduce the size
- of the documentation a lot
-
-Mon Jul 5 11:43:01 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * orbsvcs/tests/Bug_2777_Regression/run_test.pl:
- Added another path
-
- * tao/Leader_Follower.h:
- Doxygen fix
-
-Sun Jul 04 18:57:33 CEST 2010 Johnny Willemsen <jwillemsen@remedy.nl>
-
- * TAO version 1.8 released.
-
-Local Variables:
-mode: change-log
-add-log-time-format: (lambda () (progn (setq tz (getenv "TZ")) (set-time-zone-rule "UTC") (setq time (format-time-string "%a %b %e %H:%M:%S %Z %Y" (current-time))) (set-time-zone-rule tz) time))
-indent-tabs-mode: nil
-End:
+ * tao/Policy_Current.h:
+ * tao/Policy_Set.h:
+ * tao/IIOP_Profile.cpp:
+ * tao/GIOP_Message_Generator_Parser_10.cpp:
+ * tao/CONV_FRAME.pidl:
+ * tao/TAO_Server_Request.h:
+ * tao/Services.pidl:
+ * tao/ServerRequestInterceptor_Adapter.h:
+ * tao/AnyTypeCode.mpc:
+ * tao/Service_Context.inl:
+ * tao/Object.cpp:
+ * tao/LocalObject.cpp:
+ * tao/IIOP_Connection_Handler.h:
+ * tao/LocateRequest_Invocation_Adapter.h:
+ * tao/Policy_Forward.pidl:
+ * tao/TAO_Server_Request.inl:
+ * tao/LocalObject.h:
+ * tao/IOP.pidl:
+ * tao/Codeset/Codeset_Manager_i.cpp:
+ * tao/IIOP_Transport.cpp:
+ * tao/MProfile.cpp:
+ * tao/GIOP_Message_Generator_Parser_12.cpp:
+ * tao/Policy_Current_Impl.cpp:
+ * tao/Policy_Manager.cpp:
+ * tao/Profile_Transport_Resolver.cpp:
+ * tao/ObjectIdList.pidl:
+ * tao/Policy_Current_Impl.h:
+ * tao/Service_Context_Handler_Registry.cpp:
+
+ Regenerated all ORB and POA system IDL files
+ with alternate mapping -Gstl option, and
+ partially modified C++ files as necessary
+ because of the string and sequence redefinition.
+ Also fixed bugs in IDL compiler's generation
+ of sequence types as typedefs of stl::vector<>.
diff --git a/TAO_IDL/be/be_codegen.cpp b/TAO_IDL/be/be_codegen.cpp
index de5745f5a91..9fa44f72054 100644
--- a/TAO_IDL/be/be_codegen.cpp
+++ b/TAO_IDL/be/be_codegen.cpp
@@ -3064,6 +3064,12 @@ TAO_CodeGen::gen_any_file_includes (TAO_OutStream * stream)
{
this->gen_standard_include (stream,
"tao/CDR.h");
+
+ this->gen_cond_file_include (
+ be_global->alt_mapping ()
+ | idl_global->seq_seen_,
+ "tao/AnyTypeCode/Vector_AnyOp_T.h",
+ stream);
// Any_Impl_T.cpp needs the full CORBA::Any type.
this->gen_cond_file_include (
@@ -3120,13 +3126,15 @@ TAO_CodeGen::gen_var_file_includes (void)
);
this->gen_cond_file_include (
- idl_global->seq_seen_,
+ idl_global->seq_seen_
+ & !be_global->alt_mapping (),
"tao/Seq_Var_T.h",
this->client_header_
);
this->gen_cond_file_include (
- idl_global->seq_seen_,
+ idl_global->seq_seen_
+ & !be_global->alt_mapping (),
"tao/Seq_Out_T.h",
this->client_header_
);
diff --git a/TAO_IDL/be/be_sequence.cpp b/TAO_IDL/be/be_sequence.cpp
index 3a8323316a5..af460ee4d69 100644
--- a/TAO_IDL/be/be_sequence.cpp
+++ b/TAO_IDL/be/be_sequence.cpp
@@ -398,7 +398,7 @@ be_sequence::gen_ostream_operator (TAO_OutStream *os,
<< ")" << be_uidt_nl
<< "{" << be_idt_nl
<< "strm << \"" << this->name () << "[\";" << be_nl << be_nl
- << "for (CORBA::ULong i = 0; i < _tao_sequence.length (); ++i)"
+ << "for (CORBA::ULong i = 0; i < _tao_sequence.size (); ++i)"
<< be_idt_nl
<< "{" << be_idt_nl
<< "if (i != 0)" << be_idt_nl
diff --git a/TAO_IDL/be/be_visitor_sequence/any_op_ch.cpp b/TAO_IDL/be/be_visitor_sequence/any_op_ch.cpp
index 4efb8c70596..ef6c3d6458c 100644
--- a/TAO_IDL/be/be_visitor_sequence/any_op_ch.cpp
+++ b/TAO_IDL/be/be_visitor_sequence/any_op_ch.cpp
@@ -48,24 +48,10 @@ be_visitor_sequence_any_op_ch::visit_sequence (be_sequence *node)
*os << be_nl << be_nl;
- ACE_CString name;
+ ACE_CString name = node->full_name ();
bool alt = be_global->alt_mapping ();
- if (alt)
- {
- be_type *bt =
- be_type::narrow_from_decl (node->base_type ());
-
- name = "std::vector<";
- name += bt->full_name ();
- name += ">";
- }
- else
- {
- name = node->full_name ();
- }
-
be_module *module = 0;
if (node->is_nested ())
{
diff --git a/TAO_IDL/be/be_visitor_sequence/any_op_cs.cpp b/TAO_IDL/be/be_visitor_sequence/any_op_cs.cpp
index ead93407e9b..c4236637691 100644
--- a/TAO_IDL/be/be_visitor_sequence/any_op_cs.cpp
+++ b/TAO_IDL/be/be_visitor_sequence/any_op_cs.cpp
@@ -78,11 +78,28 @@ be_visitor_sequence_any_op_cs::visit_sequence (be_sequence *node)
tc = ANY_OBJREF;
}
+ if (bt->node_type () == AST_Decl::NT_pre_defined)
+ {
+ AST_PredefinedType *pdt =
+ AST_PredefinedType::narrow_from_decl (bt);
+
+ if (pdt->pt () == AST_PredefinedType::PT_pseudo)
+ {
+ ACE_CString lname (
+ bt->local_name ()->get_string ());
+
+ if (lname == "TypeCode")
+ {
+ tc = ANY_OBJREF;
+ }
+ }
+ }
+
*os << be_nl
<< "void operator<<= (" << be_idt_nl
<< "::CORBA::Any &_tao_any," << be_nl
- << "const std::vector<" << bt->full_name ()
- << "> &_tao_elem)" << be_uidt_nl
+ << "const " << node->name ()
+ << " &_tao_elem)" << be_uidt_nl
<< "{" << be_idt_nl
<< "TAO::";
@@ -113,8 +130,7 @@ be_visitor_sequence_any_op_cs::visit_sequence (be_sequence *node)
*os << be_nl << be_nl
<< "::CORBA::Boolean operator>>= (" << be_idt_nl
<< "const ::CORBA::Any &_tao_any," << be_nl
- << "std::vector<" << bt->full_name ()
- << "> &_tao_elem)" << be_uidt_nl
+ << node->name () << " &_tao_elem)" << be_uidt_nl
<< "{" << be_idt_nl
<< "return" << be_idt_nl
<< "TAO::";
diff --git a/TAO_IDL/be/be_visitor_sequence/cdr_op_ch.cpp b/TAO_IDL/be/be_visitor_sequence/cdr_op_ch.cpp
index e09eecb2157..980975738ab 100644
--- a/TAO_IDL/be/be_visitor_sequence/cdr_op_ch.cpp
+++ b/TAO_IDL/be/be_visitor_sequence/cdr_op_ch.cpp
@@ -77,32 +77,15 @@ be_visitor_sequence_cdr_op_ch::visit_sequence (be_sequence *node)
<< be_global->stub_export_macro () << " ::CORBA::Boolean"
<< " operator<< (" << be_idt << be_idt_nl
<< "TAO_OutputCDR &strm," << be_nl
- << "const ";
-
- if (alt)
- {
- *os << "std::vector<" << base_type->name () << ">";
- }
- else
- {
- *os << node->name ();
- }
+ << "const " << node->name ();
*os << " &_tao_sequence" << be_uidt_nl
<< ");" << be_uidt_nl;
*os << be_global->stub_export_macro () << " ::CORBA::Boolean"
<< " operator>> (" << be_idt << be_idt_nl
- << "TAO_InputCDR &strm," << be_nl;
-
- if (alt)
- {
- *os << "std::vector<" << base_type->name () << ">";
- }
- else
- {
- *os << node->name ();
- }
+ << "TAO_InputCDR &strm," << be_nl
+ << node->name ();
*os << " &_tao_sequence" << be_uidt_nl
<< ");" << be_uidt;
diff --git a/TAO_IDL/be/be_visitor_sequence/cdr_op_cs.cpp b/TAO_IDL/be/be_visitor_sequence/cdr_op_cs.cpp
index 90d74dee51b..b000f6c2f95 100644
--- a/TAO_IDL/be/be_visitor_sequence/cdr_op_cs.cpp
+++ b/TAO_IDL/be/be_visitor_sequence/cdr_op_cs.cpp
@@ -102,6 +102,16 @@ be_visitor_sequence_cdr_op_cs::visit_sequence (be_sequence *node)
*os << be_global->core_versioning_begin () << be_nl;
+ AST_PredefinedType *pdt =
+ AST_PredefinedType::narrow_from_decl (bt);
+ AST_PredefinedType::PredefinedType pt =
+ AST_PredefinedType::PT_abstract;
+
+ if (pdt != 0)
+ {
+ pt = pdt->pt ();
+ }
+
// Set the sub state as generating code for the output operator.
this->ctx_->sub_state (TAO_CodeGen::TAO_CDR_OUTPUT);
@@ -109,17 +119,54 @@ be_visitor_sequence_cdr_op_cs::visit_sequence (be_sequence *node)
{
*os << "::CORBA::Boolean operator<< (" << be_idt_nl
<< "TAO_OutputCDR &strm," << be_nl
- << "const std::vector<" << bt->full_name ()
- << "> &_tao_vector)"
+ << "const " << node->name () << " &_tao_sequence)"
<< be_uidt_nl
<< "{" << be_idt_nl
- << "::CORBA::ULong length = _tao_vector.size ();"
+ << "::CORBA::ULong length = _tao_sequence.size ();"
<< be_nl
<< "strm << length;" << be_nl << be_nl
<< "for ( ::CORBA::ULong i = 0UL; i < length; ++i)"
<< be_idt_nl
- << "{" << be_idt_nl
- << "if (! (strm << _tao_vector[i]))" << be_idt_nl
+ << "{" << be_idt_nl;
+
+ switch (pt)
+ {
+ case AST_PredefinedType::PT_boolean:
+ *os << "ACE_OutputCDR::from_boolean tao_tmp (_tao_sequence[i]);"
+ << be_nl << be_nl;
+ break;
+ case AST_PredefinedType::PT_char:
+ *os << "ACE_OutputCDR::from_char tao_tmp (_tao_sequence[i]);"
+ << be_nl << be_nl;
+ break;
+ case AST_PredefinedType::PT_octet:
+ *os << "ACE_OutputCDR::from_octet tao_tmp (_tao_sequence[i]);"
+ << be_nl << be_nl;
+ break;
+ case AST_PredefinedType::PT_wchar:
+ *os << "ACE_OutputCDR::from_wchar tao_tmp (_tao_sequence[i]);"
+ << be_nl << be_nl;
+ break;
+ default:
+ break;
+ }
+
+ *os << "if (! (strm << ";
+
+ switch (pt)
+ {
+ case AST_PredefinedType::PT_boolean:
+ case AST_PredefinedType::PT_char:
+ case AST_PredefinedType::PT_octet:
+ case AST_PredefinedType::PT_wchar:
+ *os << "tao_tmp))";
+ break;
+ default:
+ *os << "_tao_sequence[i]))";
+ break;
+ }
+
+ *os << be_idt_nl
<< "{" << be_idt_nl
<< "return false;" << be_uidt_nl
<< "}" << be_uidt << be_uidt_nl
@@ -148,31 +195,87 @@ be_visitor_sequence_cdr_op_cs::visit_sequence (be_sequence *node)
{
*os << "::CORBA::Boolean operator>> (" << be_idt_nl
<< "TAO_InputCDR &strm," << be_nl
- << "std::vector<" << bt->full_name ()
- << "> &_tao_vector)" << be_uidt_nl
+ << node->name () << " &_tao_sequence)" << be_uidt_nl
<< "{" << be_idt_nl
<< "::CORBA::ULong length = 0UL;" << be_nl
<< bt->full_name ();
- if (bt->size_type () == AST_Type::VARIABLE)
+ AST_Interface *i = AST_Interface::narrow_from_decl (bt);
+ AST_ValueType *v = AST_ValueType::narrow_from_decl (bt);
+ bool ptr_type = false;
+
+ if (i != 0)
{
- *os << " *";
+ ptr_type = true;
+ *os << (v == 0 ? "_ptr" : " *");
}
-
- *os << " tmp;" << be_nl << be_nl
+
+ if (pt == AST_PredefinedType::PT_pseudo)
+ {
+ ACE_CString lname (bt->local_name ()->get_string ());
+
+ if (lname == "TypeCode")
+ {
+ ptr_type = true;
+ *os << "_ptr";
+ }
+ }
+
+ *os << " tmp" << (ptr_type ? " = 0" : "");
+
+ *os << ";" << be_nl << be_nl
<< "if (! (strm >> length))" << be_idt_nl
<< "{" << be_idt_nl
<< "return false;" << be_uidt_nl
<< "}" << be_uidt_nl << be_nl
- << "_tao_vector.resize (length);" << be_nl << be_nl
+ << "_tao_sequence.resize (length);" << be_nl << be_nl
<< "for ( ::CORBA::ULong i = 0UL; i < length; ++i)"
<< be_idt_nl
- << "{" << be_idt_nl
- << "if (! (strm >> tmp))" << be_idt_nl
+ << "{" << be_idt_nl;
+
+ switch (pt)
+ {
+ case AST_PredefinedType::PT_boolean:
+ *os << "ACE_InputCDR::to_boolean tao_tmp (tmp);"
+ << be_nl << be_nl;
+ break;
+ case AST_PredefinedType::PT_char:
+ *os << "ACE_InputCDR::to_char tao_tmp (tmp);"
+ << be_nl << be_nl;
+ break;
+ case AST_PredefinedType::PT_octet:
+ *os << "ACE_InputCDR::to_octet tao_tmp (tmp);"
+ << be_nl << be_nl;
+ break;
+ case AST_PredefinedType::PT_wchar:
+ *os << "ACE_InputCDR::to_wchar tao_tmp (tmp);"
+ << be_nl << be_nl;
+ break;
+ default:
+ break;
+ }
+
+ *os << "if (! (strm >> ";
+
+ switch (pt)
+ {
+ case AST_PredefinedType::PT_boolean:
+ case AST_PredefinedType::PT_char:
+ case AST_PredefinedType::PT_octet:
+ case AST_PredefinedType::PT_wchar:
+ *os << "tao_tmp))";
+ break;
+ default:
+ *os << "tmp))";
+ break;
+ }
+
+ *os << be_idt_nl
<< "{" << be_idt_nl
<< "return false;" << be_uidt_nl
- << "}" << be_uidt_nl << be_nl
- << "_tao_vector[i] = tmp;" << be_uidt_nl
+ << "}" << be_uidt_nl << be_nl;
+
+ *os << "_tao_sequence[i] = tmp;" << be_uidt_nl
<< "}" << be_uidt_nl << be_nl
<< "return true;" << be_uidt_nl
<< "}" << be_nl;
diff --git a/TAO_IDL/be/be_visitor_sequence/serializer_op_cs.cpp b/TAO_IDL/be/be_visitor_sequence/serializer_op_cs.cpp
index 9e346007206..7ff8f80573a 100644
--- a/TAO_IDL/be/be_visitor_sequence/serializer_op_cs.cpp
+++ b/TAO_IDL/be/be_visitor_sequence/serializer_op_cs.cpp
@@ -205,7 +205,7 @@ be_visitor_sequence_serializer_op_cs::visit_sequence (be_sequence *node)
<< "{" << be_idt_nl;
// First encode the sequence length.
- *os << "const ::CORBA::ULong _tao_seq_len = _tao_sequence.length ();"
+ *os << "const ::CORBA::ULong _tao_seq_len = _tao_sequence.size ();"
<< be_nl << be_nl;
*os << "if (strm << _tao_seq_len)" << be_idt_nl
<< "{" << be_idt_nl;
diff --git a/TAO_IDL/be/be_visitor_typedef/typedef_ch.cpp b/TAO_IDL/be/be_visitor_typedef/typedef_ch.cpp
index a1fabc07f54..7dd6f451f11 100644
--- a/TAO_IDL/be/be_visitor_typedef/typedef_ch.cpp
+++ b/TAO_IDL/be/be_visitor_typedef/typedef_ch.cpp
@@ -463,12 +463,18 @@ be_visitor_typedef_ch::visit_sequence (be_sequence *node)
// Typedef the type.
*os << "typedef " << bt->nested_type_name (scope)
- << " " << tdef->nested_type_name (scope) << ";" << be_nl;
- // Typedef the _var and _out types.
- *os << "typedef " << bt->nested_type_name (scope, "_var")
- << " " << tdef->nested_type_name (scope, "_var") << ";" << be_nl;
- *os << "typedef " << bt->nested_type_name (scope, "_out")
- << " " << tdef->nested_type_name (scope, "_out") << ";";
+ << " " << tdef->nested_type_name (scope) << ";";
+
+ if (!be_global->alt_mapping ())
+ {
+ // Typedef the _var and _out types.
+ *os << be_nl << "typedef "
+ << bt->nested_type_name (scope, "_var")
+ << " " << tdef->nested_type_name (scope, "_var") << ";";
+ *os << be_nl << "typedef "
+ << bt->nested_type_name (scope, "_out")
+ << " " << tdef->nested_type_name (scope, "_out") << ";";
+ }
}
return 0;
diff --git a/TAO_IDL/be_include/be_codegen.h b/TAO_IDL/be_include/be_codegen.h
index 1899c781368..82b04c8b877 100644
--- a/TAO_IDL/be_include/be_codegen.h
+++ b/TAO_IDL/be_include/be_codegen.h
@@ -422,7 +422,7 @@ private:
void gen_stub_src_includes (void);
void gen_skel_src_includes (void);
void gen_seq_file_includes (void);
- void gen_any_file_includes (TAO_OutStream * stream) ;
+ void gen_any_file_includes (TAO_OutStream * stream);
void gen_var_file_includes (void);
void gen_stub_arg_file_includes (TAO_OutStream * stream);
void gen_skel_arg_file_includes (TAO_OutStream * stream);
diff --git a/tao/AnyTypeCode.mpc b/tao/AnyTypeCode.mpc
index 2dfdfb07275..fbf2a0cac03 100644
--- a/tao/AnyTypeCode.mpc
+++ b/tao/AnyTypeCode.mpc
@@ -2,7 +2,7 @@
project(*idl) : tao_versioning_idl_defaults, gen_ostream, install {
custom_only = 1
- idlflags += -Gp -Gd -Sci -SS -GA \
+ idlflags += -Gp -Gd -Sci -SS -GA -Gstl \
-Wb,export_macro=TAO_AnyTypeCode_Export \
-Wb,export_include=tao/AnyTypeCode/TAO_AnyTypeCode_Export.h \
-o AnyTypeCode
diff --git a/tao/AnyTypeCode/BasicTypeTraits.h b/tao/AnyTypeCode/BasicTypeTraits.h
index ab3b3dfa917..114e6da872f 100644
--- a/tao/AnyTypeCode/BasicTypeTraits.h
+++ b/tao/AnyTypeCode/BasicTypeTraits.h
@@ -31,20 +31,20 @@ namespace CORBA
class TypeCode;
typedef TypeCode * TypeCode_ptr;
- class BooleanSeq;
- class CharSeq;
- class OctetSeq;
- class WCharSeq;
- class ShortSeq;
- class UShortSeq;
- class LongSeq;
- class ULongSeq;
- class LongLongSeq;
- class ULongLongSeq;
- class FloatSeq;
- class DoubleSeq;
- class LongDoubleSeq;
- class AnySeq;
+ typedef std::vector<Boolean> BooleanSeq;
+ typedef std::vector<Char> CharSeq;
+ typedef std::vector<Octet> OctetSeq;
+ typedef std::vector<WChar> WCharSeq;
+ typedef std::vector<Short> ShortSeq;
+ typedef std::vector<UShort> UShortSeq;
+ typedef std::vector<Long> LongSeq;
+ typedef std::vector<ULong> ULongSeq;
+ typedef std::vector<LongLong> LongLongSeq;
+ typedef std::vector<ULongLong> ULongLongSeq;
+ typedef std::vector<Float> FloatSeq;
+ typedef std::vector<Double> DoubleSeq;
+ typedef std::vector<LongDouble> LongDoubleSeq;
+ typedef std::vector<Any> AnySeq;
}
namespace TAO
diff --git a/tao/AnyTypeCode/Vector_AnyOp_T.h b/tao/AnyTypeCode/Vector_AnyOp_T.h
index 20b44708ac0..ab30c22d85f 100644
--- a/tao/AnyTypeCode/Vector_AnyOp_T.h
+++ b/tao/AnyTypeCode/Vector_AnyOp_T.h
@@ -48,7 +48,7 @@ namespace TAO
void
insert_objref_vector (
CORBA::Any &,
- const std::vector<typename T::_ptr_type> &)
+ const std::vector<T> &)
{
}
@@ -57,7 +57,7 @@ namespace TAO
void
insert_objref_vector (
CORBA::Any &,
- std::vector<typename T::_ptr_type> *)
+ std::vector<T> *)
{
}
@@ -65,7 +65,7 @@ namespace TAO
bool
extract_objref_vector (
const CORBA::Any &,
- std::vector<typename T::_ptr_type> &)
+ std::vector<T> &)
{
return true;
}
diff --git a/tao/CONV_FRAME.pidl b/tao/CONV_FRAME.pidl
index 185d4221192..57af0409b60 100644
--- a/tao/CONV_FRAME.pidl
+++ b/tao/CONV_FRAME.pidl
@@ -11,11 +11,13 @@
#ifndef TAO_CORBA_CONV_FRAME_PIDL
#define TAO_CORBA_CONV_FRAME_PIDL
+#include "tao/ULongSeq.pidl"
+
#pragma prefix "omg.org"
module CONV_FRAME {
typedef unsigned long CodeSetId;
- typedef sequence<CodeSetId> CodeSetIdSeq;
+ typedef CORBA::ULongSeq CodeSetIdSeq;
struct CodeSetComponent {
CodeSetId native_code_set;
diff --git a/tao/ClientRequestInterceptor_Adapter.h b/tao/ClientRequestInterceptor_Adapter.h
index 446e5ef78e5..f012df3aa50 100644
--- a/tao/ClientRequestInterceptor_Adapter.h
+++ b/tao/ClientRequestInterceptor_Adapter.h
@@ -18,6 +18,8 @@
#ifndef TAO_CLIENT_REQUEST_INTERCEPTOR_ADAPTER_H
#define TAO_CLIENT_REQUEST_INTERCEPTOR_ADAPTER_H
+#include <vector>
+
#include /**/ "ace/pre.h"
#include /**/ "tao/TAO_Export.h"
@@ -44,7 +46,9 @@ namespace PortableInterceptor
namespace CORBA
{
- class PolicyList;
+ class Policy;
+ typedef Policy *Policy_ptr;
+ typedef std::vector<Policy_ptr> PolicyList;
}
namespace TAO
diff --git a/tao/Codeset/Codeset_Manager_i.cpp b/tao/Codeset/Codeset_Manager_i.cpp
index 0e4b1fb706b..998cb3ce4a6 100644
--- a/tao/Codeset/Codeset_Manager_i.cpp
+++ b/tao/Codeset/Codeset_Manager_i.cpp
@@ -177,13 +177,15 @@ TAO_Codeset_Manager_i::process_service_context (TAO_ServerRequest &request)
CONV_FRAME::CodeSetId tcs_c = TAO_CODESET_ID_XOPEN_UTF_8;
CONV_FRAME::CodeSetId tcs_w = TAO_CODESET_ID_UNICODE;
- if (service_cntx.get_context(context))
+ if (service_cntx.get_context (context))
{
// Convert the Service Context to Codeset Context
const char *buffer =
- reinterpret_cast<const char*> (context.context_data.get_buffer ());
+ reinterpret_cast<const char *> (
+ context.context_data.get_allocator ().address (
+ *context.context_data.begin ()));
- TAO_InputCDR cdr (buffer,context.context_data.length ());
+ TAO_InputCDR cdr (buffer, context.context_data.size ());
CORBA::Boolean byte_order;
if (cdr >> TAO_InputCDR::to_boolean (byte_order))
@@ -274,7 +276,7 @@ TAO_Codeset_Manager_i::isElementOf (CONV_FRAME::CodeSetId id,
CONV_FRAME::CodeSetComponent &cs_comp)
{
for (CORBA::ULong i = 0L;
- i < cs_comp.conversion_code_sets.length ();
+ i < cs_comp.conversion_code_sets.size ();
++i )
{
if (id == cs_comp.conversion_code_sets[i])
@@ -290,7 +292,7 @@ TAO_Codeset_Manager_i::intersectionOf (CONV_FRAME::CodeSetComponent &cs_comp1,
CONV_FRAME::CodeSetComponent &cs_comp2)
{
for(CORBA::ULong index = 0L;
- index < cs_comp1.conversion_code_sets.length();
+ index < cs_comp1.conversion_code_sets.size();
++index )
{
if (this->isElementOf(cs_comp1.conversion_code_sets[index], cs_comp2))
@@ -426,7 +428,7 @@ int
TAO_Codeset_Manager_i::init_ccs (TAO_Codeset_Descriptor& cd,
CONV_FRAME::CodeSetComponent& cs_comp)
{
- cs_comp.conversion_code_sets.length
+ cs_comp.conversion_code_sets.resize
(static_cast<CORBA::ULong> (cd.num_translators()));
CORBA::ULong index;
@@ -481,7 +483,7 @@ TAO_Codeset_Manager_i::init_ccs (TAO_Codeset_Descriptor& cd,
}
}
- cs_comp.conversion_code_sets.length(index);
+ cs_comp.conversion_code_sets.resize(index);
return 0;
}
diff --git a/tao/GIOP_Message_Base.cpp b/tao/GIOP_Message_Base.cpp
index 59bdd2d7506..4f6a477fc22 100644
--- a/tao/GIOP_Message_Base.cpp
+++ b/tao/GIOP_Message_Base.cpp
@@ -1000,7 +1000,7 @@ TAO_GIOP_Message_Base::process_request (
permanent_forward_condition
? GIOP::LOCATION_FORWARD_PERM
: GIOP::LOCATION_FORWARD);
- reply_params.svc_ctx_.length (0);
+ reply_params.svc_ctx_.resize (0);
// Send back the reply service context.
reply_params.service_context_notowned (
@@ -1475,7 +1475,7 @@ TAO_GIOP_Message_Base::send_reply_exception (
{
TAO_Pluggable_Reply_Params_Base reply_params;
reply_params.request_id_ = request_id;
- reply_params.svc_ctx_.length (0);
+ reply_params.svc_ctx_.resize (0);
// We are going to send some data
reply_params.argument_flag_ = true;
diff --git a/tao/GIOP_Message_Generator_Parser_10.cpp b/tao/GIOP_Message_Generator_Parser_10.cpp
index 2657ca5f849..6b7d69a55a1 100644
--- a/tao/GIOP_Message_Generator_Parser_10.cpp
+++ b/tao/GIOP_Message_Generator_Parser_10.cpp
@@ -103,8 +103,8 @@ TAO_GIOP_Message_Generator_Parser_10::write_request_header (
#else
- CORBA::OctetSeq req_principal (0);
- req_principal.length (0);
+ CORBA::OctetSeq req_principal;
+ req_principal.resize (0);
#endif /* TAO_PEER_REQUIRES_PRINCIPAL */
@@ -167,7 +167,7 @@ TAO_GIOP_Message_Generator_Parser_10::write_reply_header (
// But first we take it out any of them..
CORBA::ULong count = 0;
IOP::ServiceContextList &svc_ctx = reply.service_context_notowned ();
- CORBA::ULong const l = svc_ctx.length ();
+ CORBA::ULong const l = svc_ctx.size ();
CORBA::ULong i;
for (i = 0; i != l; ++i)
diff --git a/tao/GIOP_Message_Generator_Parser_12.cpp b/tao/GIOP_Message_Generator_Parser_12.cpp
index bf4a01631b5..5f3e3b061ec 100644
--- a/tao/GIOP_Message_Generator_Parser_12.cpp
+++ b/tao/GIOP_Message_Generator_Parser_12.cpp
@@ -291,7 +291,7 @@ TAO_GIOP_Message_Generator_Parser_12::parse_request_header (
return -1;
}
- if (req_service_info.length() > 0)
+ if (req_service_info.size () > 0)
{
request.orb_core ()->service_context_registry ().
process_service_contexts (req_service_info, *(request.transport ()));
diff --git a/tao/IIOP_Acceptor.cpp b/tao/IIOP_Acceptor.cpp
index 6e007a4e283..dc4a87ea631 100644
--- a/tao/IIOP_Acceptor.cpp
+++ b/tao/IIOP_Acceptor.cpp
@@ -1060,11 +1060,16 @@ TAO_IIOP_Acceptor::object_key (IOP::TaggedProfile &profile,
TAO::ObjectKey &object_key)
{
// Create the decoding stream from the encapsulation in the buffer,
-#if (TAO_NO_COPY_OCTET_SEQUENCES == 1)
+#if (0)//TAO_NO_COPY_OCTET_SEQUENCES == 1)
TAO_InputCDR cdr (profile.profile_data.mb ());
#else
- TAO_InputCDR cdr (reinterpret_cast<char*> (profile.profile_data.get_buffer ()),
- profile.profile_data.length ());
+ const char *buf =
+ reinterpret_cast<const char *> (
+ profile.profile_data.get_allocator ().address (
+ *profile.profile_data.begin ()));
+
+ TAO_InputCDR cdr (buf,
+ profile.profile_data.size ());
#endif /* TAO_NO_COPY_OCTET_SEQUENCES == 1 */
CORBA::Octet major;
diff --git a/tao/IIOP_Connection_Handler.cpp b/tao/IIOP_Connection_Handler.cpp
index 1f27c5472fd..0fc082615c6 100644
--- a/tao/IIOP_Connection_Handler.cpp
+++ b/tao/IIOP_Connection_Handler.cpp
@@ -484,7 +484,7 @@ TAO_IIOP_Connection_Handler::process_listen_point_list (
IIOP::ListenPointList &listen_list)
{
// Get the size of the list
- CORBA::ULong len = listen_list.length ();
+ CORBA::ULong len = listen_list.size ();
if (TAO_debug_level > 0 && len == 0)
{
diff --git a/tao/IIOP_Connection_Handler.h b/tao/IIOP_Connection_Handler.h
index a96bf0c8403..0ad5f95b65d 100644
--- a/tao/IIOP_Connection_Handler.h
+++ b/tao/IIOP_Connection_Handler.h
@@ -14,6 +14,8 @@
#ifndef TAO_IIOP_CONNECTION_HANDLER_H
#define TAO_IIOP_CONNECTION_HANDLER_H
+#include <vector>
+
#include /**/ "ace/pre.h"
#include "tao/orbconf.h"
@@ -42,7 +44,8 @@ template class TAO_Export ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH>;
namespace IIOP
{
- class ListenPointList;
+ struct ListenPoint;
+ typedef std::vector< ListenPoint> ListenPointList;
}
// ****************************************************************
diff --git a/tao/IIOP_Profile.cpp b/tao/IIOP_Profile.cpp
index 4ab9094bd05..0033a53f3cf 100644
--- a/tao/IIOP_Profile.cpp
+++ b/tao/IIOP_Profile.cpp
@@ -659,19 +659,19 @@ TAO_IIOP_Profile::encode_alternate_endpoints (void)
tagged_component.tag = IOP::TAG_ALTERNATE_IIOP_ADDRESS;
size_t length = out_cdr.total_length ();
- tagged_component.component_data.length
- (static_cast<CORBA::ULong>(length));
- CORBA::Octet *buf =
- tagged_component.component_data.get_buffer ();
+ tagged_component.component_data.resize (length);
+ size_t index = 0;
for (const ACE_Message_Block *iterator = out_cdr.begin ();
iterator != 0;
iterator = iterator->cont ())
{
- size_t i_length = iterator->length ();
- ACE_OS::memcpy (buf, iterator->rd_ptr (), i_length);
-
- buf += i_length;
+ char *buf = iterator->base ();
+
+ for (size_t j = 0; j < iterator->length (); ++j)
+ {
+ tagged_component.component_data[index++] = buf[j];
+ }
}
// Add component with encoded endpoint data to this profile's
@@ -707,7 +707,7 @@ TAO_IIOP_Profile::encode_endpoints (void)
// priority is not!
TAO::IIOPEndpointSequence endpoints;
- endpoints.length (actual_count);
+ endpoints.resize (actual_count);
endpoint = &this->endpoint_;
@@ -761,11 +761,13 @@ TAO_IIOP_Profile::decode_endpoints (void)
if (this->tagged_components_.get_component (tagged_component))
{
- const CORBA::Octet *buf =
- tagged_component.component_data.get_buffer ();
-
- TAO_InputCDR in_cdr (reinterpret_cast<const char *> (buf),
- tagged_component.component_data.length ());
+ const char *buf =
+ reinterpret_cast<const char *> (
+ tagged_component.component_data.get_allocator ().address (
+ *tagged_component.component_data.begin ()));
+
+ TAO_InputCDR in_cdr (buf,
+ tagged_component.component_data.size ());
// Extract the Byte Order.
CORBA::Boolean byte_order;
@@ -790,7 +792,7 @@ TAO_IIOP_Profile::decode_endpoints (void)
// from the end of the sequence to preserve endpoint order,
// since <add_endpoint> method reverses the order of endpoints
// in the list.
- for (CORBA::ULong i = endpoints.length () - 1;
+ for (CORBA::ULong i = endpoints.size () - 1;
i > 0;
--i)
{
@@ -809,15 +811,18 @@ TAO_IIOP_Profile::decode_endpoints (void)
// components.
IOP::MultipleComponentProfile& tc = this->tagged_components_.components();
- for (CORBA::ULong index = 0; index < tc.length(); index++)
+ for (CORBA::ULong index = 0; index < tc.size (); index++)
{
if (tc[index].tag != IOP::TAG_ALTERNATE_IIOP_ADDRESS)
continue;
- const CORBA::Octet *buf =
- tc[index].component_data.get_buffer ();
- TAO_InputCDR in_cdr (reinterpret_cast<const char*>(buf),
- tc[index].component_data.length ());
+ const char *buf =
+ reinterpret_cast<const char *> (
+ tc[index].component_data.get_allocator ().address (
+ *tc[index].component_data.begin ()));
+
+ TAO_InputCDR in_cdr (buf,
+ tc[index].component_data.size ());
// Extract the Byte Order.
CORBA::Boolean byte_order;
diff --git a/tao/IIOP_Transport.cpp b/tao/IIOP_Transport.cpp
index 9683b4292e2..f017d2340a4 100644
--- a/tao/IIOP_Transport.cpp
+++ b/tao/IIOP_Transport.cpp
@@ -308,7 +308,7 @@ TAO_IIOP_Transport::set_bidir_context_info (TAO_Operation_Details &opdetails)
}
}
- if (listen_point_list.length () == 0)
+ if (listen_point_list.size () == 0)
{
if (TAO_debug_level > 0)
ACE_ERROR ((LM_ERROR,
@@ -405,10 +405,10 @@ TAO_IIOP_Transport::get_listen_point (
#endif /* ACE_HAS_IPV6 */
// Get the count of the number of elements
- CORBA::ULong const len = listen_point_list.length ();
+ CORBA::ULong const len = listen_point_list.size ();
// Increase the length by 1
- listen_point_list.length (len + 1);
+ listen_point_list.resize (len + 1);
// We have the connection and the acceptor endpoint on the
// same interface
diff --git a/tao/IIOP_Transport.h b/tao/IIOP_Transport.h
index a908ed36d87..3f7f99b3ed3 100644
--- a/tao/IIOP_Transport.h
+++ b/tao/IIOP_Transport.h
@@ -30,7 +30,8 @@ TAO_BEGIN_VERSIONED_NAMESPACE_DECL
namespace IIOP
{
- class ListenPointList;
+ struct ListenPoint;
+ typedef std::vector< ListenPoint> ListenPointList;
}
// Forward decls.
diff --git a/tao/IOP.pidl b/tao/IOP.pidl
index 8680989f839..70d85fc7a98 100644
--- a/tao/IOP.pidl
+++ b/tao/IOP.pidl
@@ -37,8 +37,9 @@ module IOP
ComponentId tag;
CORBA::OctetSeq component_data;
};
- typedef sequence<TaggedComponent> MultipleComponentProfile;
+
typedef sequence<TaggedComponent> TaggedComponentSeq;
+ typedef TaggedComponentSeq MultipleComponentProfile;
// @@ All security related tags are located in the Security Service
// @@ related IDL files, in accordance with the Security Service 1.8
diff --git a/tao/LocalObject.cpp b/tao/LocalObject.cpp
index 21b63f26cd7..f4bfa50db97 100644
--- a/tao/LocalObject.cpp
+++ b/tao/LocalObject.cpp
@@ -55,7 +55,7 @@ CORBA::LocalObject::_is_equivalent (CORBA::Object_ptr other_obj)
// TAO's extensions
-TAO::ObjectKey *
+TAO::ObjectKey
CORBA::LocalObject::_key (void)
{
if (TAO_debug_level > 0)
@@ -158,7 +158,7 @@ CORBA::LocalObject::_get_policy_overrides (const CORBA::PolicyTypeSeq &)
}
CORBA::Boolean
-CORBA::LocalObject::_validate_connection (CORBA::PolicyList_out)
+CORBA::LocalObject::_validate_connection (CORBA::PolicyList &)
{
throw ::CORBA::NO_IMPLEMENT (CORBA::OMGVMCID | 8, CORBA::COMPLETED_NO);
}
diff --git a/tao/LocalObject.h b/tao/LocalObject.h
index 35da4735bcb..f1eff1d422e 100644
--- a/tao/LocalObject.h
+++ b/tao/LocalObject.h
@@ -121,7 +121,7 @@ namespace CORBA
/// Throws CORBA::NO_IMPLEMENT.
CORBA::Boolean _validate_connection (
- CORBA::PolicyList_out inconsistent_policies);
+ CORBA::PolicyList & inconsistent_policies);
#endif /* TAO_HAS_CORBA_MESSAGING == 1 */
@@ -146,7 +146,7 @@ namespace CORBA
// = TAO extensions
/// Throws CORBA::NO_IMPLEMENT.
- virtual TAO::ObjectKey * _key (void);
+ virtual TAO::ObjectKey _key (void);
/// Useful for template programming.
typedef LocalObject_ptr _ptr_type;
diff --git a/tao/LocateRequest_Invocation_Adapter.cpp b/tao/LocateRequest_Invocation_Adapter.cpp
index b40480266dc..ee4e1a8de22 100644
--- a/tao/LocateRequest_Invocation_Adapter.cpp
+++ b/tao/LocateRequest_Invocation_Adapter.cpp
@@ -21,7 +21,6 @@ namespace TAO
LocateRequest_Invocation_Adapter::LocateRequest_Invocation_Adapter (
CORBA::Object_ptr target)
: target_ (target)
- , list_ (0)
{
}
@@ -103,10 +102,10 @@ namespace TAO
return;
}
- CORBA::PolicyList *
+ CORBA::PolicyList
LocateRequest_Invocation_Adapter::get_inconsistent_policies (void)
{
- return this->list_._retn ();
+ return this->list_;
}
bool
diff --git a/tao/LocateRequest_Invocation_Adapter.h b/tao/LocateRequest_Invocation_Adapter.h
index 4300d8aa19e..59a7fc8847e 100644
--- a/tao/LocateRequest_Invocation_Adapter.h
+++ b/tao/LocateRequest_Invocation_Adapter.h
@@ -64,7 +64,7 @@ namespace TAO
void invoke (void);
/// Accessor to the inconsistent policy list
- CORBA::PolicyList *get_inconsistent_policies (void);
+ CORBA::PolicyList get_inconsistent_policies (void);
private:
@@ -78,7 +78,7 @@ namespace TAO
private:
CORBA::Object_ptr target_;
- CORBA::PolicyList_var list_;
+ CORBA::PolicyList list_;
};
}
diff --git a/tao/MProfile.cpp b/tao/MProfile.cpp
index c4c763c7f6c..4480787b92c 100644
--- a/tao/MProfile.cpp
+++ b/tao/MProfile.cpp
@@ -25,7 +25,7 @@ TAO_MProfile::~TAO_MProfile (void)
{
if (this->policy_list_ != 0)
{
- CORBA::ULong const len = this->policy_list_->length ();
+ CORBA::ULong const len = this->policy_list_->size ();
for (CORBA::ULong i = 0; i < len; ++i)
{
try
diff --git a/tao/MProfile.h b/tao/MProfile.h
index bd0b6f49c93..8972b4193b3 100644
--- a/tao/MProfile.h
+++ b/tao/MProfile.h
@@ -16,6 +16,8 @@
#ifndef TAO_MPROFILE_H
#define TAO_MPROFILE_H
+#include <vector>
+
#include /**/ "ace/pre.h"
#include "ace/Recursive_Thread_Mutex.h"
@@ -34,7 +36,9 @@ TAO_BEGIN_VERSIONED_NAMESPACE_DECL
class TAO_Profile;
namespace CORBA
{
- class PolicyList;
+ class Policy;
+ typedef Policy *Policy_ptr;
+ typedef std::vector<Policy_ptr> PolicyList;
}
typedef CORBA::ULong TAO_PHandle;
diff --git a/tao/ORB.cpp b/tao/ORB.cpp
index 3f9023adf5a..17378dc0b6c 100644
--- a/tao/ORB.cpp
+++ b/tao/ORB.cpp
@@ -1036,7 +1036,7 @@ CORBA::ORB::unregister_initial_reference (const char * id)
}
#endif
-CORBA::ORB::ObjectIdList_ptr
+CORBA::ORB::ObjectIdList
CORBA::ORB::list_initial_services (void)
{
this->check_shutdown ();
diff --git a/tao/ORB.h b/tao/ORB.h
index f031417a061..b4417cb93e1 100644
--- a/tao/ORB.h
+++ b/tao/ORB.h
@@ -29,8 +29,8 @@
#include "tao/objectid.h"
#include "tao/VarOut_T.h"
#include "tao/Pseudo_VarOut_T.h"
-#include "tao/Seq_Var_T.h"
-#include "tao/Seq_Out_T.h"
+//#include "tao/Seq_Var_T.h"
+//#include "tao/Seq_Out_T.h"
#include "tao/Sequence_T.h"
#include "tao/Policy_ForwardC.h"
#include "tao/ServicesC.h"
@@ -69,7 +69,7 @@ namespace CORBA
class StructMemberSeq;
class UnionMemberSeq;
class ValueMemberSeq;
- class ORB_ObjectIdList;
+ typedef std::vector<char *> ORB_ObjectIdList;
class Object;
typedef Object * Object_ptr;
@@ -98,7 +98,7 @@ namespace CORBA
typedef CORBA::ULong PolicyType;
// TODO - implement OMG's 'ORBid CORBA::ORB::id (void)'.
-
+/*
typedef
TAO_VarSeq_Var_T<
ORB_ObjectIdList
@@ -110,7 +110,7 @@ namespace CORBA
ORB_ObjectIdList
>
ORB_ObjectIdList_out;
-
+*/
class ValueFactoryBase;
typedef ValueFactoryBase *ValueFactory;
@@ -133,12 +133,8 @@ namespace CORBA
// Typedefs for CORBA::RequestSeq, which is an argument of
// send_multiple_requests_*().
- typedef
- TAO::unbounded_object_reference_sequence<
- CORBA::Request, CORBA::Request_var
- >
- RequestSeq;
-
+ typedef std::vector<Request_ptr> RequestSeq;
+/*
typedef
TAO_VarSeq_Var_T<
RequestSeq
@@ -150,6 +146,7 @@ namespace CORBA
RequestSeq
>
RequestSeq_out;
+*/
#endif
/**
@@ -195,9 +192,9 @@ namespace CORBA
static CORBA::TypeCode_ptr const _tc_ObjectId;
typedef CORBA::ORB_ObjectIdList ObjectIdList;
- typedef CORBA::ORB_ObjectIdList_var ObjectIdList_var;
- typedef CORBA::ORB_ObjectIdList_out ObjectIdList_out;
- typedef CORBA::ORB_ObjectIdList *ObjectIdList_ptr;
+// typedef CORBA::ORB_ObjectIdList_var ObjectIdList_var;
+// typedef CORBA::ORB_ObjectIdList_out ObjectIdList_out;
+// typedef CORBA::ORB_ObjectIdList *ObjectIdList_ptr;
static CORBA::TypeCode_ptr const _tc_ObjectIdList;
/// Return a duplicate of @c orb.
@@ -492,7 +489,7 @@ namespace CORBA
/// Returns a sequence of ObjectIds that lists which objects have
/// references available via the initial references mechanism.
- CORBA::ORB::ObjectIdList_ptr list_initial_services (void);
+ CORBA::ORB::ObjectIdList list_initial_services (void);
#if !defined(CORBA_E_MICRO)
CORBA::Policy_ptr create_policy (CORBA::PolicyType type,
diff --git a/tao/ORB_Core.cpp b/tao/ORB_Core.cpp
index 092e3a10528..7e4ef6b12b8 100644
--- a/tao/ORB_Core.cpp
+++ b/tao/ORB_Core.cpp
@@ -1946,7 +1946,7 @@ TAO_ORB_Core::create_stub_object (TAO_MProfile &mprofile,
// became in turns the "body" of the IOP::TaggedComponent. This
// conversion is a responsability of the CORBA::Profile class. (See
// orbos\98-05-05.pdf Section 5.4)
- if (policy_list->length () != 0)
+ if (policy_list->size () != 0)
{
TAO_Profile * profile = 0;
@@ -2787,7 +2787,7 @@ TAO_ORB_Core::resolve_rir (const char *name)
return CORBA::Object::_nil ();
}
-CORBA::ORB::ObjectIdList *
+CORBA::ORB::ObjectIdList
TAO_ORB_Core::list_initial_references (void)
{
// Unsupported initial services should NOT be included in the below list!
@@ -2803,22 +2803,16 @@ TAO_ORB_Core::list_initial_references (void)
+ this->init_ref_map_.size ()
+ this->object_ref_table_.current_size ();
- CORBA::ORB::ObjectIdList *tmp = 0;
-
- ACE_NEW_THROW_EX (tmp,
- CORBA::ORB::ObjectIdList (
- static_cast<CORBA::ULong> (total_size)),
- CORBA::NO_MEMORY ());
-
- CORBA::ORB::ObjectIdList_var list (tmp);
- list->length (static_cast<CORBA::ULong> (total_size));
+ CORBA::ORB::ObjectIdList list;
+ list.resize (total_size);
CORBA::ULong index = 0;
// Index for ObjectIdList members.
// Iterate over the registered initial references.
for (index = 0; index < initial_services_size; ++index)
- list[index] = initial_services[index];
+ list[index] =
+ const_cast<char *> (initial_services[index]);
// Now iterate over the initial references created by the user and
// add them to the sequence.
@@ -2839,9 +2833,10 @@ TAO_ORB_Core::list_initial_references (void)
for (InitRefMap::iterator j = this-> init_ref_map_.begin ();
j != end;
++j, ++index)
- list[index] = (*j).first.c_str ();
+ list[index] =
+ const_cast<char *> ((*j).first.c_str ());
- return list._retn ();
+ return list;
}
// ****************************************************************
diff --git a/tao/ORB_Core.h b/tao/ORB_Core.h
index 7d335c2f999..aafbd4d4cd1 100644
--- a/tao/ORB_Core.h
+++ b/tao/ORB_Core.h
@@ -32,6 +32,7 @@
#include "tao/Object_Ref_Table.h"
#include "tao/ObjectKey_Table.h"
#include "tao/Messaging_SyncScopeC.h"
+#include "tao/IOPC.h"
#include "tao/Object.h"
#include "tao/Invocation_Utils.h"
#include "tao/Adapter_Registry.h"
@@ -113,16 +114,13 @@ namespace TAO
namespace CORBA
{
- class ORB_ObjectIdList; // CORBA::ORB::ObjectIdList
+ typedef std::vector<char *> ORB_ObjectIdList;
class ORB;
typedef ORB *ORB_ptr;
- class PolicyList;
-}
-
-namespace IOP
-{
- class ServiceContextList;
+ class Policy;
+ typedef Policy *Policy_ptr;
+ typedef std::vector<Policy_ptr> PolicyList;
}
namespace PortableInterceptor
@@ -688,7 +686,7 @@ public:
const char *server_id (void) const;
/// List all the service known by the ORB
- CORBA::ORB_ObjectIdList *list_initial_references (void);
+ CORBA::ORB_ObjectIdList list_initial_references (void);
/// Reference counting...
unsigned long _incr_refcnt (void);
diff --git a/tao/Object.cpp b/tao/Object.cpp
index 57aa973a879..465cf1c86e3 100644
--- a/tao/Object.cpp
+++ b/tao/Object.cpp
@@ -97,10 +97,10 @@ if (!this->is_evaluated_) \
CORBA::Object::tao_object_initialize (this); \
}
-#define TAO_OBJECT_IOR_EVALUATE_RETURN \
+#define TAO_OBJECT_IOR_EVALUATE_RETURN(retval) \
if (!this->is_evaluated_) \
{ \
- ACE_GUARD_RETURN (ACE_Lock , mon, *this->object_init_lock_, 0); \
+ ACE_GUARD_RETURN (ACE_Lock , mon, *this->object_init_lock_, retval); \
if (!this->is_evaluated_) \
CORBA::Object::tao_object_initialize (this); \
}
@@ -204,7 +204,7 @@ CORBA::Object::_servant (void) const
CORBA::Boolean
CORBA::Object::_is_a (const char *type_id)
{
- TAO_OBJECT_IOR_EVALUATE_RETURN;
+ TAO_OBJECT_IOR_EVALUATE_RETURN(false);
// NOTE: if _stub->type_id is nonzero and we have local knowledge of
// it, we can answer this question without a costly remote call.
@@ -272,14 +272,14 @@ CORBA::Object::_stubobj (void) const
TAO_Stub *
CORBA::Object::_stubobj (void)
{
- TAO_OBJECT_IOR_EVALUATE_RETURN;
+ TAO_OBJECT_IOR_EVALUATE_RETURN(0);
return this->protocol_proxy_;
}
CORBA::ULong
CORBA::Object::_hash (CORBA::ULong maximum)
{
- TAO_OBJECT_IOR_EVALUATE_RETURN;
+ TAO_OBJECT_IOR_EVALUATE_RETURN(0);
if (this->protocol_proxy_ != 0)
return this->protocol_proxy_->hash (maximum);
@@ -311,7 +311,7 @@ CORBA::Object::_is_equivalent (CORBA::Object_ptr other_obj)
return true;
}
- TAO_OBJECT_IOR_EVALUATE_RETURN;
+ TAO_OBJECT_IOR_EVALUATE_RETURN(false);
if (this->protocol_proxy_ != 0)
return this->protocol_proxy_->is_equivalent (other_obj);
@@ -321,10 +321,10 @@ CORBA::Object::_is_equivalent (CORBA::Object_ptr other_obj)
// TAO's extensions
-TAO::ObjectKey *
+TAO::ObjectKey
CORBA::Object::_key (void)
{
- TAO_OBJECT_IOR_EVALUATE_RETURN;
+ TAO_OBJECT_IOR_EVALUATE_RETURN(0);
if (this->_stubobj () && this->_stubobj ()->profile_in_use ())
return this->_stubobj ()->profile_in_use ()->_key ();
@@ -355,7 +355,7 @@ CORBA::Object::is_nil_i (CORBA::Object_ptr obj)
// If the profile length is zero for a non-evaluted IOR it is a
// null-object.
- if ((!obj->is_evaluated ()) && obj->ior ().profiles.length () == 0)
+ if ((!obj->is_evaluated ()) && obj->ior ().profiles.size () == 0)
return true;
// To accomodate new definitions.
@@ -452,7 +452,7 @@ CORBA::Object::_create_request (CORBA::Context_ptr ctx,
CORBA::Request_ptr
CORBA::Object::_request (const char *operation)
{
- TAO_OBJECT_IOR_EVALUATE_RETURN;
+ TAO_OBJECT_IOR_EVALUATE_RETURN(0);
if (this->protocol_proxy_)
{
TAO_Dynamic_Adapter *dynamic_adapter =
@@ -478,7 +478,7 @@ CORBA::Object::_request (const char *operation)
CORBA::Boolean
CORBA::Object::_non_existent (void)
{
- TAO_OBJECT_IOR_EVALUATE_RETURN;
+ TAO_OBJECT_IOR_EVALUATE_RETURN(false);
CORBA::Boolean retval = false;
@@ -499,14 +499,14 @@ CORBA::Object::_non_existent (void)
CORBA::InterfaceDef_ptr
CORBA::Object::_get_interface (void)
{
- TAO_OBJECT_IOR_EVALUATE_RETURN;
+ TAO_OBJECT_IOR_EVALUATE_RETURN(0);
return this->proxy_broker ()->_get_interface (this);
}
CORBA::Object_ptr
CORBA::Object::_get_component (void)
{
- TAO_OBJECT_IOR_EVALUATE_RETURN;
+ TAO_OBJECT_IOR_EVALUATE_RETURN(CORBA::Object::_nil ());
return this->proxy_broker ()->_get_component (this);
}
#endif
@@ -514,7 +514,7 @@ CORBA::Object::_get_component (void)
char*
CORBA::Object::_repository_id (void)
{
- TAO_OBJECT_IOR_EVALUATE_RETURN;
+ TAO_OBJECT_IOR_EVALUATE_RETURN(0);
return this->proxy_broker ()->_repository_id (this);
}
@@ -531,7 +531,7 @@ CORBA::Object::_repository_id (void)
CORBA::Policy_ptr
CORBA::Object::_get_policy (CORBA::PolicyType type)
{
- TAO_OBJECT_IOR_EVALUATE_RETURN;
+ TAO_OBJECT_IOR_EVALUATE_RETURN(CORBA::Policy::_nil ());
if (this->protocol_proxy_)
return this->protocol_proxy_->get_policy (type);
@@ -542,7 +542,7 @@ CORBA::Object::_get_policy (CORBA::PolicyType type)
CORBA::Policy_ptr
CORBA::Object::_get_cached_policy (TAO_Cached_Policy_Type type)
{
- TAO_OBJECT_IOR_EVALUATE_RETURN;
+ TAO_OBJECT_IOR_EVALUATE_RETURN(CORBA::Policy::_nil ());
if (this->protocol_proxy_)
return this->protocol_proxy_->get_cached_policy (type);
@@ -555,7 +555,7 @@ CORBA::Object::_set_policy_overrides (
const CORBA::PolicyList & policies,
CORBA::SetOverrideType set_add)
{
- TAO_OBJECT_IOR_EVALUATE_RETURN;
+ TAO_OBJECT_IOR_EVALUATE_RETURN(CORBA::Object::_nil ());
if (!this->protocol_proxy_)
throw ::CORBA::NO_IMPLEMENT ();
@@ -588,10 +588,10 @@ CORBA::Object::_set_policy_overrides (
return obj;
}
-CORBA::PolicyList *
+CORBA::PolicyList
CORBA::Object::_get_policy_overrides (const CORBA::PolicyTypeSeq & types)
{
- TAO_OBJECT_IOR_EVALUATE_RETURN;
+ TAO_OBJECT_IOR_EVALUATE_RETURN(CORBA::PolicyList ());
if (this->protocol_proxy_)
return this->protocol_proxy_->get_policy_overrides (types);
else
@@ -600,11 +600,11 @@ CORBA::Object::_get_policy_overrides (const CORBA::PolicyTypeSeq & types)
CORBA::Boolean
CORBA::Object::_validate_connection (
- CORBA::PolicyList_out inconsistent_policies)
+ CORBA::PolicyList & inconsistent_policies)
{
- TAO_OBJECT_IOR_EVALUATE_RETURN;
+ TAO_OBJECT_IOR_EVALUATE_RETURN(false);
- inconsistent_policies = 0;
+ inconsistent_policies;
CORBA::Boolean retval = true;
#if (TAO_HAS_MINIMUM_CORBA == 0)
@@ -644,7 +644,7 @@ CORBA::Object::_get_orb (void)
}
else
{
- TAO_OBJECT_IOR_EVALUATE_RETURN;
+ TAO_OBJECT_IOR_EVALUATE_RETURN(CORBA::ORB::_nil ());
if (this->protocol_proxy_)
return CORBA::ORB::_duplicate (this->protocol_proxy_->orb_core ()->orb ());
else
@@ -704,7 +704,7 @@ operator<< (TAO_OutputCDR& cdr, const CORBA::Object* x)
CORBA::Object::tao_object_initialize (CORBA::Object *obj)
{
CORBA::ULong const profile_count =
- obj->ior_->profiles.length ();
+ obj->ior_->profiles.size ();
// Assumption is that after calling this method, folks should test
// for protocol_proxy_ or whatever to make sure that things have
diff --git a/tao/Object.h b/tao/Object.h
index 5a195a0969e..98399037bb6 100644
--- a/tao/Object.h
+++ b/tao/Object.h
@@ -212,11 +212,11 @@ namespace CORBA
const CORBA::PolicyList & policies,
CORBA::SetOverrideType set_add);
- CORBA::PolicyList * _get_policy_overrides (
+ CORBA::PolicyList _get_policy_overrides (
const CORBA::PolicyTypeSeq & types);
CORBA::Boolean _validate_connection (
- CORBA::PolicyList_out inconsistent_policies);
+ CORBA::PolicyList & inconsistent_policies);
#endif /* TAO_HAS_CORBA_MESSAGING == 1 */
@@ -275,7 +275,7 @@ namespace CORBA
/// Return the object key as an out parameter. Caller should release
/// return value when finished with it.
- virtual TAO::ObjectKey *_key (void);
+ virtual TAO::ObjectKey _key (void);
/// Constructor
Object (TAO_Stub *p,
diff --git a/tao/ObjectIdList.pidl b/tao/ObjectIdList.pidl
index c0e793e799e..b60933f8903 100644
--- a/tao/ObjectIdList.pidl
+++ b/tao/ObjectIdList.pidl
@@ -32,12 +32,14 @@
#ifndef TAO_CORBA_ORB_OBJECTIDLIST_PIDL
#define TAO_CORBA_ORB_OBJECTIDLIST_PIDL
+#include "tao/StringSeq.pidl"
+
#pragma prefix "omg.org"
module CORBA
{
typedef string ORB_ObjectId;
- typedef sequence<ORB_ObjectId> ORB_ObjectIdList;
+ typedef StringSeq ORB_ObjectIdList;
};
#endif /* TAO_CORBA_ORB_OBJECTIDLIST_PIDL */
diff --git a/tao/Object_KeyC.cpp b/tao/Object_KeyC.cpp
index 801f8c01b41..126a298022a 100644
--- a/tao/Object_KeyC.cpp
+++ b/tao/Object_KeyC.cpp
@@ -58,36 +58,6 @@ namespace TAO
TAO::ObjectKey::ObjectKey (void)
{}
-TAO::ObjectKey::ObjectKey (
- CORBA::ULong max
- )
- : TAO::unbounded_value_sequence<
- CORBA::Octet
- >
- (max)
-{}
-
-TAO::ObjectKey::ObjectKey (
- CORBA::ULong max,
- CORBA::ULong length,
- CORBA::Octet * buffer,
- CORBA::Boolean release
- )
- : TAO::unbounded_value_sequence<
- CORBA::Octet
- >
- (max, length, buffer, release)
-{}
-
-TAO::ObjectKey::ObjectKey (
- const ObjectKey &seq
- )
- : TAO::unbounded_value_sequence<
- CORBA::Octet
- >
- (seq)
-{}
-
TAO::ObjectKey::~ObjectKey (void)
{}
@@ -95,7 +65,7 @@ TAO::ObjectKey::~ObjectKey (void)
void
TAO::ObjectKey::encode_sequence_to_string (char* & str,
- TAO::unbounded_value_sequence<CORBA::Octet> const & seq)
+ std::vector<CORBA::Octet> const & seq)
{
// We must allocate a buffer which is (gag) 3 times the length
// of the sequence, which is the length required in the worst-case
@@ -106,7 +76,7 @@ TAO::ObjectKey::encode_sequence_to_string (char* & str,
// OR, we could just return this space. The classic time-space tradeoff,
// and for now we'll let time win out, which means that we only do the
// allocation once.
- CORBA::ULong const seq_len = seq.length ();
+ CORBA::ULong const seq_len = seq.size ();
CORBA::ULong const len = 3 * seq_len; /* space for zero termination
not needed */
str = CORBA::string_alloc (len);
@@ -152,12 +122,12 @@ TAO::ObjectKey::is_legal (unsigned char c)
void
TAO::ObjectKey::decode_string_to_sequence (
- TAO::unbounded_value_sequence<CORBA::Octet> & seq,
+ std::vector<CORBA::Octet> & seq,
char const * str)
{
if (str == 0)
{
- seq.length (0);
+ seq.resize (0);
return;
}
@@ -174,7 +144,7 @@ TAO::ObjectKey::decode_string_to_sequence (
// Set the length of the sequence to be as long as we'll possibly
// need...we'll reset it to the actual length later.
- seq.length (len);
+ seq.resize (len);
CORBA::ULong i = 0;
for (;
@@ -196,7 +166,7 @@ TAO::ObjectKey::decode_string_to_sequence (
}
// Set the length appropriately
- seq.length (i);
+ seq.resize (i);
}
/*static*/ CORBA::Boolean
@@ -216,14 +186,14 @@ TAO::ObjectKey::demarshal_key (TAO::ObjectKey &key,
}
// Set the length of the sequence.
- key.length (_tao_seq_len);
+ key.resize (_tao_seq_len);
// If length is 0 we return true.
if (0 >= _tao_seq_len)
{
return 1;
}
-
+/*
// Retrieve all the elements.
#if (TAO_NO_COPY_OCTET_SEQUENCES == 1)
if (ACE_BIT_DISABLED (strm.start ()->flags (),
@@ -237,8 +207,10 @@ TAO::ObjectKey::demarshal_key (TAO::ObjectKey &key,
return strm.read_octet_array (key.get_buffer (),
_tao_seq_len);
#else /* TAO_NO_COPY_OCTET_SEQUENCES == 0 */
- return strm.read_octet_array (key.get_buffer (), key.length ());
-#endif /* TAO_NO_COPY_OCTET_SEQUENCES == 0 */
+
+// return strm.read_octet_array (key.get_buffer (), key.length ());
+ return strm >> key;
+//#endif /* TAO_NO_COPY_OCTET_SEQUENCES == 0 */
}
return 0;
@@ -257,7 +229,8 @@ CORBA::Boolean operator<< (
const TAO::ObjectKey &_tao_sequence
)
{
- return TAO::marshal_sequence(strm, _tao_sequence);
+ return
+ strm << (const std::vector<CORBA::Octet> &) _tao_sequence;
}
CORBA::Boolean operator>> (
@@ -265,7 +238,8 @@ CORBA::Boolean operator>> (
TAO::ObjectKey &_tao_sequence
)
{
- return TAO::demarshal_sequence(strm, _tao_sequence);
+ return
+ strm >> (std::vector<CORBA::Octet> &) _tao_sequence;
}
#endif /* _TAO_CDR_OP_TAO_ObjectKey_CPP_ */
diff --git a/tao/Object_KeyC.h b/tao/Object_KeyC.h
index 503cfbe762c..2521b475b43 100644
--- a/tao/Object_KeyC.h
+++ b/tao/Object_KeyC.h
@@ -33,7 +33,6 @@
#include /**/ "ace/pre.h"
-
#include "ace/config-all.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
@@ -42,10 +41,8 @@
#include /**/ "tao/TAO_Export.h"
#include "tao/ORB.h"
-#include "tao/Environment.h"
-#include "tao/Sequence_T.h"
-#include "tao/Seq_Var_T.h"
-#include "tao/Seq_Out_T.h"
+//#include "tao/Environment.h"
+#include "tao/OctetSeqC.h"
#if defined (TAO_EXPORT_MACRO)
#undef TAO_EXPORT_MACRO
@@ -71,40 +68,14 @@ namespace TAO
#if !defined (_TAO_OBJECTKEY_CH_)
#define _TAO_OBJECTKEY_CH_
- class ObjectKey;
-
- typedef
- TAO_FixedSeq_Var_T<
- ObjectKey
- >
- ObjectKey_var;
-
- typedef
- TAO_Seq_Out_T<
- ObjectKey
- >
- ObjectKey_out;
-
class TAO_Export ObjectKey
: public
- TAO::unbounded_value_sequence<
- CORBA::Octet
- >
+ std::vector< ::CORBA::Octet>
{
public:
ObjectKey (void);
- ObjectKey (CORBA::ULong max);
- ObjectKey (
- CORBA::ULong max,
- CORBA::ULong length,
- CORBA::Octet* buffer,
- CORBA::Boolean release = false
- );
- ObjectKey (const ObjectKey &);
~ObjectKey (void);
-
- typedef ObjectKey_var _var_type;
-
+/*
#if (TAO_NO_COPY_OCTET_SEQUENCES == 1)
ObjectKey (
CORBA::ULong length,
@@ -117,10 +88,10 @@ namespace TAO
static void encode_sequence_to_string (
char* & str,
- TAO::unbounded_value_sequence<CORBA::Octet> const & seq
+ std::vector<CORBA::Octet> const & seq
);
static void decode_string_to_sequence (
- TAO::unbounded_value_sequence<CORBA::Octet> &seq,
+ std::vector<CORBA::Octet> &seq,
char const * str
);
static CORBA::Boolean is_legal (unsigned char c);
diff --git a/tao/Policy_Current.cpp b/tao/Policy_Current.cpp
index 6015144dd5a..d428c52972e 100644
--- a/tao/Policy_Current.cpp
+++ b/tao/Policy_Current.cpp
@@ -41,7 +41,7 @@ TAO_Policy_Current::get_policy (CORBA::PolicyType policy)
return impl.get_policy (policy);
}
-CORBA::PolicyList *
+CORBA::PolicyList
TAO_Policy_Current::get_policy_overrides (const CORBA::PolicyTypeSeq & ts)
{
diff --git a/tao/Policy_Current.h b/tao/Policy_Current.h
index 05c18e88e90..8a926ff0851 100644
--- a/tao/Policy_Current.h
+++ b/tao/Policy_Current.h
@@ -50,7 +50,7 @@ public:
// = The CORBA::PolicyManager operations
- virtual CORBA::PolicyList * get_policy_overrides (
+ virtual CORBA::PolicyList get_policy_overrides (
const CORBA::PolicyTypeSeq & ts);
virtual void set_policy_overrides (
diff --git a/tao/Policy_Current_Impl.cpp b/tao/Policy_Current_Impl.cpp
index 44c07ee2549..6e2c126ada3 100644
--- a/tao/Policy_Current_Impl.cpp
+++ b/tao/Policy_Current_Impl.cpp
@@ -22,7 +22,7 @@ TAO_Policy_Current_Impl::set_policy_overrides (
this->manager_impl_.set_policy_overrides (policies, set_add);
}
-CORBA::PolicyList *
+CORBA::PolicyList
TAO_Policy_Current_Impl::get_policy_overrides (const CORBA::PolicyTypeSeq & ts)
{
return this->manager_impl_.get_policy_overrides (ts);
diff --git a/tao/Policy_Current_Impl.h b/tao/Policy_Current_Impl.h
index ccaaca6ea1b..20b8dd97e97 100644
--- a/tao/Policy_Current_Impl.h
+++ b/tao/Policy_Current_Impl.h
@@ -49,7 +49,7 @@ public:
// = The CORBA::PolicyManager operations
- CORBA::PolicyList * get_policy_overrides (const CORBA::PolicyTypeSeq & ts);
+ CORBA::PolicyList get_policy_overrides (const CORBA::PolicyTypeSeq & ts);
void set_policy_overrides (const CORBA::PolicyList & policies,
CORBA::SetOverrideType set_add);
diff --git a/tao/Policy_Forward.pidl b/tao/Policy_Forward.pidl
index 3b8d09d39a9..803cce2ff4d 100644
--- a/tao/Policy_Forward.pidl
+++ b/tao/Policy_Forward.pidl
@@ -27,6 +27,8 @@
#ifndef TAO_CORBA_POLICY_FORWARD_PIDL
#define TAO_CORBA_POLICY_FORWARD_PIDL
+#include "tao/ULongSeq.pidl"
+
#pragma prefix "omg.org"
module CORBA
@@ -37,7 +39,7 @@ module CORBA
typedef sequence<Policy> PolicyList;
- typedef sequence<PolicyType> PolicyTypeSeq;
+ typedef ULongSeq PolicyTypeSeq;
local interface PolicyCurrent;
diff --git a/tao/Policy_Manager.cpp b/tao/Policy_Manager.cpp
index bf40e768f2e..d52fee3e61d 100644
--- a/tao/Policy_Manager.cpp
+++ b/tao/Policy_Manager.cpp
@@ -15,10 +15,13 @@ ACE_RCSID (tao,
TAO_BEGIN_VERSIONED_NAMESPACE_DECL
-CORBA::PolicyList *
+CORBA::PolicyList
TAO_Policy_Manager::get_policy_overrides (const CORBA::PolicyTypeSeq & ts)
{
- ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->mutex_, 0);
+ ACE_GUARD_RETURN (TAO_SYNCH_MUTEX,
+ ace_mon,
+ this->mutex_,
+ CORBA::PolicyList ());
return this->impl_.get_policy_overrides (ts);
}
diff --git a/tao/Policy_Manager.h b/tao/Policy_Manager.h
index 3b2054c3d12..9e6c449e097 100644
--- a/tao/Policy_Manager.h
+++ b/tao/Policy_Manager.h
@@ -49,7 +49,7 @@ public:
// = The CORBA::PolicyManager operations
- virtual CORBA::PolicyList * get_policy_overrides (
+ virtual CORBA::PolicyList get_policy_overrides (
const CORBA::PolicyTypeSeq & ts);
virtual void set_policy_overrides (const CORBA::PolicyList & policies,
diff --git a/tao/Policy_Set.cpp b/tao/Policy_Set.cpp
index afbc6ae3489..c19a673301f 100644
--- a/tao/Policy_Set.cpp
+++ b/tao/Policy_Set.cpp
@@ -44,11 +44,11 @@ TAO_Policy_Set::TAO_Policy_Set (const TAO_Policy_Set &rhs)
}
// Copy over the policy list.
- this->policy_list_.length (rhs.policy_list_.length ());
+ this->policy_list_.resize (rhs.policy_list_.size ());
try
{
- for (CORBA::ULong i = 0; i < rhs.policy_list_.length (); ++i)
+ for (CORBA::ULong i = 0; i < rhs.policy_list_.size (); ++i)
{
CORBA::Policy_ptr policy = rhs.policy_list_[i];
@@ -76,7 +76,7 @@ TAO_Policy_Set::TAO_Policy_Set (const TAO_Policy_Set &rhs)
ex._tao_print_exception ("TAO_Policy_Set::TAO_Policy_Set");
// "Try" to make this recoverable as we must have run out of memory.
- this->policy_list_.length (0);
+ this->policy_list_.resize (0);
}
}
@@ -90,7 +90,7 @@ TAO_Policy_Set::copy_from (TAO_Policy_Set *source)
this->cleanup_i ();
- for (CORBA::ULong i = 0; i < source->policy_list_.length (); ++i)
+ for (CORBA::ULong i = 0; i < source->policy_list_.size (); ++i)
{
CORBA::Policy_ptr policy = source->policy_list_[i];
@@ -106,8 +106,8 @@ TAO_Policy_Set::copy_from (TAO_Policy_Set *source)
CORBA::Policy_var copy = policy->copy ();
- CORBA::ULong const length = this->policy_list_.length ();
- this->policy_list_.length (length + 1);
+ CORBA::ULong const length = this->policy_list_.size ();
+ this->policy_list_.resize (length + 1);
TAO_Cached_Policy_Type const cached_type =
copy->_tao_cached_type ();
@@ -126,7 +126,7 @@ TAO_Policy_Set::copy_from (TAO_Policy_Set *source)
void
TAO_Policy_Set::cleanup_i (void)
{
- CORBA::ULong const len = this->policy_list_.length ();
+ CORBA::ULong const len = this->policy_list_.size ();
// Cleanup the policy list.
for (CORBA::ULong i = 0; i < len; ++i)
{
@@ -134,7 +134,7 @@ TAO_Policy_Set::cleanup_i (void)
this->policy_list_[i] = CORBA::Policy::_nil ();
}
- this->policy_list_.length (0);
+ this->policy_list_.resize (0);
// Cleanup the cache.
for (CORBA::ULong j = 0; j < TAO_CACHED_POLICY_MAX_CACHED; ++j)
@@ -163,7 +163,7 @@ TAO_Policy_Set::set_policy_overrides (const CORBA::PolicyList &policies,
// RTCORBA::ServerProtocolPolicy during this call.
bool server_protocol_set = false;
- CORBA::ULong const plen = policies.length ();
+ CORBA::ULong const plen = policies.size ();
for (CORBA::ULong i = 0; i < plen; ++i)
{
@@ -209,7 +209,7 @@ TAO_Policy_Set::set_policy (const CORBA::Policy_ptr policy)
CORBA::Policy_var copy = policy->copy ();
CORBA::ULong j = 0;
- CORBA::ULong const length = this->policy_list_.length ();
+ CORBA::ULong const length = this->policy_list_.size ();
while (j != length)
{
@@ -229,7 +229,7 @@ TAO_Policy_Set::set_policy (const CORBA::Policy_ptr policy)
if (j == length)
{
- this->policy_list_.length (length + 1);
+ this->policy_list_.resize (length + 1);
this->policy_list_[j] = copy.ptr ();
}
@@ -248,34 +248,38 @@ TAO_Policy_Set::set_policy (const CORBA::Policy_ptr policy)
(void) copy._retn ();
}
-CORBA::PolicyList *
+CORBA::PolicyList
TAO_Policy_Set::get_policy_overrides (const CORBA::PolicyTypeSeq &types)
{
- CORBA::ULong const slots = types.length ();
- CORBA::PolicyList *policy_list_ptr = 0;
+ CORBA::ULong const slots = types.size ();
+ CORBA::PolicyList policy_list;
+
+// CORBA::PolicyList *policy_list_ptr = 0;
if (slots == 0)
{
+ /*
// Copy our own policy list.
ACE_NEW_THROW_EX (policy_list_ptr,
CORBA::PolicyList (this->policy_list_),
CORBA::NO_MEMORY ());
-
- return policy_list_ptr;
+ */
+ return policy_list;
}
-
+/*
ACE_NEW_THROW_EX (policy_list_ptr,
CORBA::PolicyList (slots),
CORBA::NO_MEMORY ());
CORBA::PolicyList_var policy_list (policy_list_ptr);
policy_list->length (slots);
+ */
CORBA::ULong n = 0;
for (CORBA::ULong j = 0; j < slots; ++j)
{
CORBA::ULong const slot = types[j];
- CORBA::ULong const length = this->policy_list_.length ();
+ CORBA::ULong const length = this->policy_list_.size ();
for (CORBA::ULong i = 0; i < length; ++i)
{
@@ -293,15 +297,15 @@ TAO_Policy_Set::get_policy_overrides (const CORBA::PolicyTypeSeq &types)
}
}
- policy_list->length (n); // Truncate buffer if necessary.
+ policy_list.resize (n); // Truncate buffer if necessary.
- return policy_list._retn ();
+ return policy_list;
}
CORBA::Policy_ptr
TAO_Policy_Set::get_policy (CORBA::PolicyType type)
{
- CORBA::ULong const length = this->policy_list_.length ();
+ CORBA::ULong const length = this->policy_list_.size ();
for (CORBA::ULong i = 0; i < length; ++i)
{
diff --git a/tao/Policy_Set.h b/tao/Policy_Set.h
index 13215b72ca9..7a5092b7684 100644
--- a/tao/Policy_Set.h
+++ b/tao/Policy_Set.h
@@ -69,7 +69,7 @@ public:
/// Get the values (if any) for the policies in @a types, if @a
/// types is an empty list the method returns *all* the current
/// policies.
- CORBA::PolicyList * get_policy_overrides (const CORBA::PolicyTypeSeq & types);
+ CORBA::PolicyList get_policy_overrides (const CORBA::PolicyTypeSeq & types);
/// Obtain a single policy.
CORBA::Policy_ptr get_policy (CORBA::PolicyType policy);
diff --git a/tao/Policy_Set.inl b/tao/Policy_Set.inl
index 2263ccd4fad..73abea5e72a 100644
--- a/tao/Policy_Set.inl
+++ b/tao/Policy_Set.inl
@@ -21,7 +21,7 @@ TAO_Policy_Set::get_policy_by_index (CORBA::ULong index) const
ACE_INLINE CORBA::ULong
TAO_Policy_Set::num_policies (void) const
{
- return this->policy_list_.length();
+ return this->policy_list_.size();
}
TAO_END_VERSIONED_NAMESPACE_DECL
diff --git a/tao/PortableServer.mpc b/tao/PortableServer.mpc
index 2f88a3dd39f..dc88c3a7ae7 100644
--- a/tao/PortableServer.mpc
+++ b/tao/PortableServer.mpc
@@ -1,6 +1,8 @@
//$Id$
project(*idl) : tao_versioning_idl_defaults, install, pidl_install {
custom_only = 1
+ idlflags += -Gstl
+
IDL_Files {
idlflags += -Gp -Gd -Sci -SS -Sorb -GA \
-Wb,export_macro=TAO_PortableServer_Export \
diff --git a/tao/PortableServer/Active_Object_Map.cpp b/tao/PortableServer/Active_Object_Map.cpp
index b6d7ef67b11..95ff4af547e 100644
--- a/tao/PortableServer/Active_Object_Map.cpp
+++ b/tao/PortableServer/Active_Object_Map.cpp
@@ -533,7 +533,7 @@ TAO_Unique_Id_Strategy::unbind_using_user_id (
int
TAO_Unique_Id_Strategy::find_user_id_using_servant (
PortableServer::Servant servant,
- PortableServer::ObjectId_out user_id)
+ PortableServer::ObjectId & user_id)
{
TAO_Active_Object_Map_Entry *entry = 0;
int result = this->active_object_map_->servant_map_->find (servant, entry);
@@ -546,9 +546,12 @@ TAO_Unique_Id_Strategy::find_user_id_using_servant (
}
else
{
+ user_id.assign (entry->user_id_.begin (), entry->user_id_.end ());
+ /*
ACE_NEW_RETURN (user_id,
- PortableServer::ObjectId (entry->user_id_),
+ PortableServer::ObjectId (entry->user_id_.),
-1);
+ */
}
}
@@ -558,7 +561,7 @@ TAO_Unique_Id_Strategy::find_user_id_using_servant (
int
TAO_Unique_Id_Strategy::find_system_id_using_servant (
PortableServer::Servant servant,
- PortableServer::ObjectId_out system_id,
+ PortableServer::ObjectId & system_id,
CORBA::Short &priority)
{
TAO_Active_Object_Map_Entry *entry = 0;
@@ -689,7 +692,7 @@ TAO_Multiple_Id_Strategy::unbind_using_user_id (
int
TAO_Multiple_Id_Strategy::find_user_id_using_servant (
PortableServer::Servant,
- PortableServer::ObjectId_out)
+ PortableServer::ObjectId &)
{
return -1;
}
@@ -697,7 +700,7 @@ TAO_Multiple_Id_Strategy::find_user_id_using_servant (
int
TAO_Multiple_Id_Strategy::find_system_id_using_servant (
PortableServer::Servant,
- PortableServer::ObjectId_out,
+ PortableServer::ObjectId &,
CORBA::Short &)
{
return -1;
@@ -1024,12 +1027,16 @@ TAO_Active_Hint_Strategy::hint_size (void)
}
int
-TAO_Active_Hint_Strategy::system_id (PortableServer::ObjectId_out system_id,
+TAO_Active_Hint_Strategy::system_id (PortableServer::ObjectId & system_id,
TAO_Active_Object_Map_Entry &entry)
{
+ system_id.assign (entry.system_id_.begin (), entry.system_id_.end ());
+
+ /*
ACE_NEW_RETURN (system_id,
PortableServer::ObjectId (entry.system_id_),
-1);
+ */
return 0;
}
@@ -1078,12 +1085,16 @@ TAO_No_Hint_Strategy::hint_size (void)
}
int
-TAO_No_Hint_Strategy::system_id (PortableServer::ObjectId_out system_id,
+TAO_No_Hint_Strategy::system_id (PortableServer::ObjectId & system_id,
TAO_Active_Object_Map_Entry &entry)
{
+ system_id.assign (entry.user_id_.begin (), entry.user_id_.end ());
+
+ /*
ACE_NEW_RETURN (system_id,
PortableServer::ObjectId (entry.user_id_),
-1);
+ */
return 0;
}
diff --git a/tao/PortableServer/Active_Object_Map.h b/tao/PortableServer/Active_Object_Map.h
index bba8479e644..98943ef0cf8 100644
--- a/tao/PortableServer/Active_Object_Map.h
+++ b/tao/PortableServer/Active_Object_Map.h
@@ -79,14 +79,14 @@ public:
bind_using_system_id_returning_system_id (
PortableServer::Servant servant,
CORBA::Short priority,
- PortableServer::ObjectId_out system_id);
+ PortableServer::ObjectId & system_id);
/// Must be used with SYSTEM_ID policy.
int
bind_using_system_id_returning_user_id (
PortableServer::Servant servant,
CORBA::Short priority,
- PortableServer::ObjectId_out user_id);
+ PortableServer::ObjectId & user_id);
/// Can be used with any policy. With the SYSTEM_ID policy,
/// user_id is actually system_id.
@@ -100,7 +100,7 @@ public:
int
find_system_id_using_user_id (const PortableServer::ObjectId &user_id,
CORBA::Short priority,
- PortableServer::ObjectId_out system_id);
+ PortableServer::ObjectId & system_id);
/// Can be used with any policy.
int
@@ -119,13 +119,13 @@ public:
/// user_id is actually system_id.
int
find_user_id_using_servant (PortableServer::Servant servant,
- PortableServer::ObjectId_out user_id);
+ PortableServer::ObjectId & user_id);
/// Must be used with UNIQUE_ID policy. With the SYSTEM_ID policy,
/// user_id is actually system_id.
int
find_system_id_using_servant (PortableServer::Servant servant,
- PortableServer::ObjectId_out system_id,
+ PortableServer::ObjectId & system_id,
CORBA::Short &priority);
/// Can be used with any policy. With the SYSTEM_ID policy,
@@ -149,7 +149,7 @@ public:
find_servant_and_system_id_using_user_id (
const PortableServer::ObjectId &user_id,
PortableServer::Servant &servant,
- PortableServer::ObjectId_out system_id,
+ PortableServer::ObjectId & system_id,
CORBA::Short &priority);
/// Can be used with any policy. With the SYSTEM_ID policy,
@@ -166,13 +166,7 @@ public:
/// the @a system_id is identical to @a user_id.
int
find_user_id_using_system_id (const PortableServer::ObjectId &system_id,
- PortableServer::ObjectId_out user_id);
-
- /// Can be used with any policy. When the SYSTEM_ID policy is used,
- /// the @a system_id is identical to @a user_id.
- int
- find_user_id_using_system_id (const PortableServer::ObjectId &system_id,
- PortableServer::ObjectId &user_id);
+ const PortableServer::ObjectId &user_id);
/// Are there any remaining activations of @a servant in the active
/// object map? Can be used with any policy.
@@ -296,13 +290,13 @@ public:
/// @a user_id is actually @c system_id.
virtual int
find_user_id_using_servant (PortableServer::Servant servant,
- PortableServer::ObjectId_out user_id) = 0;
+ PortableServer::ObjectId & user_id) = 0;
/// Must be used with UNIQUE_ID policy. With the SYSTEM_ID policy,
/// <user_id> is actually @a system_id.
virtual int
find_system_id_using_servant (PortableServer::Servant servant,
- PortableServer::ObjectId_out system_id,
+ PortableServer::ObjectId & system_id,
CORBA::Short &priority) = 0;
/// Can be used with any policy. With the SYSTEM_ID policy,
@@ -353,13 +347,13 @@ public:
/// @a user_id is actually @c system_id.
virtual int
find_user_id_using_servant (PortableServer::Servant servant,
- PortableServer::ObjectId_out user_id);
+ PortableServer::ObjectId & user_id);
/// Must be used with UNIQUE_ID policy. With the SYSTEM_ID policy,
/// <user_id> is actually @a system_id.
virtual int
find_system_id_using_servant (PortableServer::Servant servant,
- PortableServer::ObjectId_out system_id,
+ PortableServer::ObjectId & system_id,
CORBA::Short &priority);
/// Can be used with any policy. With the SYSTEM_ID policy,
@@ -402,13 +396,13 @@ public:
/// @a user_id is actually @c system_id.
virtual int
find_user_id_using_servant (PortableServer::Servant servant,
- PortableServer::ObjectId_out user_id);
+ PortableServer::ObjectId & user_id);
/// Must be used with UNIQUE_ID policy. With the SYSTEM_ID policy,
/// <user_id> is actually @a system_id.
virtual int
find_system_id_using_servant (PortableServer::Servant servant,
- PortableServer::ObjectId_out system_id,
+ PortableServer::ObjectId & system_id,
CORBA::Short &priority);
/// Can be used with any policy. With the SYSTEM_ID policy,
@@ -624,7 +618,7 @@ public:
/// Get the system id associated with this entry.
virtual int
- system_id (PortableServer::ObjectId_out system_id,
+ system_id (PortableServer::ObjectId & system_id,
TAO_Active_Object_Map_Entry &entry) = 0;
};
@@ -661,7 +655,7 @@ public:
hint_size (void);
virtual int
- system_id (PortableServer::ObjectId_out system_id,
+ system_id (PortableServer::ObjectId & system_id,
TAO_Active_Object_Map_Entry &entry);
typedef ACE_Active_Map_Manager_Adapter<
@@ -703,7 +697,7 @@ public:
hint_size (void);
virtual int
- system_id (PortableServer::ObjectId_out system_id,
+ system_id (PortableServer::ObjectId & system_id,
TAO_Active_Object_Map_Entry &entry);
};
diff --git a/tao/PortableServer/Active_Object_Map.inl b/tao/PortableServer/Active_Object_Map.inl
index 74c638753dc..b21fa16b32a 100644
--- a/tao/PortableServer/Active_Object_Map.inl
+++ b/tao/PortableServer/Active_Object_Map.inl
@@ -18,21 +18,21 @@ ACE_INLINE int
TAO_Active_Object_Map::bind_using_system_id_returning_system_id (
PortableServer::Servant servant,
CORBA::Short priority,
- PortableServer::ObjectId_out system_id)
+ PortableServer::ObjectId & system_id)
{
if (servant == 0 && !this->using_active_maps_)
{
- PortableServer::ObjectId id;
-
- int result = this->user_id_map_->create_key (id);
+// PortableServer::ObjectId id;
+ int result = this->user_id_map_->create_key (system_id);
+/*
if (result == 0)
{
ACE_NEW_RETURN (system_id,
PortableServer::ObjectId (id),
-1);
}
-
+*/
return result;
}
@@ -56,7 +56,7 @@ ACE_INLINE int
TAO_Active_Object_Map::bind_using_system_id_returning_user_id (
PortableServer::Servant servant,
CORBA::Short priority,
- PortableServer::ObjectId_out user_id)
+ PortableServer::ObjectId & user_id)
{
TAO_Active_Object_Map_Entry *entry = 0;
@@ -65,9 +65,12 @@ TAO_Active_Object_Map::bind_using_system_id_returning_user_id (
priority,
entry);
if (result == 0)
+ user_id.assign (entry->user_id_.begin (), entry->user_id_.end ());
+ /*
ACE_NEW_RETURN (user_id,
PortableServer::ObjectId (entry->user_id_),
-1);
+ */
return result;
}
@@ -88,14 +91,17 @@ ACE_INLINE int
TAO_Active_Object_Map::find_system_id_using_user_id (
const PortableServer::ObjectId &user_id,
CORBA::Short priority,
- PortableServer::ObjectId_out system_id)
+ PortableServer::ObjectId & system_id)
{
if (!this->using_active_maps_)
{
+ system_id.assign (user_id.begin (), user_id.end ());
+
+ /*
ACE_NEW_RETURN (system_id,
PortableServer::ObjectId (user_id),
-1);
-
+ */
return 0;
}
@@ -137,7 +143,7 @@ TAO_Active_Object_Map::unbind_using_user_id (
ACE_INLINE int
TAO_Active_Object_Map::find_user_id_using_servant (
PortableServer::Servant servant,
- PortableServer::ObjectId_out user_id)
+ PortableServer::ObjectId & user_id)
{
return
this->id_uniqueness_strategy_->find_user_id_using_servant (servant,
@@ -147,7 +153,7 @@ TAO_Active_Object_Map::find_user_id_using_servant (
ACE_INLINE int
TAO_Active_Object_Map::find_system_id_using_servant (
PortableServer::Servant servant,
- PortableServer::ObjectId_out system_id,
+ PortableServer::ObjectId & system_id,
CORBA::Short &priority)
{
return
@@ -220,7 +226,7 @@ ACE_INLINE int
TAO_Active_Object_Map::find_servant_and_system_id_using_user_id (
const PortableServer::ObjectId &user_id,
PortableServer::Servant &servant,
- PortableServer::ObjectId_out system_id,
+ PortableServer::ObjectId & system_id,
CORBA::Short &priority)
{
TAO_Active_Object_Map_Entry *entry = 0;
@@ -250,23 +256,7 @@ TAO_Active_Object_Map::find_servant_and_system_id_using_user_id (
ACE_INLINE int
TAO_Active_Object_Map::find_user_id_using_system_id (
const PortableServer::ObjectId &system_id,
- PortableServer::ObjectId_out user_id)
-{
- PortableServer::ObjectId id;
- if (this->id_hint_strategy_->recover_key (system_id, id) == 0)
- {
- ACE_NEW_RETURN (user_id,
- PortableServer::ObjectId (id),
- -1);
- }
-
- return 0;
-}
-
-ACE_INLINE int
-TAO_Active_Object_Map::find_user_id_using_system_id (
- const PortableServer::ObjectId &system_id,
- PortableServer::ObjectId &user_id)
+ const PortableServer::ObjectId &user_id)
{
return this->id_hint_strategy_->recover_key (system_id, user_id);
}
diff --git a/tao/PortableServer/LifespanStrategy.h b/tao/PortableServer/LifespanStrategy.h
index 70e0c06c04d..4f9cd2f7cd9 100644
--- a/tao/PortableServer/LifespanStrategy.h
+++ b/tao/PortableServer/LifespanStrategy.h
@@ -50,7 +50,7 @@ namespace TAO
/**
* Validate the passed object key if it belongs to this POA.
*/
- bool validate (TAO::ObjectKey_var& key);
+ bool validate (TAO::ObjectKey & key);
/**
* Returns the length of the key type
diff --git a/tao/PortableServer/Object_Adapter.h b/tao/PortableServer/Object_Adapter.h
index 95e81dd97c0..63f56bcb85d 100644
--- a/tao/PortableServer/Object_Adapter.h
+++ b/tao/PortableServer/Object_Adapter.h
@@ -79,8 +79,8 @@ public:
friend class TAO_Root_POA;
typedef PortableServer::ObjectId poa_name;
- typedef PortableServer::ObjectId_var poa_name_var;
- typedef PortableServer::ObjectId_out poa_name_out;
+// typedef PortableServer::ObjectId_var poa_name_var;
+ typedef PortableServer::ObjectId & poa_name_out;
/// Constructor.
TAO_Object_Adapter (const TAO_Server_Strategy_Factory::Active_Object_Map_Creation_Parameters &creation_parameters,
diff --git a/tao/PortableServer/POAManager.cpp b/tao/PortableServer/POAManager.cpp
index 8cbd7aa4ccf..675857c1007 100644
--- a/tao/PortableServer/POAManager.cpp
+++ b/tao/PortableServer/POAManager.cpp
@@ -32,14 +32,14 @@ TAO_POA_Manager::TAO_POA_Manager (
poa_collection_ (),
object_adapter_ (object_adapter),
#if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO)
- id_ (id == 0 ? this->generate_manager_id () : CORBA::string_dup (id)),
+ id_ (id == 0 ? this->generate_manager_id () : id),
poa_manager_factory_ (* dynamic_cast <TAO_POAManager_Factory*> (poa_manager_factory)),
policies_ (policies)
{
poa_manager_factory_._add_ref ();
}
#else
- id_ (id == 0 ? this->generate_manager_id () : CORBA::string_dup (id))
+ id_ (id == 0 ? this->generate_manager_id () : id)
{
}
#endif
@@ -52,10 +52,10 @@ TAO_POA_Manager::~TAO_POA_Manager (void)
#endif
}
-char *
+std::string
TAO_POA_Manager::get_id (void)
{
- return CORBA::string_dup (this->id_.in ());
+ return this->id_;
}
void
@@ -167,7 +167,7 @@ TAO_POA_Manager::adapter_manager_state_changed (PortableServer::POAManager::Stat
if (ior_adapter)
{
- ior_adapter->adapter_manager_state_changed (this->id_.in (),
+ ior_adapter->adapter_manager_state_changed (this->id_,
adapter_state);
}
}
diff --git a/tao/PortableServer/POAManager.h b/tao/PortableServer/POAManager.h
index 23768dc0a8a..4c2d3e709ab 100644
--- a/tao/PortableServer/POAManager.h
+++ b/tao/PortableServer/POAManager.h
@@ -77,7 +77,7 @@ public:
PortableServer::POAManager::State get_state (void);
- char *get_id (void);
+ std::string get_id (void);
TAO_POA_Manager (TAO_Object_Adapter &object_adapter,
#if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO)
@@ -138,7 +138,7 @@ protected:
TAO_Object_Adapter &object_adapter_;
- CORBA::String_var id_;
+ std::string id_;
#if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO)
diff --git a/tao/PortableServer/POAManagerFactory.cpp b/tao/PortableServer/POAManagerFactory.cpp
index 2c0fc32b1da..a595b7f9bf0 100644
--- a/tao/PortableServer/POAManagerFactory.cpp
+++ b/tao/PortableServer/POAManagerFactory.cpp
@@ -78,18 +78,19 @@ TAO_POAManager_Factory::create_POAManager (
return poamanager._retn ();
}
-::PortableServer::POAManagerFactory::POAManagerSeq *
+::PortableServer::POAManagerFactory::POAManagerSeq
TAO_POAManager_Factory::list (void)
{
- ::PortableServer::POAManagerFactory::POAManagerSeq_var poamanagers;
+ ::PortableServer::POAManagerFactory::POAManagerSeq poamanagers;
CORBA::ULong number_of_poamanagers = static_cast <CORBA::ULong>
(this->poamanager_set_.size ());
+ /*
ACE_NEW_THROW_EX (poamanagers,
PortableServer::POAManagerFactory::POAManagerSeq (
number_of_poamanagers),
CORBA::NO_MEMORY ());
-
- poamanagers->length (number_of_poamanagers);
+ */
+ poamanagers->resize (number_of_poamanagers);
CORBA::ULong index = 0;
for (POAMANAGERSET::iterator iterator = this->poamanager_set_.begin ();
@@ -97,8 +98,8 @@ TAO_POAManager_Factory::list (void)
++iterator, ++index)
{
::PortableServer::POAManager_ptr poamanager = (*iterator);
- poamanagers[index] =
- PortableServer::POAManager::_duplicate (poamanager);
+ poamanagers[index] = poamanager;
+// PortableServer::POAManager::_duplicate (poamanager);
}
return poamanagers._retn ();
diff --git a/tao/PortableServer/POAManagerFactory.h b/tao/PortableServer/POAManagerFactory.h
index 30603d8db4b..6476bc223c1 100644
--- a/tao/PortableServer/POAManagerFactory.h
+++ b/tao/PortableServer/POAManagerFactory.h
@@ -51,7 +51,7 @@ public:
const char * id,
const ::CORBA::PolicyList & policies);
- virtual ::PortableServer::POAManagerFactory::POAManagerSeq * list (void);
+ virtual ::PortableServer::POAManagerFactory::POAManagerSeq list (void);
virtual ::PortableServer::POAManager_ptr find (const char * id);
diff --git a/tao/PortableServer/POA_Policy_Set.cpp b/tao/PortableServer/POA_Policy_Set.cpp
index d4bc8d261bd..cc4dcde4925 100644
--- a/tao/PortableServer/POA_Policy_Set.cpp
+++ b/tao/PortableServer/POA_Policy_Set.cpp
@@ -34,9 +34,9 @@ TAO_POA_Policy_Set::~TAO_POA_Policy_Set (void)
void
TAO_POA_Policy_Set::add_client_exposed_fixed_policies (
- CORBA::PolicyList *client_exposed_policies)
+ CORBA::PolicyList &client_exposed_policies)
{
- CORBA::ULong cep_index = client_exposed_policies->length ();
+ CORBA::ULong cep_index = client_exposed_policies.size ();
for (CORBA::ULong i = 0;
i < this->num_policies ();
diff --git a/tao/PortableServer/POA_Policy_Set.h b/tao/PortableServer/POA_Policy_Set.h
index c01e3c9c882..5e427677df9 100644
--- a/tao/PortableServer/POA_Policy_Set.h
+++ b/tao/PortableServer/POA_Policy_Set.h
@@ -56,7 +56,7 @@ public:
TAO_ORB_Core &orb_core);
/// Add all of the client exposed policies to the specified list.
- void add_client_exposed_fixed_policies (CORBA::PolicyList *client_exposed_policies);
+ void add_client_exposed_fixed_policies (CORBA::PolicyList &client_exposed_policies);
TAO_Policy_Set &policies (void);
diff --git a/tao/PortableServer/PS_ForwardC.h b/tao/PortableServer/PS_ForwardC.h
index 592be9ab1e9..dd2f4bf3132 100644
--- a/tao/PortableServer/PS_ForwardC.h
+++ b/tao/PortableServer/PS_ForwardC.h
@@ -76,8 +76,6 @@ namespace PortableServer
// be\be_visitor_typedef/typedef_ch.cpp:472
typedef CORBA::OctetSeq ObjectId;
- typedef CORBA::OctetSeq_var ObjectId_var;
- typedef CORBA::OctetSeq_out ObjectId_out;
// TAO_IDL - Generated from
// be\be_interface.cpp:598
diff --git a/tao/PortableServer/RequestProcessingStrategy.h b/tao/PortableServer/RequestProcessingStrategy.h
index 4ce818c67b0..90e7d54c8c6 100644
--- a/tao/PortableServer/RequestProcessingStrategy.h
+++ b/tao/PortableServer/RequestProcessingStrategy.h
@@ -96,7 +96,7 @@ namespace TAO
virtual void etherealize_objects (CORBA::Boolean etherealize_objects) = 0;
- virtual PortableServer::ObjectId *servant_to_id (
+ virtual PortableServer::ObjectId servant_to_id (
PortableServer::Servant servant) = 0;
virtual void post_invoke_servant_cleanup(
diff --git a/tao/PortableServer/RequestProcessingStrategyAOMOnly.cpp b/tao/PortableServer/RequestProcessingStrategyAOMOnly.cpp
index 4778aa7db48..0921a84a439 100644
--- a/tao/PortableServer/RequestProcessingStrategyAOMOnly.cpp
+++ b/tao/PortableServer/RequestProcessingStrategyAOMOnly.cpp
@@ -126,7 +126,7 @@ namespace TAO
{
}
- PortableServer::ObjectId *
+ PortableServer::ObjectId
RequestProcessingStrategyAOMOnly::servant_to_id (
PortableServer::Servant servant)
{
diff --git a/tao/PortableServer/RequestProcessingStrategyAOMOnly.h b/tao/PortableServer/RequestProcessingStrategyAOMOnly.h
index 84c0cfce064..dcdd7b73ff7 100644
--- a/tao/PortableServer/RequestProcessingStrategyAOMOnly.h
+++ b/tao/PortableServer/RequestProcessingStrategyAOMOnly.h
@@ -78,7 +78,7 @@ namespace TAO
virtual void etherealize_objects (CORBA::Boolean etherealize_objects);
- virtual PortableServer::ObjectId *servant_to_id (
+ virtual PortableServer::ObjectId servant_to_id (
PortableServer::Servant servant);
virtual void post_invoke_servant_cleanup(
diff --git a/tao/PortableServer/RequestProcessingStrategyDefaultServant.cpp b/tao/PortableServer/RequestProcessingStrategyDefaultServant.cpp
index f773734e11b..eb53b4f0297 100644
--- a/tao/PortableServer/RequestProcessingStrategyDefaultServant.cpp
+++ b/tao/PortableServer/RequestProcessingStrategyDefaultServant.cpp
@@ -206,7 +206,7 @@ namespace TAO
{
}
- PortableServer::ObjectId *
+ PortableServer::ObjectId
RequestProcessingStrategyDefaultServant::servant_to_id (
PortableServer::Servant servant)
{
diff --git a/tao/PortableServer/RequestProcessingStrategyDefaultServant.h b/tao/PortableServer/RequestProcessingStrategyDefaultServant.h
index 6976659e156..6733fa06ee1 100644
--- a/tao/PortableServer/RequestProcessingStrategyDefaultServant.h
+++ b/tao/PortableServer/RequestProcessingStrategyDefaultServant.h
@@ -74,7 +74,7 @@ namespace TAO
virtual void etherealize_objects (CORBA::Boolean etherealize_objects);
- virtual PortableServer::ObjectId *servant_to_id (
+ virtual PortableServer::ObjectId servant_to_id (
PortableServer::Servant servant);
virtual void post_invoke_servant_cleanup(
diff --git a/tao/PortableServer/RequestProcessingStrategyServantManager.cpp b/tao/PortableServer/RequestProcessingStrategyServantManager.cpp
index 2be69725f9b..f7d0822ab56 100644
--- a/tao/PortableServer/RequestProcessingStrategyServantManager.cpp
+++ b/tao/PortableServer/RequestProcessingStrategyServantManager.cpp
@@ -55,7 +55,7 @@ namespace TAO
return this->poa_->find_servant (system_id);
}
- PortableServer::ObjectId *
+ PortableServer::ObjectId
RequestProcessingStrategyServantManager::servant_to_id (
PortableServer::Servant servant)
{
diff --git a/tao/PortableServer/RequestProcessingStrategyServantManager.h b/tao/PortableServer/RequestProcessingStrategyServantManager.h
index 7b12941991f..30924a1eedc 100644
--- a/tao/PortableServer/RequestProcessingStrategyServantManager.h
+++ b/tao/PortableServer/RequestProcessingStrategyServantManager.h
@@ -50,7 +50,7 @@ namespace TAO
virtual PortableServer::Servant id_to_servant (
const PortableServer::ObjectId &id);
- virtual PortableServer::ObjectId *servant_to_id (
+ virtual PortableServer::ObjectId servant_to_id (
PortableServer::Servant servant);
virtual ::PortableServer::RequestProcessingPolicyValue type() const;
diff --git a/tao/PortableServer/Root_POA.cpp b/tao/PortableServer/Root_POA.cpp
index 2dbda275c25..9161f443fc3 100644
--- a/tao/PortableServer/Root_POA.cpp
+++ b/tao/PortableServer/Root_POA.cpp
@@ -286,7 +286,7 @@ TAO_Root_POA::TAO_Root_POA (const TAO_Root_POA::String &name,
result =
this->object_adapter ().bind_poa (this->folded_name_,
this,
- this->system_name_.out ());
+ this->system_name_);
if (result != 0)
{
// Remove from POA Manager in case of errors. No checks of
@@ -309,7 +309,7 @@ TAO_Root_POA::TAO_Root_POA (const TAO_Root_POA::String &name,
this->poa_manager_.remove_poa (this);
this->object_adapter ().unbind_poa (this,
this->folded_name_,
- this->system_name_.in ());
+ this->system_name_);
throw;
}
@@ -364,7 +364,7 @@ TAO_Root_POA::complete_destruction_i (void)
// Remove POA from the Object Adapter.
int result = this->object_adapter ().unbind_poa (this,
this->folded_name_,
- this->system_name_.in ());
+ this->system_name_);
if (result != 0)
throw ::CORBA::OBJ_ADAPTER ();
@@ -600,7 +600,7 @@ TAO_Root_POA::create_POA_i (const TAO_Root_POA::String &adapter_name,
#if ! defined (CORBA_E_MICRO)
PortableServer::POA_ptr
-TAO_Root_POA::find_POA (const char *adapter_name,
+TAO_Root_POA::find_POA (const std::string adapter_name,
CORBA::Boolean activate_it)
{
// Lock access for the duration of this transaction.
@@ -614,7 +614,7 @@ TAO_Root_POA::find_POA (const char *adapter_name,
#if ! defined (CORBA_E_MICRO)
TAO_Root_POA *
-TAO_Root_POA::find_POA_i (const ACE_CString &child_name,
+TAO_Root_POA::find_POA_i (const std::string &child_name,
CORBA::Boolean activate_it)
{
TAO_Root_POA *child = 0;
@@ -692,18 +692,18 @@ TAO_Root_POA::tao_poa_manager ()
#if ! defined (CORBA_E_MICRO)
PortableServer::POA_ptr
-TAO_Root_POA::create_POA (const char *adapter_name,
+TAO_Root_POA::create_POA (const std::string adapter_name,
PortableServer::POAManager_ptr poa_manager,
const CORBA::PolicyList &policies)
{
// Lock access for the duration of this transaction.
TAO_POA_GUARD_RETURN (0);
- return this->create_POA_i (adapter_name, poa_manager, policies);
+ return this->create_POA_i (adapter_name.c_str (), poa_manager, policies);
}
#endif
-PortableServer::ObjectId *
+PortableServer::ObjectId
TAO_Root_POA::servant_to_id (PortableServer::Servant servant)
{
// If we had upgradeable locks, this would initially be a read lock
@@ -738,7 +738,7 @@ TAO_Root_POA::servant_to_reference (PortableServer::Servant servant)
return this->servant_to_reference_i (servant);
}
-PortableServer::POAList *
+PortableServer::POAList
TAO_Root_POA::the_children (void)
{
// Lock access for the duration of this transaction.
@@ -770,13 +770,13 @@ TAO_Root_POA::id_to_reference (const PortableServer::ObjectId &oid)
#if ! defined (CORBA_E_MICRO)
CORBA::Object_ptr
TAO_Root_POA::create_reference_with_id (const PortableServer::ObjectId &id,
- const char *intf)
+ const std::string intf)
{
// Lock access for the duration of this transaction.
TAO_POA_GUARD_RETURN (CORBA::Object::_nil ());
return this->create_reference_with_id_i (id,
- intf,
+ intf.c_str (),
this->server_priority ());
}
#endif
@@ -975,17 +975,18 @@ TAO_Root_POA::delete_child (const TAO_Root_POA::String &child)
return result;
}
-PortableServer::POAList *
+PortableServer::POAList
TAO_Root_POA::the_children_i (void)
{
- PortableServer::POAList_var children;
+ PortableServer::POAList children;
CORBA::ULong child_current = static_cast <CORBA::ULong>
(this->children_.current_size ());
+ /*
ACE_NEW_THROW_EX (children,
PortableServer::POAList (child_current),
CORBA::NO_MEMORY ());
-
- children->length (child_current);
+*/
+ children.resize (child_current);
CORBA::ULong index = 0;
for (CHILDREN::iterator iterator = this->children_.begin ();
@@ -993,13 +994,13 @@ TAO_Root_POA::the_children_i (void)
++iterator, ++index)
{
TAO_Root_POA *child_poa = (*iterator).int_id_;
- children[index] = PortableServer::POA::_duplicate (child_poa);
+ children[index] = child_poa;
}
- return children._retn ();
+ return children;
}
-PortableInterceptor::AdapterName *
+PortableInterceptor::AdapterName
TAO_Root_POA::adapter_name_i (void)
{
// The adapter name is the sequence of names starting from the
@@ -1020,7 +1021,8 @@ TAO_Root_POA::adapter_name_i (void)
}
// Empty adapter name sequence.
- PortableInterceptor::AdapterName *names = 0;
+ PortableInterceptor::AdapterName names;
+ /*
ACE_NEW_THROW_EX (names,
PortableInterceptor::AdapterName (len),
CORBA::NO_MEMORY (
@@ -1030,19 +1032,21 @@ TAO_Root_POA::adapter_name_i (void)
CORBA::COMPLETED_NO));
PortableInterceptor::AdapterName_var safe_names (names);
-
- names->length (len);
+ */
+ names.resize (len);
poa = PortableServer::POA::_duplicate (this);
- (*names)[0] = CORBA::string_dup ("RootPOA");
-
+// (*names)[0] = CORBA::string_dup ("RootPOA");
+ names[0] = "RootPOA";
+
// Fill in the AdapterName sequence as the POA hierarchy is
// traversed.
CORBA::ULong ilen = len;
for (CORBA::ULong i = 1; i < len; ++i)
{
- (*names)[--ilen] = poa->the_name ();
+// (*names)[--ilen] = poa->the_name ().c_str ();
+ names[--ilen].assign (poa->the_name);
poa = poa->the_parent ();
@@ -1051,7 +1055,8 @@ TAO_Root_POA::adapter_name_i (void)
ACE_ASSERT ((ilen > 0 ? !CORBA::is_nil (poa.in ()) : 1));
}
- return safe_names._retn ();
+// return safe_names._retn ();
+ return names;
}
void
@@ -1114,7 +1119,7 @@ TAO_Root_POA::adapter_state_changed (
}
}
-PortableServer::ObjectId *
+PortableServer::ObjectId
TAO_Root_POA::activate_object_i (PortableServer::Servant servant,
CORBA::Short priority,
bool &wait_occurred_restart_call)
@@ -1125,7 +1130,7 @@ TAO_Root_POA::activate_object_i (PortableServer::Servant servant,
wait_occurred_restart_call);
}
-PortableServer::ObjectId *
+PortableServer::ObjectId
TAO_Root_POA::activate_object (PortableServer::Servant servant)
{
while (1)
@@ -1135,7 +1140,7 @@ TAO_Root_POA::activate_object (PortableServer::Servant servant)
// Lock access for the duration of this transaction.
TAO_POA_GUARD_RETURN (0);
- PortableServer::ObjectId *result =
+ PortableServer::ObjectId result =
this->activate_object_i (servant,
this->server_priority (),
wait_occurred_restart_call);
@@ -1285,12 +1290,12 @@ TAO_Root_POA::is_persistent (void) const
}
CORBA::Object_ptr
-TAO_Root_POA::create_reference (const char *intf)
+TAO_Root_POA::create_reference (const std::string intf)
{
// Lock access for the duration of this transaction.
TAO_POA_GUARD_RETURN (CORBA::Object::_nil ());
- return this->create_reference_i (intf,
+ return this->create_reference_i (intf.c_str (),
this->server_priority ());
}
@@ -1330,7 +1335,7 @@ TAO_Root_POA::invoke_key_to_object_helper_i (const char * repository_id,
#if ! defined (CORBA_E_MICRO)
CORBA::Object_ptr
TAO_Root_POA::create_reference_with_id_i (const PortableServer::ObjectId &user_id,
- const char *intf,
+ std::string intf,
CORBA::Short priority)
{
// If the POA has the SYSTEM_ID policy and it detects that the
@@ -1349,11 +1354,11 @@ TAO_Root_POA::create_reference_with_id_i (const PortableServer::ObjectId &user_i
}
return this->active_policy_strategies_.servant_retention_strategy()->
- create_reference_with_id (user_id, intf, priority);
+ create_reference_with_id (user_id, intf.c_str (), priority);
}
#endif
-PortableServer::ObjectId *
+PortableServer::ObjectId
TAO_Root_POA::servant_to_id_i (PortableServer::Servant servant)
{
return this->active_policy_strategies_.request_processing_strategy()->
@@ -1414,7 +1419,7 @@ bool
TAO_Root_POA::is_poa_generated (CORBA::Object_ptr reference,
PortableServer::ObjectId &system_id)
{
- TAO::ObjectKey_var key = reference->_key ();
+ TAO::ObjectKey key = reference->_key ();
TAO_Object_Adapter::poa_name poa_system_name;
CORBA::Boolean is_root = false;
@@ -1422,7 +1427,7 @@ TAO_Root_POA::is_poa_generated (CORBA::Object_ptr reference,
CORBA::Boolean is_system_id = false;
TAO::Portable_Server::Temporary_Creation_Time poa_creation_time;
- int const result = this->parse_key (key.in (),
+ int const result = this->parse_key (key,
poa_system_name,
system_id,
is_root,
@@ -1445,7 +1450,7 @@ TAO_Root_POA::is_poa_generated (CORBA::Object_ptr reference,
}
}
-PortableServer::ObjectId *
+PortableServer::ObjectId
TAO_Root_POA::reference_to_id (CORBA::Object_ptr reference)
{
// Make sure that the reference is valid.
@@ -1540,15 +1545,16 @@ TAO_Root_POA::id_to_reference_i (const PortableServer::ObjectId &id,
id_to_reference (id, indirect);
}
-CORBA::OctetSeq *
+CORBA::OctetSeq
TAO_Root_POA::id (void)
{
+/*
CORBA::OctetSeq *id = 0;
ACE_NEW_THROW_EX (id,
CORBA::OctetSeq (this->id_),
CORBA::NO_MEMORY ());
-
- return id;
+*/
+ return this->id_;
}
PortableServer::Servant
@@ -1577,13 +1583,15 @@ TAO_Root_POA::parse_key (const TAO::ObjectKey &key,
TAO::Portable_Server::Temporary_Creation_Time &poa_creation_time)
{
// Get the object key octets.
- const CORBA::Octet *key_data = key.get_buffer ();
+// const CORBA::Octet *key_data = key.get_buffer ();
// Skip the object key prefix since we have already checked for this.
CORBA::ULong starting_at = TAO_OBJECTKEY_PREFIX_SIZE;
// Check the root indicator.
- char root_key_type = key_data[starting_at];
+// char root_key_type = key_data[starting_at];
+ char root_key_type = key[starting_at];
+
if (root_key_type == TAO_Root_POA::root_key_char ())
{
is_root = true;
@@ -1602,7 +1610,9 @@ TAO_Root_POA::parse_key (const TAO::ObjectKey &key,
starting_at += TAO_Root_POA::root_key_type_length ();
// Check the system id indicator.
- char system_id_key_type = key_data[starting_at];
+// char system_id_key_type = key_data[starting_at];
+ char system_id_key_type = key[starting_at];
+
if (system_id_key_type == TAO_Root_POA::system_id_key_char ())
{
is_system_id = true;
@@ -1621,7 +1631,9 @@ TAO_Root_POA::parse_key (const TAO::ObjectKey &key,
starting_at += TAO_Root_POA::system_id_key_type_length ();
// Check the persistence indicator
- char persistent_key_type = key_data[starting_at];
+// char persistent_key_type = key_data[starting_at];
+ char persistent_key_type = key[starting_at];
+
if (persistent_key_type == TAO_Root_POA::persistent_key_char ())
{
is_persistent = true;
@@ -1681,37 +1693,66 @@ TAO_Root_POA::parse_key (const TAO::ObjectKey &key,
// Grep the name if there is a name
if (!is_root)
{
+ poa_system_name.resize (poa_name_size);
+
+ for (CORBA::ULong i = 0; i < poa_name_size; ++i)
+ {
+ poa_system_name[i] = key[starting_at++];
+ }
+
+ /*
poa_system_name.replace (poa_name_size,
poa_name_size,
(CORBA::Octet *) key_data + starting_at,
0);
starting_at += poa_name_size;
+ */
}
// The rest is the system id.
- CORBA::ULong system_id_size = key.length () - starting_at;
+ CORBA::ULong system_id_size = key.size () - starting_at;
// Reset <system_id>.
- system_id.length (system_id_size);
- CORBA::Octet * buf = system_id.get_buffer ();
- ACE_OS::memcpy (buf, key_data + starting_at, system_id_size);
+ system_id.resize (system_id_size);
+// CORBA::Octet * buf = system_id.get_buffer ();
+// ACE_OS::memcpy (buf, key_data + starting_at, system_id_size);
+
+ for (CORBA::ULong i = 0; i < system_id_size; ++i)
+ {
+ system_id[i] = key[starting_at++];
+ }
// Success
return 0;
}
-TAO::ObjectKey *
+TAO::ObjectKey
TAO_Root_POA::create_object_key (const PortableServer::ObjectId &id)
{
// Calculate the space required for the key.
CORBA::ULong buffer_size =
- this->id_.length () +
- id.length ();
+ this->id_.size () +
+ id.size ();
// Create the buffer for the key.
- CORBA::Octet *buffer = TAO::ObjectKey::allocbuf (buffer_size);
+// CORBA::Octet *buffer = TAO::ObjectKey::allocbuf (buffer_size);
+ TAO::ObjectKey key;
+ key.resize (buffer_size);
+ CORBA::ULong i = 0;
+ CORBA::ULong accum = 0;
+
+ for (i = 0; i < this->id_.size (); ++i)
+ {
+ key[accum++] = this->id_[i];
+ }
+
+ for (i = 0; i < id.size (); ++i)
+ {
+ key[accum++] = id[i];
+ }
+/*
// First copy the POA id into the key.
ACE_OS::memcpy (&buffer[0],
this->id_.get_buffer (),
@@ -1731,7 +1772,7 @@ TAO_Root_POA::create_object_key (const PortableServer::ObjectId &id)
buffer,
1),
0);
-
+*/
return key;
}
@@ -1754,7 +1795,7 @@ TAO_Root_POA::set_id (TAO_Root_POA *parent)
CORBA::ULong poa_name = 0;
// Calculate the space required for the POA name.
- CORBA::ULong poa_name_length = this->system_name_->length ();
+ CORBA::ULong poa_name_length = this->system_name_.size ();
if (parent != 0)
{
poa_name += poa_name_length;
@@ -1783,27 +1824,32 @@ TAO_Root_POA::set_id (TAO_Root_POA *parent)
poa_name;
// Create the buffer for the POA id.
- this->id_.length (buffer_size);
- CORBA::Octet *buffer = &this->id_[0];
+ this->id_.resize (buffer_size);
+// CORBA::Octet *buffer = &this->id_[0];
// Keeps track of where the next infomation goes; start at 0 byte.
CORBA::ULong starting_at = 0;
-
+
+ for (CORBA::ULong i = starting_at; i < TAO_OBJECTKEY_PREFIX_SIZE; ++i)
+ {
+ this->id_[i] = objectkey_prefix[i];
+ }
+/*
// Add the object key prefix.
ACE_OS::memcpy (&buffer[starting_at],
&objectkey_prefix[0],
TAO_OBJECTKEY_PREFIX_SIZE);
-
+*/
starting_at += TAO_OBJECTKEY_PREFIX_SIZE;
// Copy the root byte.
if (parent != 0)
{
- buffer[starting_at] = (CORBA::Octet) TAO_Root_POA::non_root_key_char ();
+ this->id_[starting_at] = (CORBA::Octet) TAO_Root_POA::non_root_key_char ();
}
else
{
- buffer[starting_at] = (CORBA::Octet) TAO_Root_POA::root_key_char ();
+ this->id_[starting_at] = (CORBA::Octet) TAO_Root_POA::root_key_char ();
}
starting_at += this->root_key_type_length ();
@@ -1817,19 +1863,35 @@ TAO_Root_POA::set_id (TAO_Root_POA *parent)
if (add_poa_name_length)
{
poa_name_length = ACE_HTONL (poa_name_length);
+
+ for (CORBA::ULong i = 0; i < sizeof (poa_name_length); ++i)
+ {
+ buffer[starting_at++] = poa_name_length[i];
+ }
+
+ /*
ACE_OS::memcpy (&buffer[starting_at],
&poa_name_length,
sizeof (poa_name_length));
+
starting_at += sizeof (poa_name_length);
+ */
}
// Put the POA name into the key (for non-root POAs).
if (parent != 0)
{
+ for (CORBA::ULong i = 0; i < this->system_name_.size (); ++i)
+ {
+ buffer[starting_at++] = this->system_name_[i];
+ }
+
+ /*
ACE_OS::memcpy (&buffer[starting_at],
this->system_name_->get_buffer (),
this->system_name_->length ());
starting_at += this->system_name_->length ();
+ */
}
}
@@ -1863,28 +1925,44 @@ TAO_Root_POA::set_folded_name (TAO_Root_POA *parent)
if (parent != 0)
{
- parent_length = parent->folded_name ().length ();
+ parent_length = parent->folded_name ().size ();
length += parent_length;
}
length += this->name_.length ();
length += TAO_Root_POA::name_separator_length ();
- this->folded_name_.length (static_cast <CORBA::ULong> (length));
- CORBA::Octet *folded_name_buffer = this->folded_name_.get_buffer ();
+ this->folded_name_.resize (length);
+// CORBA::Octet *folded_name_buffer = this->folded_name_.get_buffer ();
+ CORBA::ULong i = 0;
+ CORBA::ULong index = 0;
if (parent != 0)
{
+ for (i = 0; i < parent_length; ++i)
+ {
+ this->folded_name_[index++] = parent->folded_name ()[i];
+ }
+
+ /*
ACE_OS::memcpy (folded_name_buffer,
parent->folded_name ().get_buffer (),
parent_length);
+ */
+ }
+
+ for (i = 0; i < this->name_.size (); ++i)
+ {
+ this->folded_name_[index++] = this->name_[i];
}
+ /*
ACE_OS::memcpy (&folded_name_buffer[parent_length],
this->name_.c_str (),
this->name_.length ());
-
- folded_name_buffer[length - TAO_Root_POA::name_separator_length ()] = TAO_Root_POA::name_separator ();
+ */
+
+ this->folded_name_[length - TAO_Root_POA::name_separator_length ()] = TAO_Root_POA::name_separator ();
}
int
@@ -1915,14 +1993,14 @@ TAO_Root_POA::object_adapter (void)
CORBA::Object_ptr
TAO_Root_POA::invoke_key_to_object (void)
{
- PortableServer::ObjectId_var &system_id =
- *this->key_to_object_params_.system_id_;
+ PortableServer::ObjectId system_id =
+ this->key_to_object_params_.system_id_;
// Create object key.
- TAO::ObjectKey_var key =
- this->create_object_key (system_id.in ());
+ TAO::ObjectKey key =
+ this->create_object_key (system_id);
- return this->key_to_object (key.in (),
+ return this->key_to_object (key,
this->key_to_object_params_.type_id_,
this->key_to_object_params_.servant_,
this->key_to_object_params_.collocated_,
@@ -2068,7 +2146,7 @@ TAO_Root_POA::key_to_stub_i (const TAO::ObjectKey &key,
const char *type_id,
CORBA::Short priority)
{
- CORBA::PolicyList_var client_exposed_policies =
+ CORBA::PolicyList client_exposed_policies =
this->client_exposed_policies (priority);
TAO_Acceptor_Filter* filter = 0;
@@ -2234,21 +2312,25 @@ TAO_Root_POA::create_stub_object (const TAO::ObjectKey &object_key,
return stub;
}
-CORBA::PolicyList *
+CORBA::PolicyList
TAO_Root_POA::client_exposed_policies (CORBA::Short /* object_priority */)
{
- CORBA::PolicyList *client_exposed_policies = 0;
+ CORBA::PolicyList client_exposed_policies;
+
+ /*
ACE_NEW_THROW_EX (client_exposed_policies,
CORBA::PolicyList (),
CORBA::NO_MEMORY (TAO::VMCID,
CORBA::COMPLETED_NO));
CORBA::PolicyList_var policies = client_exposed_policies;
-
+ */
+
// Add in all of the client exposed policies.
this->policies_.add_client_exposed_fixed_policies (client_exposed_policies);
- return policies._retn ();
+// return policies._retn ();
+ return policies;
}
TAO_SERVANT_LOCATION
@@ -2582,14 +2664,14 @@ TAO_Root_POA::server_protocol (void)
}
void
-TAO_Root_POA::Key_To_Object_Params::set (PortableServer::ObjectId_var &system_id,
+TAO_Root_POA::Key_To_Object_Params::set (PortableServer::ObjectId system_id,
const char *type_id,
TAO_ServantBase *servant,
CORBA::Boolean collocated,
CORBA::Short priority,
bool indirect)
{
- this->system_id_ = &system_id;
+ this->system_id_ = system_id;
this->type_id_ = type_id;
this->servant_ = servant;
this->collocated_ = collocated;
diff --git a/tao/PortableServer/Root_POA.h b/tao/PortableServer/Root_POA.h
index 0b0603d7064..014c9d89be2 100644
--- a/tao/PortableServer/Root_POA.h
+++ b/tao/PortableServer/Root_POA.h
@@ -124,15 +124,15 @@ public:
friend class TAO_RT_Collocation_Resolver;
friend class TAO_IORInfo;
- typedef ACE_CString String;
+ typedef std::string String;
#if !defined (CORBA_E_MICRO)
PortableServer::POA_ptr create_POA (
- const char *adapter_name,
+ const std::string adapter_name,
PortableServer::POAManager_ptr poa_manager,
const CORBA::PolicyList &policies);
- PortableServer::POA_ptr find_POA (const char *adapter_name,
+ PortableServer::POA_ptr find_POA (const std::string adapter_name,
CORBA::Boolean activate_it);
#endif
@@ -174,11 +174,11 @@ public:
#endif /* TAO_HAS_MINIMUM_POA == 0 && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) */
- char * the_name (void);
+ std::string the_name (void);
PortableServer::POA_ptr the_parent (void);
- PortableServer::POAList *the_children (void);
+ PortableServer::POAList the_children (void);
PortableServer::POAManager_ptr the_POAManager (void);
@@ -189,7 +189,7 @@ public:
/// This method returns the adapter_name as a sequence of strings of
/// length one or more or just a fixed name depending on the Object
/// Adapter. Added wrt to ORT Spec.
- PortableInterceptor::AdapterName *adapter_name (void);
+ PortableInterceptor::AdapterName adapter_name (void);
/// Store the given TaggedComponent for eventual insertion into all
/// object reference profiles.
@@ -215,22 +215,22 @@ public:
void set_servant (PortableServer::Servant servant);
#endif /* TAO_HAS_MINIMUM_POA == 0 !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) */
- PortableServer::ObjectId *activate_object (PortableServer::Servant p_servant);
+ PortableServer::ObjectId activate_object (PortableServer::Servant p_servant);
void activate_object_with_id (const PortableServer::ObjectId &id,
PortableServer::Servant p_servant);
void deactivate_object (const PortableServer::ObjectId &oid);
- CORBA::Object_ptr create_reference (const char *intf);
+ CORBA::Object_ptr create_reference (const std:: string intf);
#if !defined (CORBA_E_MICRO)
CORBA::Object_ptr create_reference_with_id (
const PortableServer::ObjectId &oid,
- const char *intf);
+ const std::string intf);
#endif
- PortableServer::ObjectId *servant_to_id (PortableServer::Servant p_servant);
+ PortableServer::ObjectId servant_to_id (PortableServer::Servant p_servant);
PortableServer::ObjectId *servant_to_user_id (PortableServer::Servant p_servant);
@@ -238,13 +238,13 @@ public:
PortableServer::Servant reference_to_servant (CORBA::Object_ptr reference);
- PortableServer::ObjectId *reference_to_id (CORBA::Object_ptr reference);
+ PortableServer::ObjectId reference_to_id (CORBA::Object_ptr reference);
PortableServer::Servant id_to_servant (const PortableServer::ObjectId &oid);
CORBA::Object_ptr id_to_reference (const PortableServer::ObjectId &oid);
- CORBA::OctetSeq *id (void);
+ CORBA::OctetSeq id (void);
/// Accessor for POA policies.
TAO_POA_Policy_Set &policies (void);
@@ -254,7 +254,7 @@ public:
/// This method gives the policies that are exposed to the client.
/// These policies are shipped within the IOR.
- virtual CORBA::PolicyList *client_exposed_policies (
+ virtual CORBA::PolicyList client_exposed_policies (
CORBA::Short object_priority);
TAO_Root_POA (const String &name,
@@ -327,7 +327,7 @@ public:
CORBA::ULong outstanding_requests (void) const;
- const ACE_CString &name (void) const;
+ const std::string &name (void) const;
CORBA::Boolean waiting_destruction (void) const;
@@ -424,7 +424,7 @@ public:
CORBA::Boolean is_persistent,
const TAO::Portable_Server::Temporary_Creation_Time& creation_time) const;
- PortableServer::ObjectId *activate_object_i (
+ PortableServer::ObjectId activate_object_i (
PortableServer::Servant p_servant,
CORBA::Short priority,
bool &wait_occurred_restart_call);
@@ -432,7 +432,7 @@ public:
CORBA::Object_ptr id_to_reference_i (const PortableServer::ObjectId &oid,
bool indirect);
- PortableServer::ObjectId *servant_to_id_i (PortableServer::Servant servant);
+ PortableServer::ObjectId servant_to_id_i (PortableServer::Servant servant);
TAO_SYNCH_CONDITION &servant_deactivation_condition (void);
@@ -492,7 +492,7 @@ protected:
PortableServer::POAManager_ptr poa_manager,
const TAO_POA_Policy_Set &policies);
- TAO_Root_POA *find_POA_i (const ACE_CString &child_name,
+ TAO_Root_POA *find_POA_i (const std::string &child_name,
CORBA::Boolean activate_it);
#endif
@@ -501,12 +501,12 @@ protected:
void complete_destruction_i (void);
- PortableServer::POAList *the_children_i (void);
+ PortableServer::POAList the_children_i (void);
/// This method returns the adapter_name as a sequence of strings of
/// length one or more or just a fixed name depending on the Object
/// Adapter. Added wrt to ORT Spec.
- PortableInterceptor::AdapterName *adapter_name_i (void);
+ PortableInterceptor::AdapterName adapter_name_i (void);
/// Method to notify the IOR Interceptors when there is a state
/// changed not related to POAManager.
@@ -566,7 +566,7 @@ protected:
CORBA::Object_ptr create_reference_with_id_i (
const PortableServer::ObjectId &oid,
- const char *intf,
+ std::string intf,
CORBA::Short priority);
PortableServer::Servant reference_to_servant_i (CORBA::Object_ptr reference);
@@ -593,7 +593,7 @@ protected:
void set_id (TAO_Root_POA *parent);
- TAO::ObjectKey *create_object_key (const PortableServer::ObjectId &id);
+ TAO::ObjectKey create_object_key (const PortableServer::ObjectId &id);
static int parse_key (const TAO::ObjectKey &key,
TAO_Object_Adapter::poa_name &poa_system_name,
@@ -696,7 +696,7 @@ protected:
TAO_Object_Adapter::poa_name folded_name_;
- TAO_Object_Adapter::poa_name_var system_name_;
+ TAO_Object_Adapter::poa_name system_name_;
CORBA::OctetSeq id_;
@@ -718,9 +718,9 @@ protected:
typedef
ACE_Hash_Map_Manager_Ex<
- ACE_CString, TAO_Root_POA *,
- ACE_Hash<ACE_CString>,
- ACE_Equal_To<ACE_CString>,
+ std::string, TAO_Root_POA *,
+ ACE_Hash<std::string>,
+ ACE_Equal_To<std::string>,
ACE_Null_Mutex
>
CHILDREN;
@@ -758,14 +758,14 @@ public:
struct Key_To_Object_Params
{
- PortableServer::ObjectId_var *system_id_;
+ PortableServer::ObjectId system_id_;
const char *type_id_;
TAO_ServantBase *servant_;
CORBA::Boolean collocated_;
CORBA::Short priority_;
bool indirect_;
- void set (PortableServer::ObjectId_var &system_id_,
+ void set (PortableServer::ObjectId system_id_,
const char *type_id_,
TAO_ServantBase *servant_,
CORBA::Boolean collocated_,
diff --git a/tao/PortableServer/Root_POA.inl b/tao/PortableServer/Root_POA.inl
index d9da3792237..3425c04e5f3 100644
--- a/tao/PortableServer/Root_POA.inl
+++ b/tao/PortableServer/Root_POA.inl
@@ -28,7 +28,7 @@ TAO_Root_POA::the_parent (void)
return PortableServer::POA::_nil ();
}
-ACE_INLINE PortableInterceptor::AdapterName *
+ACE_INLINE PortableInterceptor::AdapterName
TAO_Root_POA::adapter_name (void)
{
return this->adapter_name_i ();
@@ -83,16 +83,16 @@ TAO_Root_POA::persistent (void)
return (this->cached_policies_.lifespan () == PortableServer::PERSISTENT);
}
-ACE_INLINE const ACE_CString &
+ACE_INLINE const std::string &
TAO_Root_POA::name (void) const
{
return this->name_;
}
-ACE_INLINE char *
+ACE_INLINE std::string
TAO_Root_POA::the_name (void)
{
- return CORBA::string_dup (this->name_.c_str ());
+ return this->name_;
}
ACE_INLINE const TAO_Object_Adapter::poa_name &
@@ -104,7 +104,7 @@ TAO_Root_POA::folded_name (void) const
ACE_INLINE const TAO_Object_Adapter::poa_name &
TAO_Root_POA::system_name (void) const
{
- return this->system_name_.in ();
+ return this->system_name_;
}
ACE_INLINE char
diff --git a/tao/PortableServer/ServantRetentionStrategy.h b/tao/PortableServer/ServantRetentionStrategy.h
index 4a2b054bc47..b30e023e96b 100644
--- a/tao/PortableServer/ServantRetentionStrategy.h
+++ b/tao/PortableServer/ServantRetentionStrategy.h
@@ -57,7 +57,7 @@ namespace TAO
const PortableServer::ObjectId &system_id,
CORBA::Short &priority) = 0;
- virtual PortableServer::ObjectId *activate_object (
+ virtual PortableServer::ObjectId activate_object (
PortableServer::Servant servant,
CORBA::Short priority,
bool &wait_occurred_restart_call) = 0;
@@ -73,7 +73,7 @@ namespace TAO
virtual PortableServer::Servant find_servant (
const PortableServer::ObjectId &system_id) = 0;
- virtual PortableServer::ObjectId *system_id_to_object_id (
+ virtual PortableServer::ObjectId system_id_to_object_id (
const PortableServer::ObjectId &system_id) = 0;
virtual PortableServer::Servant user_id_to_servant (
diff --git a/tao/PortableServer/ServantRetentionStrategyNonRetain.cpp b/tao/PortableServer/ServantRetentionStrategyNonRetain.cpp
index 072822e94cc..b8ed38698ee 100644
--- a/tao/PortableServer/ServantRetentionStrategyNonRetain.cpp
+++ b/tao/PortableServer/ServantRetentionStrategyNonRetain.cpp
@@ -60,17 +60,22 @@ namespace TAO
throw PortableServer::POA::WrongPolicy ();
}
- PortableServer::ObjectId *
+ PortableServer::ObjectId
ServantRetentionStrategyNonRetain::system_id_to_object_id (
const PortableServer::ObjectId &system_id)
{
// The system id is the id (and no conversion/transformation is
// needed).
+ /*
PortableServer::ObjectId *id = 0;
ACE_NEW_THROW_EX (id,
PortableServer::ObjectId (system_id),
CORBA::NO_MEMORY ());
-
+ */
+
+ PortableServer::ObjectId id;
+ id.assign (system_id.begin (), system_id.end ());
+
return id;
}
@@ -155,7 +160,7 @@ namespace TAO
throw PortableServer::POA::WrongPolicy ();
}
- PortableServer::ObjectId *
+ PortableServer::ObjectId
ServantRetentionStrategyNonRetain::activate_object (
PortableServer::Servant /*servant*/,
CORBA::Short /*priority*/,
diff --git a/tao/PortableServer/ServantRetentionStrategyNonRetain.h b/tao/PortableServer/ServantRetentionStrategyNonRetain.h
index b19bf30ed54..8d5713f90d9 100644
--- a/tao/PortableServer/ServantRetentionStrategyNonRetain.h
+++ b/tao/PortableServer/ServantRetentionStrategyNonRetain.h
@@ -43,7 +43,7 @@ namespace TAO
CORBA::ULong waiting_servant_deactivation (void) const;
virtual
- PortableServer::ObjectId *
+ PortableServer::ObjectId
activate_object (PortableServer::Servant servant,
CORBA::Short priority,
bool &wait_occurred_restart_call);
@@ -63,7 +63,7 @@ namespace TAO
virtual int is_servant_in_map (PortableServer::Servant servant,
bool &wait_occurred_restart_call);
- virtual PortableServer::ObjectId *system_id_to_object_id (
+ virtual PortableServer::ObjectId system_id_to_object_id (
const PortableServer::ObjectId &system_id);
virtual
diff --git a/tao/PortableServer/ServantRetentionStrategyRetain.cpp b/tao/PortableServer/ServantRetentionStrategyRetain.cpp
index 0fc827b82d5..e98f22958cc 100644
--- a/tao/PortableServer/ServantRetentionStrategyRetain.cpp
+++ b/tao/PortableServer/ServantRetentionStrategyRetain.cpp
@@ -170,21 +170,21 @@ namespace TAO
return servant;
}
- PortableServer::ObjectId *
+ PortableServer::ObjectId
ServantRetentionStrategyRetain::system_id_to_object_id (
const PortableServer::ObjectId &system_id)
{
// The object denoted by the reference does not have to be
// active for this operation to succeed.
- PortableServer::ObjectId_var user_id;
+ PortableServer::ObjectId user_id;
if (this->active_object_map_->
find_user_id_using_system_id (system_id,
- user_id.out ()) != 0)
+ user_id) != 0)
{
throw ::CORBA::OBJ_ADAPTER ();
}
- return user_id._retn ();
+ return user_id;
}
PortableServer::Servant
@@ -694,7 +694,7 @@ namespace TAO
servant->_interface_repository_id (), user_id);
}
- PortableServer::ObjectId *
+ PortableServer::ObjectId
ServantRetentionStrategyRetain::activate_object (
PortableServer::Servant servant,
CORBA::Short priority,
@@ -723,11 +723,11 @@ namespace TAO
// Otherwise, the activate_object operation generates an Object Id
// and enters the Object Id and the specified servant in the Active
// Object Map. The Object Id is returned.
- PortableServer::ObjectId_var user_id;
+ PortableServer::ObjectId user_id;
if (this->active_object_map_->
bind_using_system_id_returning_user_id (servant,
priority,
- user_id.out ()) != 0)
+ user_id) != 0)
{
throw ::CORBA::OBJ_ADAPTER ();
}
@@ -738,7 +738,7 @@ namespace TAO
// Inform the custom servant dispatching (CSD) strategy that the
// sevant is activated.
- this->poa_->servant_activated_hook (servant, user_id.in ());
+ this->poa_->servant_activated_hook (servant, user_id);
// ATTENTION: Trick locking here, see class header for details
Non_Servant_Upcall non_servant_upcall (*this->poa_);
@@ -750,7 +750,7 @@ namespace TAO
// same number of times.
servant->_add_ref ();
- return user_id._retn ();
+ return user_id;
}
void
diff --git a/tao/PortableServer/ServantRetentionStrategyRetain.h b/tao/PortableServer/ServantRetentionStrategyRetain.h
index 9782c6ecfea..218ee4b5224 100644
--- a/tao/PortableServer/ServantRetentionStrategyRetain.h
+++ b/tao/PortableServer/ServantRetentionStrategyRetain.h
@@ -46,7 +46,7 @@ namespace TAO
bool &wait_occurred_restart_call);
virtual
- PortableServer::ObjectId *
+ PortableServer::ObjectId
activate_object (PortableServer::Servant servant,
CORBA::Short priority,
bool &wait_occurred_restart_call);
@@ -63,7 +63,7 @@ namespace TAO
virtual PortableServer::Servant find_servant (
const PortableServer::ObjectId &system_id);
- virtual PortableServer::ObjectId * system_id_to_object_id (
+ virtual PortableServer::ObjectId system_id_to_object_id (
const PortableServer::ObjectId &system_id);
virtual
diff --git a/tao/Principal.cpp b/tao/Principal.cpp
index f552ab086ae..4d9c3a30117 100644
--- a/tao/Principal.cpp
+++ b/tao/Principal.cpp
@@ -27,16 +27,13 @@ operator<< (TAO_OutputCDR & cdr, CORBA::Principal * x)
{
if (x != 0)
{
- CORBA::ULong length = x->id.length ();
- cdr.write_long (length);
- cdr.write_octet_array (x->id.get_buffer (), length);
+ return cdr << x->id;
}
else
{
cdr.write_ulong (0);
+ return (CORBA::Boolean) cdr.good_bit ();
}
-
- return (CORBA::Boolean) cdr.good_bit ();
}
CORBA::Boolean
@@ -48,15 +45,13 @@ operator>> (TAO_InputCDR & cdr, CORBA::Principal *& x)
if (length == 0 || !cdr.good_bit ())
{
x = 0;
+ return (CORBA::Boolean) cdr.good_bit ();
}
else
{
ACE_NEW_RETURN (x, CORBA::Principal, 0);
- x->id.length (length);
- cdr.read_octet_array (x->id.get_buffer (), length);
+ return cdr >> x->id;
}
-
- return (CORBA::Boolean) cdr.good_bit ();
}
TAO_END_VERSIONED_NAMESPACE_DECL
diff --git a/tao/Profile.cpp b/tao/Profile.cpp
index 7edcce46ee9..40e8dfab153 100644
--- a/tao/Profile.cpp
+++ b/tao/Profile.cpp
@@ -104,17 +104,19 @@ TAO_Profile::base_endpoint (void)
return this->endpoint();
}
-TAO::ObjectKey *
+TAO::ObjectKey
TAO_Profile::_key (void) const
{
- TAO::ObjectKey *key = 0;
-
+ TAO::ObjectKey key;
+ key = this->ref_object_key_->object_key ();
+/*
if (this->ref_object_key_)
{
ACE_NEW_RETURN (key,
TAO::ObjectKey (this->ref_object_key_->object_key ()),
0);
}
+*/
return key;
}
@@ -281,21 +283,26 @@ TAO_Profile::create_tagged_profile (void)
CORBA::ULong const length =
static_cast <CORBA::ULong> (encap.total_length ());
-#if (TAO_NO_COPY_OCTET_SEQUENCES == 1)
+/// No such optimization for now....
+#if (0)//(TAO_NO_COPY_OCTET_SEQUENCES == 1)
// Place the message block in to the Sequence of Octets that we
// have
this->tagged_profile_->profile_data.replace (length, encap.begin ());
#else
- this->tagged_profile_->profile_data.length (length);
- CORBA::Octet *buffer =
- this->tagged_profile_->profile_data.get_buffer ();
+ this->tagged_profile_->profile_data.resize (length);
+ size_t index = 0;
for (const ACE_Message_Block *i = encap.begin ();
i != encap.end ();
i = i->next ())
{
- ACE_OS::memcpy (buffer, i->rd_ptr (), i->length ());
- buffer += i->length ();
+ char *buf = i->base ();
+
+ for (size_t j = 0; j < i->length (); ++j)
+ {
+ this->tagged_profile_->profile_data[index++] =
+ buf[j];
+ }
}
#endif /* TAO_NO_COPY_OCTET_SEQUENCES == 1 */
@@ -308,21 +315,24 @@ TAO_Profile::create_tagged_profile (void)
void
TAO_Profile::set_tagged_components (TAO_OutputCDR &out_cdr)
{
- CORBA::ULong const length = static_cast <CORBA::ULong> (out_cdr.total_length ());
+ CORBA::ULong const length =
+ static_cast <CORBA::ULong> (out_cdr.total_length ());
IOP::TaggedComponent tagged_component;
tagged_component.tag = TAO_TAG_ENDPOINTS;
- tagged_component.component_data.length (length);
- CORBA::Octet *buf = tagged_component.component_data.get_buffer ();
+ tagged_component.component_data.resize (length);
+ size_t index = 0;
for (const ACE_Message_Block *iterator = out_cdr.begin ();
iterator != 0;
iterator = iterator->cont ())
{
- size_t const i_length = iterator->length ();
- ACE_OS::memcpy (buf, iterator->rd_ptr (), i_length);
-
- buf += i_length;
+ char *buf = iterator->base ();
+
+ for (size_t j = 0; j < iterator->length (); ++j)
+ {
+ tagged_component.component_data[index++] = buf[j];
+ }
}
// Add component with encoded endpoint data to this profile's
@@ -353,9 +363,9 @@ TAO_Profile::policies (CORBA::PolicyList *policy_list)
// This loop iterates through CORBA::PolicyList to convert
// each CORBA::Policy into a CORBA::PolicyValue
- CORBA::ULong const plen = policy_list->length ();
+ CORBA::ULong const plen = policy_list->size ();
- policy_value_seq.length (plen);
+ policy_value_seq.resize (plen);
for (CORBA::ULong i = 0; i < plen; ++i)
{
@@ -369,9 +379,8 @@ TAO_Profile::policies (CORBA::PolicyList *policy_list)
return;
length = out_CDR.total_length ();
- policy_value_seq[i].pvalue.length (static_cast <CORBA::ULong>(length));
-
- buf = policy_value_seq[i].pvalue.get_buffer ();
+ policy_value_seq[i].pvalue.resize (length);
+ size_t index = 0;
// Copy the CDR buffer data into the octet sequence buffer.
@@ -379,8 +388,12 @@ TAO_Profile::policies (CORBA::PolicyList *policy_list)
iterator != 0;
iterator = iterator->cont ())
{
- ACE_OS::memcpy (buf, iterator->rd_ptr (), iterator->length ());
- buf += iterator->length ();
+ char *buf = iterator->base ();
+
+ for (size_t j = 0; j < iterator->length (); ++j)
+ {
+ policy_value_seq[i].pvalue[index++] = buf[j];
+ }
}
}
@@ -398,18 +411,19 @@ TAO_Profile::policies (CORBA::PolicyList *policy_list)
return;
length = out_cdr.total_length ();
-
- tagged_component.component_data.length (static_cast <CORBA::ULong>(length));
- buf = tagged_component.component_data.get_buffer ();
+ tagged_component.component_data.resize (length);
+ size_t index = 0;
for (const ACE_Message_Block *iterator = out_cdr.begin ();
iterator != 0;
iterator = iterator->cont ())
{
- size_t const i_length = iterator->length ();
- ACE_OS::memcpy (buf, iterator->rd_ptr (), i_length);
-
- buf += i_length;
+ char *buf = iterator->base ();
+
+ for (size_t j = 0; j < iterator->length (); ++j)
+ {
+ tagged_component.component_data[index++] = buf[j];
+ }
}
// Eventually we add the TaggedComponent to the TAO_TaggedComponents
@@ -432,11 +446,13 @@ TAO_Profile::get_policies (CORBA::PolicyList& pl)
// if it exists.
if (this->tagged_components_.get_component (tagged_component))
{
- const CORBA::Octet *buf =
- tagged_component.component_data.get_buffer ();
-
- TAO_InputCDR in_cdr (reinterpret_cast <const char *> (buf),
- tagged_component.component_data.length ());
+ const char *buf =
+ reinterpret_cast<const char *> (
+ tagged_component.component_data.get_allocator ().address (
+ *tagged_component.component_data.begin ()));
+
+ TAO_InputCDR in_cdr (buf,
+ tagged_component.component_data.size ());
// Extract the Byte Order
CORBA::Boolean byte_order;
@@ -459,7 +475,7 @@ TAO_Profile::get_policies (CORBA::PolicyList& pl)
// Here we extract the Messaging::PolicyValue out of the sequence
// and we convert those into the proper CORBA::Policy
- CORBA::ULong const length = policy_value_seq.length ();
+ CORBA::ULong const length = policy_value_seq.size();
for (CORBA::ULong i = 0; i < length; ++i)
{
@@ -471,11 +487,14 @@ TAO_Profile::get_policies (CORBA::PolicyList& pl)
if (!CORBA::is_nil (policy.in ()))
{
- buf = policy_value_seq[i].pvalue.get_buffer ();
+ buf =
+ reinterpret_cast<const char *> (
+ policy_value_seq[i].pvalue.get_allocator ().address (
+ *policy_value_seq[i].pvalue.begin ()));
TAO_InputCDR in_cdr (
- reinterpret_cast <const char*> (buf),
- policy_value_seq[i].pvalue.length ());
+ buf,
+ policy_value_seq[i].pvalue.size ());
if (!(in_cdr >> ACE_InputCDR::to_boolean (byte_order)))
throw ::CORBA::INV_OBJREF ();
@@ -487,7 +506,7 @@ TAO_Profile::get_policies (CORBA::PolicyList& pl)
// Increase the policy length with 1 when we know we support
// this policy, this way we don't get nil values in the list
- pl.length (pl.length () + 1);
+ pl.resize (pl.size () + 1);
pl[i] = policy._retn ();
}
diff --git a/tao/Profile.h b/tao/Profile.h
index e7cd647e670..fa4ecbf16d0 100644
--- a/tao/Profile.h
+++ b/tao/Profile.h
@@ -39,8 +39,9 @@ class TAO_ORB_Core;
namespace CORBA
{
- /// Forward declaration of PolicyList
- class PolicyList;
+ class Policy;
+ typedef Policy *Policy_ptr;
+ typedef std::vector<Policy_ptr> PolicyList;
}
/**
@@ -106,7 +107,7 @@ public:
/// Obtain the object key, return 0 if the profile cannot be parsed.
/// The memory is owned by the caller!
- TAO::ObjectKey *_key (void) const;
+ TAO::ObjectKey _key (void) const;
//@}
/**
diff --git a/tao/Profile_Transport_Resolver.cpp b/tao/Profile_Transport_Resolver.cpp
index 8a4c3e33212..6f7ad056e4c 100644
--- a/tao/Profile_Transport_Resolver.cpp
+++ b/tao/Profile_Transport_Resolver.cpp
@@ -51,7 +51,7 @@ namespace TAO
this->transport_->remove_reference ();
}
- delete this->inconsistent_policies_;
+// delete this->inconsistent_policies_;
}
void
@@ -244,6 +244,7 @@ namespace TAO
void
Profile_Transport_Resolver::init_inconsistent_policies (void)
{
+ /*
ACE_NEW_THROW_EX (this->inconsistent_policies_,
CORBA::PolicyList (0),
CORBA::NO_MEMORY (
@@ -251,6 +252,7 @@ namespace TAO
0,
ENOMEM),
CORBA::COMPLETED_NO));
+ */
}
diff --git a/tao/Profile_Transport_Resolver.h b/tao/Profile_Transport_Resolver.h
index 9bf19631f8b..a0c85df20ca 100644
--- a/tao/Profile_Transport_Resolver.h
+++ b/tao/Profile_Transport_Resolver.h
@@ -14,6 +14,8 @@
#ifndef TAO_PROFILE_TRANSPORT_RESOLVER_H
#define TAO_PROFILE_TRANSPORT_RESOLVER_H
+#include <vector>
+
#include /**/ "ace/pre.h"
#include "ace/Global_Macros.h"
@@ -37,8 +39,9 @@ class TAO_Transport_Descriptor_Interface;
namespace CORBA
{
- class Object;
- class PolicyList;
+ class Policy;
+ typedef Policy *Policy_ptr;
+ typedef std::vector<Policy_ptr> PolicyList;
class Object;
typedef Object *Object_ptr;
@@ -148,9 +151,9 @@ namespace TAO
/// cached.
void init_inconsistent_policies (void);
- CORBA::PolicyList *inconsistent_policies (void) const;
+ CORBA::PolicyList inconsistent_policies (void) const;
- CORBA::PolicyList *steal_inconsistent_policies (void);
+ CORBA::PolicyList steal_inconsistent_policies (void);
private:
/// Helper method to access get the connection timeout from the
@@ -198,7 +201,7 @@ namespace TAO
* Policy_ForwardC.h, and that is what we precisely want to
* avoid.
*/
- CORBA::PolicyList *inconsistent_policies_;
+ CORBA::PolicyList inconsistent_policies_;
/// Has the transport been idle?
mutable bool is_released_;
diff --git a/tao/Profile_Transport_Resolver.inl b/tao/Profile_Transport_Resolver.inl
index 07e89301fa5..68854256569 100644
--- a/tao/Profile_Transport_Resolver.inl
+++ b/tao/Profile_Transport_Resolver.inl
@@ -16,7 +16,7 @@ namespace TAO
, stub_ (stub)
, transport_ (0)
, profile_ (0)
- , inconsistent_policies_ (0)
+// , inconsistent_policies_ (0)
, is_released_ (false)
, blocked_ (block)
{
@@ -58,17 +58,17 @@ namespace TAO
this->is_released_ = true;
}
- ACE_INLINE CORBA::PolicyList *
+ ACE_INLINE CORBA::PolicyList
Profile_Transport_Resolver::inconsistent_policies (void) const
{
return this->inconsistent_policies_;
}
- ACE_INLINE CORBA::PolicyList *
+ ACE_INLINE CORBA::PolicyList
Profile_Transport_Resolver::steal_inconsistent_policies (void)
{
- CORBA::PolicyList *tmp = this->inconsistent_policies_;
- this->inconsistent_policies_ = 0;
+ CORBA::PolicyList tmp = this->inconsistent_policies_;
+ this->inconsistent_policies_.resize (0);
return tmp;
}
}
diff --git a/tao/ServerRequestInterceptor_Adapter.h b/tao/ServerRequestInterceptor_Adapter.h
index 5a3f55db4bb..46398c417ac 100644
--- a/tao/ServerRequestInterceptor_Adapter.h
+++ b/tao/ServerRequestInterceptor_Adapter.h
@@ -16,6 +16,8 @@
#ifndef TAO_SERVER_REQUEST_INTERCEPTOR_ADAPTER_H
#define TAO_SERVER_REQUEST_INTERCEPTOR_ADAPTER_H
+#include <vector>
+
#include /**/ "ace/pre.h"
#include /**/ "tao/TAO_Export.h"
@@ -44,7 +46,9 @@ namespace PortableInterceptor
namespace CORBA
{
- class PolicyList;
+ class Policy;
+ typedef Policy *Policy_ptr;
+ typedef std::vector<Policy_ptr> PolicyList;
}
class TAO_ServerRequest;
diff --git a/tao/Service_Callbacks.h b/tao/Service_Callbacks.h
index 7fbc435152c..092970273db 100644
--- a/tao/Service_Callbacks.h
+++ b/tao/Service_Callbacks.h
@@ -29,6 +29,7 @@
#include "tao/Invocation_Utils.h"
#include "tao/Object.h"
#include "tao/Service_Context.h"
+#include "tao/IOPC.h"
TAO_BEGIN_VERSIONED_NAMESPACE_DECL
@@ -41,12 +42,12 @@ namespace CORBA
class Object;
typedef Object *Object_ptr;
}
-
+/*
namespace IOP
{
class ServiceContextList;
}
-
+*/
/**
* @class TAO_Service_Callbacks
*
diff --git a/tao/Service_Context.cpp b/tao/Service_Context.cpp
index c1582970bd9..a3f1858b1e5 100644
--- a/tao/Service_Context.cpp
+++ b/tao/Service_Context.cpp
@@ -17,11 +17,27 @@ ACE_RCSID (tao,
TAO_BEGIN_VERSIONED_NAMESPACE_DECL
void
-TAO_Service_Context::set_context_i (IOP::ServiceId id, TAO_OutputCDR &cdr)
+TAO_Service_Context::set_context_i (IOP::ServiceId id,
+ TAO_OutputCDR &cdr)
{
IOP::ServiceContext context;
context.context_id = id;
-
+
+ ::CORBA::OctetSeq tmp;
+ TAO_InputCDR in (cdr);
+
+ /// Don't know if this is necessary for core ORB function.
+ if (!(in >> tmp))
+ {
+ ACE_ERROR ((LM_ERROR,
+ "TAO_Service_Context::"
+ "set_context_i failed\n"));
+
+ return;
+ }
+
+ context.context_data = tmp;
+/*
// Make a *copy* of the CDR stream...
size_t const length = cdr.total_length ();
context.context_data.length (static_cast<CORBA::ULong> (length));
@@ -34,7 +50,7 @@ TAO_Service_Context::set_context_i (IOP::ServiceId id, TAO_OutputCDR &cdr)
ACE_OS::memcpy (buf, i->rd_ptr (), i->length ());
buf += i->length ();
}
-
+*/
this->set_context_i (context);
}
@@ -42,6 +58,22 @@ void
TAO_Service_Context::set_context_i (IOP::ServiceContext &context,
TAO_OutputCDR &cdr)
{
+ size_t length = cdr.total_length ();
+ context.context_data.resize (length);
+ size_t index = 0;
+
+ for (const ACE_Message_Block *i = cdr.begin ();
+ i != 0;
+ i = i->cont ())
+ {
+ char *buf = i->base ();
+
+ for (size_t j = 0; j < i->length (); ++j)
+ {
+ context.context_data[index++] = buf[j];
+ }
+ }
+/*
// Make a *copy* of the CDR stream...
size_t const length = cdr.total_length ();
context.context_data.length (static_cast<CORBA::ULong> (length));
@@ -54,6 +86,7 @@ TAO_Service_Context::set_context_i (IOP::ServiceContext &context,
ACE_OS::memcpy (buf, i->rd_ptr (), i->length ());
buf += i->length ();
}
+ */
}
void
@@ -66,7 +99,7 @@ int
TAO_Service_Context::set_context (const IOP::ServiceContext &context,
CORBA::Boolean replace)
{
- for (CORBA::ULong i = 0; i != this->service_context_.length (); ++i)
+ for (CORBA::ULong i = 0; i != this->service_context_.size (); ++i)
{
if (context.context_id == this->service_context_[i].context_id)
{
@@ -91,7 +124,7 @@ TAO_Service_Context::set_context_i (const IOP::ServiceContext& context)
{
// @@ TODO Some contexts can show up multiple times, others
// can't find out and take appropiate action.
- for (CORBA::ULong i = 0; i != this->service_context_.length (); ++i)
+ for (CORBA::ULong i = 0; i != this->service_context_.size (); ++i)
{
if (context.context_id == this->service_context_[i].context_id)
{
@@ -106,14 +139,15 @@ TAO_Service_Context::set_context_i (const IOP::ServiceContext& context)
void
TAO_Service_Context::set_context_i (IOP::ServiceContext& context)
{
- for (CORBA::ULong i = 0; i != this->service_context_.length (); ++i)
+ for (CORBA::ULong i = 0; i != this->service_context_.size (); ++i)
{
if (context.context_id == this->service_context_[i].context_id)
{
- CORBA::ULong const max = context.context_data.maximum ();
- CORBA::ULong const len = context.context_data.length ();
- CORBA::Octet * const buf = context.context_data.get_buffer (1);
- this->service_context_[i].context_data.replace (max, len, buf, 1);
+// CORBA::ULong const max = context.context_data.maximum ();
+// CORBA::ULong const len = context.context_data.length ();
+// CORBA::Octet * const buf = context.context_data.get_buffer (1);
+// this->service_context_[i].context_data.replace (max, len, buf, 1);
+ this->service_context_[i].context_data = context.context_data;
return;
}
}
@@ -126,13 +160,14 @@ TAO_Service_Context::add_context_i (IOP::ServiceContext& context)
{
// @@ TODO Some contexts can show up multiple times, others
// can't find out and take appropiate action.
- CORBA::ULong const l = this->service_context_.length ();
- this->service_context_.length (l + 1);
+ CORBA::ULong const l = this->service_context_.size ();
+ this->service_context_.resize (l + 1);
this->service_context_[l].context_id = context.context_id;
- CORBA::ULong const max = context.context_data.maximum ();
- CORBA::ULong const len = context.context_data.length ();
- CORBA::Octet* const buf = context.context_data.get_buffer (1);
- this->service_context_[l].context_data.replace (max, len, buf, 1);
+// CORBA::ULong const max = context.context_data.maximum ();
+// CORBA::ULong const len = context.context_data.length ();
+// CORBA::Octet* const buf = context.context_data.get_buffer (1);
+// this->service_context_[l].context_data.replace (max, len, buf, 1);
+ this->service_context_[l].context_data = context.context_data;
}
void
@@ -140,15 +175,15 @@ TAO_Service_Context::add_context_i (const IOP::ServiceContext& context)
{
// @@ TODO Some contexts can show up multiple times, others
// can't find out and take appropiate action.
- CORBA::ULong const l = this->service_context_.length ();
- this->service_context_.length (l + 1);
+ CORBA::ULong const l = this->service_context_.size ();
+ this->service_context_.resize (l + 1);
this->service_context_[l] = context;
}
int
TAO_Service_Context::get_context (IOP::ServiceContext& context) const
{
- for (CORBA::ULong i = 0; i != this->service_context_.length (); ++i)
+ for (CORBA::ULong i = 0; i != this->service_context_.size (); ++i)
{
if (context.context_id == this->service_context_[i].context_id)
{
@@ -164,7 +199,7 @@ int
TAO_Service_Context::get_context (IOP::ServiceId id,
const IOP::ServiceContext **context) const
{
- for (CORBA::ULong i = 0; i != this->service_context_.length (); ++i)
+ for (CORBA::ULong i = 0; i != this->service_context_.size (); ++i)
{
if (id == this->service_context_[i].context_id)
{
@@ -180,7 +215,7 @@ int
TAO_Service_Context::get_context (IOP::ServiceId id,
IOP::ServiceContext_out context)
{
- CORBA::ULong const len = this->service_context_.length ();
+ CORBA::ULong const len = this->service_context_.size ();
for (CORBA::ULong i = 0; i < len; ++i)
{
diff --git a/tao/Service_Context.inl b/tao/Service_Context.inl
index 84d7ddda4ba..d36951f6e48 100644
--- a/tao/Service_Context.inl
+++ b/tao/Service_Context.inl
@@ -39,7 +39,7 @@ ACE_INLINE bool
TAO_Service_Context::is_service_id (IOP::ServiceId id)
{
for (CORBA::ULong i = 0;
- i != this->service_context_.length ();
+ i != this->service_context_.size ();
++i)
{
if (id == this->service_context_[i].context_id)
diff --git a/tao/Service_Context_Handler_Registry.cpp b/tao/Service_Context_Handler_Registry.cpp
index 8323b56f41d..83d90497249 100644
--- a/tao/Service_Context_Handler_Registry.cpp
+++ b/tao/Service_Context_Handler_Registry.cpp
@@ -17,7 +17,7 @@ TAO_Service_Context_Registry::process_service_contexts (
TAO_Transport& transport)
{
for (CORBA::ULong index = 0;
- index != sc.length ();
+ index != sc.size ();
++index)
{
IOP::ServiceContext const & context = sc[index];
diff --git a/tao/Services.pidl b/tao/Services.pidl
index 2543927025e..26d37adf618 100644
--- a/tao/Services.pidl
+++ b/tao/Services.pidl
@@ -23,6 +23,7 @@
#define TAO_CORBA_SERVICES_IDL
#include "tao/OctetSeq.pidl"
+#include "tao/ULongSeq.pidl"
#pragma prefix "omg.org"
@@ -32,7 +33,7 @@ module CORBA
typedef unsigned long ServiceOption;
typedef unsigned long ServiceDetailType;
typedef OctetSeq ServiceDetailData;
- typedef sequence<ServiceOption> ServiceOptionSeq;
+ typedef ULongSeq ServiceOptionSeq;
const ServiceType Security = 1;
diff --git a/tao/Stub.cpp b/tao/Stub.cpp
index 419ba5cb684..778baf188bc 100644
--- a/tao/Stub.cpp
+++ b/tao/Stub.cpp
@@ -248,7 +248,7 @@ TAO_Stub::get_profile_ior_info (TAO_MProfile &profiles, IOP::IOR *&ior_info)
CORBA::ULong const count = profiles.profile_count ();
// Set the number of elements in the sequence of tagged_profile
- ior_info->profiles.length (count);
+ ior_info->profiles.resize (count);
// Call the create_tagged_profile one every member of the
// profile and make the sequence
@@ -472,17 +472,20 @@ TAO_Stub::set_policy_overrides (const CORBA::PolicyList & policies,
return stub;
}
-CORBA::PolicyList *
+CORBA::PolicyList
TAO_Stub::get_policy_overrides (const CORBA::PolicyTypeSeq &types)
{
+ CORBA::PolicyList policy_list;
+
if (this->policies_ == 0)
{
+ /*
CORBA::PolicyList *policy_list_ptr = 0;
ACE_NEW_THROW_EX (policy_list_ptr,
CORBA::PolicyList (),
CORBA::NO_MEMORY ());
-
- return policy_list_ptr;
+ */
+ return policy_list;
}
else
{
diff --git a/tao/Stub.h b/tao/Stub.h
index 66bb2ed25ce..9ef36c18386 100644
--- a/tao/Stub.h
+++ b/tao/Stub.h
@@ -82,7 +82,7 @@ public:
virtual TAO_Stub* set_policy_overrides (const CORBA::PolicyList & policies,
CORBA::SetOverrideType set_add);
- virtual CORBA::PolicyList *get_policy_overrides (
+ virtual CORBA::PolicyList get_policy_overrides (
const CORBA::PolicyTypeSeq & types);
#endif
diff --git a/tao/Synch_Reply_Dispatcher.cpp b/tao/Synch_Reply_Dispatcher.cpp
index 20992fef308..a69467ed500 100644
--- a/tao/Synch_Reply_Dispatcher.cpp
+++ b/tao/Synch_Reply_Dispatcher.cpp
@@ -66,12 +66,13 @@ TAO_Synch_Reply_Dispatcher::dispatch_reply (
// Steal the buffer, that way we don't do any unnecesary copies of
// this data.
- CORBA::ULong const max = params.svc_ctx_.maximum ();
- CORBA::ULong const len = params.svc_ctx_.length ();
- IOP::ServiceContext* context_list = params.svc_ctx_.get_buffer (true);
- this->reply_service_info_.replace (max, len, context_list, true);
+// CORBA::ULong const max = params.svc_ctx_.maximum ();
+// CORBA::ULong const len = params.svc_ctx_.length ();
+// IOP::ServiceContext* context_list = params.svc_ctx_.get_buffer (true);
+// this->reply_service_info_.replace (max, len, context_list, true);
+ this->reply_service_info_ = params.svc_ctx_;
- if (this->reply_service_info_.length() > 0)
+ if (this->reply_service_info_.size () > 0)
{
orb_core_->service_context_registry ().
process_service_contexts (this->reply_service_info_, *(params.transport_));
diff --git a/tao/Synch_Reply_Dispatcher.h b/tao/Synch_Reply_Dispatcher.h
index 94d9e139dba..8a12d7ba268 100644
--- a/tao/Synch_Reply_Dispatcher.h
+++ b/tao/Synch_Reply_Dispatcher.h
@@ -25,16 +25,12 @@
#include "tao/LF_Invocation_Event.h"
#include "tao/CDR.h"
+#include "tao/IOPC.h"
TAO_BEGIN_VERSIONED_NAMESPACE_DECL
class TAO_Pluggable_Reply_Params;
-namespace IOP
-{
- class ServiceContextList;
-}
-
/**
* @class TAO_Synch_Reply_Dispatcher
*
diff --git a/tao/TAO_Server_Request.cpp b/tao/TAO_Server_Request.cpp
index 69aacc00917..3afd77b071c 100644
--- a/tao/TAO_Server_Request.cpp
+++ b/tao/TAO_Server_Request.cpp
@@ -69,7 +69,7 @@ TAO_ServerRequest::TAO_ServerRequest (TAO_GIOP_Message_Base *mesg_base,
orb_core_ (orb_core),
request_id_ (0),
profile_ (orb_core),
- requesting_principal_ (0),
+// requesting_principal_ (0),
dsi_nvlist_align_ (0),
operation_details_ (0),
argument_flag_ (true)
@@ -111,7 +111,7 @@ TAO_ServerRequest::TAO_ServerRequest (TAO_GIOP_Message_Base *mesg_base,
orb_core_ (orb_core),
request_id_ (request_id),
profile_ (orb_core),
- requesting_principal_ (0),
+// requesting_principal_ (0),
dsi_nvlist_align_ (0),
operation_details_ (0),
argument_flag_ (true)
@@ -148,7 +148,7 @@ TAO_ServerRequest::TAO_ServerRequest (TAO_ORB_Core * orb_core,
orb_core_ (orb_core),
request_id_ (0),
profile_ (orb_core),
- requesting_principal_ (0),
+// requesting_principal_ (0),
dsi_nvlist_align_ (0),
operation_details_ (&details),
argument_flag_ (false)
@@ -171,12 +171,14 @@ TAO_ServerRequest::TAO_ServerRequest (TAO_ORB_Core * orb_core,
IOP::ServiceContextList & src_request_contexts =
(const_cast <TAO_Operation_Details&> (details)).request_service_info ();
-
+
+ dest_request_contexts = src_request_contexts;
+/*
dest_request_contexts.replace (src_request_contexts.maximum (),
src_request_contexts.length (),
src_request_contexts.get_buffer (),
- false /* Do not release. */);
-
+ false); // Do not release.
+*/
// Don't shallow copy the reply service context. It is probably empty,
// when then during the request it is used, the buffer gets allocated and
// then the operation details don't get the reply service context
@@ -304,7 +306,7 @@ TAO_ServerRequest::send_no_exception_reply (void)
// Change this to pass back the same thing we received, as well as
// leave a comment why this is important!
- reply_params.svc_ctx_.length (0);
+ reply_params.svc_ctx_.resize (0);
// Send back the reply service context.
reply_params.service_context_notowned (&this->reply_service_info ());
@@ -377,7 +379,7 @@ TAO_ServerRequest::tao_send_reply_exception (const CORBA::Exception &ex)
TAO_Pluggable_Reply_Params_Base reply_params;
reply_params.request_id_ = this->request_id_;
- reply_params.svc_ctx_.length (0);
+ reply_params.svc_ctx_.resize (0);
// Send back the reply service context.
reply_params.service_context_notowned (&this->reply_service_info ());
@@ -510,7 +512,7 @@ TAO_ServerRequest::send_cached_reply (CORBA::OctetSeq &s)
reply_params.request_id_ = this->request_id_;
- reply_params.svc_ctx_.length (0);
+ reply_params.svc_ctx_.resize (0);
// Send back the empty reply service context.
reply_params.service_context_notowned (&this->reply_service_info ());
@@ -535,12 +537,14 @@ TAO_ServerRequest::send_cached_reply (CORBA::OctetSeq &s)
ACE_TEXT ("could not make cached reply\n")));
}
-
+
+ *this->outgoing_ << s;
+/*
/// Append reply here....
this->outgoing_->write_octet_array (
s.get_buffer (),
s.length ());
-
+*/
if (!this->outgoing_->good_bit ())
{
ACE_ERROR ((LM_ERROR,
diff --git a/tao/TAO_Server_Request.h b/tao/TAO_Server_Request.h
index 254e721897c..394ea61a359 100644
--- a/tao/TAO_Server_Request.h
+++ b/tao/TAO_Server_Request.h
@@ -221,7 +221,7 @@ public:
void reply_status (GIOP::ReplyStatusType except_type);
/// Set the requesting principal
- void requesting_principal (const CORBA::OctetSeq & principal);
+ void requesting_principal (const CORBA::OctetSeq principal);
/// Return the reference to the tagged profile
TAO_Tagged_Profile &profile (void);
@@ -339,7 +339,7 @@ private:
TAO_Tagged_Profile profile_;
/// Identifies the requester.
- CORBA::OctetSeq_var requesting_principal_;
+ CORBA::OctetSeq requesting_principal_;
/// Used to pad CDR stream if we have used DSI.
ptrdiff_t dsi_nvlist_align_;
diff --git a/tao/TAO_Server_Request.inl b/tao/TAO_Server_Request.inl
index ef3532f4c6c..ad6b143a8d9 100644
--- a/tao/TAO_Server_Request.inl
+++ b/tao/TAO_Server_Request.inl
@@ -23,7 +23,7 @@ TAO_ServerRequest::TAO_ServerRequest (void)
orb_core_ (0),
request_id_ (0),
profile_ (0),
- requesting_principal_ (0),
+// requesting_principal_ (0),
dsi_nvlist_align_ (0),
operation_details_ (0),
argument_flag_ (true)
@@ -153,7 +153,7 @@ TAO_ServerRequest::request_id (CORBA::ULong req)
}
ACE_INLINE void
-TAO_ServerRequest::requesting_principal (const CORBA::OctetSeq &principal)
+TAO_ServerRequest::requesting_principal (const CORBA::OctetSeq principal)
{
this->requesting_principal_ = principal;
}
diff --git a/tao/Tagged_Components.cpp b/tao/Tagged_Components.cpp
index 28d22ce41ed..e29499484da 100644
--- a/tao/Tagged_Components.cpp
+++ b/tao/Tagged_Components.cpp
@@ -63,10 +63,11 @@ TAO_Tagged_Components::set_code_sets_i (
CONV_FRAME::CodeSetComponent &rhs)
{
lhs.native_code_set = rhs.native_code_set;
- CORBA::ULong const max = rhs.conversion_code_sets.maximum ();
- CORBA::ULong const len = rhs.conversion_code_sets.length ();
- CONV_FRAME::CodeSetId *buffer = rhs.conversion_code_sets.get_buffer (true);
- lhs.conversion_code_sets.replace (max, len, buffer, true);
+ CORBA::ULong const max = rhs.conversion_code_sets.capacity ();
+ CORBA::ULong const len = rhs.conversion_code_sets.size ();
+// CONV_FRAME::CodeSetId *buffer = rhs.conversion_code_sets.get_buffer (true);
+// lhs.conversion_code_sets.replace (max, len, buffer, true);
+ lhs.conversion_code_sets = rhs.conversion_code_sets;
}
// ****************************************************************
@@ -77,18 +78,22 @@ TAO_Tagged_Components::set_component_i (IOP::ComponentId tag,
{
IOP::TaggedComponent component;
component.tag = tag;
-
+
// Make a *copy* of the CDR stream...
size_t length = cdr.total_length ();
- component.component_data.length (static_cast<CORBA::ULong> (length));
- CORBA::Octet *buf = component.component_data.get_buffer ();
+ component.component_data.resize (length);
+ size_t index = 0;
for (const ACE_Message_Block *i = cdr.begin ();
i != 0;
i = i->cont ())
{
- ACE_OS::memcpy (buf, i->rd_ptr (), i->length ());
- buf += i->length ();
+ char *buf = i->base ();
+
+ for (size_t j = 0; j < i->length (); ++j)
+ {
+ component.component_data[index++] = buf[j];
+ }
}
this->set_component_i (component);
@@ -134,10 +139,14 @@ void
TAO_Tagged_Components::set_known_component_i (
const IOP::TaggedComponent& component)
{
+ TAO_OutputCDR out;
+ out << component.component_data;
+ TAO_InputCDR cdr (out);
+/*
TAO_InputCDR cdr (reinterpret_cast<const char*> (
component.component_data.get_buffer ()),
component.component_data.length ());
-
+*/
CORBA::Boolean byte_order;
if (!(cdr >> ACE_InputCDR::to_boolean (byte_order)))
@@ -179,7 +188,7 @@ TAO_Tagged_Components::set_component_i (const IOP::TaggedComponent& component)
{
// @@ TODO Some components can show up multiple times, others
// can't find out and take appropiate action.
- for (CORBA::ULong i = 0; i != this->components_.length (); ++i)
+ for (CORBA::ULong i = 0; i != this->components_.size (); ++i)
{
if (component.tag == this->components_[i].tag)
{
@@ -194,14 +203,15 @@ TAO_Tagged_Components::set_component_i (const IOP::TaggedComponent& component)
void
TAO_Tagged_Components::set_component_i (IOP::TaggedComponent& component)
{
- for (CORBA::ULong i = 0; i != this->components_.length (); ++i)
+ for (CORBA::ULong i = 0; i != this->components_.size (); ++i)
{
if (component.tag == this->components_[i].tag)
{
- CORBA::ULong max = component.component_data.maximum ();
- CORBA::ULong len = component.component_data.length ();
- CORBA::Octet* buf = component.component_data.get_buffer (1);
- this->components_[i].component_data.replace (max, len, buf, 1);
+// CORBA::ULong max = component.component_data.max_size ();
+// CORBA::ULong len = component.component_data.size ();
+// CORBA::Octet* buf = component.component_data.get_buffer (1);
+// this->components_[i].component_data.replace (max, len, buf, 1);
+ this->components_[i].component_data = component.component_data;
return;
}
}
@@ -214,13 +224,14 @@ TAO_Tagged_Components::add_component_i (IOP::TaggedComponent& component)
{
// @@ TODO Some components can show up multiple times, others
// can't find out and take appropiate action.
- CORBA::ULong l = this->components_.length ();
- this->components_.length (l + 1);
+ CORBA::ULong l = this->components_.size ();
+ this->components_.resize (l + 1);
this->components_[l].tag = component.tag;
- CORBA::ULong max = component.component_data.maximum ();
- CORBA::ULong len = component.component_data.length ();
- CORBA::Octet* buf = component.component_data.get_buffer (1);
- this->components_[l].component_data.replace (max, len, buf, 1);
+// CORBA::ULong max = component.component_data.maximum ();
+// CORBA::ULong len = component.component_data.length ();
+// CORBA::Octet* buf = component.component_data.get_buffer (1);
+// this->components_[l].component_data.replace (max, len, buf, 1);
+ this->components_[l].component_data = component.component_data;
}
void
@@ -228,8 +239,8 @@ TAO_Tagged_Components::add_component_i (const IOP::TaggedComponent& component)
{
// @@ TODO Some components can show up multiple times, others
// can't find out and take appropiate action.
- CORBA::ULong l = this->components_.length ();
- this->components_.length (l + 1);
+ CORBA::ULong l = this->components_.size ();
+ this->components_.resize (l + 1);
this->components_[l] = component;
}
@@ -270,7 +281,7 @@ int
TAO_Tagged_Components::remove_component_i (IOP::ComponentId tag)
{
CORBA::ULong src = 0, dest = 0;
- CORBA::ULong len = this->components_.length ();
+ CORBA::ULong len = this->components_.size ();
for (;src != len;++src)
{
@@ -281,14 +292,14 @@ TAO_Tagged_Components::remove_component_i (IOP::ComponentId tag)
}
}
- this->components_.length (dest);
+ this->components_.resize (dest);
return src - dest;
}
int
TAO_Tagged_Components::get_component (IOP::TaggedComponent& component) const
{
- for (CORBA::ULong i = 0; i != this->components_.length (); ++i)
+ for (CORBA::ULong i = 0; i != this->components_.size (); ++i)
{
if (component.tag == this->components_[i].tag)
{
@@ -320,7 +331,7 @@ TAO_Tagged_Components::decode (TAO_InputCDR& cdr)
return 0;
}
- CORBA::ULong const l = this->components_.length ();
+ CORBA::ULong const l = this->components_.size ();
for (CORBA::ULong i = 0; i != l; ++i)
{
diff --git a/tao/operation_details.inl b/tao/operation_details.inl
index 3c9d6f6a35e..4626e28b572 100644
--- a/tao/operation_details.inl
+++ b/tao/operation_details.inl
@@ -99,12 +99,12 @@ TAO_Operation_Details::reply_service_info (void) const
ACE_INLINE void
TAO_Operation_Details::reset_request_service_info (void)
{
- this->request_service_context ().service_info ().length (0);
+ this->request_service_context ().service_info ().resize (0);
}
ACE_INLINE void
TAO_Operation_Details::reset_reply_service_info (void)
{
- this->reply_service_context ().service_info ().length (0);
+ this->reply_service_context ().service_info ().resize (0);
}
ACE_INLINE void
diff --git a/tao/tao.mpc b/tao/tao.mpc
index 93de90b1d0a..c756f445fb0 100644
--- a/tao/tao.mpc
+++ b/tao/tao.mpc
@@ -2,7 +2,7 @@
project(TAO_Core_idl) : tao_versioning_idl_defaults, gen_ostream, install, pidl_install {
custom_only = 1
- idlflags += -SS -Sorb -GA -Gp -Gd -oA AnyTypeCode \
+ idlflags += -SS -Sorb -Gstl -GA -Gp -Gd -oA AnyTypeCode \
-Wb,export_macro=TAO_Export \
-Wb,export_include=tao/TAO_Export.h \
-Wb,anyop_export_macro=TAO_AnyTypeCode_Export \