Sun Dec 31 13:59:35 2000 Ossama Othman * tests/Portable_Interceptors/ForwardRequest/server.cpp (main): Fixed warnings about passing "CORBA::String_var" through a "..." vararg that g++ was exhibiting. Sun Dec 31 13:45:15 2000 Ossama Othman * tao/Pluggable_Messaging_Utils.cpp (TAO_Pluggable_Reply_Params): Initialize the "argument_flag_" attribute to zero in the base member initializer list. Previously it was not initialized, and was causing "reading uninitialized memory" errors. This also fixes unnecessary byte boundary alignment in GIOP 1.2 messages. * tests/Portable_Interceptors/Makefile (DIRS): * tests/Portable_Interceptors/Makefile.bor (DIRS): Added new `ForwardRequest' test directory to the list of directories to build. * tests/Portable_Interceptors/ForwardRequest/Client_ORBInitializer.cpp: * tests/Portable_Interceptors/ForwardRequest/Client_ORBInitializer.h: * tests/Portable_Interceptors/ForwardRequest/Client_Request_Interceptor.cpp: * tests/Portable_Interceptors/ForwardRequest/Client_Request_Interceptor.h: * tests/Portable_Interceptors/ForwardRequest/ForwardRequest.dsw: * tests/Portable_Interceptors/ForwardRequest/Makefile: * tests/Portable_Interceptors/ForwardRequest/Makefile.bor: * tests/Portable_Interceptors/ForwardRequest/README: * tests/Portable_Interceptors/ForwardRequest/Server_ORBInitializer.cpp: * tests/Portable_Interceptors/ForwardRequest/Server_ORBInitializer.h: * tests/Portable_Interceptors/ForwardRequest/Server_Request_Interceptor.cpp: * tests/Portable_Interceptors/ForwardRequest/Server_Request_Interceptor.h: * tests/Portable_Interceptors/ForwardRequest/client.bor: * tests/Portable_Interceptors/ForwardRequest/client.cpp: * tests/Portable_Interceptors/ForwardRequest/client.dsp: * tests/Portable_Interceptors/ForwardRequest/run_test.pl: * tests/Portable_Interceptors/ForwardRequest/server.bor: * tests/Portable_Interceptors/ForwardRequest/server.cpp: * tests/Portable_Interceptors/ForwardRequest/server.dsp: * tests/Portable_Interceptors/ForwardRequest/test.idl: * tests/Portable_Interceptors/ForwardRequest/test_i.cpp: * tests/Portable_Interceptors/ForwardRequest/test_i.h: New test that verifies that the PortableInterceptor::ForwardRequest exception support is working properly. * tests/Portable_Interceptors/IORInterceptor/FOO_ClientRequestInterceptor.h: Corrected erroneous class description. Sat Dec 30 11:31:43 2000 Balachandran Natarajan * orbsvcs/orbsvcs/ESF/ESF_Proxy_Admin.cpp: * orbsvcs/orbsvcs/ESF/ESF_Immediate_Changes.cpp: * orbsvcs/orbsvcs/ESF/ESF_Peer_Admin.cpp: * tao/Typecode.cpp. Added patches provided by J. Russell Noseworthy for SPRO 5.1. Sat Dec 30 10:39:41 2000 Balachandran Natarajan * tests/BiDirectional/test_i.cpp: * tests/BiDirectional_NestedUpcall/test_i.cpp: Fixed warnings in g++ builds. Fri Dec 29 12:05:02 2000 Balachandran Natarajan * tests/BiDirectional/test_i.cpp: Changed the wrong usage of ACE_ASSERT statement. Thanks to Darrel for pointing this out. Fri Dec 29 09:10:43 2000 Darrell Brunsch * tests/Portable_Interceptors/IORInterceptor/client.dsp: * tests/Portable_Interceptors/IORInterceptor/server.dsp: Added an include option for TAO_IDL for the IDL files in the Release configuration. Fri Dec 29 07:38:27 2000 Frank Hunleth * tests/Policies/Manipulation.cpp: * orbsvcs/tests/Time/Client_i.cpp: * orbsvcs/examples/Log/Client/TLS_Client.cpp: * orbsvcs/examples/Log/test/BasicLog_Test.cpp: Fixed compile errors under VxWorks due to lack of support for 64 bit integers. * orbsvcs/tests/AVStreams/Pluggable/server.cpp: * orbsvcs/tests/AVStreams/Pluggable/ftp.cpp: * orbsvcs/tests/AVStreams/Full_Profile/server.cpp: * orbsvcs/tests/AVStreams/Full_Profile/ftp.cpp: * orbsvcs/tests/AVStreams/Multicast/server.cpp: * orbsvcs/tests/AVStreams/Multicast/ftp.cpp: * orbsvcs/tests/AVStreams/Multicast_Full_Profile/server.cpp: * orbsvcs/tests/AVStreams/Multicast_Full_Profile/ftp.cpp: * orbsvcs/tests/Interoperable_Naming/client.cpp: Fixed compile warnings due to missing return statements. Thu Dec 28 10:05:42 2000 Priyanka Gontla * performance-tests/Cubit/TAO/IDL_Cubit/run_test.pl: * performance-tests/Cubit/TAO/IDL_Cubit/server_shmiop.conf: * tests/RTCORBA/Explicit_Binding/svc.conf: * tests/RTCORBA/Client_Protocol/svc.conf: Added the new files. * tests/RTCORBA/MT_Client_Protocol_Priority/server.conf: Added the new entry to use MMapFilePrefix for SHMIOP in all the above conf files. Updated the perl script to use the corresponding conf file. * tao/Strategies/advanced_resource.cpp (init): Moving the call to set the resource_factory to "Advanced_Resource_Factory" back to the constructor of TAO_Resource_Factory_Changer. Wed Dec 27 21:02:25 2000 Christopher Kohlhoff * tao/Makefile.bor: Added missing source file RT_ORB_Loader. * tests/Portable_Interceptors/IORInterceptor/server.bor: Fixed error in OBJFILES macro and added missing library. * orbsvcs/IFR_Service/IFR_Service.bor: Added missing library. Wed Dec 27 18:00:23 2000 Priyanka Gontla * tests/RTCORBA/Server_Protocol/run_test.pl : Updated the perl script to use server_shmiop.conf is all cases using SHMIOP. * tests/RTCORBA/Server_Protocol/server_reverse.conf: * tests/RTCORBA/Server_Protocol/server_reverse_nt.conf: * tests/RTCORBA/Server_Protocol/server_shmiop.conf: Added the new MMAPFilePrefix option. Wed Dec 27 17:37:39 2000 Priyanka Gontla * tao/Protocols_Hooks.cpp : * tao/Protocols_Hooks.h : * tao/Default_Protocols_Hooks.cpp : * tao/Default_Protocols_Hooks.h : * tao/RT_Protocols_Hooks.cpp : * tao/RT_Protocols_Hooks.h : This change is to remove the dependency of IIOP/UIOP_Connector/Acceptor on RTCORBA. Changed the signature of the call_client(server)_protocols_hook to use three int variables instead and changed the signature of Client(Server)_Protocols_Hook in RT_Protocols_Hooks.h * tao/RT_Policy_i.cpp : * tao/RT_Policy_i.h : Correspondingly changed the signatures of TAO_Client(Server)ProtocolPolicy::hook methods and made appropriate changes to the implementation to assign values to the int variables send_buffer_size, recv_buffer_size and no_delay. * tao/Strategies/UIOP_Connector.cpp : * tao/Strategies/UIOP_Acceptor.cpp : * tao/IIOP_Connector.cpp : * tao/IIOP_Acceptor.cpp : Changed the implementation of init_iiop(uiop)_properties accordingly. Wed Dec 27 15:13:27 2000 Priyanka Gontla * tao/RT_Protocols_Hooks.cpp: Updated the equivalent values for all RTCORBA:: Policy types as the previous way of assignment is throwing exceptions even when not needed. * tao/Stub.cpp (get_policy): Updated accordingly to check the values. Wed Dec 27 13:44:14 2000 Priyanka Gontla * tao/Stub.cpp (set_policy_overrides): Undid the previous change and corrected it. Thanks to Carlos for pointing out. Wed Dec 27 10:29:13 2000 Priyanka Gontla * tao/Stub.cpp (set_policy_overrides): Used parenthesis to clarify a doubt of precedence for Win32 builds. Tue Dec 26 15:09:38 2000 Ossama Othman * tests/Portable_Interceptors/IORInterceptor/client.bor: * tests/Portable_Interceptors/IORInterceptor/server.bor: Added these missing Borland C++ Makefiles. Tue Dec 26 14:55:27 2000 Ossama Othman * tao/PortableInterceptor.i (receive_request): Removed unnecessary use of "ACE_UNUSED_ARG" macro. The CORBA::Environment argument is actually used by the recently added run-time integrity check. * tests/Portable_Interceptors/IORInterceptor/ FOO_ClientRequestInterceptor.cpp (send_poll, receive_reply, receive_exception, receive_other): Fixed unused argument warnings. Tue Dec 26 13:40:50 2000 Ossama Othman * TAO_IDL/be/be_visitor_operation/operation_ss.cpp (visit_operation): Corrected misinterpretation of the Portable Interceptor spec. The send_reply() interception is always invoked upon successful completion of an operation invocation, regardless of whether or not the operation is a one-way or two-way request. * TAO_IDL/be/be_visitor_operation/interceptors_exceptlist.cpp (gen_exceptlist): Improved the generated code so that the exception list length is set prior to the loop that sets each exception list element. Previously, the length was increased by one during each loop iteration. The new scheme is more efficient since only one allocation is performed, instead of potentially many, in addition to reducing the number of function calls. * tao/PortableInterceptor.i (receive_request): Added a run-time integrity check. This method (i.e., the receive_request() interception point) should only be invoked if all of the interceptors registered with the ORB were pushed on to the flow stack by one of the starting endpoints (such as receive_request_service_contexts()). If all of the interceptors were not pushed on to the flow stack, then it is likely that a starting interception point was never invoked. This is of course, an internal error that must be corrected. * tests/PortableInterceptor/IORInterceptor/FOO_ClientRequestInterceptor.cpp: * tests/PortableInterceptor/IORInterceptor/FOO_ClientRequestInterceptor.h: * tests/PortableInterceptor/IORInterceptor/FOO_Client_ORBInitializer.cpp: * tests/PortableInterceptor/IORInterceptor/FOO_Client_ORBInitializer.h: * tests/PortableInterceptor/IORInterceptor/FOO_IORInterceptor.cpp: * tests/PortableInterceptor/IORInterceptor/FOO_IORInterceptor.h: * tests/PortableInterceptor/IORInterceptor/FOO_IORInterceptor_ORBInitializer.cpp: * tests/PortableInterceptor/IORInterceptor/FOO_IORInterceptor_ORBInitializer.h: * tests/PortableInterceptor/IORInterceptor/IORInterceptor.dsw: * tests/PortableInterceptor/IORInterceptor/Makefile: * tests/PortableInterceptor/IORInterceptor/Makefile.bor: * tests/PortableInterceptor/IORInterceptor/README: * tests/PortableInterceptor/IORInterceptor/client.cpp: * tests/PortableInterceptor/IORInterceptor/client.dsp: * tests/PortableInterceptor/IORInterceptor/run_test.pl: * tests/PortableInterceptor/IORInterceptor/server.cpp: * tests/PortableInterceptor/IORInterceptor/server.dsp: * tests/PortableInterceptor/IORInterceptor/test.idl: * tests/PortableInterceptor/IORInterceptor/test_i.cpp: * tests/PortableInterceptor/IORInterceptor/test_i.h: New test that exercises TAO's IORInterceptor support. * tests/Portable_Interceptors/Makefile (DIRS): * tests/Portable_Interceptors/Makefile.bor (DIRS): Added new IORInterceptor test directory to the list of directories to build. Sun Dec 24 06:49:22 2000 Balachandran Natarajan * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp: Fixed link errors in MSVC buid. Sat Dec 23 11:54:07 2000 Balachandran Natarajan * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp: Fixed compile errors. Fri Dec 22 17:31:24 2000 Priyanka Gontla * tao/RT_ORB_Loader.cpp: * tao/RT_ORB_Loader.h: Added and Committed missing files. Fri Dec 22 15:26:58 2000 Priyanka Gontla * tao/ORB.cpp (resolve_rt_orb): Added ACE_UNUSED_ARG (ACE_TRY_ENV) to remove a warning in the RT_CORBA==0 case. Fri Dec 22 16:45:42 2000 Darrell Brunsch * performance-tests/Cubit/TAO/IDL_Cubit/client.dsp: * performance-tests/Cubit/TAO/IDL_Cubit/server.dsp: Fixed the Static Release configurations. Fri Dec 22 15:11:00 2000 Priyanka Gontla * tao/ORB_Core.cpp: Added TAO_HAS_RT_CORBA guard. Fri Dec 22 15:02:00 2000 Priyanka Gontla * tao/ORB_Core.h : * tao/ORB_Core.i: Added TAO_HAS_CORBA_MESSAGING guards around get_default_policies which returns TAO_Policy_Manager_Impl *. Fri Dec 22 14:24:17 2000 Priyanka Gontla * tao/TAO.dsp * tao/TAO_Static.dsp Added the new files: RT_ORB_Loader.{h,cpp} . Fri Dec 22 14:13:46 2000 Priyanka Gontla * tao/ORB_Core.h : * tao/ORB_Core.cpp : * tao/ORB_Core.i: This change is aimed at making ORB_Core not-dependent on RT_ORB, RT_Current, Priority_Mapping_Manager and RT_Policy_i. Removed the set_default_policies method. It now is in Protocols_Hooks and derived classes. The default implementation does nothing and the RT_Protocols_Hooks implementation does the actual setting of the policies. With this change, ORB_Core doesnt depend on RT_Policy_i. Similar is the case with get_thread_priority and set_thread_priority methods. Added resolve_rt_orb_i (CORBA::Environment &) method. This method creates the RT_ORB with the help of the TAO_RT_ORB_Loader class. And also helps set the RT_Current object. This method is called by TAO_ORB_Core::rt_orb (). Added and modified accessor methods for TAO_Priority_Mapping_Manager. CORBA::Object_ptr priority_mapping_manager (void); void priority_mapping_manager (CORBA::Object_ptr obj); The set method is called from RT_ORBInitializer which sets the static variable CORBA::Object_ptr priority_mapping_manager_. Added a accessor method to retrieve the protected TAO_Policy_Manager_Impl *default_policies_. The methods rt_orb and rt_current return CORBA::Object_ptr. Modified the corresponding variables to be CORBA::Object_ptr's. Changed the signature of rt_orb to take CORBA::Environment as an argument. * tao/RT_ORB_Loader.h: * tao/RT_ORB_Loader.cpp: The factory class that helps create an RT_ORB object and set the RT_Current object. * tao/ORB.cpp (resolve_rt_current): Started using the unused ACE_TRY_ENV in resolve_rt_orb. Passed ACE_TRY_ENV as an argument when invoking TAO_ORB_Core::rt_orb. * tao/RT_Protocols_Hooks.cpp : * tao/RT_Protocols_Hooks.h : * tao/Default_Protocols_Hooks.cpp : * tao/Default_Protocols_Hooks.h : * tao/Protocols_Hooks.cpp : * tao/Protocols_Hooks.h : Added the following virtual functions. As before, the default implementation does nothing and the RT implementation does the needful. int get_thread_priority (TAO_ORB_Core *, int set_thread_priority (TAO_ORB_Core *, int set_default_policies (TAO_ORB_Core *orb_core); These methods are moved from ORB_Core. void set_priority_mapping (TAO_ORB_Core *, This method is called from ORB_Core to set the priority_mapping. Added this new method to not use TAO_Priority_Mapping_Manager class in ORB_Core. * tao/Invocation_Endpoint_Selectors.cpp : * tao/PortableServer/Object_Adapter.cpp: * tao/Strategies/Reactor_Per_Priority.cpp: * tao/RT_Current.cpp: * tao/Pool_Per_Endpoint.cpp: Changed the signatures and the way the methods are invoked according to the changes done with regards to the modified methods. * tao/Makefile: Added the new files. RT_ORB_Loader.{h.cpp} * tao/Stub.cpp : Fixed the KCC warnings related to the previous change. Added some comments regarding the way I am throwing exceptions. * tao/RT_Protocols_Hooks.cpp (validate_policy_type): Set type_value=3 in the other 'if' case so that I can check on the value of type_value to throw the needed exception. Fri Dec 22 15:25:51 2000 Balachandran Natarajan * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp: Added bidirectional support for SSLIOP. Fri Dec 22 14:56:24 2000 Balachandran Natarajan * tao/IIOP_Transport.h: * tao/IIOP_Transport.cpp: * tao/operation_details.h: * tao/operation_details.cpp: Modified the request_id's so that we have unique id's flying over the connection when we have BiDirectional connections setup. This is as per the recommendation of the BiDirectional GIOP sepc. Fri Dec 22 13:00:42 2000 Balachandran Natarajan * tests/BiDirectional/run_test.pl: * tests/BiDirectional_NestedUpcall/run_test.pl: Added these perl scripts. Fri Dec 22 12:22:06 2000 Balachandran Natarajan * tests/BiDirectional_NestedUpcall: New test for BiDirectional connections that tests for callbacks in an upcall. * tests/BiDirectional_NestedUpcall/README: * tests/BiDirectional_NestedUpcall/client.cpp: * tests/BiDirectional_NestedUpcall/server.cpp: * tests/BiDirectional_NestedUpcall/test_i.h: * tests/BiDirectional_NestedUpcall/test_i.cpp: * tests/BiDirectional_NestedUpcall/test_i.i: * tests/BiDirectional_NestedUpcall/test.idl: * tests/BiDirectional_NestedUpcall/BiDir.dsw: * tests/BiDirectional_NestedUpcall/client.dsp: * tests/BiDirectional_NestedUpcall/server.dsp: * tests/BiDirectional_NestedUpcall/client.bor: * tests/BiDirectional_NestedUpcall/server.bor: * tests/BiDirectional_NestedUpcall/Makefile.bor: * tests/BiDirectional_NestedUpcall/svc.conf: * tests/BiDirectional_NestedUpcall/Makefile: Files for the new test. Fri Dec 22 07:30:37 2000 Johnny Willemsen * examples/Load_Balancing: * examples/Load_Balancing_persistent: Added Borland C++ Builder makefiles Fri Dec 22 01:01:37 2000 Nanbor Wang * TAO_IDL/driver/drv_preproc.cpp (DRV_pre_proc): Restore file permission setting for temp file. Thu Dec 21 19:33:33 2000 Carlos O'Ryan * tests/Param_Test/except.cpp: We need an explicit #include to get the declaration of CORBA::UnknownUserException, it used to be in tao/Exception.h, but the class has moved into the DynamicInterface library. Thu Dec 21 18:53:20 2000 Priyanka Gontla * tests/Strategies/advanced_svc.conf: Changed the entry in the conf file from Resource_Factory to Advanced_Resource_Factory. Thanks to Bala for pointing it out. Thu Dec 21 13:23:33 2000 Nanbor Wang * TAO_IDL/driver/drv_preproc.cpp (DRV_pre_proc): Removed the file permission specifier when opening the temp file. The should be taken care of by ACE_OS::open automatically and the old specifier no longer worked on NT. Wed Dec 20 09:34:20 2000 Priyanka Gontla * tao/CORBALOC_Parser.h : * tao/CORBALOC_Parser.cpp : Instead of declaring CORBA::ORB orb_ and TAO_MProfile mprofile_ as private variables, declared them in the implementation and accrdingly changed the signatures of the methods using these variables. This way the MProfile will be cleaned automatically when it goes out of scope. Previosuly, the new mprofile was added to the already existing mprofile which was never cleaned causing a problem. Thanks to Russell Carter for reporting this problem. Tue Dec 19 19:31:42 2000 Darrell Brunsch * tao/Strategies/strategies_export.h: Added TAO_AS_STATIC_LIBS check. * performance-tests/Cubit/TAO/IDL_Cubit/client.dsp: * performance-tests/Cubit/TAO/IDL_Cubit/server.dsp: * tao/IORManipulation/TAO_IORManip_Static.dsp: * tao/Strategies/TAO_Strategies_Static.dsp: Updated the static configurations' build options. Tue Dec 19 19:22:30 2000 Priyanka Gontla * tao/TAO_Static.dsp Added the new files. Tue Dec 19 17:58:00 2000 Jeff Parsons * TAO_IDL/fe/idl.yy: * TAO_IDL/fe/y.tab.cpp: Minor change to allow the IDL compiler to handle cases like const unsigned short a = 12; typedef string foo; typedef long bar[a+1]; Tue Dec 19 14:21:12 2000 Jeff Parsons * orbsvcs/IFR_Service/Container_i.cpp: * orbsvcs/IFR_Service/Container_i.h: * orbsvcs/IFR_Service/InterfaceDef_i.cpp: Fixed bug in Container::contents() where an InterfaceDef container would include attributes and operations in its results only if the exclude_inherited flag was 0. * orbsvcs/IFR_Service/OperationDef_i.cpp: Removed unnecessary temporary variable in OperationDef::params(), and made cosmetic changes. Tue Dec 19 11:47:30 2000 Priyanka Gontla * tao/Protocols_Hooks.cpp : * tao/Protocols_Hooks.h : * tao/Default_Protocols_Hooks.cpp : * tao/Default_Protocols_Hooks.h : * tao/RT_Protocols_Hooks.cpp : * tao/RT_Protocols_Hooks.h : * tao/RT_Invocation_Endpoint_Selectors.i : * tao/Invocation_Endpoint_Selectors.i : * tao/Invocation.h : * tao/Invocation.i : Added TAO_HAS_RT_CORBA if-def guards. Tue Dec 19 12:16:32 2000 Douglas C. Schmidt * utils/nslist/nslist.cpp (main): Added a fix to check if non-existent IOR is passed in. Thanks to Jerry Jiang for reporting this problem. Tue Dec 19 08:53:51 2000 Jeff Parsons * TAO_IDL/fe/idl.yy: Modified the yacc file to check, in the case where an enum value is used in an array dim, a string bound, or a sequence bound, for a zero value. An error is output if zero is found, because in the above cases, the value must be a positive integer. * TAO_IDL/fe/y.tab.h: * TAO_IDL/fe/y.tab.cpp: * TAO_IDL/fe/y.tab.cpp.diff: Regenerated these files. Tue Dec 19 06:17:57 2000 Christopher Kohlhoff * tao/Makefile.bor: Added missing source files. * tao/DynamicInterface/Makefile.bor: Fixed error in OBJFILES macro definition. Mon Dec 18 23:17:58 2000 Ossama Othman * tao/PortableServer/DomainS.h: * tao/PortableServer/DomainS.cpp: Fixed compile-time error that occurs when Interface Repository support is enabled. Mon Dec 18 19:18:51 2000 Priyanka Gontla * tests/RTCORBA/Server_Protocol/server.cpp : In check_default_server_protocol, changed the type of the variable server_protocol to CORBA::Policy * and later did the necessary narrows. Mon Dec 18 19:03:10 2000 Priyanka Gontla * tao/TAO.dsp Added the new files. Mon Dec 18 18:57:57 2000 Priyanka Gontla * tao/Makefile : Added the new files. * tao/*/Makefile : Updated dependencies. * tao/RT_Protocols_Hooks.h : * tao/RT_Protocols_Hooks.i : * tao/RT_Protocols_Hooks.cpp : * tao/Default_Protocols_Hooks.h : * tao/Default_Protocols_Hooks.i : * tao/Default_Protocols_Hooks.cpp : * tao/Protocols_Hooks.h: * tao/Protocols_Hooks.i: * tao/Protocols_Hooks.cpp: This change is aimed at removing the dependencies between RTCORBA and the rest of the TAO library. For the same purpose, I added hooks for almost all the methods which use RTCORBA related stuff. TAO_Protocools_Hooks is the base class from which TAO_Default_Protocols_Hooks and TAO_RT_Protocols_Hooks derive. If TAO_HAS_RT_CORBA==1, TAO_RT_ORBInitializer::pre_init method invokes the static method 'TAO_ORB_Core::set_protocols_hooks' which sets the static variable 'TAO_ORB_Core::protocols_hooks_name' to 'RT_Protocols_Hooks' thereby causing the control to go to TAO_RT_Protocols_Hooks methods in case any of the hooks are invoked. Else, the control goes to the TAO_Default_Protocols_Hooks which does nothing. * tao/RT_ORBInitializer.cpp : Invoke the static methods in TAO_ORB_Core and TAO_RT_Protocols_Hooks to set the new values. * tao/ORB_Core.h: * tao/ORB_Core.i: * tao/ORB_Core.cpp: Added a new method TAO_ORB_Core::set_protocols_hooks (const char *) to set the static variable protocols_hooks_name_. The default value is "Protocols_Hooks". It can be set to "RT_Protocols_Hooks". Added another method TAO_ORB_Core::get_protocols_hooks (void) to get the desired Protocols_Hooks (TAO_Default_Protocols_Hooks or TAO_RT_Protocols_Hooks) class depending on the value of protocols_hooks_name_. The handle to this factory is TAO_ORB_Core::protocols_hooks_ Changed the return values of the following functions to return a CORBA::Policy * instead of the policies that they are returning previously. /// Methods for obtaining ORB implementation default values for RT /// policies. //@{ TAO_PrivateConnectionPolicy *default_private_connection (void) const; TAO_PriorityBandedConnectionPolicy * default_priority_banded_connection (void) const; TAO_ClientProtocolPolicy *default_client_protocol (void) const; TAO_ServerProtocolPolicy *default_server_protocol (void) const; TAO_ThreadpoolPolicy *default_threadpool (void) const; TAO_PriorityModelPolicy *default_priority_model (void) const; //@} and { TAO_ThreadpoolPolicy *threadpool (void); TAO_PriorityModelPolicy *priority_model (void); TAO_ServerProtocolPolicy *server_protocol (void); } } * tao/Policy_Manager.h : * tao/Policy_Manager.i : * tao/Policy_Manager.cpp : Changed the return values of the following functions to return CORBA::Policy * in all the classes. { TAO_PriorityModelPolicy *priority_model (void) const; TAO_ThreadpoolPolicy *threadpool (void) const; TAO_PrivateConnectionPolicy *private_connection (void) const; TAO_PriorityBandedConnectionPolicy *priority_banded_connection (void) const; TAO_ServerProtocolPolicy *server_protocol (void) const; TAO_ClientProtocolPolicy *client_protocol (void) const; } * tao/Policy_Manager.h : * tao/Policy_Manager.i : * tao/Policy_Manager.cpp : Changed the return values of the following functions to return CORBA::Policy * in all the classes. { TAO_PriorityModelPolicy *priority_model (void) const; TAO_ThreadpoolPolicy *threadpool (void) const; TAO_PrivateConnectionPolicy *private_connection (void) const; TAO_PriorityBandedConnectionPolicy *priority_banded_connection (void) const; TAO_ServerProtocolPolicy *server_protocol (void) const; TAO_ClientProtocolPolicy *client_protocol (void) const; } and { TAO_PrivateConnectionPolicy *private_connection (void) const; TAO_PriorityBandedConnectionPolicy *priority_banded_connection (void) const; TAO_ClientProtocolPolicy *client_protocol (void) const; } and { TAO_PrivateConnectionPolicy *private_connection (void) const; TAO_PriorityBandedConnectionPolicy *priority_banded_connection (void) const; TAO_ClientProtocolPolicy *client_protocol (void) const; } And all these variables are now CORBA::Policy * { TAO_PriorityModelPolicy *priority_model_; TAO_ThreadpoolPolicy *threadpool_; TAO_PrivateConnectionPolicy *private_connection_; TAO_PriorityBandedConnectionPolicy *priority_banded_connection_; TAO_ServerProtocolPolicy *server_protocol_; TAO_ClientProtocolPolicy *client_protocol_; } In TAO_Policy_Manager_Impl::copy_from implementation, instead of calling ACE_NEW_THROW_EX for a new instance of all classes related to RTCORBA (which are in the #if guard of TAO_HAS_RT_CORBA==1), invoked the copy function of the respective classes. In TAO_Policy_Manager_Impl::set_policy_overrides, for the sections related to RTCORBA, removed unneeded narrows and casts now that the variables are CORBA::Policy *. * tao/Invocation.h: * tao/Invocation.i : * tao/Invocation.cpp : And all these variables are now CORBA::Policy * { TAO_PriorityModelPolicy *priority_model_; TAO_ThreadpoolPolicy *threadpool_; TAO_PrivateConnectionPolicy *private_connection_; TAO_PriorityBandedConnectionPolicy *priority_banded_connection_; TAO_ServerProtocolPolicy *server_protocol_; TAO_ClientProtocolPolicy *client_protocol_; } In TAO_Policy_Manager_Impl::copy_from implementation, instead of calling ACE_NEW_THROW_EX for a new instance of all classes related to RTCORBA (which are in the #if guard of TAO_HAS_RT_CORBA==1), invoked the copy function of the respective classes. In TAO_Policy_Manager_Impl::set_policy_overrides, for the sections related to RTCORBA, removed unneeded narrows and casts now that the variables are CORBA::Policy *. * tao/Invocation.h: * tao/Invocation.i : * tao/Invocation.cpp : Moved part of add_rt_service_context to TAO_RT_Protocols_Hooks::add_rt_service_context_hook and invoked the hook instead in TAO_Invocation::add_rt_service_context method implementation. Added the following two methods to get access to the protected variables for the add_rt_service_context_hook method in RT_Protocols_Hooks.cpp { /// Get the protected variable TAO_Endpoint_Selection_State get_endpoint_selection_state (void); /// Get the pointer to stub. TAO_Stub *get_stub (void); } * tao/Stub.h : * tao/Stub.cpp : Call TAO_RT_Protocols_Hooks::call_policy_type_hook in TAO_Stub::parse_policies to get the policy_type as a (in a hard-coded way) CORBA::Ulong value. The policy_type is checked in the hook method and a CORBA::ULong value is set accordingly. Depending on this value, the corresponding steps are executed. Changed the return value to CORBA::Policy * for the functions returning different RTCORBA Policy pointers. The same for all the RTCORBA Policy_ptr variables. Owing to this change, modified the TAO_Stub::exposed_priority_model (CORBA::Policy_ptr policy) TAO_Stub::exposed_priority_banded_connection (CORBA::Policy_ptr policy) TAO_Stub::exposed_client_protocol (CORBA::Policy_ptr policy) methods to remove unnecessary narrows and casts. In TAO_Stub::get_policy, TAO_Stub::get_client_policy and TAO_Stub::set_policy_overrides, invoked the TAO_Protocols_Hooks::validate_policy_type to check the CORBA::PolicyType. The same strategy used for call_policy_type method as above. In TAO_Stub::effective_priority_banded_connection, TAO_Stub::effective_client_protocol, call effective_priority_banded_connection_hook and effective_client_protocol_hook respectively to check if override or exposed policy is to be returned. * tao/RT_Invocation_Endpoint_Selectors.h : * tao/RT_Invocation_Endpoint_Selectors.i : * tao/RT_Invocation_Endpoint_Selectors.cpp : * tao/Invocation_Endpoint_Selectors.h : * tao/Invocation_Endpoint_Selectors.i : * tao/Invocation_Endpoint_Selectors.cpp : Moved the classes in Invocation_Endpoint_Selectors which are used only if TAO_HAS_RT_CORBA==1 to these new RT_ files. This helps helps to simply move the file to the new library when we are actually creating a new library for RTCORBA. The classes that are moved are: TAO_Priority_Endpoint_Selector TAO_Bands_Endpoint_Selector TAO_Protocol_Endpoint_Selector TAO_Client_Priority_Policy_Selector TAO_Priority_Protocol_Selector TAO_Bands_Protocol_Selector. The other classes are in Invocation_Endpoint_Selectors itself. Also, called the get_selector_hook and get_selector_bands_policy_hook in TAO_Endpoint_Selector_Factory::get_selector and get_selector_bands_policy_hook. * tao/RT_Policy_i.h: * tao/RT_Policy_i.cpp: Added hooks TAO_ClientProtocolPolicy::hook and TAO_ServerProtocolPolicy::hook which are called from TAO_IIOP(/UIOP)_Connector(/Acceptor)::init_tcp(/uiop)_properties. These hook methods set the RTCORBA::ProtocolProperties_var &properties depending on the protocol_type. The method implementation is a little bit hardcoded .. should change in future. * tao/IIOP_Connector.cpp : * tao/IIOP_Acceptor.cpp : * tao/Strategies/UIOP_Connector.cpp: * tao/Strategies/UIOP_Acceptor.cpp: Corresponding change as listed above for RT_Policy_i.cpp. * tao/PortableServer/POA.cpp : In TAO_POA_Policies constructor, narrowed down the pointers returned to the correct policy_vars. Mon Dec 18 19:48:52 2000 Jeff Parsons * TAO_IDL/fe/idl.yy: * TAO_IDL/y.tab.cpp: Modified the yacc file to check the type and value of a constant when it is used later in the IDL file as an array dim, a string bound, or a sequence bound. In these cases, it must be a positive integer. Previous behavior was to coerce the constant literal to an unsigned long, truncate the fractional part, if any, and let the C++ compiler output the error if the constant value was 0. Thanks to Alexander Kogan for reporting this bug. * TAO_IDL/util/utl_err.cpp: Fixed typos in error messages. Mon Dec 18 19:57:07 2000 Ossama Othman * tao/PortableServer/DomainS.h: Fixed "initialization re-ordered to match declaration order" warning. * tao/PortableServer/DomainS.cpp: Fixed unused argument warning. Mon Dec 18 19:37:40 2000 Ossama Othman * TAO_IDL/be/be_visitor_operation/interceptors_result.cpp: Aesthetic formatting updates to the generated code. Mon Dec 18 19:14:25 2000 Ossama Othman * TAO_IDL/be/be_visitor_operation/interceptors_cs.cpp (visit_operation): * TAO_IDL/be/be_visitor_operation/interceptors_ss.cpp (visit_operation): Fixed "unused variable" warnings in the generated stub and skeleton. Mon Dec 18 18:58:00 2000 Ossama Othman * docs/interceptors.html: Updated TAO's Portable Interceptor release notes to reflect the new updates and fixes made to the TAO's Portable Interceptor support. * tao/PortableServer/ServerRequestInfo.cpp (forward_reference): Fixed "better conversion sequence" warning by explicitly using the "CORBA::Object_var::in()" accessor. Mon Dec 18 14:09:31 2000 Ossama Othman * tao/Invocation.h: Include "Stub.h" to pull in TAO_Stub class declaration. Mon Dec 18 16:44:03 2000 Ossama Othman * TAO_IDL/be/be_visitor_argument/paramlist.cpp (visit_argument): * TAO_IDL/be/be_visitor_operation/interceptors_exceptlist.cpp (gen_exceptlist): * TAO_IDL/be/be_visitor_operation/interceptors_result.cpp (visit_array, visit_enum, visit_interface, visit_interface_fwd, visit_predefined_type, visit_sequence, visit_string, visit_structure, visit_union): Updated generated code to be consistent with the return value updates/fixes. A cached value is no longer returned since it breaks conformance with the CORBA C++ mapping. * TAO_IDL/be/be_codegen.cpp (start_client_stubs, start_server_skeletons): Include the "tao/RequestInfo_Util.h" header when TAO_HAS_INTERCEPTORS is defined to 1. Needed to pull in the utility factory methods related to the return value types defined in the "Dynamic" module. * TAO_IDL/be/be_visitor_operation/operation_ss.cpp (visit_operation): In the case of a one-way request, invoke the send_other() interception point, not the send_reply() interception point. Added support for the PortableInterceptor::ForwardRequest exception, meaning the send_other() interception point, too. * TAO_IDL/be/be_visitor_operation/remote_proxy_impl_cs.cpp (visit_operation): Added support for the PortableInterceptor::ForwardRequest exception. This includes support for the receive_other() interception point. * TAO_IDL/be/be_visitor_operation/interceptors_ch.cpp (visit_operation): * TAO_IDL/be/be_visitor_operation/interceptors_cs.cpp (visit_operation): Pass a pointer to the TAO_GIOP_Invocation object for the current invocation to the ClientRequestInfo object. This saves us the trouble of passing the operation name and the service context list since the invocation object already encapsulates both of them either directly or indirectly. Doing so also makes it possible to implement the ClientRequestInfo::sync_scope() method. * TAO_IDL/be/be_visitor_operation/interceptors_sh.cpp (visit_operation): Pass a pointer to the TAO_ServerRequest object for the current invocation to the ServerRequestInfo object. This saves us the trouble of passing the operation name and the service context list since the invocation object already encapsulates both of them either directly or indirectly. Doing so also makes it possible to implement the ServerRequestInfo::sync_scope() method, and various other ServerRequestInfo methods. * TAO_IDL/be/be_visitor_operation/interceptors_ss.cpp (visit_operation): Corrected a long standing typographical error that prevented the result from being inserted into an Any when invoking the ServerRequestInfo::result() accessor method. This accounts for the garbage result on the server seen in the PortableInterceptors/Dynamic test. The raw be_operation node was accepting the visitor instead of the narrowed be_type. Updated generated code to be consistent with the return value updates/fixes. A cached value is no longer returned since it breaks conformance with the CORBA C++ mapping. Generate the target_most_derived_interface() and the target_is_a() ServerRequestInfo methods in the ServerRequestInfo subclasses. In other words, these methods have now been implemented. * tao/RequestInfo_Util.h: * tao/RequestInfo_Util.cpp: New files that contain helper class that provides methods useful for both PortableInterceptor::ClientRequestInfo and PortableInterceptor::ServerRequestInfo objects, such as factory methods for sequences and Anys. * tao/ClientRequestInfo.h (TAO_ClientRequestInfo): This constructor now accepts a pointer to a TAO_GIOP_Invocation object. This allows us to remove the operation name and request ID fields since both can be obtained from the Invocation object. * tao/ClientRequestInfo.cpp (request_id, operation): Obtain these attributes from the Invocation object. (arguments, exceptions, contexts, operation_context, result): Throw a CORBA::BAD_INV_ORDER() exception. The subclasses in the generated stub will override these methods appropriately. (sync_scope): Implemented this method. If the Invocation object is a TAO_GIOP_Oneway_Invocation, then query its own sync_scope() method and return that value as the result. (forward_reference): Implemented this method. This was made possible by an update to the interceptor support in generated stubs, and to the TAO_GIOP_Invocation class. * tao/Invocation.h (start, invoke, invoke_i, prepare_header, location_forward, init_inconsistent_policies, add_rt_service_context): Removed "TAO_default_environment()" default CORBA::Environment argument. All of these methods are internal to TAO. Method invocations internal to TAO should always explicitly use the CORBA::Environment argument, and not rely on a default CORBA::Environment argument. * tao/Invocation.i (operation): New method to return the name of the operation for the current request. (forward_reference): New method that returns the object reference returned in a LOCATION_FORWARD reply. The reference is only valid if the invocation status is TAO_INVOKE_RESTART, except during a transport retry. This method is used by the client side Portable Interceptor implementation. (location_forward_i): Inlined method that contains code common to both location_forward() methods. This method takes the TAO_Stub object pointer argument, and adds the profiles in that object to the list of forward profiles. * tao/Invocation.cpp (location_forward): Refactored code common to both location_forward() methods to the new location_forward_i() inlined method. * tao/PortableInterceptor.h: Removed unused "ending_intercept_called_" class member from the TAO_ClientRequestInterceptor_Adapter and the TAO_ServerRequestInterceptor_Adapter classes. * tao/PortableInterceptor.i (TAO_ServerRequestInterceptor_Adapter): The current flow stack size is now passed in as a reference argument to make it possible to implement the "receive_request_service_contexts" interception point. (receive_request_service_contexts): New adapter method that implements the "receive_request_service_contexts" server side starting interception point. (send_other): New adapter method for the ServerRequestInterceptor::send_other() method. It is used in one-way requests and LOCATION_FORWARD replies.. * tao/TAO_Server_Request.h: * tao/TAO_Server_Request.i (forward_location): New method to set the reference to which the request will be forwarded. It is needed in order to implement the PortableInterceptor::ForwardRequest exception. * tao/TAO_Server_Request.cpp (TAO_ServerRequest): Initialize the interceptor count to zero in the constructors. * tao/GIOP_Message_Generator_Parser_10.cpp: Fixed compile-time problem. Include "CORBA_String.h" to pull CORBA::String_var class declaration. * tao/Makefile: * tao/Makefile.bor: * tao/TAO.dsp: * tao/TAO_Static.dsp: Added the new RequestInfo_Util.* files to the source lists. * tao/DomainC.h: * tao/DomainC.cpp: * tao/PortableServer/DomainS.cpp: * tao/PortableServer/DomainS.h: Updated (by hand) with the changes made to the stubs and skeletons now generated by TAO_IDL. * tao/PortableServer/Object_Adapter.cpp (dispatch): Added support for the receive_request_service_contexts() interception point, and the accompanying send_other() and send_exception() interception points. This includes support for the PortableInterceptor::ForwardRequest exception. * tao/PortableServer/ServerRequestInfo.h: This constructor now accepts a reference to a TAO_ServerRequest object. This allows us to remove the operation name and service context list fields since both can be obtained from the TAO_ServerRequest object. * tao/PortableServer/ServerRequestInfo.cpp: Implemented most of the remaining unimplemented ServerRequestInfo methods. * tao/PortableServer/TAO_PortableServer.dsp: * tao/PortableServer/TAO_PortableServer_Static.dsp: Added ServerRequestInfo.inl to the list of inline sources. Mon Dec 18 12:01:49 2000 Jeff Parsons * tao/Exception.cpp: * tao/Dynamic_Adapter.h: * tao/Dynamic_Adapter.cpp: * tao/DynamicInterface/Dynamic_Adapter_Impl.h: * tao/DynamicInterface/Dynamic_Adapter_Impl.cpp: Had to move the implementation of TAO_Exceptions::make_unknown_user_typecode() back into TAO. Since it is called before the service repository is initialized, it can't be implemented by a dynamic service object. Thanks to Bala for pointing this out. Mon Dec 18 10:45:33 2000 Yamuna Krishnamurthy * orbsvcs/tests/AVStreams/Full_Profile/ftp.cpp: * orbsvcs/tests/AVStreams/Full_Profile/server.cpp: * orbsvcs/tests/AVStreams/Multicast_Full_Profile/ftp.cpp: * orbsvcs/tests/AVStreams/Multicast_Full_Profile/server.cpp: * orbsvcs/tests/AVStreams/Multicast/server.cpp: * orbsvcs/tests/AVStreams/Multicast/ftp.cpp: * orbsvcs/tests/AVStreams/Pluggable/ftp.cpp: * orbsvcs/tests/AVStreams/Pluggable/server.cpp: * orbsvcs/tests/AVStreams/Latency/control.cpp: * orbsvcs/tests/AVStreams/Latency/pong.cpp: * orbsvcs/tests/AVStreams/Latency/ping.cpp: * orbsvcs/tests/AVStreams/benchmark/client.cpp: * orbsvcs/tests/AVStreams/benchmark/child_process.cpp: * orbsvcs/tests/AVStreams/benchmark/server.cpp: Fixed compile warnings. Mon Dec 18 08:03:13 2000 Jeff Parsons * tao/Exception.cpp: * tao/Exception.h: Moved class UnknownUserException and body of method TAO_Exceptions::make_unknown_user_typecode() to the DynamicInterface library. * tao/Dynamic_Adapter.cpp: * tao/Dynamic_Adapter.h: Added empty virtual method create_unknown_user_typecode(). * tao/DynamicInterface/Dynamic_Adapter_Impl.cpp: * tao/DynamicInterface/Dynamic_Adapter_Impl.h: Added virtual method create_unknown_user_typecode(). * tao/DynamicInterface/Unknown_User_Exception.h: * tao/DynamicInterface/Unknown_User_Exception.cpp: New files contained class CORBA::UnknownUserException. * tao/DynamicInterface/DII_Invocation.cpp: Replace #include of tao/Exception.h with the new local header file. * tao/DynamicInterface/TAO_DynamicInterface.dsp: * tao/DynamicInterface/Makefile: * tao/DynamicInterface/Makefile.bor: Added the new files. Mon Dec 18 09:14:25 2000 Johnny Willemsen * tao/Makefile.bor: Updated makefile with latest files added Mon Dec 18 01:14:25 2000 Marina Spivak * tao/docs/rtcorba/features.html * tao/docs/rtcorba/content.html * tao/docs/rtcorba/faq.html: Finished rtcorba online documentation. Sun Dec 17 19:43:39 2000 Nanbor Wang * tao/Strategies/SHMIOP_Acceptor.h: * tao/Strategies/SHMIOP_Acceptor.cpp: Added methods from SHMIOP_Factory class to pass in the MMAP file options. * tao/Strategies/SHMIOP_Connection_Handler.cpp (handle_close): Must call remove method on the MEM_Stream to make sure the mmap file get removed when not in use. * tao/Strategies/SHMIOP_Factory.h: Added methods to set mmap file prefix and its initial file size. * tao/Strategies/SHMIOP_Factory.cpp: Added methods to set mmap file prefix and its initial file size. These options are changed thru the argument string passed to SHMIOP_Factory in svc.conf files using flags: "-MMAPFilePrefix" and "-MMAPFileSize". * tao/Strategies/advanced_resource.cpp: Changed to change the resource factory in the ORB_Core from Advanced_Resource_Facotry's contructor to its init method so users won't forced to use Advanced_Resource_Factory with either SHMIOP or UIOP. Sun Dec 17 10:49:14 2000 Carlos O'Ryan * orbsvcs/tests/Event_Latency/Event_Latency.h: * orbsvcs/TAO_Service/TAO_Service.cpp: * orbsvcs/tests/tests_svc_loader/tests_svc_loader.cpp: Fixed minor warnings detected by DU/CXX builds. * tests/POA/Identity/Identity.cpp: Change ASSERT to simple if() statements. The former does not work in release builds. Sun Dec 17 01:29:20 2000 Ossama Othman * TAO_IDL/be/be_visitor_operation/remote_proxy_impl_cs.cpp (gen_marshal_and_invoke): Fixed generated stub compile problems in the case where TAO_HAS_INTERCEPTORS is not equal to one. Added code that was accidentally removed that set the request ID in the generated stub. (gen_check_exception, gen_check_interceptor_exception, visit_operation): Fixed formatting problems in generated code. Sat Dec 16 09:40:15 2000 Balachandran Natarajan * tests/BiDirectional: New test for BiDirectional connections. * tests/BiDirectional/README: * tests/BiDirectional/client.cpp: * tests/BiDirectional/server.cpp: * tests/BiDirectional/test_i.h: * tests/BiDirectional/test_i.cpp: * tests/BiDirectional/test_i.i: * tests/BiDirectional/test.idl: * tests/BiDirectional/BiDir.dsw: * tests/BiDirectional/client.dsp: * tests/BiDirectional/server.dsp: * tests/BiDirectional/client.bor: * tests/BiDirectional/server.bor: * tests/BiDirectional/Makefile.bor: * tests/BiDirectional/Makefile: Files for the new test. Fri Dec 15 21:30:54 2000 Balachandran Natarajan * */Makefile: Updated dependencies. Fri Dec 15 20:59:49 2000 Balachandran Natarajan This set of changes are for the support of BiDirGIOP in TAO. * tao/BiDirPolicy.pidl: * tao/BiDirPolicyC.cpp: * tao/BiDirPolicyC.h: * tao/BiDirPolicyC.i: The generated code and the pidl file for BiDirGIOP policy. * tao/BiDir_ORBInitializer.cpp: * tao/BiDir_ORBInitializer.h: The ORB initialiser that registers the policy factory with the PortableInterceptor. * tao/BiDir_PolicyFactory.cpp: * tao/BiDir_PolicyFactory.h: The PolicyFactory implementation for BiDirGIOP policy * tao/BiDir_Policy_i.cpp: * tao/BiDir_Policy_i.h: * tao/BiDir_Policy_i.inl: The actual policy implementation for BiDirGIOP policy * tao/Connection_Descriptor_Interface.h: * tao/Connection_Descriptor_Interface.inl: Added a flag to indicate a BiDirectional connection. Provided a method to set the flag if the connection is bidirectional. * tao/Connection_Handler.cpp: * tao/Connection_Handler.h: Added a method recache_handler (). This method purges the previous entry and caches itself with new properties. * tao/GIOP_Message_Base.cpp: * tao/GIOP_Message_Base.h: Added a method is_ready_for_bidirectional (). This method checks whether the messaging object is ready for bidirectional connections. This is done by actually delegating to the generator and parser class. * tao/GIOP_Message_Generator_Parser.cpp: * tao/GIOP_Message_Generator_Parser.h: Implementation for is_ready_for_bidirectional (). * tao/GIOP_Message_Generator_Parser_12.cpp: * tao/GIOP_Message_Generator_Parser_12.h: Other than the implementation of is_ready_for_bidirectional () added methods check_bidirectional_context () and process_bidirectional_context (). These methods as the name implies, checks whether there is a bidirectional context info in the request that came in. * tao/GIOP_Message_Lite.cpp: * tao/GIOP_Message_Lite.h: Implementation for is_ready_for_bidirectional (). * tao/IIOP.pidl: * tao/IIOPC.cpp: * tao/IIOPC.h: * tao/IIOPC.i: Generated code for IIOP module that has the definition for ListenPointList that needs to be sent with the service context to the server. * tao/IIOP_Acceptor.h: * tao/IIOP_Acceptor.i: Added a method endpoints () that returns the array of endpoints on which the acceptor is listening on. * tao/IIOP_Connection_Handler.cpp: * tao/IIOP_Connection_Handler.h: Added a method, process_listen_point_list (). This method finds out the port and host for which the connection needs to be used and recaches the handle with this new endpoint specification. * tao/IIOP_Transport.cpp: * tao/IIOP_Transport.h: Added the following methods tear_listen_point_list (), set_bidir_context_info () and get_listen_point (). The method tear_listen_point_list () extracts the ListenPointList from the CDR stream of the seervice context. It then passes that information to the connection handler. The method set_bidir_context_info () sets the service context information that needs to be sent to server. get_listen_point () gets the list of endpoints on the same interface on which the clients connection is established. Added a flag to indicate that the BiDirContext info has already been sent on the connection. * tao/Invocation.cpp: Left some comments for RT folks. * tao/ORB.cpp: Registered the BiDirORB initializer with the PortableInterceptor. * tao/ORB_Core.cpp: * tao/ORB_Core.h: * tao/ORB_Core.i: Added a a flag bidir_giop_policy () to indicate that BiDir GIOP policy has been set. * tao/Pluggable.cpp: * tao/Pluggable.h: Added a tear_listen_point_list () as a virtual method. * tao/Pluggable_Messaging.h: Added a pure virtual method, is_ready_for_bidirectional (). * tao/Service_Context.cpp: * tao/Service_Context.h: * tao/Service_Context.inl: A new class that would do the parsing, encoding, decoding and addition of contexts to the service context list. This class introduces quite a few changes for the RT folks. * tao/TAO_Server_Request.cpp: * tao/TAO_Server_Request.h: * tao/TAO_Server_Request.i: Changed the reference of a service context list to TAO_Service_Context. Have left the old methods that return service_context_list as such so that we can clean up the stuff. * tao/corba.h: Added the new file BiDirPolicyC.h. * tao/operation_details.h: * tao/operation_details.i: Chaged the reference of service_context_lsit to TAO_Service_Context. * tao/POA.cpp: Parsing of BiDirPolicy. This parsing is a bit of a hack. It just parses the policy and sets a flag in the ORB_Core. This needs to change when the POA gets upgraded for RT and RT folks have agreed to do it. * tao/Makefile: Added new files and updated dependencies. Fri Dec 15 15:17:12 2000 Carlos O'Ryan * orbsvcs/tests/LoadBalancing/Makefile: Fixed definition of SERVER_OBJS, my last "fix" broke this one. Fri Dec 15 11:36:08 2000 Carlos O'Ryan * tao/*.h: Change the comments that still were in old OSE-style to make Doxygen happy. Fri Dec 15 08:14:51 2000 Carlos O'Ryan * orbsvcs/tests/LoadBalancing/Makefile: Fixed rules to automatically generate IDL stubs, before this, the usual 'make idl_stubs ; make depend' idiom would not work. Thu Dec 14 21:49:40 2000 Carlos O'Ryan * orbsvcs/tests/LoadBalancing/Makefile: Update dependencies. Thu Dec 14 16:44:42 2000 Darrell Brunsch * performance-tests/Cubit/TAO/IDL_Cubit/client.dsp: Changed the name of the static configurations from "static" to "Static" so they will be recognized as such. Thu Dec 14 18:22:54 2000 Jeff Parsons * tao/DynamicInterface/Context.inl: * tao/DynamicInterface/ExceptionList.inl: * tao/DynamicInterface/Request.inl: Added the line containing '-*- C++ -*-' or moved it to the first line, if it was already there. Thanks to Paul Rubel for reporting this bug. Thu Dec 14 12:52:18 2000 Carlos O'Ryan * orbsvcs/tests/Event/Performance/Latency.cpp: * orbsvcs/tests/Event/Performance/Latency_Server.cpp: Fixed typos in debug message * */Makefile*: Update all dependencies again. Thu Dec 14 13:53:14 2000 Marina Spivak * docs/rtcorba/architecture.html: Added description and comparison of two designs. Thu Dec 14 11:39:55 2000 Jeff Parsons * tao/DynamicInterface/TAO_DynamicInterface_Static.dsp: New project. * TAOACE_Static.dsw: Added new project to workspace. * tao/DynamicIinterface/dynamicinterface_export.h: Modified file to work with static build. * tao/ORB.cpp: Changed a hard-coded string parameter "Dynamic_Adapter" to the variable TAO_ORB_Core::dynamic_adapter_name(). Thu Dec 14 09:24:49 2000 Carlos O'Ryan * orbsvcs/orbsvcs/Makefile.av: Update dependencies * orbsvcs/tests/LoadBalancing/Makefile: Fixed typo in the realclean rule. It was removing the HashReplica*.* files but the generated file names are Hash_Replica*.* (with an '_'). Wed Dec 13 23:57:42 2000 Darrell Brunsch * orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.cpp: Fixed a warning in MSVC about */*...*/ being mistakenly recognized as a */ found outside a comment. Wed Dec 13 23:56:58 2000 Ossama Othman * tao/TAO.dsp: * tao/TAO_Static.dsp: Added ClientRequestInfo.inl to the list of "inline" sources. Wed Dec 13 19:06:43 2000 Ossama Othman The following changes are the first stage of a series of updates to push TAO's existing Portable Interceptor implementation to more closely conform with the Portable Interceptor specification / joint submission. We're close. These changes also fix quite a few bugs in the existing implementation with respect to multiple interceptor support in the presence of connection-retries, in addition to improper return value storage semantics. * TAO_IDL/be/be_visitor_operation/operation_ss.cpp (visit_operation): Do an ACE_TRY_CHECK before an ACE_RE_THROW after the send_exception() interception point in case send_exception() itself throws an exception. * TAO_IDL/be/be_visitor_operation/remote_proxy_impl_cs.cpp (visit_operation): Fixed broken flow logic that would occur when a LOCATION_FORWARD reply was received from the server, or a connection retry was performed, i.e., the connection loop was re-executed. The flow stack size would increase during each loop iteration. Thus, a seg fault would occur when during execution of an ending interception point since the logical flow stack would attempt to access an interceptor out of bounds of the interceptor array. Explicitly check for TAO_INVOKE_EXCEPTION invocation status instead of checking for invocation status not equal to TAO_INVOKE_OK. This is necessary since the check for the TAO_INVOKE_RETRY status was moved after the receive_reply() interception point due to the reasons stated in the above paragraph. The "!= TAO_INVOKE_OK" check would evaluate to "true" since "TAO_INVOKE_RETRY != TAO_INVOKE_OK," for example. Pass the result of the TAO_GIOP_Invocation::invoke() call to the ClientRequestInfo object. This information is used by the ClientRequestInfo::reply_status() method. In the case of a one-way invocation, invoke the receive_other() interception point to preserve the general flow rules dictated by the Portable Interceptor specification. This is particularly important now that TAO supports multiple interceptors since each interceptor pushed on to the logical flow stack must also be popped off of it. Moved instantiation of the ClientRequestInfo object within the connection-retry loop. A new ClientRequestInfo must instantiated for each request, including the retries, to maintain consistency. Otherwise, request information left over from a previously tried request will be available to the interceptors. Moved ACE_TRY/CATCH blocks within the connection-retry loop. If a PortableInterceptor::ForwardRequest exception is thrown, then we need to be able to restart the invocation. Do an ACE_TRY_CHECK before an ACE_RE_THROW after the receive_exception() interception point in case receive_exception() itself throws an exception. * tao/ClientRequestInfo.h: Doxygen-ated this header. Removed unused "forward_reference_" class member. * tao/ClientRequestInfo.cpp (effective_target): Implemented this method. Return the actual target for now. This will change once the LOCATION_FORWARD reply status interceptor updates are fully implemented. (tagged_profile): Implemented this method. Obtain the tagged profile structure from the current profile in use. (received_exception): In accordance with the C++ mapping, the caller is responsible for storage of an Any return value so return a heap allocated Any. (get_effective_component): Implemented this method. Extract the desired tagged component from the current profile in use. (add_request_service_context): Added support for the missing "replace" functionality. (response_expected, reply_status): Implemented these methods. (forward_reference): Partially implemented this method. (get_slot): Throw a CORBA::NO_IMPLEMENT() exception since it hasn't been implemented yet. (get_request_service_context, get_reply_service_context): In accordance with the C++ mapping, the caller is responsible for storage of a struct return value so return a heap allocated IOP::ServiceContext, not a cached one. As dictated by the Portable Interceptor specification, return a CORBA::BAD_PARAM() if an IOP::ServiceContext with the given ServiceId doesn't exist. * tao/ClientRequestInfo.inl: New file that contains short non-virtual methods. (exception): Moved this method from the `.cpp' file to this file. Determine the reply status (PortableInterceptor::SYSTEM_EXCEPTION or PortableInterceptor::USER_EXCEPTION) by attempting to downcast the given exception. (request_id): Moved this method from the `.cpp' file to this file. (response_expected): Set the flag that specifies whether or not a response is excepted (e.g. no response excpected in a one-way request). (reply_status): Convert the invocation status (i.e., the return value of the Invocation::invoke() method in the generated stub) into the appropriate PortableInterceptor reply status. * tao/PortableInterceptor.h: * tao/PortableInterceptor.i (receive_other): New adapter method for the ClientRequestInterceptor::receive_other() method. It is used in one-way and AMI requests. * tao/PortableServer/ServerRequestInfo.h: * tao/PortableServer/ServerRequestInfo.cpp (sending_exception): The C++ mapping requires that the caller be responsible for a returned CORBA::Any. Removed the cached CORBA::Any attribute from this class. The sending_exception() method now correctly returns a heap allocated CORBA::Any. (add_reply_service_context): Added support for the missing "replace" functionality. (get_request_service_context, get_reply_service_context): In accordance with the C++ mapping, the caller is responsible for storage of a struct return value so return a heap allocated IOP::ServiceContext, not a cached one. As dictated by the Portable Interceptor specification, return a CORBA::BAD_PARAM() if an IOP::ServiceContext with the given ServiceId doesn't exist. (exception): Determine the reply status (PortableInterceptor::SYSTEM_EXCEPTION or PortableInterceptor::USER_EXCEPTION) by attempting to downcast the given exception. * tests/Portable_Interceptors/Service_Context_Manipulation/interceptors.cpp (receive_reply): Store returned service context in an IOP::ServiceContext_var to fix a memory leak. This is necessary since TAO's ClientRequestInfo class now properly returns a heap allocated IOP::ServiceContext. Wed Dec 13 18:12:01 2000 Carlos O'Ryan * tao/skip.cpp: * tao/append.cpp: Optimized Any marshaling and demarshaling for sequences and arrays of basic types. Thanks to Sathish Tiptur for providing the patches. * tao/ORB_Core.cpp: Fixed the POA loading directive, thanks to Pedro Ferreira for providing this patch. Wed Dec 13 17:57:28 2000 Yamuna Krishnamurthy * orbsvcs/tests/AVStreams/Multicast/ftp.cpp: * orbsvcs/tests/AVStreams/Pluggable/ftp.cpp: * orbsvcs/tests/AVStreams/benchmark/client.cpp: * orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.cpp: * orbsvcs/orbsvcs/AV/AV_Core.cpp: Fixed compile warnings. Wed Dec 13 17:45:09 2000 Balachandran Natarajan * orbsvcs/orbsvcs/Makefile.SSLIOP: Updated dependencies. Wed Dec 13 10:52:55 2000 Darrell Brunsch * orbsvcs/orbsvcs/AV/AV_Core.cpp: * orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.cpp: AV now compiles. * orbsvcs/orbsvcs/Makefile.av: Updated dependencies. Wed Dec 13 10:25:00 2000 Johnny Willemsen * orbsvcs/orbsvcs/Av.bor: Added AV_Core to makefile because it was missing and caused linker problems Wed Dec 13 08:22:00 2000 Johnny Willemsen * orbsvcs/orbsvcs/Ssliop.bor: Removed SSLIOP_Connect from makefile because it was removed Tue Dec 12 23:33:07 2000 Yamuna Krishnamurthy * orbsvcs/orbsvcs/AV/AVStreams_i.h: * orbsvcs/orbsvcs/AV/AV_Core.cpp: * orbsvcs/orbsvcs/Makefile.av: Fixed compile problems. Tue Dec 12 15:58:03 2000 Priyanka Gontla * docs/INS.html: Updated the document to the correct style of corbaloc URL. corbaloc:iiop:$TARGETHOSTNAME:$PORT/object_name. Thanks to Russell L. Carter for motivating the fix. Tue Dec 12 3:23:15 2000 Jeff Parsons * TAO_IDL/include/ast_type.h: * TAO_IDL/ast/ast_type.cpp: Added flag ifr_fwd_added_. It defaults to 0 and is set by the tao_ifr backend when a forward declaration is seen. A later check of this flag lets us know if a forward declaration has been seen in the same file, and can help detect redefinition errors when adding the contents of multiple IDL files to the interface repository. Tue Dec 12 12:44:02 2000 Darrell Brunsch * orbsvcs/ImplRepo_Service/Options.cpp: ImplRepo wasn't working on any platform except windows because the load_registry_settings wasn't protected by a #if defined (ACE_WIN32). Before this change, running the ImR on non-Win32 platforms would result in a "Service not available on this platform" message and the ImR would immediately exit. Tue Dec 12 11:57:59 2000 Darrell Brunsch * TAO/orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connection_Handler.h: * TAO/tao/GIOP_Message_Generator_Parser_11.inl: * TAO/tao/IORTable/Table_Adapter.cpp: Fixed miscellaneous Fuzz reported erros (missing CVS id strings, not ending with newline, and mismatched @file comments). Tue Dec 12 13:49:49 2000 Marina Spivak * docs/rtcorba/reactor-per-lane.gif * docs/rtcorba/queue-per-lane.gif: Added pictures for architecture description. * docs/rtcorba/omg_issues.html: Populated the page with content. * docs/rtcorba/issues.html: Added one new issue. * docs/rtcorba/index.html: Added page title. * docs/rtcorba/content.html: Removed examples section. * docs/rtcorba/faq.html * docs/rtcorba/status.html: Added last modified date. Tue Dec 12 1:28:15 2000 Jeff Parsons * tao/tests/DynAny_Test/test_dynunion.cpp: Commented out test of an unimplemented function. Tue Dec 12 11:03:15 2000 Jeff Parsons * tao/Dynamic_Adapter.cpp: In the CORBA::release methods, replaced the hard-coded string "Dynamic_Adapter" in the instantiation of the service object with the call to the string value set in the ORB core. This was causing a null pointer to be returned for the service object instance. Mon Dec 11 15:36:54 2000 Carlos O'Ryan * tao/IORTable/IORTable.pidl: * tao/IORTable/IORTable.h: * tao/IORTable/IORTable.cpp: * tao/IORTable/IOR_Table_Impl.h: * tao/IORTable/IOR_Table_Impl.cpp: * tao/IORTable/Table_Adapter.h: * tao/IORTable/Table_Adapter.cpp: Changed to conform to the doxygen documentation style. Mon Dec 11 15:30:20 2000 Carlos O'Ryan * tao/ORB.cpp: * tao/Object_KeyC.cpp: In some platforms 'byte' is a system macro. Undefine it before using it in the code. Mon Dec 11 16:26:49 2000 Yamuna Krishnamurthy * orbsvcs/tests/AVStreams/Pluggable/ftp.cpp: * orbsvcs/tests/AVStreams/Pluggable/server.cpp: * orbsvcs/tests/AVStreams/benchmark/child_process.cpp: * orbsvcs/orbsvcs/Makefile.av: Fixed compile errors. Mon Dec 11 04:31:31 2000 Marina Spivak * docs/rtcorba/index.htm * docs/rtcorba/content.htm * docs/rtcorba/status.htm: These files were added and then removed to be replaced by the ones below (in order to change .htm to .html). * docs/rtcorba/index.html * docs/rtcorba/content.html * docs/rtcorba/status.html * docs/rtcorba/issues.html * docs/rtcorba/faq.html * docs/rtcorba/omg_issues.html * docs/rtcorba/features.html * docs/rtcorba/architecture.html: New RTCORBA documentation. * tests/RTCORBA/README * docs/index.html * docs/releasenotes/index.html * docs/Options.html: Updated to reflect new files above. Sun Dec 10 14:05:35 2000 Angelo Corsaro * docs/releasenotes/index.html: Fixed link problem to the RT-CORBA documentation. Sat Dec 9 23:17:36 2000 Darrell Brunsch * orbsvcs/orbsvcs/SSLIOP.bor: * tao/TAO_Static.dsp: Recent changes to projects weren't making it to all the project/makefiles. Fri Dec 9 21:00:42 2000 Angelo Corsaro * docs/releasenotes/RTCorba.html (RTCORBA): Updated the status of the Collocation Task to completed. Fri Dec 9 15:30:42 2000 Darrell Brunsch * orbsvcs/orbsvcs/AV.dsp: * orbsvcs/orbsvcs/AV_Static.dsp: Added AV_Core.cpp and Nil.cpp. * orbsvcs/orbsvcs/AV/AV_Core.cpp: Changed to use "File.h" instead of "AV/File.h". * orbsvcs/orbsvcs/AV/Protocol_Factory.cpp: * orbsvcs/orbsvcs/AV/Protocol_Factory.h: Removed the TAO_AV_Transport_Factory since it is also in Transport.h and Transport.cpp. Sat Dec 9 07:55:40 2000 Balachandran Natarajan * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.h: Fixed some typos. This should fix the compile errors on MSVC. Fri Dec 8 19:55:40 2000 Balachandran Natarajan * orbsvcs/orbsvcs/orbsvcs.dsw: Added teh new SSLIOP files. Fri Dec 8 13:06:40 2000 Balachandran Natarajan * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Acceptor.cpp: * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Acceptor.h: * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connector.cpp: * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connector.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.i: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.h: Replicated changes that have been made to IIOP. * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connection_Handler.h: * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connection_Handler.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.i: New files for the connection handler. * orbsvcs/orbsvcs/Makefile.SSLIOP: Added new files and updated dependencies. * tao/IIOP_Connector.cpp: Fixed some typos in #pragma instantiation. Fri Dec 8 07:48:32 2000 Christopher Kohlhoff * tao/Makefile.bor: * tao/Strategies/Makefile.bor: Added/removed source files. Fri Dec 8 06:06:47 2000 Balachandran Natarajan * tao/GIOP_Message_Lite.cpp (process_request_message): * tao/GIOP_Message_Base.cpp: * tao/GIOP_Message_Generator_Parser.inl: * tao/GIOP_Message_Generator_Parser_12.inl: Fixed warnings in KCC. Thu Dec 07 23:15:38 2000 Marina Spivak * tests/RTCORBA/MT_Client_Protocol_Priority/client.cpp: Changed default value of protocol1 to be SHMIOP. * tests/RTCORBA/MT_Client_Protocol_Priority/README: Added test description. * tests/RTCORBA/MT_Client_Protocol_Priority/process-output.pl: Modified to provide more descriptive messages in case of errors. Thu Dec 07 22:20:12 2000 Irfan Pyarali * tao/Object.cpp (_is_a): Checking the hint of the object can be done in the CORBA::Object class before invoking the appropriate proxy implementation. The hint check is common for all implementations and not just the remote case. Therefore, the code was removed from TAO_Remote_Object_Proxy_Impl::_is_a() and moved to CORBA::Object::_is_a(). Thanks to Russell L. Carter for reporting this problem. Thu Dec 07 20:00:59 2000 Marina Spivak * tests/RTCORBA/MT_Client_Protocol_Priority/client.dsp * tests/RTCORBA/MT_Client_Protocol_Priority/server.dsp: Fixed include directory for Strategies library. Thu Dec 7 18:32:27 2000 Balachandran Natarajan * tao/DynamicInterface/DII_Reply_Dispatcher.cpp: Removed the inclusion of inline file. Thu Dec 7 17:36:47 2000 Balachandran Natarajan This set of changes aim to satisfy the demands placed for the inclusion of Bi-Dir GIOP in TAO. The fundamental problem was the way TAO's protocol layer was structured. The Connector and Acceptor's had their own connection handler and transports. Further, the connection handlers had a prior knowledge of messages that they were sending and receiving. This does not hold any more with Bi-Dir GIOP. As a first step, changes have been made so that (1) The Acceptors and Connectors make use of the same connection handler and transports (2) The connection handler and transport does not have a prior knowledge of the type of messages that they can receive or send. * tao/IIOP_Connection_Handler.h: * tao/IIOP_Connection_Handler.cpp: * tao/IIOP_Connection_Handler.i: The new TAO_IIOP_Connection_Handler class. This replaces the Server and Client connection handler classes defined in IIOP_Connect.{h,cpp,i} * tao/IIOP_Acceptor.cpp: * tao/IIOP_Acceptor.h: Removed references to the server connection handler. Replaced them with the simple connection handler classes. * tao/Connector_Impl.cpp: * tao/Connector_Impl.h: * tao/Connector_Impl.inl: Template helper classes for the connector implementation. This is similar to the classes declared and defined in Acceptor_Impl.{h,cpp,i} * tao/IIOP_Connector.cpp: * tao/IIOP_Connector.h: Used the helper classes for the connector implemenation * tao/IIOP_Endpoint.cpp: * tao/IIOP_Endpoint.h: * tao/IIOP_Endpoint.i: Removed references to the client connection handler classes. * tao/IIOP_Transport.cpp: * tao/IIOP_Transport.h: * tao/IIOP_Transport.i: Removed client and server side transports. Now, there will be only one transport which will be used by the connection handler. The methods that were declared in the server and client side transports have been merged in to this single class. * tao/Acceptor_Impl.cpp: Cache the connection during the call to activate_svc_handler (). * tao/Reply_Dispatcher.h: * tao/Synch_Reply_Dispatcher.h: * tao/Synch_Reply_Dispatcher.cpp: * tao/Asynch_Reply_Dispatcher.h: * tao/Asynch_Reply_Dispatcher.cpp: The call to dispatch_reply () had around 4 parameters. They have been changed to have only one parameter, that has all the necessary information required to handle the reply. Further, the references to GIOP_Message_State has been removed. The message state was used to have the reply that was read from the connection. But the reply dispatcher never used all the information in the message state. It only used the CDR stream in the class. We now, pass the CDR stream through the TAO_Pluggable_Reply_Params class which has other information necessary for the reply dispatcher. The asynch reply dispatcher classes will now take a pointer to the ORB_Core as a parameter. * tao/Asynch_Invocation.i: Added ORB_Core to the list of parameters that are used to construct the reply dispatcher object. * tao/Transport_Mux_Strategy.h: * tao/Muxed_TMS.h: * tao/Muxed_TMS.cpp: * tao/Exclusive_TMS.h: * tao/Exclusive_TMS.cpp: Made changes similar to the changes for reply dispatcher. Further, the memory allocation for the GIOP message state goes away. We now, create a CDR stream on the stack for every reply that we go to read. Once the reply is read, we steal the contents from the CDR stream to pass it on to the reply dispatcher. This seems to work. Moreover, the way things were done, does not seem to do what it was intended -- ie. create a message state for every thread that goes to read the reply for the Muxed_TMS case. Please see the comments in the IIOP_Transport.cpp for more information regarding this. * tao/Pluggable.cpp: * tao/Pluggable.h: * tao/Pluggable.i: Changed the name of the method handle_client_input () to read_process_message () in TAO_Transport. * tao/Pluggable_Messaging.h: * tao/Pluggable_Messaging.cpp: The interface to pluggable messaging has been totally revamped. Incorporated most of the suggestions/discussions in that file. The interface provides methods for creating, parsing and reading messages. The concrete implementations of the interface would do the bulk of the work ie. preparing message in the format required, making upcalls, maintaining states of the messages etc. The interface binds the implementations to use CDR. * tao/Pluggable_Messaging_Utils.h: * tao/Pluggable_Messaging_Utils.cpp: * tao/Pluggable_Messaging_Utils.i: Added a CDR stream to hold the stream appearing on the connection. Revamped the whole GIOP implementation. The differences between server and client side have been removed. Most of the code has been used from the GIOP_Message_Connectors, GIOP_Message_Acceptors, GIOP_Message_Accept_State classes. This should help adding Bi-Dir GIOP pretty easily. * tao/GIOP_Message_Base.h: * tao/GIOP_Message_Base.cpp: Implements all of the interfaces that are prescribed by Pluggable_Messaging interface. Delegates the responsibility of generation and parsing of version specific headers and messages to the right strategies. * tao/GIOP_Message_Generator_Parser.cpp: * tao/GIOP_Message_Generator_Parser.h: * tao/GIOP_Message_Generator_Parser.inl: A strategy class for the generation of GIOP headers and messages. * tao/GIOP_Message_Generator_Parser_10.cpp: * tao/GIOP_Message_Generator_Parser_10.h: * tao/GIOP_Message_Generator_Parser_10.inl: A concrete strategy for GIOP v1.0. * tao/GIOP_Message_Generator_Parser_11.cpp: * tao/GIOP_Message_Generator_Parser_11.h: * tao/GIOP_Message_Generator_Parser_11.inl: A concrete strategy for GIOP v1.1. * tao/GIOP_Message_Generator_Parser_12.cpp: * tao/GIOP_Message_Generator_Parser_12.h: * tao/GIOP_Message_Generator_Parser_12.inl: A concrete strategy for GIOP v1.2. * tao/GIOP_Message_Generator_Parser_Impl.cpp: * tao/GIOP_Message_Generator_Parser_Impl.h: * tao/GIOP_Message_Generator_Parser_Impl.inl: A place holder class that creates all the GIOP version specific objects on the stack. * tao/GIOP_Message_Locate_Header.cpp: * tao/GIOP_Message_Locate_Header.h: * tao/GIOP_Message_Locate_Header.i: Changed the name of the file GIOP_Message_Headers to GIOP_Message_Loacte_Header. * tao/GIOP_Message_Lite.cpp: * tao/GIOP_Message_Lite.h: * tao/GIOP_Message_Lite.i: Made the changes to suit the new interface specified by the Pluggable_Messaging. * tao/GIOP_Message_State.h: * tao/GIOP_Utils.h: Addressed some of the comments. * tao/TAO_Server_Request.cpp * tao/TAO_Server_Request.h: Made changes to suit the interface of the Pluggable_Messaging class. * tao/Wait_On_Read.cpp: Changed the call handle_client_input () on the transport to read_process_message (). * tao/IIOP_Connect.h: * tao/IIOP_Connect.cpp: * tao/GIOP_Message_Acceptors.h: * tao/GIOP_Message_Acceptors.cpp: * tao/GIOP_Message_Acceptors.i: * tao/GIOP_Message_Connectors.h: * tao/GIOP_Message_Connectors.cpp: * tao/GIOP_Message_Connectors.i: These files are removed from the repository. * tao/Invocation.cpp: Included a header. * tao/Wait_Strategy.h: Changed a comment. * tao/Makefile: Added new files and removed old ones. * tao/Strategies/SHMIOP_Acceptor.h: * tao/Strategies/SHMIOP_Acceptor.cpp * tao/Strategies/SHMIOP_Connection_Handler.cpp * tao/Strategies/SHMIOP_Connection_Handler.h * tao/Strategies/SHMIOP_Connection_Handler.inl * tao/Strategies/SHMIOP_Connector.cpp: * tao/Strategies/SHMIOP_Connector.h: * tao/Strategies/SHMIOP_Endpoint.cpp: * tao/Strategies/SHMIOP_Endpoint.h: * tao/Strategies/SHMIOP_Endpoint.i: * tao/Strategies/SHMIOP_Transport.cpp: * tao/Strategies/SHMIOP_Transport.h: * tao/Strategies/SHMIOP_Transport.i: * tao/Strategies/UIOP_Acceptor.h: * tao/Strategies/UIOP_Acceptor.cpp * tao/Strategies/UIOP_Connection_Handler.cpp * tao/Strategies/UIOP_Connection_Handler.h * tao/Strategies/UIOP_Connection_Handler.inl * tao/Strategies/UIOP_Connector.cpp: * tao/Strategies/UIOP_Connector.h: * tao/Strategies/UIOP_Endpoint.cpp: * tao/Strategies/UIOP_Endpoint.h: * tao/Strategies/UIOP_Endpoint.i: * tao/Strategies/UIOP_Transport.cpp: * tao/Strategies/UIOP_Transport.h: * tao/Strategies/UIOP_Transport.i: All changes to IIOP were replicated for both SHMIOP and UIOP. * tao/Strategies/TAO_Strategies.dsp: Added the new files. * tao/TAO.dsp * tao/TAO_Static.dsp: Added new files and remove old ones. * tao/DynamicInterface/DII_Invocation.inl: * tao/DynamicInterface/DII_Reply_Dispatcher.cpp: * tao/DynamicInterface/DII_Reply_Dispatcher.h: Replicated changes done in the Asynch_invocation and Asynch_Reply_Dispatcher classes. * tao/DII Request.cpp: Added a header. * tao/*/Makefile: * */Makefile:Updated dependencies. Thu Dec 7 19:48:42 2000 Yamuna Krishnamurthy * orbsvcs/tests/AVStreams/Latency/control.cpp: * orbsvcs/tests/AVStreams/Latency/pong.cpp: * orbsvcs/tests/AVStreams/Latency/ping.cpp: * orbsvcs/tests/AVStreams/Multicast_Full_Profile/server.cpp: * orbsvcs/tests/AVStreams/Multicast_Full_Profile/server.h: * orbsvcs/tests/AVStreams/Multicast_Full_Profile/ftp.cpp: * orbsvcs/tests/AVStreams/Multicast_Full_Profile/ftp.h: * orbsvcs/tests/AVStreams/Multicast/server.cpp: * orbsvcs/tests/AVStreams/Multicast/server.h: * orbsvcs/tests/AVStreams/Multicast/ftp.cpp: * orbsvcs/tests/AVStreams/Multicast/ftp.h: * orbsvcs/tests/AVStreams/Pluggable/server.cpp: * orbsvcs/tests/AVStreams/Pluggable/server.h: * orbsvcs/tests/AVStreams/Pluggable/ftp.cpp: * orbsvcs/tests/AVStreams/Pluggable/ftp.h: * orbsvcs/tests/AVStreams/Full_Profile/ftp.cpp: * orbsvcs/tests/AVStreams/Full_Profile/ftp.h: * orbsvcs/tests/AVStreams/Full_Profile/server.cpp: * orbsvcs/tests/AVStreams/Full_Profile/server.h: * orbsvcs/tests/AVStreams/benchmark/client.cpp: * orbsvcs/tests/AVStreams/benchmark/client.h: * orbsvcs/tests/AVStreams/benchmark/server.cpp: * orbsvcs/tests/AVStreams/benchmark/server.h: * orbsvcs/tests/AVStreams/benchmark/child.cpp: * orbsvcs/tests/AVStreams/benchmark/child.h: * orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.cpp: * orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.h: * orbsvcs/orbsvcs/AV/AV_Core.h: Removed the use of ORB_Manager * orbsvcs/orbsvcs/AV/AV_Core.cpp: Moved the TAO_AV_Core class definitions to the newly added AV_Core.cpp * orbsvcs/orbsvcs/AV/Transport.i: * orbsvcs/orbsvcs/AV/Transport.cpp: * orbsvcs/orbsvcs/AV/Transport.h: Moved the TAO_AV_Core class definitions to AV_Core.cpp Thu Dec 7 11:59:28 2000 Priyanka Gontla * tests/Strategies/simple_test.idl: * tests/Strategies/client.cpp: * tests/Strategies/server.cpp: * tests/Strategies/simple_test_i.h: * tests/Strategies/simple_test_i.i: * tests/Strategies/simple_test_i.cpp: * tests/Strategies/Makefile : * tests/Strategies/svc.conf: * tests/Strategies/advanced_svc.conf: * tests/Strategies/README: Moved the test that shows the ways to load default and advanced strategies to the correct place. * tao/Strategies/tests/simple_test.idl: * tao/Strategies/tests/client.cpp: * tao/Strategies/tests/server.cpp: * tao/Strategies/tests/simple_test_i.h: * tao/Strategies/tests/simple_test_i.i: * tao/Strategies/tests/simple_test_i.cpp: * tao/Strategies/tests/Makefile : * tao/Strategies/tests/svc.conf: * tao/Strategies/tests/advanced_svc.conf: * tao/Strategies/tests/README: Removed. Thu Dec 7 11:44:14 2000 Darrell Brunsch * tests/RTCORBA/MT_Client_Protocol_Priority/client.bor: * tests/RTCORBA/MT_Client_Protocol_Priority/client.dsp: * tests/RTCORBA/MT_Client_Protocol_Priority/server.bor: * tests/RTCORBA/MT_Client_Protocol_Priority/server.dsp: Added linking to TAO_Strategies library. Thu Dec 7 13:45:29 2000 Jeff Parsons * tao/DynamicAny/DynAny_i.cpp: Cosmetic changes. * tao/DynamicAny/DynArray_i.cpp: * tao/DynamicAny/DynEnum_i.cpp: * tao/DynamicAny/DynSequence_i.cpp: * tao/DynamicAny/DynStruct_i.cpp: * tao/DynamicAny/DynUnion_i.cpp: Fixed a bug in _tao_QueryInterface(). The last line was making a call to DynAny::_tao_QueryInterface() instead of the override in the immediate base class. Thanks to Michael Rushton for reporting the failure of DynStruct::_narrow(), which led to this discovery. * tao/DynamicAny/DynamicAnyC.cpp: * tao/DynamicAny/DynamicAnyC.h: * tao/DynamicAny/DynamicAnyC.i: * tao/DynamicAny/diffs/DynamicAnyC.cpp.diff: * tao/DynamicAny/diffs/DynamicAnyC.h.diff: * tao/DynamicAny/diffs/DynamicAnyC.i.diff: Regenerated the stub files updated the diff files. Thu Dec 7 03:01:02 2000 Darrell Brunsch * TAO_IDL/TAO_IDL_BE_LIB.dsp: * TAO_IDL/TAO_IDL_FE_LIB.dsp: * TAO_IDL/tao_idl_static.dsp: Disabled precompiled headers Thu Dec 7 03:04:51 2000 Marina Spivak * tests/RTCORBA/MT_Client_Protocol_Priority/README * tests/RTCORBA/MT_Client_Protocol_Priority/client.cpp * tests/RTCORBA/MT_Client_Protocol_Priority/process-output.pl * tests/RTCORBA/MT_Client_Protocol_Priority/run_test.pl * tests/RTCORBA/MT_Client_Protocol_Priority/server.conf * tests/RTCORBA/MT_Client_Protocol_Priority/server.cpp * tests/RTCORBA/README: Added perl script which processes test output and reports any errors to the user. Other fixes and enhancements, e.g., number of iterations can be specified on the command-line, etc. * tao/IIOP_Connect.cpp * tao/Strategies/SHMIOP_Connect.cpp * tao/Strategies/UIOP_Connect.cpp * tao/PortableServer/Object_Adapter.cpp: Debug messages. Wed Dec 6 23:52:48 2000 Pradeep Gore * orbsvcs/orbsvcs/Notify/Notify_ProxyConsumer_T.cpp: The method was creating a "event listener" task instead of a "event source" task. This was causing the cmd line options to break. * orbsvcs/Notify_Service/Notify_Service.{h.cpp}: Added a new option to specify worker threads when the Notify Service is run with a TP reactor. * orbsvcs/Notify_Service/README: Updated the usage section to show how the "-Notify_TPReactor"option. * orbsvcs/orbsvcs/Notify/README: Updated with some explaination of the various MT options for the Notify. Thanks to Sarabjeet Duhra for reporting the problem with the -MTListenerEval option Wed Dec 6 16:20:36 2000 Darrell Brunsch * tests/Faults/Faults.dsw: * tests/Faults/middle.dsp: (added) Added missing project. * examples/Buffered_AMI/client.dsp: * examples/Buffered_AMI/server.dsp: * examples/Load_Balancing_persistent/client.dsp: * examples/Load_Balancing_persistent/server.dsp: * examples/Load_Balancing_persistent/service.dsp: * orbsvcs/Event_Service/Event_Service_static.dsp: * orbsvcs/examples/RtEC/MCast/MCast.dsp: * orbsvcs/examples/RtEC/Simple/EC_Simple_Consumer.dsp: * orbsvcs/examples/RtEC/Simple/EC_Simple_Service.dsp: * orbsvcs/examples/RtEC/Simple/EC_Simple_Supplier.dsp: * orbsvcs/tests/CosEvent/Basic/Disconnect.dsp: * orbsvcs/tests/CosEvent/Basic/MT_Disconnect.dsp: * orbsvcs/tests/CosEvent/Basic/Pull_Push_Event.dsp: * orbsvcs/tests/CosEvent/Basic/Push_Event.dsp: * orbsvcs/tests/CosEvent/Basic/Random.dsp: * orbsvcs/tests/CosEvent/Basic/Shutdown.dsp: * orbsvcs/tests/CosEvent/lib/CECTest.dsp: * orbsvcs/tests/LoadBalancing/client.dsp: * orbsvcs/tests/LoadBalancing/server.dsp: * tests/AMI/AMI_Test_Simple_Client.dsp: * tests/Exposed_Policies/Client.dsp: * tests/Exposed_Policies/Server.dsp: * tests/Leader_Followers/client.dsp: * tests/Leader_Followers/server.dsp: * tests/Nested_Event_Loop/client.dsp: * tests/Nested_Event_Loop/server.dsp: * tests/Object_Loader/Test_DLL.dsp: Disabled precompiled headers Wed Dec 6 18:02:05 2000 Jeff Parsons * TAO_IDL/be/be_visitor_interface/interface_ch.cpp: Small change to keep the indentation from growing and growing in long IDL files. Wed Dec 6 17:06:17 2000 Jeff Parsons * TAO_IDL/be/be_visitor_operation/rettype.cpp: * TAO_IDL/be/be_visitor_argument/arglist.cpp: * tao/corbafwd.h: Fixed code generation for CORBA::TCKind as an argument or a return type. We were adding '_ptr' to the scoped name. This fix also involved adding 'typedef TCKind &TCKind_out' to corbafwd.h, the same as would be generated for an IDL enum. Wed Dec 6 14:32:07 2000 Jeff Parsons * tao/Asynch_Invocation.cpp * tao/Asynch_Invocation.h * tao/Asynch_Invocation.i * tao/Asynch_Reply_Dispatcher.cpp * tao/Asynch_Reply_Dispatcher.h * tao/Asynch_Reply_Dispatcher.i * tao/Dynamic_Adapter.cpp * tao/Dynamic_Adapter.h * tao/NVList.cpp * tao/NVList.h * tao/Object.cpp * tao/Object.h * tao/corbafwd.h * tao/DynamicInterface/Context.cpp * tao/DynamicInterface/Context.h * tao/DynamicInterface/DII_Invocation.cpp * tao/DynamicInterface/DII_Invocation.h * tao/DynamicInterface/DII_Reply_Dispatcher.cpp * tao/DynamicInterface/DII_Reply_Dispatcher.h * tao/DynamicInterface/Dynamic_Adapter_Impl.cpp * tao/DynamicInterface/Dynamic_Adapter_Impl.h * tao/DynamicInterface/Dynamic_Implementation.cpp * tao/DynamicInterface/Dynamic_Implementation.h * tao/DynamicInterface/ExceptionList.cpp * tao/DynamicInterface/ExceptionList.h * tao/DynamicInterface/Request.cpp * tao/DynamicInterface/Request.h * tao/DynamicInterface/Server_Request.cpp * tao/DynamicInterface/Server_Request.h Removed #if (TAO_HAS_MINIMUM_CORBA == 0) guards from code pertaining to DII or DSI in these files. * tao/RT_ORBInitializer.h Added #if TAO_HAS_RT_CORBA == 1 guard to this file to correspond with a similar guard in the .cpp file. * tao/Messaging_Policy_i.cpp Added #if (TAO_HAS_RELATIVE_ROUNDTRIP_TIMEOUT_POLICY == 1) guard to this file to correspond with a similar guard in the .h file. Wed Dec 6 14:13:26 2000 Jeff Parsons * tao/DynamicAny/DynEnum_i.cpp: Fixed init() method, which tried to make a call on the DynEnum's typecode member before it had been initialized. * tao/DynamicAny/DynArray_i.cpp: * tao/DynamicAny/DynSequence_i.cpp: * tao/DynamicAny/DynUnion_i.cpp: Cosmetic changes and/or removed unused ACE_TRY block. Wed Dec 6 01:17:17 2000 Marina Spivak * tests/RTCORBA/Banded_Connections/server.conf * tests/RTCORBA/Server_Protocol/server_reverse.conf * tests/RTCORBA/Server_Protocol/server_reverse_nt.conf: * tests/RTCORBA/Banded_Connections/README * tests/RTCORBA/Banded_Connections/run_test.pl * tests/RTCORBA/Client_Propagated/run_test.pl * tests/RTCORBA/Client_Protocol/run_test.pl * tests/RTCORBA/Server_Protocol/run_test.pl: Updated. * tests/RTCORBA/Banded_Connections/client.conf * tests/RTCORBA/Client_Protocol/client_nt.conf * tests/RTCORBA/Client_Protocol/svc.conf * tests/RTCORBA/Client_Protocol/svc_nt.conf * tests/RTCORBA/Client_Protocol/svc_unix.conf * tests/RTCORBA/Server_Protocol/client_nt.conf * tests/RTCORBA/Server_Protocol/server.conf * tests/RTCORBA/Server_Protocol/server_nt.conf * tests/RTCORBA/Server_Protocol/server_uiop.conf * tests/RTCORBA/Server_Protocol/svc.conf: Removed. Cleaned up RTCORBA tests after Priyanka's Strategy library-related changes: removed unnecessary config files, modified perl scripts to not use them. Tue Dec 5 19:56:09 2000 Jeff Parsons * tao/ORB_Core.h: * tao/ORB_Core.cpp: * tao/Object.cpp: * tao/DynamicInterface/Dynamic_Adapter_Impl.cpp: Added static const char* dynamic_adapter_name_ to TAO_ORB_Core, along with set and get methods. The get method is used in the CORBA::Object methods that create DII requests, and the set method is used in the static initializer in TAO_Dynamic_Adapter_Impl. These changes will make sure the TAO_DynamicInterface library will be build even on pure static builds. Thanks to Carlos for his help with this fix. Tue Dec 5 19:39:48 2000 Jeff Parsons * tao/InterfaceC.i: * tao/diffs/InterfaceC.i.diff: Replaced missing 'TAO_Export' macros on declarations of sequence CDR operators in the inline file used when __ACE_INLINE__ is defined, and removed #if !defined guards and extra CDR operator declarations. Also updated diff file. This fixes link errors in IFR_Service for the release build on Win32. Tue Dec 5 15:47:23 2000 Marina Spivak * tao/IIOP_Profile.h (encode_endpoints) * tao/IIOP_Profile.cpp (encode_endpoints) * tao/Strategies/UIOP_Profile.h (encode_endpoints) * tao/Strategies/UIOP_Profile.cpp (encode_endpoints) * tao/Strategies/SHMIOP_Profile.h (encode_endpoints) * tao/Strategies/SHMIOP_Profile.cpp (encode_endpoints) * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Profile.h (encode_endpoints) * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Profile.cpp (encode_endpoints) * tao/PortableServer/RT_Acceptor_Filters.cpp (fill_mprofile): Added error checking. Tue Dec 5 15:07:45 2000 Marina Spivak * tao/Policy_Manager.h * tao/Policy_Manager.cpp: All policy accessors in TAO_Policy_Manager now use double-checked locking. This should significantly improve performance on the critical path. Tue Dec 5 14:16:38 2000 Jeff Parsons * TAO_IDL/be/be_visitor_operation/ami_handler_reply_stub_operation_cs.cpp: Removed use of '_var_type' in generated code for the exception holder. This typedef is intended for use with template programming, which is not the case here. In addition, old g++ does not see the typedef since the compiler does not scope it properly. Tue Dec 5 12:57:33 2000 Ossama Othman * tests/Portable_Interceptors/Benchmark/server.cpp (main): * tests/Portable_Interceptors/Dynamic/server.cpp (main): * tests/Portable_Interceptors/Service_Context_Manipulation/server.cpp (main): Activate the POA before attempting to narrow an object reference. This fixes a problem where a CORBA::TRANSIENT() exception was being thrown. Tue Dec 5 11:40:28 2000 Ossama Othman * docs/releasenotes/index.html: Added a tentative schedule/TODO list for TAO's CORBA Security Service. Tue Dec 5 11:18:14 2000 Jeff Parsons * tao/DynamicInterface/TAO_DynamicInterface.dsp: * tao/DynamicAny/TAO_DynamicAny.dsp: * tao/PortableServer/TAO_PortableServer.dsp: * tao/IORTable/TAO_IORTable.dsp: * orbsvcs/orbsvcs/CosNaming.dsp: Set some overlooked values in the MFC versions of these projects. Thanks to John Morey for reporting them. Tue Dec 5 10:49:07 2000 Jeff Parsons * tests/Smart_Proxies/client.dsp: Set some overlooked values in the release version. Mon Dec 4 18:11:01 2000 Marina Spivak * tao/IIOP_Acceptor.cpp * tao/Strategies/UIOP_Acceptor.cpp: Fixed comments. Mon Dec 4 17:36:22 2000 Marina Spivak * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Profile.h * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Profile.cpp: Same as the change below. Mon Dec 4 15:58:47 2000 Marina Spivak * tao/IIOP_Profile.h * tao/IIOP_Profile.cpp * tao/Strategies/UIOP_Profile.h * tao/Strategies/UIOP_Profile.cpp * tao/Strategies/SHMIOP_Profile.h * tao/Strategies/SHMIOP_Profile.cpp: Added error checks in and methods. For efficiency, is now called onlywith RTCORBA. * tao/IIOP_Endpoint.cpp (duplicate): Added comment. Mon Dec 4 13:04:55 2000 Marina Spivak * tao/Invocation.h * tao/Invocation.cpp (create_ior_info): Updated the method to return proper index of the profile being used for the Invocation even when RTCORBA policies are used. In other words, TAO_Target_Specification::Reference_Addr scheme now works with RTCORBA policies. Sun Dec 3 00:21:09 2000 Christopher Kohlhoff * tao/Makefile.bor: Removed reference to Smart_Proxies.obj. Sat Dec 2 22:55:38 2000 Marina Spivak * tao/ORB_Core.cpp (set_default_policies): Use TAO_Protocol_Properties_Factory to initialize transport properties instead of replicating its logic. * tao/Invocation_Endpoint_Selectors.h: Added class and methods descriptions. Sat Dec 2 18:19:37 2000 Christopher Kohlhoff * tao/SmartProxies/Makefile.bor: Fixed link error. * examples/Borland/build_idl.bat: * examples/Borland/ChatClient.bpr: * examples/Borland/ChatClient.cpp: * examples/Borland/ChatClientWnd.cpp: * examples/Borland/ChatClientWnd.dfm: * examples/Borland/ChatClientWnd.h: * examples/Borland/ORBThread.cpp: * examples/Borland/ORBThread.h: * examples/Borland/ReceiverImpl.cpp: Fixed up build errors in Borland example, changed to run ORB in a separate thread. Sat Dec 2 16:15:04 2000 Jeff Parsons * TAOACE.dsw: This was left out of a previous checkin. Fri Dec 1 13:16:10 2000 Jeff Parsons Sat Dec 2 00:23:10 2000 Marina Spivak * tests/RTCORBA/Explicit_Binding/Makefile: Updated dependencies. Fri Dec 01 23:00:32 2000 Marina Spivak * tests/RTCORBA/Explicit_Binding/Explicit_Binding.dsw * tests/RTCORBA/Explicit_Binding/Makefile * tests/RTCORBA/Explicit_Binding/Makefile.bor * tests/RTCORBA/Explicit_Binding/README * tests/RTCORBA/Explicit_Binding/client.bor * tests/RTCORBA/Explicit_Binding/client.cpp * tests/RTCORBA/Explicit_Binding/client.dsp * tests/RTCORBA/Explicit_Binding/run_test.pl * tests/RTCORBA/Explicit_Binding/server.bor * tests/RTCORBA/Explicit_Binding/server.cpp * tests/RTCORBA/Explicit_Binding/server.dsp * tests/RTCORBA/Explicit_Binding/test.idl * tests/RTCORBA/README * tests/RTCORBA/Makefile * tests/RTCORBA/Makefile.bor * tests/RTCORBA/RTCORBA_tests.dsw: Added a test for . * tests/RTCORBA/Private_Connection/run_test.pl: Modified script to delete old ior files before starting. * tao/Invocation.cpp * tao/Invocation.i * tao/Invocation.h * tao/Invocation_Endpoint_Selectors.cpp * tao/Invocation_Endpoint_Selectors.h * tao/Stub.cpp (validate_connection): Modified to work with RTCORBA policies and to populate parameter. Fri Dec 1 19:05:22 2000 Jeff Parsons * orbsvcs/tests/InterfaceRepo/Persistence_Test/Ptest.cpp: Replaced ACE_TRY_NEW_ENV with ACE_DELCARE_NEW_CORBA_ENV followed by ACE_TRY, which got rid of an egcs warning. Fri Dec 1 17:10:27 2000 Jeff Parsons * orbsvcs/IFR_Service/tmplinst.cpp: Changed explicit instantiation of auto_ptr to ACE_Auto_Basic_Ptr, to reflect the recent change in ConstantDef_i.cpp. Fri Dec 1 15:09:06 2000 Carlos O'Ryan * performance-tests/Latency/multi_threaded.pl: New driver script, it performs the basic test with a multi-thread-safe configuration. It is good to compare the results from single_threaded.pl * performance-tests/Latency/client.cpp: Work around [BUGID:189], the ORB rejects multiple simulatenous requests. After much exploration we found out that it is actually the kernel what rejects the requests, and not the ORB. Maybe we need to find a workaround for that problem, meanwhile the workaround in this change works quite nicely, and it is actually a better approach for what we really want to test here. Fri Dec 1 16:24:51 2000 Jeff Parsons * orbsvcs/IFR_Service/AliasDef_i.cpp: * orbsvcs/IFR_Service/AliasDef_i.h: * orbsvcs/IFR_Service/ArrayDef_i.cpp: * orbsvcs/IFR_Service/ArrayDef_i.h: * orbsvcs/IFR_Service/AttributeDef_i.cpp: * orbsvcs/IFR_Service/AttributeDef_i.h: * orbsvcs/IFR_Service/ComponentDef_i.cpp: * orbsvcs/IFR_Service/ComponentDef_i.h: * orbsvcs/IFR_Service/ComponentRepository_i.cpp: * orbsvcs/IFR_Service/ComponentRepository_i.h: * orbsvcs/IFR_Service/ConstantDef_i.cpp: * orbsvcs/IFR_Service/ConstantDef_i.h: * orbsvcs/IFR_Service/ConsumesDef_i.cpp: * orbsvcs/IFR_Service/ConsumesDef_i.h: * orbsvcs/IFR_Service/Contained_i.cpp: * orbsvcs/IFR_Service/Contained_i.h: * orbsvcs/IFR_Service/Container_i.cpp: * orbsvcs/IFR_Service/Container_i.h: * orbsvcs/IFR_Service/EmitsDef_i.cpp: * orbsvcs/IFR_Service/EmitsDef_i.h: * orbsvcs/IFR_Service/EnumDef_i.cpp: * orbsvcs/IFR_Service/EnumDef_i.h: * orbsvcs/IFR_Service/EventDef_i.cpp: * orbsvcs/IFR_Service/EventDef_i.h: * orbsvcs/IFR_Service/ExceptionDef_i.cpp: * orbsvcs/IFR_Service/ExceptionDef_i.h: * orbsvcs/IFR_Service/FactoryDef_i.cpp: * orbsvcs/IFR_Service/FactoryDef_i.h: * orbsvcs/IFR_Service/FinderDef_i.cpp: * orbsvcs/IFR_Service/FinderDef_i.h: * orbsvcs/IFR_Service/FixedDef_i.cpp: * orbsvcs/IFR_Service/FixedDef_i.h: * orbsvcs/IFR_Service/HomeDef_i.cpp: * orbsvcs/IFR_Service/HomeDef_i.h: * orbsvcs/IFR_Service/IDLType_i.h: * orbsvcs/IFR_Service/IFR_Service.cpp: * orbsvcs/IFR_Service/IFR_Service.h: * orbsvcs/IFR_Service/IRObject_i.h: * orbsvcs/IFR_Service/InterfaceDef_i.cpp: * orbsvcs/IFR_Service/InterfaceDef_i.h: * orbsvcs/IFR_Service/ModuleDef_i.cpp: * orbsvcs/IFR_Service/ModuleDef_i.h: * orbsvcs/IFR_Service/NativeDef_i.cpp: * orbsvcs/IFR_Service/NativeDef_i.h: * orbsvcs/IFR_Service/OperationDef_i.cpp: * orbsvcs/IFR_Service/OperationDef_i.h: * orbsvcs/IFR_Service/PrimaryKeyDef_i.cpp: * orbsvcs/IFR_Service/PrimaryKeyDef_i.h: * orbsvcs/IFR_Service/PrimitiveDef_i.cpp: * orbsvcs/IFR_Service/PrimitiveDef_i.h: * orbsvcs/IFR_Service/ProvidesDef_i.cpp: * orbsvcs/IFR_Service/ProvidesDef_i.h: * orbsvcs/IFR_Service/PublishesDef_i.cpp: * orbsvcs/IFR_Service/PublishesDef_i.h: * orbsvcs/IFR_Service/Repository_i.cpp: * orbsvcs/IFR_Service/Repository_i.h: * orbsvcs/IFR_Service/SequenceDef_i.cpp: * orbsvcs/IFR_Service/SequenceDef_i.h: * orbsvcs/IFR_Service/Servant_Factory.cpp: * orbsvcs/IFR_Service/Servant_Factory.h: * orbsvcs/IFR_Service/StringDef_i.cpp: * orbsvcs/IFR_Service/StringDef_i.h: * orbsvcs/IFR_Service/StructDef_i.cpp: * orbsvcs/IFR_Service/StructDef_i.h: * orbsvcs/IFR_Service/TypedefDef_i.cpp: * orbsvcs/IFR_Service/TypedefDef_i.h: * orbsvcs/IFR_Service/UnionDef_i.cpp: * orbsvcs/IFR_Service/UnionDef_i.h: * orbsvcs/IFR_Service/UsesDef_i.cpp: * orbsvcs/IFR_Service/UsesDef_i.h: * orbsvcs/IFR_Service/ValueBoxDef_i.cpp: * orbsvcs/IFR_Service/ValueBoxDef_i.h: * orbsvcs/IFR_Service/ValueDef_i.cpp: * orbsvcs/IFR_Service/ValueDef_i.h: * orbsvcs/IFR_Service/ValueMemberDef_i.cpp: * orbsvcs/IFR_Service/ValueMemberDef_i.h: * orbsvcs/IFR_Service/WstringDef_i.cpp: * orbsvcs/IFR_Service/WstringDef_i.h: * orbsvcs/IFR_Service/tmplinst.cpp: Removed use of IR namespace in scoped names, and used flat names instead, in preparation for future move of IfR classes to the CORBA namespace, as dictated by CORBA 2.4. Fri Dec 1 15:37:31 2000 Jeff Parsons * tao/InterfaceC.i: * tao/diffs/InterfaceC.i.diff: Changes to flat name of sequence base classes, caught by Sun egcs. Fri Dec 1 15:15:22 2000 Jeff Parsons * tao/InterfaceC.i: * tao/diffs/InterfaceC.i.diff: Removed the use of the scoped name for IRObject_var and IRObject_out constructors and destructor, and used the flat name instead. Error reported by Sun egcs compiler. Fri Dec 1 14:44:25 2000 Jeff Parsons * tao/corbafwd.h: * tao/ifrfwd.h: * tao/InterfaceC.h: * tao/diffs/InterfaceC.h.diff: Had to move enum definitions from InterfaceC.h to corbafwd.h, and #inlucde corbafwd.h in ifrfwd.h, to make sunCC happy. Fri Dec 1 13:16:10 2000 Jeff Parsons * tao/InterfaceC.h: * tao/InterfaceC.i: * tao/InterfaceC.cpp: * tao/ifrfwd.h: Removed use of IR namespace, as preparation for moving IfR code to the CORBA namespace in the future, regenerated files with the new collocation scheme, and removed code for smart proxies. * tao/Interface.pidl: Removed TypeCodeFactory declarations. Now this file can be regenerated without IDL compile errors. * tao/PortableServer/POA_CORBA.h: Updated code for CORBA::IRObject to reflect the new collocation scheme. * orbsvcs/IFR_Service/InterfaceS.h: * orbsvcs/IFR_Service/InterfaceS.cpp: * orbsvcs/IFR_Service/InterfaceS_T.i: Regenerated files with the new collocation scheme, and removed use of IR namespace. * orbsvcs/tests/InterfaceRepo/IFR_Test/Admin_CLient.cpp: * orbsvcs/tests/InterfaceRepo/IFR_Test/Admin_CLient.h: * orbsvcs/tests/InterfaceRepo/Persistence_Test/Ptest.cpp: * orbsvcs/tests/InterfaceRepo/Persistence_Test/Ptest.h: Removed use of IR namespace. * tao/Stub.h: Removed enum TAO_Param_Type because it isn't used and because its members conflict with those of IR_ParameterMode. * tao/TAO.dsp: * tao/TAO_Static.dsp: * tao/Makefile: * tao/Makefile.bor: * tao/Makefile.am: * tao/Smart_Proxies.cpp: * tao/Smart_Proxies.i: * tao/Smart_Proxies.h: Removed the source files from the directory and updated the projects and makefiles. * tao/corba.h: Removed inclusion of Smart_Proxy.h. * tao/MessagingC.cpp: * tao/MessagingC.i: * tao/MesssagingC.h: Removed smart proxy code. * TAO_IDL/be/be_codegen.cpp: * TAO_IDL/be/be_global.cpp: Made generation of smart proxy code dependent only on the command line -Gsp option, and not also on TAO_HAS_SMART_PROXIES as before. Also added generation of '#include tao/SmartProxies/Smart_Proxy.h' with the option. * tao/orbconf.h: Removed the TAO_HAS_SMART_PROXIES macro. * tao/SmartProxies/Smart_Proxies.cpp: * tao/SmartProxies/Smart_Proxies.inl: * tao/SmartProxies/Smart_Proxies.h: * tao/SmartProxies/smartproxy_export.h: * tao/SmartProxies/SmartProxies.dsp: * tao/SmartProxies/Makefile: * tao/SmartProxiess/Makefile.bor: Added these files to the new smart proxies library. * tests/Smart_Proxies/Makefile: * tests/Smart_Proxies/client.dsp: * tests/Smart_Proxies/server.dsp: * tests/Smart_Proxies/Benchmark/Makefile: * tests/Smart_Proxies/Collocation/Coll_Test_Stubs.bor: * tests/Smart_Proxies/Collocation/Coll_Test_Stubs.dsp: * tests/Smart_Proxies/Collocation/Collocation.dsp: * tests/Smart_Proxies/Collocation/Diamond.dsp: * tests/Smart_Proxies/On_Demand/Makefile: * tests/Smart_Proxies/Policy/Makefile: Modified these files to link to the new library. * tao/diffs/InterfaceC.h.diff: * tao/diffs/InterfaceC.h.diff: * tao/diffs/InterfaceC.h.diff: * tao/orbsvcs/IFR_Service/diffs/InterfaceS.h.diff: * tao/orbsvcs/IFR_Service/diffs/InterfaceS.cpp.diff: * tao/orbsvcs/IFR_Service/diffs/InterfaceS_T.i.diff: Added these diff files for regenerating files from Interface.pidl. Fri Dec 1 09:31:28 2000 Carlos O'Ryan * utils/wxNamingViewer/Makefile: * utils/wxNamingViewer/mondrian.xpm: * utils/wxNamingViewer/wxNamingObject.cpp: * utils/wxNamingViewer/wxNamingTree.h: * utils/wxNamingViewer/wxNamingTree.cpp: * utils/wxNamingViewer/wxNamingViewer.cpp: * utils/wxNamingViewer/wxNamingViewerFrame.cpp: * utils/wxNamingViewer/wxSelectNSDialog.cpp: Got it to compile and run under Linux with wxGTK (the GTK version of wxWindows). It crashes sometimes and the fonts are way too small, but it is a good start. Fri Dec 1 09:15:56 2000 Carlos O'Ryan * orbsvcs/orbsvcs/Event/EC_ProxySupplier.h: * orbsvcs/orbsvcs/Event/EC_ProxySupplier.i: Use _duplicate() to return the consumer connected to the ProxyPushSupplier. It used to be the case that this method was invoked in the critical path, where the locking overhead of calling _duplicate() was excessive. But the method is not used anymore, so using the standard CORBA memory management rules is a better idea. Thanks to Paul Calabrese for pointing this out. Thu Nov 30 22:51:34 2000 pradeep@cs.wustl.edu * TAO version 1.1.11 released. Thu Nov 30 20:05:35 2000 Marina Spivak * tests/RTCORBA/Private_Connection/run_test.pl: Fixed the script to unlink ior files at the end. This fixes TRANSIENT exception in builds where ior files from previous runs weren't cleaned up. Wed Nov 29 23:55:37 2000 Pradeep Gore * orbsvcs/tests/Notify/performance-tests/Throughput/Throughput.cpp: * orbsvcs/orbsvcs/Notify/Notify_EventChannel_i.cpp: Fixed link errors due to multiple template instantiations. * orbsvcs/orbsvcs/FaultTolerance/FT_IOGR_Property.cpp: Changed to throw TAO_IOP::NotFound () instead of Invalid_IOR () Wed Nov 29 17:59:10 2000 Pradeep Gore * examples/Load_Balancing_persistent/Load_Balancer_i.cpp: Fixed more link errors re. template instantiation. Wed Nov 29 09:19:38 2000 Carlos O'Ryan * tests/NestedUpcall/Triangle_Test/run_test.pl: The test hanged if the server_A was started but server_B crashed. Wed Nov 29 09:00:22 2000 Carlos O'Ryan * orbsvcs/tests/Event/lib/Makefile: Reverted my change to this file. While trying to fix the gcc-2.7.2 builds I broke all the other platforms . Fortunately there is no need to disable this directory under gcc-2.7.2, it compiles just fine, so even though the library would not be usable in those platforms (because the tests fail to link), we can just ignore the problem in this Makefile, until I can figure out how to disable a library compilation under old versions of gcc, without breaking other platforms. Tue Nov 28 15:56:01 2000 Carlos O'Ryan * examples/Load_Balancing/Makefile: * examples/Load_Balancing_persistent/Makefile: * examples/Logging/Makefile: * examples/POA/Generic_Servant/Makefile: * performance-tests/RTCorba/Multiple_Endpoints/Common/Makefile: * tests/Exposed_Policies/Makefile: Don't use override with TAO_IDLFLAGS because sometimes they are set globally, for example to set the location of gperf. * TAO_IDL/Makefile.BE: Update dependencies * orbsvcs/CosEvent_Service/Makefile: * orbsvcs/examples/CosEC/Factory/Makefile: * orbsvcs/examples/CosEC/RtEC_Based/bin/Makefile: * orbsvcs/examples/CosEC/RtEC_Based/tests/Basic/Makefile: * orbsvcs/examples/CosEC/RtEC_Based/tests/Multiple/Makefile: * orbsvcs/examples/CosEC/Simple/Makefile: * orbsvcs/examples/RtEC/MCast/Makefile: * orbsvcs/examples/RtEC/Simple/Makefile: * orbsvcs/tests/CosEvent/Basic/Makefile: * orbsvcs/tests/EC_Mcast/Makefile: * orbsvcs/tests/EC_Throughput/Makefile: * orbsvcs/tests/Event/Basic/Makefile: * orbsvcs/tests/Event/Performance/Makefile: * orbsvcs/tests/Event/lib/Makefile: The RT event service and the CosEvent service fail to compiler under gcc-2.7.2, thus their tests and examples should be disabled too. Tue Nov 28 12:03:34 2000 Angelo Corsaro * tao/MessagingC.cpp: * tao/MessagingC.h: * tao/MessagingC.i: Renamed to <_tao_setup_collocation> to reflect the chages made in the generated code. Tue Nov 28 00:29:40 2000 Ossama Othman * tao/Acceptor_Registry.cpp (open): Count the number of addrs in each "-ORBEndpoint" option. The sum of those values should be the maximum number of acceptors the acceptor registry should allocate space for. Previously, a single addr was assumed to exist in each -ORBEndpoint option. This fixes a segmentation fault that was occuring when multiple addrs were specified in a single "-ORBEndpoint" command line ORB option. Reported by Jeff Greif . Mon Nov 27 17:24:14 2000 Priyanka Gontla * performance-tests/Latency/client.cpp: Removed 'cout' debug statements. Mon Nov 27 15:44:55 2000 Pradeep Gore * examples/POA/DSI/Database_i.cpp: removed template instantiation declaration of ACE_Malloc_T; and ACE_Malloc - already declared in ace/System_Time.cpp * examples/Load_Balancing/Load_Balancer_i.cpp: removed template instantiation declaration of ACE_Equal_To and ACE_Hash - already declared in ace/Capabilities.cpp * TAO/examples/Load_Balancing_persistent/Load_Balancer_i.cpp: Reworked the template instantiation code. Mon Nov 27 13:16:06 2000 Priyanka Gontla * tao/CORBALOC_Parser.cpp (parse_string_count_helper): Correctly allocated the memory for the end_point. * tests/InterOp-Naming/run_test.pl: Updated the perl script in accordance with the recent change for the syntax of corbaloc: URLs. * tests/InterOp-Naming/README: Cosmetic changes. Mon Nov 27 13:07:29 2000 Ossama Othman * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Acceptor.h: Removed trailing whitespace. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.cpp (open, open_default): Renamed "open_i" method to "ssliop_open_i" to avoid ambiguities with the virtual "open_i" method in the TAO_IIOP_SSL_Acceptor base class. This fixes warnings emanating from Borland compiler builds. Mon Nov 27 13:05:59 2000 Angelo Corsaro * TAO_IDL/be/be_visitor_interface/interface_ch.cpp: * TAO_IDL/be/be_visitor_interface/interface_ci.cpp: * TAO_IDL/be/be_visitor_interface_fwd/interface_fwd_ci.cpp: Renamed name of generated member function from to <_tao_setup_collocation>. * TAO_IDL/be/be_visitor_interface/interface_cs.cpp: Same as above, plus fixed "typo bug" in the fragment of code that generate the code for _tao_setup_collocation for not nested interface. Mon Nov 27 12:33:23 2000 Pradeep Gore * orbsvcs/Trading_Service/Trading_Service.cpp: * orbsvcs/orbsvcs/Trader/Trading_Loader.cpp: Removed auto_ptr and ACE_Auto_Basic_Ptr from Trading_Service.cpp and added it back to Trading_Loader.cpp. Sun Nov 26 19:47:25 2000 Balachandran Natarajan * tao/Invocation.cpp (start): Reset the reply_received field in the reply dispatcher to 0. This piece of code that did this reset was removed when changes were made to Invocation classes. The reset is important when the Invocation classes signals a restart. On restart we dont create a new Invocation object and we reuse the state that was left by the previous invocation. All this is fine. But the reply_received field needs to be reset in the intermediate period. If not stale values would be passed on to the next invocation and making tests like Forwarding fail. Sun Nov 26 19:07:48 2000 Pradeep Gore * tests/Connection_Purging/Connection_Purging.cpp: * orbsvcs/orbsvcs/Naming/Persistent_Context_Index.cpp: * orbsvcs/orbsvcs/Trader/Trading_Loader.cpp: * orbsvcs/orbsvcs/AV/AVStreams_i.cpp: * orbsvcs/orbsvcs/AV/sfp.cpp: Removed extraneous explicit template instantiation declarations causing "multiply defined" warnings on VxWorks and LynxOS. Sun Nov 26 16:52:50 2000 Balachandran Natarajan * tao/Bind_Dispatcher_Guard.i: * tao/Bind_Dispatcher_Guard.h: Return the reference to the status_ in the status () method. * tao/Invocation.cpp (invoke_i): If there is an error and if the connection is closed, we set the status in the Bind_Dispatcher_Guard to -1. This should fix a problem that caused the client ORB to dump a core if the server shutsdown suddenly. Sun Nov 26 13:34:40 2000 Carlos O'Ryan * tao/DynamicAny/DynAny_i.cpp: * tao/DynamicAny/DynArray_i.cpp: * tao/DynamicAny/DynEnum_i.cpp: * tao/DynamicAny/DynSequence_i.cpp: * tao/DynamicAny/DynStruct_i.cpp: * tao/DynamicAny/DynUnion_i.cpp: The destroy() methods should not release or delete the object, as they are local interfaces now, and their memory is managed via the stock reference counting for object references. This fixes some of the problems in the dynamic any test, but it still left some other problems exposed. Sun Nov 26 01:07:11 2000 Angelo Corsaro * TAO_IDL/be/be_visitor_interface/base_proxy_impl_ch.cpp: * TAO_IDL/be/be_visitor_interface/direct_proxy_impl_sh.cpp: * TAO_IDL/be/be_visitor_interface/direct_proxy_impl_ss.cpp: * TAO_IDL/be/be_visitor_interface/remote_proxy_impl_ch.cpp: * TAO_IDL/be/be_visitor_interface/remote_proxy_impl_cs.cpp: * TAO_IDL/be/be_visitor_interface/thru_poa_proxy_impl_sh.cpp: * TAO_IDL/be/be_visitor_interface/thru_poa_proxy_impl_ss.cpp: Made definition of the destructor for the proxy broker at the same time of the declaration. The only reason why this was done was to fix some weird link problem that gcc-2.72 was having with the current implementation. Sat Nov 25 21:28:25 2000 Pradeep Gore * orbsvcs/tests/Notify/Basic/Simple.{h,cpp}: * orbsvcs/tests/Notify/Basic/Makefile: Added simple test to show how to use Anys in Notify Service. Sat Nov 25 21:09:54 2000 Balachandran Natarajan * tao/Connection_Cache_Manager.cpp: * tao/Connection_Handler.cpp: * tao/Connection_Handler.inl: * tao/IIOP_Transport.cpp: * tao/IIOP_Connect.cpp: * tao/Strategies/UIOP_Transport.cpp: * tao/Strategies/UIOP_Connect.cpp: * tao/Strategies/SHMIOP_Connect.cpp: * tao/Strategies/SHMIOP_Transport.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connect.cpp: Fixed an FMR problem. The problem was the wrong order in which we were destroying the handlers and purging the handler from the cache map. We need to purgethe handler first and then destroy the handlers. Sat Nov 25 20:59:07 2000 Pradeep Gore * orbsvcs/tests/Notify/lib/Notify_Test_Client.{h, cpp}: * orbsvcs/tests/Notify/Basic/Events_Test.cpp: * orbsvcs/examples/Notify/Filter/Filter.{h,cpp}: * orbsvcs/examples/Notify/Subscribe/Subscribe.{h,cpp}: * orbsvcs/orbsvcs/Notify/Notify_AdminProperties.{h,cpp}: * orbsvcs/orbsvcs/Notify/Notify_Event_Manager.i: * orbsvcs/orbsvcs/Notify/Notify_MT_Worker_Task.cpp: Fixed incorrect procedure to destroy event channel. Thanks to Walt Corey for reporting this problem. * orbsvcs/tests/Notify/performance-tests/RedGreen/README: Fixed typo in instructions. Sat Nov 25 15:06:16 2000 Pradeep Gore * orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp: Defererence _var of pname to pointer via .in () operator. Fri Nov 24 19:21:29 2000 Angelo Corsaro * TAO_IDL/be/be_visitor_interface/remote_proxy_impl_cs.cpp: Minor Aesthetic fixes for the generated code. * TAO_IDL/be/be_visitor_interface/thru_poa_proxy_impl_ss.cpp: Added implementation of the default ctor, that was chopped away while fixing the indentation. Fri Nov 24 17:14:16 2000 Jeff Parsons * TAO_IDL/be/be_visitor_interface/interface_ci.cpp * TAO_IDL/be/be_visitor_interface/interface_ss.cpp * TAO_IDL/be/be_visitor_interface/thru_poa_proxy_impl_ss.cpp * TAO_IDL/be/be_visitor_interface_fwd/interface_fwd_ci.cpp * TAO_IDL/be/be_visitor_operation/arglist.cpp * TAO_IDL/be/be_visitor_operation/thru_poa_collocated_ss.cpp * TAO_IDL/be/be_visitor_operation/thru_poa_proxy_impl_ss.cpp Changes to keep the indentation of generated code from growing with each interface. Fri Nov 24 16:55:29 2000 Angelo Corsaro * TAO_IDL/be/be_visitor_interface/base_proxy_broker_ch.cpp: * TAO_IDL/be/be_visitor_interface/base_proxy_impl_ch.cpp: * TAO_IDL/be/be_visitor_interface/direct_proxy_impl_sh.cpp: * TAO_IDL/be/be_visitor_interface/direct_proxy_impl_ss.cpp: * TAO_IDL/be/be_visitor_interface/remote_proxy_broker_ch.cpp: * TAO_IDL/be/be_visitor_interface/remote_proxy_broker_cs.cpp: * TAO_IDL/be/be_visitor_interface/remote_proxy_impl_ch.cpp: * TAO_IDL/be/be_visitor_interface/remote_proxy_impl_cs.cpp: * TAO_IDL/be/be_visitor_interface/strategized_proxy_broker_sh.cpp: * TAO_IDL/be/be_visitor_interface/thru_poa_proxy_impl_sh.cpp: * TAO_IDL/be/be_visitor_interface/thru_poa_proxy_impl_ss.cpp: Added generation of the default constructor to avoid problem with older compiler (like gcc272). * TAO_IDL/be/be_visitor_operation/thru_poa_proxy_impl_ss.cpp: Made some cosmetic changes in the generated code. * tao/Object_Proxy_Broker.cpp: * tao/Object_Proxy_Broker.h: * tao/Object_Proxy_Impl.cpp: * tao/Object_Proxy_Impl.h: * tao/Remote_Object_Proxy_Impl.cpp: * tao/Remote_Object_Proxy_Impl.h: * tao/PortableServer/Direct_Object_Proxy_Impl.cpp: * tao/PortableServer/Direct_Object_Proxy_Impl.h: * tao/PortableServer/ThruPOA_Object_Proxy_Impl.cpp: * tao/PortableServer/ThruPOA_Object_Proxy_Impl.h: Added declaration and implementation of default constructor to fix the problem with some older compiler (like gcc272). * tao/PortableServer/POA.cpp: Substituted any use of TAO_Collocated_Object with CORBA::Object, in fact in the new collocation scheme TAO_Collocated_Object is not used anymore. Fri Nov 24 12:17:59 2000 Carlos O'Ryan * tests/Multiple/Multiple_Impl.cpp: Fix throw specs. * tests/Nested_Event_Loop/server.bor: * tests/Nested_Event_Loop/client.bor: Add the TAO_Strategies library, it is needed to link these two programs. Fri Nov 24 14:07:13 2000 Pradeep Gore * orbsvcs/orbsvcs/Property/CosPropertyService_i.h: Changed CosProperty_Hash_Key::pname_ to an _var type to fix a small memory leak. Thanks to Greg Hall greg.j.hall@boeing.com for providing the fix. Thu Nov 23 18:21:13 2000 Carlos O'Ryan * tests/Makefile: Add 'Multiple' to the list. Thu Nov 23 15:01:53 2000 Pradeep Gore * orbsvcs/tests/Notify/RedGreen/Makefile: Link with TAO_Svc_Utils to fix linkage error on SunCC5. Thu Nov 23 12:33:49 2000 Priyanka Gontla * orbsvcs/tests/ior_corbaname/README: * tests/ior_corbaloc/README: Updated to reflect the correct syntax. * tests/ior_corbaloc/client.cpp : * tests/ior_corbaloc/ior_corbaloc_client_i.cpp : Corrected the way exceptions are propagated. * tao/CORBALOC_Parser.h: * tao/CORBALOC_Parser.cpp : Fixed the syntax format of corbaloc: type URL. Thanks to Craig Rodrigues for pointing this out. Thu Nov 23 12:18:06 2000 Ossama Othman * tao/ORB_Core.cpp (~TAO_ORB_Core_TSS_Resources): As an interim solution to an access violation, do not invoke the TSS object destructors on the "ts_object_" array. The only service known to currently use this feature (i.e the TSS object array) is the SSLIOP pluggable protocol. Fortunately, it registers a null cleanup function so we're not leaking anything yet. However, we *do* need to fix this a before other services start to use this array. The real fix is non-trivial. * orbsvcs/orbsvcs/SSLIOP.idl: Added missing SSLIOP::Current::get_peer_certificate() method. It is necessary since the peer certificate is not available in the certificate chain on the server side, and since obtaining the peer certificate chain may be overkill if all that is desired is the peer certificate. Added SSLIOP::Current::no_context() method. Returns true if the current execution context is not within a SSL session. This method is mostly useful as an inexpensive means of determining whether or not SSL session state is available. It is used by the SSLIOP secure invocation server request interceptor. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current_Impl.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current_Impl.cpp: Added implementation for the SSLIOP::Current::get_peer_certificate() and the SSLIOP::Current::no_context() methods. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Invocation_Interceptor.cpp (receive_request): Invoke the SSLIOP::Current::no_context() method instead of SSLIOP::Current::get_peer_certificate_chain() since the former provides the functionality that this secure invocation server request interceptor requires. The latter can provide similar functionality but it performs several heap allocations, which can degrade performance significantly. Thu Nov 23 11:31:06 2000 Angelo Corsaro * TAO_IDL/be/be_visitor_interface/interface_cs.cpp: * TAO_IDL/be/be_visitor_interface/interface_ss.cpp: Added global scope scecifier "::" in the call to the proxy broker factory method used called within setup_collocation. Re-Added ACE_NESTED_CLASS in the code generated for setup_collocation, when calling methods on superclasses. * tao/MessagingC.cpp: * tao/PortableServer/MessagingS.cpp: Updated code to reflect the changes made in the compiler. Wed Nov 22 16:53:01 2000 Carlos O'Ryan * docs/Options.html: Fixed documentation for TransportMuxingStrategy, thanks to Jeff Greif for pointing this out. * tao/DynamicAny/DynSequence_i.cpp: Fixed current_index_ initialization, it was initialized to an invalid value, even though it was perfectly usable. This fixes the execution problems in the Trading Service tests. * tao/DynamicAny/DynArray_i.cpp: * tao/DynamicAny/DynStruct_i.cpp: Same fix, but this does not affect CosTrading. Wed Nov 22 16:24:52 2000 Ossama Othman * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connector.cpp (connect): Fixed IIOP (non-SSL) connection problems due to a dynamic_cast that was failing. The TAO_Endpoint pointer obtained from the Connection_Descriptor is actually a TAO_SSLIOP_Endpoint, so we need to downcast to a TAO_SSIOP_Endpoint and then access the non-SSL TAO_IIOP_Endpoint from it. Previously we were downcasting straight to a TAO_IIOP_Endpoint, which of course will not work since the endpoint pointer actually points to TAO_SSLIOP_Endpoint. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp (connect): Corrected typo where base class pointer was checked for validity instead of the derived class pointer. This fixes a potential problem where a failed dynamic_cast would not have beend etected. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.cpp (TAO_SSLIOP_Endpoint): If no SSL tagged component is available, then set the Security::NoProtection "target_supports" security association bit. We can't be sure if the server supports SSL if an SSL tagged component is available in the IOR, and TAO's SSLIOP implementation must support IIOP over SSL and plain IIOP. This fixes a connection permission problem where the client supported SSLIOP and the server didn't. The SSLIOP_Connector was being too cautious about establishing the connection. Wed Nov 22 17:37:37 2000 Angelo Corsaro * tests/Multiple/Collocation_Tester.cpp: * tests/Multiple/Makefile: * tests/Multiple/Multiple_Impl.cpp: * tests/Multiple/client.cpp: * tests/Multiple/server.cpp: * tests/Multiple/run_test.pl: Cosmetic changes to some file, plus perl script for automatically running the test. Wed Nov 22 14:30:12 2000 Angelo Corsaro * TAO_IDL/be/be_visitor_interface/interface_cs.cpp: * TAO_IDL/be/be_visitor_interface/interface_ss.cpp: * TAO_IDL/be/be_visitor_interface/remote_proxy_broker_ch.cpp: * TAO_IDL/be/be_visitor_interface/remote_proxy_broker_cs.cpp: * TAO_IDL/be/be_visitor_interface/strategized_proxy_broker_sh.cpp: * TAO_IDL/be/be_visitor_interface/strategized_proxy_broker_ss.cpp: Modified code generated for the proxy broker factory function. Now the factory is a public static method of the proxy broker itself. * tao/MessagingC.cpp: * tao/MessagingC.h: * tao/PortableServer/MessagingS.cpp: * tao/PortableServer/MessagingS.h: Modified code to reflect the change made in the IDL generated code. Thanks to Andy for the support, and hint. Wed Nov 22 10:05:47 2000 Priyanka Gontla * performance-tests/Latency/server.dsp * performance-tests/Latency/client.dsp * performance-tests/Latency/st_client.dsp Updated the Debug and Release configurations. Wed Nov 22 09:49:51 2000 Darrell Brunsch * tests/Multiple/Client.dsp: * tests/Multiple/Server.dsp: Updated the Release configuration. Wed Nov 22 09:23:08 2000 Ossama Othman * tests/Portable_Interceptors/Benchmark/test.idl: Added missing "raises" clause to the authenticate() method. Tue Nov 21 21:13:18 2000 Ossama Othman * tao/Object_Ref_Table.h (TAO_Object_Ref_Table): Made the Table and Iterator typedefs public. Some compilers complain if they are private since they aren't visible at the file level. Tue Nov 21 23:25:57 2000 Angelo Corsaro * TAO_IDL/be/be_visitor_interface/interface_ss.cpp (visit_interface): Added global scope specifier in the proxy factory function. This should fix the problem with VxWorks compilers. * TAO_IDL/be/be_visitor_interface/interface_cs.cpp (visit_interface): Added ACE_NESTED_CLASS in the code generated for the method setup_collocation to fix the problem that some compiler had with the current implementation. Tue Nov 21 21:32:30 2000 Pradeep Gore * orbsvcs/orbsvcs/Notify/Notify_Event_Manager.i: Corrected the logic for rejecting events on buffer overflow when the RejectNewEvents Admin property is set. Thanks to Sarabjeet Duhra for pointing this out. Tue Nov 21 17:52:47 2000 Priyanka Gontla * tests/Nested_Event_Loop/server.dsp: * tests/Nested_Event_Loop/client.dsp: Updated settings to link TAO_Strategies. Tue Nov 21 17:37:28 2000 Priyanka Gontla * tests/Nested_Event_Loop/Makefile: Updated to link TAO_Strategies. * tests/Nested_Event_Loop/client.cpp: * tests/Nested_Event_Loop/server.cpp: Included tao/Stratgies/advanced_resource.h * tests/Nested_Event_Loop/svc.conf: Passed -ORBReactorType select_mt as the argument. Tue Nov 21 17:23:45 2000 Priyanka Gontla * tests/RTCORBA/Client_Protocol/server.dsp Updated settings. Tue Nov 21 19:20:44 2000 Jeff Parsons * tao/DynamicInterface/Server_Request.cpp: Updated the raising of system exceptions by arguements(), set_result() and set_exception() to conform to changes in CORBA 2.4. Tue Nov 21 16:26:03 2000 Ossama Othman * tao/ORB_Table.cpp (bind): Make sure the ORB table owns the ORB Core by increasing the reference count on it. * tao/ORB_Core.h (svc_config_argc_, svc_config_argv_): Removed these attributes. They are no longer needed since the Service Configurator is now initialized in the CORBA::ORB_init() function. * tao/ORB_Core.cpp (init): Moved all Service Configurator related option parsing code to TAO_Internal::open_services(), and moved the code that invokes open_services() to CORBA::ORB_init(). This is necessary to make sure that services are loaded prior to invoking the pre_init() method in registered ORBInitializers. * tao/ORB.cpp (ORB_init): The ORB table increases the reference count on the ORB Core so do not release it here. Allow the TAO_ORB_Core_Auto_Ptr to decrease the reference on the ORB Core when it goes out of scope. Initialize the Service Configurator. This must occur before the ORBInitializer::pre_init() method is invoked on each registered ORB initializer. * tao/TAO_Internal.h (open_services, open_services_i): Added new "open_services()" method declaration, and renamed the existing one to "open_services_i()" since it is invoked by the former. * tao/TAO_Internal.cpp (open_services): Construct a Service Configurator argument vector from options extracted from the argument vector passed in from CORBA::ORB_init(). * orbsvcs/examples/Security/Send_File/Makefile (BIN): Conditionally build the binaries on the "ssl" make variable instead of the deprecate "ace_components" script. Tue Nov 21 18:07:01 2000 Jeff Parsons * tao/DynamicAny/DynArray_i.cpp: * tao/DynamicAny/DynSequence_i.cpp: * tao/DynamicAny/DynStruct_i.cpp: * tao/DynamicAny/DynUnion_i.cpp: In the to_any() method, replaced the exception DynamicAny::TypecodeMismatch with BAD_INV_ORDER, since to_any() isn't supposed to throw any user exceptions. Tue Nov 21 18:04:00 2000 Marina Spivak * tests/RTCORBA/README * tests/RTCORBA/Banded_Connections/README: Added test description and expected output. Tue Nov 21 15:56:10 2000 Carlos O'Ryan * tao/ORB_Core.cpp: Initialize the default endpoint selector outside the #if TAO_HAS_CORBA_MESSAGING, otherwise things don't work at all when messaging is disabled. Tue Nov 21 15:38:04 2000 Priyanka Gontla * orbsvcs/tests/ior_corbaname/Makefile : Updated dependencies. * orbsvcs/tests/ior_corbaname/status_i.h: * orbsvcs/tests/ior_corbaname/server.cpp : Removed unnecessary #include's. Tue Nov 21 15:04:31 2000 Priyanka Gontla * performance-tests/Latency/server.cpp : * performance-tests/Latency/client.cpp : * performance-tests/Latency/st_client.cpp : Included tao/Strategies/advanced_resource.h. * performance-tests/Latency/Makefile: Updated to link TAO_Strategies. * performance-tests/Latency/server.conf : * performance-tests/Latency/client.conf : * performance-tests/Latency/st_client.conf : * performance-tests/Latency/st_server.conf : * performance-tests/Latency/client-mt-exclusive.conf : * performance-tests/Latency/client-st-muxed.conf : Updated to load the correct, i.e., the advanced resource factory. * tao/Strategies/advanced_resource.cpp : Changed the default in input_cdr_buffer_allocator to TAO_ALLOCATOR_THREAD_LOCK instead of TAO_ALLOCATOR_NULL_LOCK. Tue Nov 21 12:06:09 2000 Ossama Othman * tests/Portable_Interceptors/Benchmark/interceptors.h: Interceptors are local objects, so derive (via multiple inheritance) each interceptor from CORBA::LocalObject. * tests/Portable_Interceptors/Benchmark/interceptors.cpp (receive_request): Throw CORBA::NO_PERMISSION() exception instead of the "Test_Interceptors::Invalid" exception. Throwing a user exception is not allowed since it is not part of the throw spec, which is dictated by the PortableInterceptor::ServerRequestInterceptor interface. * tests/Portable_Interceptors/Benchmark/README: Updated README. "Pseudo-portable interceptors" no longer applies, since TAO now implements the standard Portable Interceptor interfaces. Tue Nov 21 13:30:18 2000 Jeff Parsons * TAO_IDL/driver/drv_args.cpp: In the usage message, fixed ACE_TEXT (" -Ge [0|1]\t\t\tDisable/Enable generation of") ACE_TEXT (" CORBA::Environment arguments (enabled by default") ACE_TEXT (" if ACE_HAS_EXCEPTIONS)\n") to read ACE_TEXT (" -Ge [0|1]\t\t\tDisable/Enable generation of") ACE_TEXT (" CORBA::Environment arguments (disabled by default") ACE_TEXT (" if ACE_HAS_EXCEPTIONS)\n") Thanks to Craig Rodrigues for pointing this out. Tue Nov 21 13:13:37 2000 Angelo Corsaro * tests/Multiple/Multiple.dsw: * tests/Multiple/Server.dsp: * tests/Multiple/Client.dsp: * tests/Multiple/README: * tests/Multiple/Makefile: VC++ workspace, VC++ project, Makefile and documentation files for the new collocation test. * tests/Multiple/Collocation_Tester.cpp: * tests/Multiple/Collocation_Tester.h: * tests/Multiple/Multiple_Impl.cpp: * tests/Multiple/Multiple_Impl.h: * tests/Multiple/client.cpp: * tests/Multiple/server.cpp: * tests/Multiple/Multiple.idl: Source file for the new collocation test. Tue Nov 21 09:40:51 2000 Ossama Othman * docs/releasenotes/index.html: Updated the Security Service release notes with information about the new SSLIOP features. Tue Nov 21 10:41:11 2000 Balachandran Natarajan * tao/GIOP_Message_Accept_State.cpp: We align the write pointers as per GIOP 1.2. But when we read from the stream on the server side, we just set the read pointer to an 8 byte boundary. Why? We dont have any information about the information following the header. So, we just set the read pointer to an 8 byte boundary assuming that the skeletons would know whether to marshal something or not. This started giving problems in DSI_Gateway test during the shutdown () operation. So, for a shutdown () call that we receive on the gateway, the read pointer is set to an 8 byte boundary. The same stream is used for encoding (). As the read pointer is displaced, the difference between them gave a "BIG" number that wrapped around as -4 when we called a writev () on the handler which is not acceptable. So, the fix -- we check for the stream length before we align the read pointer. Hopefully this should be the right fix. Tue Nov 21 10:10:07 2000 Angelo Corsaro * TAO_IDL/be_include/be_interface.h: Removed typo (i.e., ",") from the last element of the enum that defines the collocation strategy. Tue Nov 21 07:32:28 2000 Chris Kohlhoff * tao/IORManipulation/Makefile.bor: * tao/IORTable/Makefile.bor: Add missing CFLAGS required to build static libraries correctly. * orbsvcs/orbsvcs/SSLIOP.bor: Prevent SSL libraries from being built unless SSL_ROOT is defined. * orbsvcs/Event_Service/Makefile.bor: * orbsvcs/Naming_Service/Naming_Service.bor: * orbsvcs/Naming_Service/NT_Naming_Service.bor: * orbsvcs/Notify_Service/Makefile.bor: * orbsvcs/Time_Service/Time_Service_Clerk.bor: * orbsvcs/Time_Service/Time_Service_Server.bor: * tests/*/client.bor: * tests/*/server.bor: Added missing libraries. Tue Nov 21 03:03:00 2000 Marina Spivak * tests/RTCORBA/Private_Connection/run_test.pl: Output formatting. * tests/RTCORBA/README * tests/RTCORBA/Private_Connection/README: Added test description and expected output. Mon Nov 20 23:33:11 2000 Ossama Othman * orbsvcs/orbsvcs/SSLIOP.idl (Current): Wrap the SSLIOP::Current TAO extension with with a "#pragma prefix ssliop.tao". This makes it clear that SSLIOP::Current is a TAO extension, not an OMG defined object. Mon Nov 20 21:22:09 2000 Jeff Parsons * tao/NVList.i: * tao/NVList.cpp: Modified the new method _lazy_has_arguments() to handle the case where the list's input CDR is null, and also uninlined the method since it is now not so simple. * tao/DynamicInterface/Request.cpp: Replace the NVList::count() call with NVList::_lazy_has_arguments in Request::send_oneway, as it was in Request::invoke. Mon Nov 20 20:25:39 2000 Balachandran Natarajan * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.h: Replicated the changes to SSLIOP too. Mon Nov 20 20:06:38 2000 Balachandran Natarajan * tao/Strategies/SHMIOP_Transport.h (TAO_SHMIOP_Server_Transport): * tao/Strategies/SHMIOP_Transport.cpp: * tao/Strategies/SHMIOP_Connect.h: * tao/Strategies/UIOP_Transport.h: * tao/Strategies/UIOP_Transport.cpp: * tao/Strategies/UIOP_Connect.h: Changes from IIOP have been replicated here. Mon Nov 20 19:54:03 2000 Priyanka Gontla * tests/RTCORBA/Banded_Connections/Makefile: Updated to link TAO_Strategies. * tests/RTCORBA/Banded_Connections/client.conf: * tests/RTCORBA/Banded_Connections/server.conf: Updated to statically load the Advanced_Resource_Factory * tests/RTCORBA/Banded_Connections/server.cpp: * tests/RTCORBA/Banded_Connections/client.cpp: Included "tao/Strategies/advanced_resource.h" Mon Nov 20 19:51:06 2000 Balachandran Natarajan * tao/Connection_Handler.cpp: * tao/Connection_Handler.h: Added a method purge_entry (). * tao/IIOP_Connect.h (TAO_IIOP_Server_Connection_Handler): * tao/IIOP_Transport.cpp: * tao/IIOP_Transport.h: Removed the method close_connection () from the base class and moved it to the server & client transport classes. Further, added a call to purge_entry () on the service handler when close_connection () is called. This is required as we need to purge the cache map entries when the ORB decides to shutdown the connection. Mon Nov 20 18:59:28 2000 Angelo Corsaro * TAO_IDL/be/be_visitor_interface/base_proxy_impl_ch.cpp: * TAO_IDL/be/be_visitor_interface/direct_proxy_impl_sh.cpp: * TAO_IDL/be/be_visitor_interface/interface_cs.cpp: * TAO_IDL/be/be_visitor_interface/remote_proxy_broker_cs.cpp: * TAO_IDL/be/be_visitor_interface/remote_proxy_impl_ch.cpp: * TAO_IDL/be/be_visitor_interface/thru_poa_proxy_impl_sh.cpp: * TAO/TAO_IDL/be/be_visitor_operation/arglist.cpp: Modified indentation\spacing\newlines in the generated code to make the code look better. Removed unused vars. that were causing warning on some platfom. Mon Nov 20 15:49:50 2000 Priyanka Gontla * performance-tests/Cubit/TAO/IDL_Cubit/server.dsp * performance-tests/Cubit/TAO/IDL_Cubit/client.dsp Updated setings. * performance-tests/Cubit/TAO/IDL_Cubit/svc.conf Updated to use the right resource factory keeping in view the advanced resource factory arguments passed to it. Mon Nov 20 15:55:38 2000 Ossama Othman * tao/IIOP_Connector.cpp (TAO_IIOP_Connector): Removed "tcp_properties_" from the base member initializer list. G++ 2.7.x gets confused about the fact that the TAO_IIOP_Properties class doesn't have a constructor. Mon Nov 20 15:20:53 2000 Carlos O'Ryan * orbsvcs/TAO_Service/TAO_Service.cpp: Fixed warning about unreachable statement Mon Nov 20 15:04:34 2000 Priyanka Gontla * tests/RTCORBA/Server_Declared/server.conf: Updated to provide the right arguments. * tests/RTCORBA/Client_Propagated/svc.conf: Not needed. Removed. Mon Nov 20 14:54:59 2000 Jeff Parsons * tao/NVList.h: * tao/NVList.i: * tao/DynamicInterface/Request.inl: * tao/DynamicInterface/Request.cpp: Uninlined definition of _nil to make aggressively inlining compilers happy. Also added _lazy_has_arguments() method to NVList, so this condition can be checked without having to evaluate the NVList's CDR stream, and replaced call to NVList::count() method in Request::invoke() with a call to this new method. The call to count() has the side effect of decoding the list's CDR stream and destroying it, which was causing DII requests to crash. Mon Nov 20 11:49:30 2000 Priyanka Gontla * tests/EndPoint_Per_Priority/server.conf Changed back to the original version. It got committed in the previous commit unintentionally. Mon Nov 20 11:35:56 2000 Priyanka Gontla * tests/EndPoint_Per_Priority/server.dsp * tests/EndPoint_Per_Priority/client.dsp Updated settings to link TAO_Strategiesd.lib Mon Nov 20 06:26:10 2000 Balachandran Natarajan * tao/IIOP_Connector.h: * tao/IIOP_Connector.cpp: * tao/Strategies/UIOP_Connector.h: * tao/Strategies/UIOP_Connector.cpp: * tao/Strategies/SHMIOP_Connector.h: * tao/Strategies/SHMIOP_Connector.cpp: Changed the ACE_NOOP_Concurrency strategy to ACE_Concurrency_Strategy. Mon Nov 20 05:34:07 2000 Marina Spivak * tests/RTCORBA/Private_Connection/Makefile: Updated dependencies. * tests/RTCORBA/Private_Connection/server.cpp (test_method): Fixed unused arg warning. Mon Nov 20 05:16:40 2000 Marina Spivak * tao/IIOP_Connector.cpp * tao/Exclusive_TMS.cpp * tao/Connection_Cache_Manager.cpp: Added more debugging info, bumped up the level on some debugging messages. Mon Nov 20 05:04:01 2000 Marina Spivak * tests/RTCORBA/RTCORBA_tests.dsw * tests/RTCORBA/Makefile.bor * tests/RTCORBA/Makefile * tests/RTCORBA/Private_Connection/Makefile.bor * tests/RTCORBA/Private_Connection/Private_Connection.dsw * tests/RTCORBA/Private_Connection/README * tests/RTCORBA/Private_Connection/client.bor * tests/RTCORBA/Private_Connection/client.cpp * tests/RTCORBA/Private_Connection/client.dsp * tests/RTCORBA/Private_Connection/run_test.pl * tests/RTCORBA/Private_Connection/server.bor * tests/RTCORBA/Private_Connection/server.cpp * tests/RTCORBA/Private_Connection/server.dsp * tests/RTCORBA/Private_Connection/test.idl: Added a test for RTCORBA::PrivateConnectionPolicy. Mon Nov 20 01:16:38 2000 Ossama Othman * docs/interceptors.html: Updated these release notes. Mon Nov 20 00:50:14 2000 Ossama Othman * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connect.h: Re-arranged inheritance order to match order in base member initializer lists. This corrects several "will be re-ordered to match inheritance order" warnings. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connect.cpp: Fixed unused argument warning in TAO_SSLIOP_Client_Connection_Handler constructor. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_ORBInitializer.cpp (post_init): Corrected "better conversion" warnings related to passing "_var" variable as a "_ptr" argument by using the "_var::in()" accessor. Mon Nov 20 00:12:28 2000 Ossama Othman * tao/PortableInterceptor.i (receive_reply, receive_exception, send_reply, send_exception): Changed "for" loop logic to count up instead of counting down, yet still invoke the interceptors in reverse order. This fixes some "expression always true" warnings related to the fact that an unsigned int is always greater than or equal to zero. Sun Nov 19 23:46:07 2000 Ossama Othman * tao/ORBInitInfo.cpp (_tao_QueryInterface): Removed unneccessary and broken use of ACE_NESTED_CLASS macro. This fixes a compile error with MSVC. Mon Nov 20 01:32:48 2000 Angelo Corsaro * tao/MessagingC.cpp (_unchecked_narrow): Added guard to check weather TAO is has support for portable incerceptors. Sun Nov 19 23:29:03 2000 Ossama Othman * tao/ORBInitInfo.cpp (_tao_QueryInterface): Corrected syntax error and incorrect static_cast. Mon Nov 20 00:30:50 2000 Angelo Corsaro * TAO_IDL/be/be_visitor_interface/remote_proxy_broker_cs.h: * TAO_IDL/be/be_visitor_interface/remote_proxy_broker_cs.cpp: Visitor to generate the remote proxy broker implementation. * TAO_IDL/be/be_visitor_interface/strategized_proxy_broker_ss.h: * TAO_IDL/be/be_visitor_interface/strategized_proxy_broker_ss.h: Visitor to generate the stategized proxy broker implementation. * TAO_IDL/be/be_visitor_interface/thru_poa_proxy_impl_ss.h: * TAO_IDL/be/be_visitor_interface/thru_poa_proxy_impl_ss.cpp: Visitor that generated the thru poa proxy implementation. * TAO_IDL/be/be_visitor_interface/direct_proxy_impl_ss.h: * TAO_IDL/be/be_visitor_interface/direct_proxy_impl_ss.cpp: Visitor that generated the direct proxy implementation. * TAO_IDL/be_include/be_visitor_operation/remote_proxy_impl_cs.h: * TAO_IDL/be_include/be_visitor_operation/remote_proxy_impl_cs.cpp: * TAO_IDL/be_include/be_visitor_operation/thru_poa_proxy_impl_ss.h: * TAO_IDL/be_include/be_visitor_operation/thru_poa_proxy_impl_ss.cpp: * TAO_IDL/be_include/be_visitor_operation/direct_proxy_impl_ss.h: * TAO_IDL/be_include/be_visitor_operation/direct_proxy_impl_ss.cpp: Visitors that genetate the operation code for different kind of proxy implementation. NOTE: This file were not added in the previous commit, because for some weird reason the CVS did not seem to view this file as new for the repo. Mon Nov 20 00:19:13 2000 Angelo Corsaro * TAO_IDL/be_include/be_visitor_interface/remote_proxy_impl_cs.h: * TAO_IDL/be/be_visitor_interface/remote_proxy_impl_cs.cpp: Visitor that generates the implemetation for the remote proxy implementation. Sun Nov 19 21:20:58 2000 Ossama Othman * tao/ORB.cpp (resolve_initial_references): Fixed problem where the object reference found in the object reference table was not returned to the caller. * tao/IIOP_Acceptor.h: * tao/IIOP_Connector.h: Made some attributes protected instead of private so that they're available to derived classes. * tao/IIOP_Acceptor.cpp (TAO_IIOP_Acceptor): * tao/IIOP_Connector.cpp (TAO_IIOP_Connector): Reorganized the base member initializer lists to match the order the class attributes were declared. * tao/ORBInitInfo.cpp (_narrow, _unchecked_narrow, _tao_QueryInterface): * tao/ORBInitInfo.h: Added these TAO_ORBInitInfo-specific downcast methods to make it easier to downcast from "PortableInterceptor::ORBInitInfo_ptr" to "TAO_ORBInitInfo *." This is necessary to get around conversion problems when RTTI is not supported by the compiler. These methods allow applications to get access to the TAO extension methods by downcasting a PortableInterceptor::ORBInitInfo_ptr reference. * tao/ORB_Core.h: * tao/ORB_Table.h: Fixed some Doxygen comments. * tao/ORB_Core.i (set_tss_resource): Initialize intermediate array elements to zero, since they haven't been initialized yet. This ensures that garbage is not returned when retrieving any of those elements at a later point in time. * tao/PortableInterceptor.h: Added a "stack size" attribute to the client and server side support classes. This attribute is used to keep track of how many interceptors were pushed onto the logical flow stack so that the stack may be unwound starting at the last successfully processed interceptor. This behavior is dictated by the PortableInterceptor specification "General Flow Rules." * tao/PortableInterceptor.i: The following changes to the newly added multiple interceptor support make that support comply with the "General Flow Rules" dictated by the Portable Interceptor specification/joint submission. The General Flow Rules basically state that an interceptor is pushed onto a stack (could be a logical one) if it is successfully invoked within a "starting" interception point. Interceptors are then popped off that stack within each "ending" interception point before they are invoked so that they can only be invoked by one "ending" interception point. (send_request, receive_request): Push each successfully processed interceptor at these "starting" interception points on to the logical flow stack. (receive_reply, receive_exception, send_reply, send_exception): Invoke the interceptors at these ending interception points in the opposite order they were pushed onto the flow stack. This is the behavior dictated by the PortableInterceptor specification for "ending" interception points. These methods also pop interceptors off of the flow stack prior to invoking them. This is necessary to satisfy the General Flow Rules, i.e., it is necessary to prevent an interceptor that has already been invoked within an "ending" interception point from being invoked in another "ending" interception point. * orbsvcs/orbsvcs/SSLIOP.idl: Added a "NoContext" exception to the SSLIOP::Current interface. All SSLIOP::Current operations will throw this exception if the current execution context is not run through an SSL session. * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Acceptor.cpp: * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Acceptor.h: * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connect.cpp: * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connect.h: * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connector.cpp: * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connector.h: New modification of the standard IIOP pluggable protocol that is "SSL aware," i.e., it is aware of the existence of the SSLIOP pluggable protocol. The primary difference between this version and standard one, is that this version's connection handler invalidates the SSL session state stored in TSS during an IIOP (i.e., insecure) request/upcall. Once the request/upcall is complete, the previous SSL state is restored. This closes a potentially large security hole that could occur during a nested upcall where the SSL state for the current request could mistakenly be associated with a non-SSL nested upcall. Thanks to Carlos for thinking of such an obscure security hole. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.cpp (close, open, open_default): Invoke the new IIOP_SSL_Acceptor versions of these methods when closing and opening insecure endpoints. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.h: Derive from the new IIOP_SSL_Acceptor class so that insecure connections are handled by the SSL aware version of the IIOP pluggable protocol. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connect.cpp (handle_input_i, handle_input): Place the current SSL state in TSS when handling a request. This is necessary for the newly added SSLIOP::Current TAO extension. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connect.h (TAO_SSL_State_Guard): * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connect.i: New class that makes TSS SSL state configuration/deconfiguration exception safe. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp (open, connect): Invoke the new IIOP_SSL_Connector versions of these methods when opening and connecting to insecure endpoints. (close): Close the insecure connection. Previously, this was missing. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.h: Derive from the new IIOP_SSL_Connector class so that insecure connections are handled by the SSL aware version of the IIOP pluggable protocol. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current.inl: Non-TSS implementation of the newly added SSLIOP::Current TAO extension. It is useful for obtaining the peer certificate chain associated with the current SSL session, for example. Access to this object is achieved by invoking ORB::resolve_initial_references("SSLIOPCurrent"). * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current_Impl.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current_Impl.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current_Impl.inl: TSS implementation of the newly added SSLIOP::Current TAO extension. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Factory.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Factory.cpp (register_orb_initializer): Helper method that instantiates and registers the newly added SSLIOP_ORBInitializer with TAO. (init): Invoke the register_orb_initializer() helper method to cause SSLIOP_ORBInitializer registration. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Invocation_Interceptor.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Invocation_Interceptor.h: Added a server request interceptor that enforces secure invocations. If the endpoint is configured for secure invocations alone, then this interceptor will reject the client request coming in on the insecure port and throw a CORBA::NO_PERMISSION exception. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_ORBInitializer.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_ORBInitializer.h: New ORBInitailizer that creates the SSLIOP::Current object and registers it with the ORB. It also creates the SSLIOP secure invocation server request interceptor, and registers it with the ORB. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp: Cosmetic updates. * orbsvcs/orbsvcs/Makefile.SSLIOP: * orbsvcs/orbsvcs/SSLIOP.bor: * orbsvcs/orbsvcs/SSLIOP.dsp: Added the new files to these Makefiles and project files. * tests/Portable_Interceptors/Dynamic/Echo_Client_ORBInitializer.cpp (post_init): * tests/Portable_Interceptors/Dynamic/Echo_Server_ORBInitializer.cpp (post_init): Removed erroneous call to "._retn()." Transferring ownership to the ORB happens automatically when the corresponding "_var" goes out of scope. * tests/Portable_Interceptors/Dynamic/interceptors.cpp: Corrected debugging message. The message coming from the server request interceptor incorrectly mentioned the client request interceptor. Sun Nov 19 18:16:41 2000 Carlos O'Ryan * tests/RTCORBA/Server_Protocol/Makefile: Add dependencies Sun Nov 19 19:11:19 2000 Angelo Corsaro * TAO_IDL/be_include/be_visitor_interface/proxy_brokers_ch.h: * TAO_IDL/be/be_visitor_interface/proxy_brokers_ch.cpp: Visitor that manages the generation of the code for the proxy broker in the client header. * TAO_IDL/be_include/be_visitor_interface/base_proxy_broker_ch.h: * TAO_IDL/be/be_visitor_interface/base_proxy_broker_ch.cpp: Visitor that generates the declaration for the proxy broker base class. * TAO_IDL/be_include/be_visitor_interface/remote_proxy_broker_ch.h: * TAO_IDL/be/be_visitor_interface/remote_proxy_broker_ch.cpp: Visitor that generates the declaration for the remote proxy broker. * TAO_IDL/be_include/be_visitor_interface/strategized_proxy_broker_sh: * TAO_IDL/be/be_visitor_interface/strategized_proxy_broker_sh.cpp: Visitor that generates the declaration for the stategized proxy broker. * TAO_IDL/be_include/be_visitor_interface/proxy_impls_ch.h: * TAO_IDL/be/be_visitor_interface/proxy_impls_ch.cpp: Visitor that manages the generation of the code for the proxy implementation in the client header. * TAO_IDL/be_include/be_visitor_interface/base_proxy_impl_ch.h: * TAO_IDL/be/be_visitor_interface/base_proxy_impl_ch.cpp: Visitor that generates the declaration for the proxy impl. base class. * TAO_IDL/be_include/be_visitor_interface/direct_proxy_impl_sh.h: * TAO_IDL/be/be_visitor_interface/direct_proxy_impl_sh.cpp: Visitor that generates the declaration for the proxy implementation tha uses the "DIRECT" strategy to perform the call to the servant. * TAO_IDL/be_include/be_visitor_interface/remote_proxy_impl_ch.h: * TAO_IDL/be/be_visitor_interface/remote_proxy_impl_ch.cpp: Visitor that generates the declaration for the proxy implementation tha uses the "REMOTE" strategy to perform the call to the servant. * TAO_IDL/be_include/be_visitor_interface/thru_poa_proxy_impl_sh.h: * TAO_IDL/be/be_visitor_interface/thru_poa_proxy_impl_sh.cpp: Visitor that generates the declaration for the proxy implementation tha uses the "THRUPOA" strategy to perform the call to the servant. * TAO_IDL/be_include/be_visitor_operation/inv_arglist.h: * TAO_IDL/be/be_visitor_operation/inv_arglist.cpp: This visitor generates the paramether list needed to perform and invocation on a given interface operation. * TAO_IDL/be_include/be_visitor_operation/proxy_impl_xh.h: * TAO_IDL/be/be_visitor_operation/proxy_impl_xh.cpp: Visitor that generates the operation signature for _any_ concrete proxy implementation. * TAO_IDL/be_include/be_visitor_operation/base_proxy_impl_ch.h: * TAO_IDL/be/be_visitor_operation/base_proxy_impl_ch.cpp: Visitor that generates the operation signature for the base_ proxy implementation. * TAO_IDL/be_include/be_interface.h: * TAO_IDL/be/be_interface.cpp: * TAO_IDL/be_include/be_interface_strategy.h: * TAO_IDL/be/be_interface_strategy.cpp: * TAO_IDL/be_include/be_codegen.h: * TAO_IDL/be/be_codegen.cpp: * TAO_IDL/be/be_visitor_factory.cpp: * TAO_IDL/be/be_visitor_attribute/attribute.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_interface/interface.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/interface_cs.cpp: * TAO_IDL/be/be_visitor_interface/interface_sh.cpp: * TAO_IDL/be/be_visitor_interface/interface_ss.cpp: * TAO_IDL/be/be_visitor_interface_fwd/interface_fwd_ci.cpp: * TAO_IDL/be/be_visitor_operation/arglist.cpp: * TAO_IDL/be/be_visitor_operation/interceptors_ch.cpp: Modified to support the new collocation scheme. * TAO_IDL/be_include/be_visitor_interface.h: * TAO_IDL/be/be_visitor_interface.cpp: * TAO_IDL/be_include/be_visitor_operation.h: * TAO_IDL/be/be_visitor_operation.cpp: Updated dependencies. * TAO_IDL/be_include/be_visitor_operation/operation_cs.h: * TAO_IDL/be/be_visitor_operation/operation_cs.cpp: * tao/MessagingC.cpp: * tao/MessagingC.h: * tao/MessagingC.i: * tao/PortableServer/MessagingS.cpp: * tao/PortableServer/MessagingS.h: Modified handcrafted code to reflect the new collocation scheme. * tao/corba.h: Added include directive for including the Remote_Object_Proxy_Iml. With this change in the TAO IDL compiler, the collocation scheme changes quite a bit from the former. Now for each IDL interface, along with the proxy class associated to the interface, are generated a seried of other class that are needed to respectively get the right proxy implementation to perform a call (Proxy Brokers) and perform the call (Proxy Impls). There are two different kind of proxy brokers, and three different kind of proxy implementation. The main difference with the previous collocation scheme is that now the "strategy" used to perform a call can change on a call-by-call basis. This flexability was added because it is needed to implement the forthcoming RT-CORBA implementation. Sun Nov 19 16:09:39 2000 Marina Spivak * tao/PortableServer/POA.h * tao/PortableServer/POA.i: Added back #if RTCORBA protections that Priyanka commented out for no apparent reason. This fixes minimum CORBA build problems. Sun Nov 19 13:05:51 2000 Carlos O'Ryan * performance-tests/Latency/dii_client.cpp: Remove debugging messages Sun Nov 19 12:42:27 2000 Carlos O'Ryan * orbsvcs/orbsvcs/Event/EC_Event_Channel.cpp: Destroy all components in the destroy() call, delaying until the destructor is invoked does not work well. * tests/DSI_Gateway/client.cpp: * tests/DSI_Gateway/gateway.cpp: * tests/DSI_Gateway/server.cpp: Fixed spelling errors in the error messages. Sun Nov 19 14:15:12 2000 Balachandran Natarajan * tao/DynamicInterface/DII_Invocation.h: * tao/DynamicInterface/DII_Invocation.inl: Inherited TAO_GIOP_DII_Deferred_Invocation from TAO_GIOP_Asynch_Invocation instead of TAO_GIOP_Invocation. * tao/Asynch_Invocation.h: * tao/Asynch_Invocation.cpp: Added a method start () in TAO_GIOP_Asynch_Invocation. Thanks to Jeff for helping me with this. This should fix the DII test failures that we have been experiencing lately on many platforms. Sun Nov 19 11:02:17 2000 DOC Group CVS Access * tests/RTCORBA/Client_Propagated/Makefile: * tests/RTCORBA/Client_Protocol/Makefile: * tests/RTCORBA/Server_Declared/Makefile: * tests/RTCORBA/Server_Protocol/Makefile: Updated dependencies. (Priyanka) Sun Nov 19 07:54:43 2000 Balachandran Natarajan * tests/*/Makefile: * performance-tests/*/Makefile: * examples/*/Makefile: Updated dependencies. Sun Nov 19 07:06:21 2000 Balachandran Natarajan * tao/Cache_Entries.inl: Added checks for allocation failures. Sun Nov 19 00:03:21 2000 Marina Spivak * tao/Makefile.bor Sat Nov 18 23:30:00 2000 Balachandran Natarajan * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connect.cpp: Fixed compile errors that came up because of the changes Sat Nov 18 18:11:42 2000 Marina Spivak Sat Nov 18 19:50:21 2000 Carlos O'Ryan * orbsvcs/tests/Event_Latency/Event_Latency.h: * orbsvcs/tests/Event_Latency/Event_Latency.cpp: Fixed memory management problems, somehow it used to work. * performance-tests/Latency/deferred_synch_client.dsp: * performance-tests/Latency/st_server.dsp: Add missing library. Sat Nov 18 20:36:54 2000 Marina Spivak * tao/Strategies/UIOP_Connector.h: Fixed typo. Sat Nov 18 19:23:44 2000 Marina Spivak * tao/Base_Connection_Property.cpp (is_equivalent) * tao/Private_Connection_Descriptor.cpp (is_equivalent): Added const_cast. Sat Nov 18 19:00:29 2000 Marina Spivak * tao/*/Makefile * tao/Makefile.bor: Added new file, updated dependencies. Sat Nov 18 18:11:42 2000 Marina Spivak * tao/Base_Connection_Property.cpp: - - changed cast be more of the most derived type and also check for its failure. - - added a check for allocation failure. * tao/Connection_Descriptor_Interface.h: Added missing TAO_Export. * tao/Private_Connection_Descriptor.h * tao/Private_Connection_Descriptor.inl * tao/Private_Connection_Descriptor.cpp Concrete connection descriptor for identifying private connections (of the RTCORBA::PrivateConnectionPolicy fame) and storing/looking them up in the Connection Cache. * tao/Pluggable.h (connect) * tao/IIOP_Connector.h (connect) * tao/IIOP_Connector.cpp (connect) * tao/Strategies/SHMIOP_Connector.h (connect) * tao/Strategies/SHMIOP_Connector.cpp (connect) * tao/Strategies/UIOP_Connector.h (connect) * tao/Strategies/UIOP_Connector.cpp (connect): Changed the method argument from TAO_Base_Connection_Property* to TAO_Connection_Descriptor_Interface* due to Sat Nov 18 12:31:37 2000 Balachandran Natarajan * tao/Pluggable.cpp: Removed #include "tao/Base_Connection_Property.h" * tao/Connector_Registry.h (connect) * tao/Connector_Registry.cpp (connect): Instead of taking TAO_Endpoint* as an argument to , the registry now takes TAO_Connection_Descriptor_Interface*. This gives classes that use the registry and have more knowledge, i.e., Invocation, control over creating the right descriptor for looking up connection in Connection Cache. * tao/Invocation.cpp (start): Added support for RTCORBA::PrivateConnectionPolicy. * tao/TAO.dsp * tao/TAO_Static.dsp: Added new files. Sat Nov 18 14:24:22 2000 Carlos O'Ryan * tests/RTCORBA/Client_Protocol/Makefile: Update dependencies. * tests/RTCORBA/Server_Declared/Makefile: Fixed typo in library name. * orbsvcs/orbsvcs/Event/EC_Dispatching_Task.i: Fixed default size in Event Service queues. Sat Nov 18 14:12:30 2000 Balachandran Natarajan * tao/Makefile: Added the new file. Sat Nov 18 13:40:06 2000 Balachandran Natarajan * tao/Base_Connection_Property.inl: * tao/Strategies/UIOP_Connector.cpp: * tao/Strategies/UIOP_Connect.cpp: Fixed compiler errors and warnings in in gcc. Sat Nov 18 12:31:37 2000 Balachandran Natarajan * tao/Connection_Descriptor_Interface.h: * tao/Connection_Descriptor_Interface.cpp: * tao/Connection_Descriptor_Interface.inl: * tao/Base_Connection_Property.h: * tao/Base_Connection_Property.cpp: Added a abstract base class to the class TAO_Base_Connection_Property. The abstract base class would have the endpoint information and provide 3 pure virtual methods that need to implemented. The reason for the change is to make the property classes to be extensible, so that we could lookup connections based on properties in addition to endpoint information. With the existing setup, if the Connection Cache had different types connections ie. connections with endpoint information and connections with QoS properties (got by deriving from the TAO_Base_Connection_Property), there is a possibility that the Hash Map could return the base class in place of the most derived class. This is a very subtle problem. The above restructuring will help to avoid this subtle problem. Thanks to Marina for pointing out this problem. * tao/Connection_Cache_Manager.h: * tao/Connection_Cache_Manager.cpp: * tao/Connection_Cache_Manager.inl: * tao/Cache_Entries.h: * tao/Cache_Entries.inl: * tao/Cache_Entries.cpp: Made changes to accomodate the above change. Further, == operator in TAO_Cache_ExtId would call the is_equivalent () method. * tao/IIOP_Connector.cpp: * tao/Strategies/SHMIOP_Connector.cpp: * tao/Strategies/SHMIOP_Connect.cpp: * tao/Strategies/UIOP_Connector.cpp: Added the header file Base_Conection_Property.h * tao/TAO.dsp * tao/TAO_Static.dsp: Added the new file Sat Nov 18 10:40:32 2000 Ossama Othman * docs/releasenotes/index.html: Updated the pluggable protocol release notes. Sat Nov 18 09:41:28 2000 Priyanka Gontla * docs/tutorials/Quoter/Simple/Client/index.html: * docs/tutorials/Quoter/Naming_Service/index.html: * docs/releasenotes/orbcore.html: * docs/releasenotes/index.html: * docs/Options.html: Updated to replace iioploc with corbaloc and related information. * tao/ORB_Core.h : * tao/ORB_Core.cpp: Added a new function set_resource_factory which is called by the advanced_resource.cpp to set TAO_ORB_Core::resource_factory_name_ to Advanced_Resource_Factory which is 'Resource_Factory' by default. * tao/Strategies/advanced_resource.cpp : * tao/Strategies/advanced_resource.h : Added a new class whose constructor calls TAO_ORB_Core::set_resource_factory passing it the value of the new advanced resource_factory. This change automates the loading of the default or advanced resource factory bu simply linking the TAO_Strategies library and including the header file 'tao/Strategies/advanced_resource.h' in the application. * performance-tests/RTCorba/Multiple_Endpoints/Orb_Per_Priority/server.conf: * performance-tests/RTCorba/Multiple_Endpoints/Orb_Per_Priority/Makefile: * performance-tests/RTCorba/Multiple_Endpoints/Endpoint_Per_Priority/Makefile: * performance-tests/Latency/server.cpp: * performance-tests/Latency/client.cpp: * performance-tests/Latency/client-st-muxed.conf: * performance-tests/Latency/client-st-exclusive.conf: * performance-tests/Latency/client-mt-exclusive.conf: * performance-tests/Latency/st_client.conf: * performance-tests/Latency/st_server.conf: * performance-tests/Latency/Makefile: * performance-tests/Cubit/TAO/IDL_Cubit/collocation/svc.conf: * performance-tests/Cubit/TAO/IDL_Cubit/client.cpp : * performance-tests/Cubit/TAO/IDL_Cubit/server.cpp : * performance-tests/Cubit/TAO/IDL_Cubit/Makefile : * performance-tests/Cubit/TAO/IDL_Cubit/svc.conf : * performance-tests/Cubit/TAO/MT_Cubit/svc.conf: * performance-tests/Cubit/TAO/DII_Cubit/Makefile : * tests/Param_Test/Makefile: * tests/NestedUpcall/Simple/svc.conf: * tests/NestedUpcall/Simple/Makefile: * tests/NestedUpcall/MT_Client_Test/client.conf: * tests/Leader_Followers/Makefile : * tests/Leader_Followers/client.cpp : * tests/Leader_Followers/server.cpp : * tests/Endpoint_Per_Priority/server.cpp: * tests/Endpoint_Per_Priority/client.cpp: * tests/Endpoint_Per_Priority/Makefile : * tests/Leader_Followers/single_threaded_event_loop.conf: * tests/RTCORBA/Server_Protocol/svc.conf: * tests/RTCORBA/Server_Protocol/server_uiop.conf: * tests/RTCORBA/Server_Protocol/server_shmiop.conf: * tests/RTCORBA/Server_Protocol/server_reverse_nt.conf: * tests/RTCORBA/Server_Protocol/server_reverse.conf: * tests/RTCORBA/Server_Protocol/server_nt.conf: * tests/RTCORBA/Server_Protocol/server_iiop.conf: * tests/RTCORBA/Server_Protocol/server.conf: * tests/RTCORBA/Server_Protocol/client_svc.conf: * tests/RTCORBA/Server_Protocol/client_nt.conf: * tests/RTCORBA/Server_Protocol/client.cpp: * tests/RTCORBA/Server_Protocol/server.cpp: * tests/RTCORBA/Server_Protocol/Makefile: * tests/RTCORBA/Server_Declared/server.conf: * tests/RTCORBA/Server_Declared/client.cpp: * tests/RTCORBA/Server_Declared/server.cpp: * tests/RTCORBA/Server_Declared/Makefile: * tests/RTCORBA/Client_Propagated/svc.conf: * tests/RTCORBA/Client_Propagated/client.cpp: * tests/RTCORBA/Client_Propagated/server.cpp: * tests/RTCORBA/Client_Propagated/Makefile: * tests/RTCORBA/Client_Protocol/svc_unix.conf: * tests/RTCORBA/Client_Protocol/svc_nt.conf: * tests/RTCORBA/Client_Protocol/svc.conf: * tests/RTCORBA/Client_Protocol/svc_win32.conf: * tests/RTCORBA/Client_Protocol/client.conf: * tests/RTCORBA/Client_Protocol/client.cpp: * tests/RTCORBA/Client_Protocol/server.cpp: * tests/RTCORBA/Client_Protocol/Makefile: Updated the Makefiles to link TAO_Strategies, include 'tao/Strategies/advanced_resource.h' in client and server implementation files and updated the conf files so that there is no differentation for using the default or advaned strategies. Fri Nov 17 16:33:39 2000 Ossama Othman * docs/interceptors.html: Updated the Portable Interceptor release notes with information about all of the recently implemented Portable Interceptor features and improvements. Fri Nov 17 14:48:12 2000 Carlos O'Ryan * orbsvcs/tests/LoadBalancing/Makefile: Fixed realclean rule. * orbsvcs/tests/tests_svc_loader/Makefile: Fixed 'typos' in my last fix to stop the build under minimum corba. Fri Nov 17 14:30:42 2000 Darrell Brunsch * tests/Param_Test/client.bor: * tests/Param_Test/server.bor: * tests/RTCORBA/Banded_Connections/client.bor: * tests/RTCORBA/Banded_Connections/server.bor: Added IDLFILES to these makefiles. Fri Nov 17 10:59:05 2000 Carlos O'Ryan * tao/DynamicInterface/Dynamic_Implementation.cpp: Fixed incorrect use of exception macros. Fri Nov 17 10:49:21 2000 Darrell Brunsch * orbsvcs/orbsvcs/SSLIOP.dsp: Added ssleay32.lib to the list of linking libraries, since I'm guessing inlining causes SSLIOP to need to link to OpenSSL. Fri Nov 17 10:11:17 2000 Carlos O'Ryan * tao/corba.h: * TAO_IDL/be/be_codegen.cpp: Removed reference to the PortableServer library in the corba.h file. Only the generated skeletons need the ServerRequestInfo.h file, so we generate an explicit #include, instead of taxing the whole world with the extra file. * orbsvcs/TAO_Service/TAO_Service.cpp: Fixed warning * orbsvcs/tests/FaultTolerance/IOGR/Makefile: * orbsvcs/tests/FaultTolerance/IOGRManipulation/Makefile: Disable if the right components are not in * orbsvcs/tests/LoadBalancing/Makefile: Disable if the right components are not in * orbsvcs/tests/LoadBalancing/Hash_Replica_i.h: * orbsvcs/tests/LoadBalancing/Hash_Replica_i.cpp: Fixed warnings and errors due to exception handling stuff. * orbsvcs/tests/ior_corbaname/status_i.h: * orbsvcs/tests/ior_corbaname/status_i.cpp: * orbsvcs/tests/ior_corbaname/client.cpp: Fixed warnings. * orbsvcs/tests/tests_svc_loader/Makefile: * orbsvcs/tests/tests_svc_loader/tests_svc_loader.cpp: * tao/Asynch_Invocation.h: * tao/Asynch_Invocation.cpp: Some of the code was not compiled under minimum corba, but was used anyway if other variables were set. Don't use it under minimum CORBA either. * tao/CORBALOC_Parser.h: * tao/CORBALOC_Parser.cpp: * tao/CORBANAME_Parser.h: * tao/CORBANAME_Parser.cpp: * tao/ior_corbaloc_export.h: * tao/ior_corbaname_export.h: Fixed excessive #includes. Remove obsolete #includes * tao/Makefile: * tao/Remote_Object_Proxy_Impl.cpp: Never include "corba.h" directly in the tao library, it introduces deadly cyclic dependencies. * tao/DynamicAny/Makefile: * tao/DynamicInterface/Makefile: * tao/IORManipulation/Makefile: * tao/IORTable/Makefile: * tao/PortableServer/Makefile: * tao/Strategies/Makefile: Update dependencies due to the removed files. * tests/ior_corbaloc/ior_corbaloc_client_i.cpp: Fixed warnings. Fri Nov 17 10:59:09 2000 Jeff Parsons * tao/DynamicInterface/DynamicImplementation.cpp: * tao/DynamicInterface/Server_Request.cpp: Fixed DSI exception handling. Thanks to Mateu Batle for reporting this bug. Fri Nov 17 08:23:03 2000 Carlos O'Ryan * tests/Makefile: Removed ior_corbaloc, it uses the Naming Service, and would take me too long to fix it. * orbsvcs/TAO_Service/TAO_Service.cpp: * orbsvcs/tests/Notify/performance-tests/Throughput/Throughput.cpp: Fixed warnings. Fri Nov 17 07:36:03 2000 Carlos O'Ryan * tests/DSI_Gateway/run_test.pl: Fixed bug in script, it would not exit correctly if the gateway was frozen. Fri Nov 17 01:07:36 2000 Ossama Othman * tao/ORBInitInfo.cpp (arguments): Made string sequence allocation exception safe by using a CORBA::StringSeq_var. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connect.cpp (handle_input_i, fetch_handle): Added these missing method implementations (client side). Fri Nov 17 00:46:37 2000 Darrell Brunsch * orbsvcs/orbsvcs/orbsvcs.dsw: Added SSLIOP. * orbsvcs/orbsvcs/SSLIOP.dsp: Removed some unnecessary defines. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connect.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp: Changed a couple of references to TAO_IIOP_Client_Transport to TAO_SSLIOP_Client_Transport. Fri Nov 17 09:21:00 2000 Johnny Willemsen * tests/*/*.bor: * examples/*/*.bor: Added to several Borland C++ Builder makefiles the IDLFILES section so that the generated client and server stubs are deleted when doing a clean Thu Nov 16 23:15:41 2000 Marina Spivak * tests/RTCORBA/Banded_Connections/Makefile: Generated dependencies. * tests/RTCORBA/Banded_Connections/server.cpp: Output improvements. * tests/RTCORBA/Banded_Connections/client.conf * tests/RTCORBA/Banded_Connections/server.conf * tests/RTCORBA/Banded_Connections/run_test.pl * tests/RTCORBA/Banded_Connections/bands.unix * tests/RTCORBA/Banded_Connections/bands.nt Updated perl script to work on NT and unix. * tao/PortableServer/Object_Adapter.cpp (pre_invoke): Added debugging message. Thu Nov 16 23:13:16 2000 Darrell Brunsch * tests/Param_Test/server.dsp: Fixed the Win32 Release inclusion of TAO_Strategies.lib. It was missing the ".lib" which made MSVC think that it was an .obj instead. Thu Nov 16 19:29:00 2000 Ossama Othman * orbsvcs/orbsvcs/SSLIOP_Acceptor.cpp: * orbsvcs/orbsvcs/SSLIOP_Acceptor.h: * orbsvcs/orbsvcs/SSLIOP_Connect.cpp: * orbsvcs/orbsvcs/SSLIOP_Connect.h: * orbsvcs/orbsvcs/SSLIOP_Connector.cpp: * orbsvcs/orbsvcs/SSLIOP_Connector.h: * orbsvcs/orbsvcs/SSLIOP_Endpoint.cpp: * orbsvcs/orbsvcs/SSLIOP_Endpoint.h: * orbsvcs/orbsvcs/SSLIOP_Endpoint.i: * orbsvcs/orbsvcs/SSLIOP_Factory.h: * orbsvcs/orbsvcs/SSLIOP_Profile.cpp: * orbsvcs/orbsvcs/SSLIOP_Profile.h: * orbsvcs/orbsvcs/SSLIOP_Profile.i: * orbsvcs/orbsvcs/SSLIOP_Transport.cpp: * orbsvcs/orbsvcs/SSLIOP_Transport.h: Removed all "ACE_HAS_SSL" protection. It isn't needed since SSLIOP is in a separate library altogether. * orbsvcs/orbsvcs/SSLIOP_Factory.cpp: Added ACE_STATIC_SVC_REQUIRE macro to ensure that the SSLIOP factory is registered with the Service Configurator when linking statically. Thu Nov 16 19:06:36 2000 Darrell Brunsch * orbsvcs/ImplRepo_Service/Options.cpp: Moved orb_argv_pos declaration outside of the for loop because compilers treat the scoping differently. * orbsvcs/ImplRepo_Service/README.txt: Changed the docs on the INS example to use IORTable. Thu Nov 16 18:38:12 2000 Carlos O'Ryan * tao/orbconf.h: Enable UIOP and SHMIOP even on minimum CORBA builds. This is not a footprint problem since they are on a separate library now, plus this fixes a warning ;-) * tests/IDL_Test/Makefile: Use the global TAO_IDLFLAGS (plus the local flags), otherwise cross-compilation fails. Thu Nov 16 17:30:04 2000 Carlos O'Ryan * Makefile: Add show_release_tag_files pseudo-target, if not present we get a warning in the release. Thu Nov 16 16:36:11 2000 Carlos O'Ryan * docs/INS.html: Removed brittle reference to the ACE_Hash_Map_Manager documentation. It was not particularly useful, and the document can move around quite a bit. Thu Nov 16 18:21:23 2000 Marina Spivak * tests/RTCORBA/Makefile * tests/RTCORBA/Makefile.bor * tests/RTCORBA/RTCORBA_tests.dsw * tests/RTCORBA/Banded_Connections/client.cpp * tests/RTCORBA/Banded_Connections/client.dsp * tests/RTCORBA/Banded_Connections/client.bor * tests/RTCORBA/Banded_Connections/server.cpp * tests/RTCORBA/Banded_Connections/server.bor * tests/RTCORBA/Banded_Connections/server.dsp * tests/RTCORBA/Banded_Connections/server.conf * tests/RTCORBA/Banded_Connections/Makefile * tests/RTCORBA/Banded_Connections/Makefile.bor * tests/RTCORBA/Banded_Connections/README * tests/RTCORBA/Banded_Connections/run_test.pl * tests/RTCORBA/Banded_Connections/test.idl: Added a test for RTCORBA::PriorityBandedConnectionPolicy. Thu Nov 16 16:16:47 2000 Ossama Othman * tao/TAO.dsp: * tao/TAO_Static.dsp: Added Object_Ref_Table.* to these project files. Thu Nov 16 14:50:04 2000 Ossama Othman * tao/Object_Ref_Table.h: * tao/Object_Ref_Table.cpp: New table to map ID to destringified object reference. This table is used by the ORBInitInfo::register_initial_reference() method. The class is necessary to allow local objects to be accessible via the resolve_initial_references() mechanism. Since local object references cannot be stringified, they cannot be placed into the initial reference map that maps object key/name to stringified object reference. Hence, another table was needed. * tao/IORInfo.h: * tao/ORBInitInfo.h: Destructor is now protected to force instantiation on the heap since it is reference counted. * tao/ORBInitInfo.cpp (register_initial_reference): Implemented this method using the newly added object reference table in the ORB. * tao/ORB_Core.h: Added TAO_Object_Ref_Table attribute. References to such things as local objects are stored there. Completed doxygenation of this header. * tao/ORB_Core.i (object_ref_table): New accessor method to the underlying object reference table. * tao/ORB_Core.cpp (TAO_ORB_Core): Initialize the object reference table in the base member initializer list. * tao/ORB.cpp (resolve_initial_references): Query the newly added object reference table in addition to the existing object reference resolution mechansims. * tao/Makefile: * tao/Makefile.bor: Added Object_Ref_Table.* to these Makefiles. Thu Nov 16 13:19:02 2000 Carlos O'Ryan * examples/AMI/FL_Callback/Makefile: * examples/AMI/FL_Callback/Peer_i.cpp: * examples/AMI/FL_Callback/Progress_i.cpp: * orbsvcs/Makefile: * orbsvcs/TAO_Service/Makefile: * orbsvcs/examples/Makefile: * orbsvcs/examples/Security/Send_File/Makefile: * orbsvcs/orbsvcs/Makefile: * orbsvcs/tests/Makefile: * orbsvcs/tests/FaultTolerance/Makefile: * orbsvcs/tests/LoadBalancing/Makefile: * orbsvcs/tests/Notify/Makefile: * orbsvcs/tests/Notify/performance-tests/Makefile: * orbsvcs/tests/Notify/performance-tests/RedGreen/Makefile: * orbsvcs/tests/Notify/performance-tests/Throughput/Makefile: * orbsvcs/tests/ior_corbaname/Makefile: * orbsvcs/tests/tests_svc_loader/Makefile: * tests/Makefile: * tests/QtTests/Makefile: * tests/QtTests/client.cpp: * tests/Xt_Stopwatch/Makefile: * tests/ior_corbaloc/Makefile: Update makefiles, several directories were not listed in their top-level Makefiles, and they were not compiled nor was their dependencies ever updated. * Benchmark/Marshal_Test/Orbix/Makefile: * Benchmark/Marshal_Test/Orbix/client.cpp: * Benchmark/Marshal_Test/Orbix/marshal.h: * Benchmark/Marshal_Test/Orbix/marshal.idl: * Benchmark/Marshal_Test/Orbix/orbix_marshal_client.cpp: * Benchmark/Marshal_Test/Orbix/orbix_marshal_client.h: * Benchmark/Marshal_Test/Orbix/orbix_marshal_client.i: * Benchmark/Marshal_Test/Orbix/orbix_marshal_impl.cpp: * Benchmark/Marshal_Test/Orbix/orbix_marshal_impl.h: * Benchmark/Marshal_Test/Orbix/orbix_marshal_impl.i: * Benchmark/Marshal_Test/Orbix/orbix_marshal_server.cpp: * Benchmark/Marshal_Test/Orbix/orbix_marshal_server.h: * Benchmark/Marshal_Test/Orbix/orbix_marshal_server.i: * Benchmark/Marshal_Test/Orbix/run_client: * Benchmark/Marshal_Test/Orbix/run_dsi: * Benchmark/Marshal_Test/Orbix/run_dsi_server: * Benchmark/Marshal_Test/Orbix/run_ssi: * Benchmark/Marshal_Test/Orbix/run_ssi_server: * Benchmark/Marshal_Test/Orbix/server.cpp: * Benchmark/Marshal_Test/TAO/Makefile: * Benchmark/Marshal_Test/TAO/client.cpp: * Benchmark/Marshal_Test/TAO/marshal.idl: * Benchmark/Marshal_Test/TAO/marshalC.cpp: * Benchmark/Marshal_Test/TAO/marshalC.h: * Benchmark/Marshal_Test/TAO/marshalS.cpp: * Benchmark/Marshal_Test/TAO/marshalS.h: * Benchmark/Marshal_Test/TAO/server.cpp: * Benchmark/Marshal_Test/TAO/tao_marshal_client.cpp: * Benchmark/Marshal_Test/TAO/tao_marshal_client.h: * Benchmark/Marshal_Test/TAO/tao_marshal_client.i: * Benchmark/Marshal_Test/TAO/tao_marshal_impl.cpp: * Benchmark/Marshal_Test/TAO/tao_marshal_impl.h: * Benchmark/Marshal_Test/TAO/tao_marshal_impl.i: * Benchmark/Marshal_Test/TAO/tao_marshal_server.cpp: * Benchmark/Marshal_Test/TAO/tao_marshal_server.h: * Benchmark/Marshal_Test/TAO/tao_marshal_server.i: * Benchmark/Marshal_Test/VisiBroker/Makefile: * Benchmark/Marshal_Test/VisiBroker/client.cpp: * Benchmark/Marshal_Test/VisiBroker/marshal.idl: * Benchmark/Marshal_Test/VisiBroker/run_client: * Benchmark/Marshal_Test/VisiBroker/run_server: * Benchmark/Marshal_Test/VisiBroker/server.cpp: * Benchmark/Marshal_Test/VisiBroker/visi_marshal_client.cpp: * Benchmark/Marshal_Test/VisiBroker/visi_marshal_client.h: * Benchmark/Marshal_Test/VisiBroker/visi_marshal_client.i: * Benchmark/Marshal_Test/VisiBroker/visi_marshal_impl.cpp: * Benchmark/Marshal_Test/VisiBroker/visi_marshal_impl.h: * Benchmark/Marshal_Test/VisiBroker/visi_marshal_impl.i: * Benchmark/Marshal_Test/VisiBroker/visi_marshal_server.cpp: * Benchmark/Marshal_Test/VisiBroker/visi_marshal_server.h: * Benchmark/Marshal_Test/VisiBroker/visi_marshal_server.i: * Benchmark/benchmark/Makefile: * Benchmark/benchmark/driver.cpp: * Benchmark/benchmark/driver.h: * Benchmark/benchmark/marshal_options.cpp: * Benchmark/benchmark/marshal_options.h: * Benchmark/benchmark/marshal_options.i: * Benchmark/benchmark/marshal_proxy.cpp: * Benchmark/benchmark/marshal_proxy.h: * Benchmark/benchmark/marshal_proxy.i: * Benchmark/benchmark/marshal_results.cpp: * Benchmark/benchmark/marshal_results.h: * Benchmark/benchmark/marshal_results.i: Remove everything in these directories. The test do not compile, we don't have access to the other ORBs, and in general they just confuse people. Thu Nov 16 11:29:27 2000 Darrell Brunsch * orbsvcs/ImplRepo_Service/README.txt: Updated the NT Service documentation page. * docs/implrepo/index.html: * docs/implrepo/usersguide.html: Changed these to pointers to the doxygen documentation. Thu Nov 16 11:23:44 2000 Ossama Othman * tao/Cleanup_Func_Registry.cpp (cleanup): Make sure that the cleanup function pointer is non-zero prior to invoking it. Thu Nov 16 09:36:43 2000 Carlos O'Ryan * orbsvcs/orbsvcs/Makefile: * performance-tests/Callback/Makefile: * tests/Exposed_Policies/Makefile: * tests/Policies/Makefile: Fixed or add realclean target, the directory was not completely clean after a 'make realclean'. Thu Nov 16 09:32:04 2000 Darrell Brunsch * tao/DynamicInterface/Dynamic_Implementation.cpp: In TAO_DynamicImplementation::_dispatch, removed the environment argument from init_reply (). Thu Nov 16 11:16:17 2000 Jeff Parsons * tao/Asynch_Invocation.cpp: * tao/Asynch_Invocation.h: * tao/Asynch_Invocation.i: * tao/Asynch_Reply_Dispatcher.cpp: * tao/Asynch_Reply_Dispatcher.h: * tao/Asynch_Reply_Dispatcher.i: Changed the logic of the #if preprocessor directives to avoid build errors on old g++, where CORBA messaging code is not compiled. Base classes have been added to the above files recently that are not used by messaging, but are used by DII. Thu Nov 16 08:13:42 2000 Ossama Othman * VERSION: Corrected TAO mailing list address. It should be "tao-users," not "ace-users." Thu Nov 16 10:23:43 2000 Jeff Parsons * tao/GIOP_Messsage_Acceptors.cpp: * tao/GIOP_Message_Lite.cpp: * tao/GIOP_Utils.cpp: * tao/GIOP_Utils.h: Removed temporary and call to conversion function in TAO_GIOP_Message_Acceptors::send_reply_exception() and TAO_GIOP_Message_Lite::send_reply_exception(). These were the only uses of the conversion function, so that was removed from TAO_GIOP_Utils as well. Thu Nov 16 09:57:32 2000 Jeff Parsons * tao/TAO_Server_Request.cpp: * tao/TAO_Server_Request.h: Removed the environment argument from init_reply() - it's not used. * tao/PortableServer/DomainS.cpp: * tao/PortableServer/ImplRepoS.cpp: * tao/PortableServer/MessagingS.cpp: * tao/PortableServer/PolicyS.cpp: * tao/orbsvcs/IFR_Service/InterfaceS.cpp: Modified these files to conform to the change above. * TAO_IDL/be/be_visitor_interface/interface_ss.cpp: * TAO_IDL/be/be_visitor_operation/operation_ss.cpp: Modified code generation to conform to the change above. Thu Nov 16 08:15:37 2000 Balachandran Natarajan * tao/InterfaceC.cpp: * tao/Object.cpp: * tao/DomainC.cpp: The last set of changes broke the code guarded by TAO_HAS_INTERFACE_REPOSITORY == 1. Fixed the problem. Wed Nov 15 21:52:10 2000 Ossama Othman * tao/ORB_Table.cpp (bind): Made this method exception safe by storing the duplicated ID in a CORBA::String_var until it safe to transfer ownership to the ORB table. * orbsvcs/orbsvcs/SSLIOP.idl: Added ASN.1 (DER) certificate typedefs. These typedefs are defined by the Firewall specification. They are used by the soon to be added SSLIOP::Current object to return the peer certificate chain for the current SSL session as a sequence of octet sequences. Added new TAO-specific SSLIOP::Current interface definition. This interface can be used to obtain SSL session related information about the current execution context. Its implementation will soon be added. Wed Nov 15 21:35:17 2000 Balachandran Natarajan This set of changes have been motivated by the CORBA 2.4 spec. The spec specifies that the GIOP request header should not be padded to a 8 byte boundary, if there is no information or data that is sent along. In other words, Request headers for operations with no arguments should not be padded to a 8 byte boundary. Actually, the CORBA 2.4 spec has specified this only for the request header. But, the same argument has been extended to the reply header too. ORBIX 2000 already does this. If the operation returns a void and has no arguments, the reply header is not padded to an 8 byte boundary. So, the same has been done for TAO too. * TAO_IDL/be/be_visitor_operation/ami_cs.cpp: * TAO_IDL/be/be_visitor_operation/operation_cs.cpp: Set a flag for one of the arguments to the constructors of TAO_GIOP_invocation classes. The flag is set 1 if there are any arguments that are marshalled and 0 if there are no arguments that are marshalled. * TAO_IDL/be/be_visitor_operation/operation_ss.cpp: Added a line of generated code to set a flag in the TAO_Server_Request class if there are no arguments and return types for the operation that need to be marshalled. * tao/Invocation.h: * tao/Invocation.cpp: * tao/Invocation.i: * tao/Asynch_Invocation.h: * tao/Asynch_Invocation.cpp: * tao/Asynch_Invocation.i: Added an extra argument to the TAO_GIOP_Invocation classes. This argument is passed to the constructor of TAO_Operation_details. * tao/DynamicInterface/DII_Invocation.h: * tao/DynamicInterface/DII_Invocation.inl: * tao/DynamicInterface/Request.cpp: Made the above changes to these classes too. * tao/operation_details.h: * tao/operation_details.i: Added a argument to the constructor. Stored the argument in the class and provided an accessor for it. * tao/GIOP_Message_Accept_State.cpp: * tao/GIOP_Message_Acceptors.cpp: * tao/GIOP_Message_Connectors.cpp: Added a check to check to see whether the GIOP message is going to carry any data before we align the pointer to an 8 byte boundary. * tao/Pluggable_Messaging_Utils.h: * tao/TAO_Server_Request.h: * tao/TAO_Server_Request.cpp * tao/TAO_Server_Request.i: Added an extra flag and accessor for a flag that would be set by the generated code to 0 if there are no data that needs to be marshalled. * tao/CORBANAME_Parser.cpp: * tao/DomainC.cpp: * tao/PolicyC.cpp: * tao/PortableServer/ImplRepoC.cpp: Changed the arguments for the TAO_GIOP_invocation calls. * tao/IIOP_Connector.h: * tao/IIOP_Connector.cpp: * tao/Strategies/SHMIOP_Connector.cpp * tao/Strategies/SHMIOP_Connector.h * tao/Strategies/UIOP_Connector.cpp * tao/Strategies/UIOP_Connector.h: Totally unrelated to the above change. Added default constructors and derstructors as g++2.7.2 seems to be looking for it. Wed Nov 15 19:11:28 2000 Ossama Othman * orbsvcs/orbsvcs/Security.idl: * orbsvcs/orbsvcs/SecurityAdmin.idl: * orbsvcs/orbsvcs/SecurityLevel1.idl: * orbsvcs/orbsvcs/SecurityLevel2.idl: * orbsvcs/orbsvcs/SecurityReplaceabpe.idl: Updated against Security Service 1.8 final specification (security/00-11-03). Wed Nov 15 18:45:45 2000 Ossama Othman * tao/ClientRequestInfo.cpp (target, operation): * tao/PortableServer/ServerRequestInfo.cpp (operation): According to the C++ mapping, the caller is responsible for releasing returned values for both these cases (an object reference and a string, respectively). These methods now return duplicated value. This is the correct behavior. Wed Nov 15 18:38:31 2000 Carlos O'Ryan * */Makefile*: Update dependencies again. Always double check dependencies so that they look like this for generated files: .obj/Naming_Context_Interface.o [snip, snip] .shobj/Naming_Context_Interface.o: \ Naming/Naming_Context_Interface.cpp \ Naming/Naming_Context_Interface.h \ $(ACE_ROOT)/ace/pre.h \ CosNamingS.h \ CosNamingC.h \ if the absolute path shows up, or the .shobj or .obj directories are missing the the dependencies are broken. Wed Nov 15 10:46:24 2000 Ossama Othman * tao/ORBInitInfo.cpp: Added zero ORB core pointer checks. If the ORB core has been set to set zero by CORBA::ORB_init(), then ORB initialization is complete, and throw a CORBA::OBJECT_NOT_EXIST exception as stipulated by the Portable Interceptor specification. Thanks to Carlos for pointing out this check was missing. Wed Nov 15 09:56:21 2000 Carlos O'Ryan * tao/ORB_Core.h: * tao/ORB_Core.i: * tao/ORB_Core.cpp: Fix inconsistencies in the location of the timeout hooks. In some places it was inside a TAO_HAS_RELATIVE_ROUNDTRIP_TIMEOUT_POLICY, it other cases it ignored the pragma completely. Similar problems with the IOR interceptor accessors. * tao/PolicyFactory_Registry.h: Add missing #include * tao/Cleanup_Func_Registry.cpp: Fixed instantiation pragma Wed Nov 15 11:17:03 2000 Balachandran Natarajan * tao/Cleanup_Func_Registry.cpp: Added a missing a template instantiation for ACE_Array_Base * tao/ORB_Core.cpp: Added a missing template instantiation of ACE_Array_Base * tao/ORBInitInfo.cpp: Fixed a warning in gcc build Wed Nov 15 08:35:45 2000 Carlos O'Ryan * orbsvcs/orbsvcs/FaultTolerance/FT_PolicyFactory.h: To use the export macro we must #include the fault_tol_export.h file. Tue Nov 15 06:11:05 2000 Balachandran Natarajan * orbsvcs/orbsvcs/FaultTolerance/FT_PolicyFactory.h: Added the missing export macro. Wed Nov 15 03:57:26 2000 Ossama Othman * tao/Profile.cpp (add_tagged_component): Removed throw spec so that the method signature matches the declaration in Profile.h. Reported by Johnny Willemsen Wed Nov 15 03:51:53 2000 Ossama Othman * tao/IORInfo.cpp (add_ior_component_to_profile): In accordance with the PortableInterceptor specification, throw a CORBA::BAD_PARAM exception if no profile matches the given ProfileId. * tao/Profile.cpp (verify_orb_configuration, verify_profile_version): Updated comments that explain why a CORBA::BAD_PARAM exception is thrown. CORBA::BAD_PARAM is thrown in accordance with the PortableInterceptor spec. Wed Nov 15 03:39:56 2000 Ossama Othman * tao/ORB_Core.cpp (establish_components): According to the Portable Interceptors specification, IORInterceptor::establish_components() must not throw an exception. If it does, then the ORB is supposed to ignore it and continue processing the remaining IORInterceptors, so we now catch any exception and ignore it. Wed Nov 15 02:20:56 2000 Ossama Othman * tao/ORB_Core.i (tss_cleanup_funcs): Added missing "ACE_INLINE" keyword. Wed Nov 15 02:13:27 2000 Ossama Othman * tao/Interceptor_List.cpp: Made IORInterceptor support visible even if TAO_HAS_INTERCEPTORS == 0. However, IORInterceptor support will soon be disabled for the Minimum CORBA configuration. Wed Nov 15 01:48:29 2000 Ossama Othman * tao/Any.cpp (operator=): Removed redundant zero pointer checks. The delete() operator already performs zero pointer checks. * tao/Messaging_ORBInitializer.cpp (register_policy_factories): * tao/RT_ORBInitializer.cpp (register_policy_factories): The PolicyFactory registry duplicates policy factories upon registration. Removed call to PolicyFactory::_retn() since it causes a leak (off-by-one reference count error). * tao/Stub.h (TAO_Stub): * tao/Stub.cpp (TAO_Stub): Changed repository ID argument to be a "const char *" so that a copy is made. This makes it easier to keep code that creates a TAO_Stub exception safe since that code retains ownership of its copy of the repository ID. (set_policy_overrides): The TAO_Stub constructor now takes a "const char *" repository ID argument. Do not bother passing a copy to the constructor when instantiating a new TAO_Stub since the constructor will make a copy itself. * tao/CORBALOC_Parser.cpp (make_stub_from_mprofile): Cast zero argument to "const char *" since the TAO_Stub constructor now accepts a "const char *." * tao/Object.cpp (operator>>): Pass type hint using the ".in()" accessor instead of "._retn()." The TAO_Stub constructor now copies the string. This fixes a potential memory leak. * tao/ORB_Core.h: Doxygenated most of this header. (TAO_ORB_Core_TSS_Resources): Added array that can be used to store TSS objects. We're basically doing TSS emulation again here. This code maybe refactored to take advantage of ACE's TSS emulation class. (TAO_ORB_Core): Added new TAO_Cleanup_Func_Registry attribute. * tao/ORB_Core.i (add_interceptor, ior_interceptors): New methods for registering and accessing IOR interceptors. (get_tss_resource, set_tss_resource): New methods to access and set the ORB Core TSS resource at a given slot ID. (add_tss_cleanup_func): Register a TSS cleanup function. The slot ID for the corresponding ORB core TSS resource is returned by this method, too. * tao/ORB_Core.cpp (establish_components): New method that iterates over the registered IOR interceptors so that they may be given the opportunity to add tagged components to the profiles for a servant being created. (create_stub_object): Do not copy the repository ID string. The TAO_Stub constructor now copies it. This fixes a potential memory leak. Invoke the newly added establish_components() method to to process any registered IOR interceptors. (~TAO_ORB_Core_TSS_Resources): Invoke the TAO_Cleanup_Func_Registry::cleanup() on the TSS object array. * tao/IORInfo.h: * tao/IORInfo.cpp: Implementation of the PortableInterceptor::IORInfo interface. * tao/Profile.h: * tao/Profile.cpp (add_tagged_component): New method that adds an IOP::TaggedComponent to the profile's tagged component list. This method is used by TAO's IOR interceptor implementation. (verify_orb_configuration): New internal method that verifies that the ORB configuration will not prevent tagged components from being used. (verify_profile_version): New internal method that verifies that the profile is GIOP 1.0 or better. Tagged components can only be used in GIOP 1.1 profiles or better. * tao/corbafwd.h: Typedef CORBA::OctetSeq{_var,_out} against the generated CORBA_OctetSeq classes, instead of the raw TAO_Unbounded_Sequence template. This is necessary in case users need access to the Any insertion/extraction operators. * tao/Principal.h: Include "OctetSeqC.h" to pull in CORBA::OctetSeq class definition. * tao/Interceptor_List.h: * tao/Interceptor_List.inl: * tao/Interceptor_List.cpp: Added IOR interceptor list support. * tao/ORBInitInfo.h (TAO_ORBInitInfo): Removed the "arguments_" attribute. Caching the string sequence doesn't buy us anything since a copy must be made whenever returning it. See below. * tao/ORBInitInfo.cpp (TAO_ORBInitInfo): Defer creation of the string sequence containing the argument vector passed to CORBA::ORB_init() until the ORBInitInfo::arguments() method is called. Since a copy of the sequence has to be returned to the caller anyway, creating the string sequence so early doesn't buy us anything. This also reduces memory usage for those who never need to call the ORBInitInfo::arguments() method. (arguments): In accordance with the C++ mapping for sequences, return a copy of the argument string sequence. (resolve_initial_references): The ORB is practically fully initialized by the time ORBInitInfo::post_init() is reached so just use the ORB's resolve_initial_references() mechanism. (add_ior_interceptor): Added IOR interceptor registration support. (allocate_tss_slot_id): Allocate a slot in the ORB's TSS resources. TAO uses a single TSS key for these resources, so it is useful to place TSS objects in TAO's TSS resources on platforms where the number of TSS keys is low. The returned SlotId can be used to index into the array stored in ORB's TSS resources structure. An accompanying cleanup function (e.g. a TSS destructor) can also be registered. This is a TAO extension. * tao/ORB.cpp (ORB_init): Invalidate the ORBInitInfo instance to prevent future modifications to the ORB. This behavior complies with the PortableInterceptor specification. * tao/Cleanup_Func_Registry.h: * tao/Cleanup_Func_Registry.cpp: New class that contains the TSS destructors corresponding to the TSS objects stored in the newly added array in TAO's TSS resources. * tao/PortableInterceptors.h: Moved inclusion of `PortableInteceptor.i' within the "TAO_HAS_INTERCEPTORS" block. * tao/ORBInitializer_Registry.h: * tao/PolicyFactory_Registry.h: Doxygenated these headers. * tao/ORBInitializer_Registry.cpp: * tao/PolicyFactory_Registry.cpp: Comment updates. * tao/MProfile.cpp: Coding style updates. * tao/Makefile: * tao/Makefile.bor: * tao/TAO.dsp: * tao/TAO_Static.dsp: Added Cleanup_Func_Registry.* and IORInfo.* to these files. Wed Nov 15 00:04:30 2000 Marina Spivak * tao/PortableServer/POA.cpp (key_to_stub_i): Fixed Minimum CORBA compile problem by moving portion of the if test under TAO_HAS_RTCORBA protection. Tue Nov 14 19:15:04 2000 Carlos O'Ryan * orbsvcs/orbsvcs/Makefile.SSLIOP: * orbsvcs/orbsvcs/Makefile.Security: * orbsvcs/examples/Security/Send_File/Makefile: Update dependencies Tue Nov 14 21:16:05 2000 Balachandran Natarajan * orbsvcs/orbsvcs/Fault_Tolerance.dsp: Added new files. Tue Nov 14 20:04:05 2000 Balachandran Natarajan * orbsvcs/orbsvcs/FaultTolerance/FT_Service_Activate.cpp: * orbsvcs/orbsvcs/FaultTolerance/FT_PolicyFactory.h: * orbsvcs/orbsvcs/FaultTolerance/FT_PolicyFactory.cpp: Fixed warnings and compile errors in gcc 2.95.2 * orbsvcs/orbsvcs/Makefile.FaultTolerance: Updated dependencies. Tue Nov 14 19:45:19 2000 Jeff Parsons * tao/TAO.dsp: * tao/TAO_Static.dsp: Added missing header and inline files, and removed files that no longer exist or have been moved to another library. * tao/poa_macros.h: Removed this file from the repository, since there is now a duplicate in tao/PortableServer Tue Nov 14 19:35:29 2000 Balachandran Natarajan * tao/Connection_Cache_Manager.cpp (close_i): * tao/Connection_Handler.inl: Fixed a subtle bug that showed up only on NT. This has to do with marking the handler as closed when the handler gets destroyed. In many cases the Connection Cache would be closed before the handler gets destroyed. So, we can explicitly set the Cache Map Entry pointer to null when we shutdown the Connection Cache. This helps to make a check for a null before we go to mark the handler as closed. Tue Nov 14 16:29:20 2000 Priyanka Gontla * tests/RTCORBA/Server_Declared/server.conf: Updated to have only one entry rather than two entries, one for default-resource and the other for advanced_resource. Thanks to Marina for pointing out. * tao/Strategies/advanced_resource.cpp (allocate_reactor_impl): Made TAO_Reactor_TP as the default ReactorType to be consistent with the default_resource.cpp Tue Nov 14 18:21:29 2000 Balachandran Natarajan * orbsvcs/orbsvcs/FaultTolerance/FT_Service_Activate.cpp: * orbsvcs/orbsvcs/FaultTolerance/FT_Service_Activate.h: * orbsvcs/orbsvcs/FaultTolerance/FT_Service_Callbacks.h: * orbsvcs/orbsvcs/FaultTolerance/FT_Service_Callbacks.cpp: * orbsvcs/orbsvcs/FaultTolerance/FT_ORBInitializer.h: * orbsvcs/orbsvcs/FaultTolerance/FT_ORBInitializer.cpp: * orbsvcs/orbsvcs/FaultTolerance/FT_PolicyFactory.h: * orbsvcs/orbsvcs/FaultTolerance/FT_PolicyFactory.cpp: Changed the way FT policies were created. The procedure adopted now is in conformance with the PotrableInterceptor spec. The model closely follows the creation of policies for RT CORBA and Messaging in TAO. * tao/ORB_Core.h: * tao/ORB_Core.i: * tao/ORB_Core.cpp: * tao/PolicyFactory_Registry.h: * tao/PolicyFactory_Registry.cpp: * tao/Service_Callbacks.h: * tao/Service_Callbacks.cpp: Removed the hooks that were there for the creation of FT policies. Tue Nov 14 15:41:42 2000 Darrell Brunsch * tao/Strategies/TAO_Strategies_Static.dsp: Updated the Win32 Static Release definitions Tue Nov 14 14:59:47 2000 Darrell Brunsch * orbsvcs/ImplRepo_Service/ImplRepo.cpp: * orbsvcs/ImplRepo_Service/Options.cpp: * orbsvcs/ImplRepo_Service/Options.h: Added the ability to get some options from the registry when running as a service. Will be updating the docs soon to explain how this works. * orbsvcs/tests/ImplRepo/run_test.pl: Fixed to run both_ir_test () instead of both_ir () by default. Tue Nov 14 10:41:03 2000 Priyanka Gontla * tests/RTCORBA/Server_Protocol/client_nt.conf: * tests/RTCORBA/Client_Protocol/run_test.pl: * tests/RTCORBA/Server_Protocol/client_nt.conf: * tests/RTCORBA/Server_Protocol/run_test.pl: Updated to make some minor changes to make them run on NT. Tue Nov 14 12:36:31 2000 Jeff Parsons * tao/Asynch_Invocation.cpp: * tao/Asynch_Invocation.h: * tao/Invocation.cpp: * tao/Invocation.h: Added default constructors to all invocation base classes, in order to make old g++ happy. Tue Nov 14 09:30:36 2000 Priyanka Gontla * tests/RTCORBA/Server_Protocol/svc.conf : Added a deafault svc.conf for the client to use to load the protocols. * tests/RTCORBA/Server_Declared/server.conf : Corrected the conf file to remove the repetitive inclusion of the -ORBReactorType option. * tests/RTCORBA/Client_Propagated/server.cpp : * tests/RTCORBA/Client_Propagated/client.cpp : Removed unncessary inclusion of header files. Thanks to Marina for pointing out. Tue Nov 14 10:48:00 2000 Balachandran Natarajan * tao/IIOP_Connector.cpp: * tao/IIOP_Connector.h : Added a default destructor for TAO_IIOP_Connector class. This should fix the g++ 2.7.2 problem in the builds. Tue Nov 14 08:50:56 2000 Carlos O'Ryan * utils/IOR-parser/Makefile: * utils/catior/Makefile: * utils/nslist/Makefile: Update dependencies Tue Nov 14 06:56:11 2000 Balachandran Natarajan * tao/Connection_Cache_Manager.cpp: Fixed a compiler error in VC++. Looks like VC++ does not like the same variable declaration in two different for loops. Tue Nov 14 01:51:49 2000 Marina Spivak * tao/Invocation.h * tao/Invocation_Endpoint_Selectors.cpp * tao/Invocation_Endpoint_Selectors.h * tao/Invocation_Endpoint_Selectors.i * tao/ORB_Core.h * tao/ORB_Core.i: * tao/ORB_Core.cpp: Added two new endpoint selector strategies for use when RTCORBA::PriorityBandedConnection policy is enabled: TAO_Bands_Endpoint_Selector and TAO_Bands_Protocol_Selector. * tao/PortableServer/POA.cpp * tao/PortableServer/POA.h * tao/PortableServer/POA.i: Added validity checks for RTCORBA::PriorityBandedConnection policy. Mon Nov 13 19:22:35 2000 Priyanka Gontla * tests/RTCORBA/Server_Protocol/server.conf: * tests/RTCORBA/Server_Protocol/run_test.pl: * tests/RTCORBA/Server_Protocol/Server.dsp * tests/RTCORBA/Server_Protocol/client.dsp Modified the perl script and the service conf file to run only those tests wherein SHMIOP and UIOP are not made POA Server protocols. Updated the project files to link TAO_Strategies. Mon Nov 13 20:44:25 2000 Balachandran Natarajan * tao/Invocation.cpp: Commented the line make_idle () call on the transport after the connection is closed. * tao/Connection_Handler.inl: * tao/Connection_Cache_Manager.cpp: * tao/Connection_Cache_Manager.h: * tao/Connection_Cache_Manager.inl: Fixed a bug in the Faults test. This needed marking the Hash_Map entry as "closed" for the handler whose ref_count goes to zero. During shutdown of the Connection_Cache, we can just purge those entries first, before we iterate over the map to determine the handlers that are registered with the reactor. Mon Nov 13 18:14:35 2000 Priyanka Gontla * tests/RTCORBA/Server_Declared/server.conf: * tests/RTCORBA/Server_Declared/run_test.pl: * tests/RTCORBA/Server_Declared/Server.dsp * tests/RTCORBA/Server_Declared/client.dsp Made minor changes to get the test running. Updated the project files to link TAO_Strategies. Mon Nov 13 18:00:15 2000 Priyanka Gontla * tests/RTCORBA/Client_Propagated/svc.conf: * tests/RTCORBA/Client_Propagated/run_test.pl: * tests/RTCORBA/Client_Propagated/client.dsp * tests/RTCORBA/Client_Propagated/server.dsp Modified the perl script and the service conf file to run only those tests wherein SHMIOP and UIOP are not made POA Server protocols. Updated the project files to link TAO_Strategies. Mon Nov 13 16:12:15 2000 Priyanka Gontla * tests/RTCORBA/Client_Protocol/svc_unix.conf: * tests/RTCORBA/Client_Protocol/svc_nt.conf.conf: * tests/RTCORBA/Client_Protocol/run_test.pl: * tests/RTCORBA/Client_Protocol/Client_Protocol.dsw Was trying to load UIOP_Factory even on NT. Corrected it. Updated the project files to link TAO_Strategies. Mon Nov 13 17:40:44 2000 Jeff Parsons * tao/Invocation.i: Added missing ACE_INLINE for destructor of TAO_GIOP_Locate_Request_Invocation. Mon Nov 13 16:59:47 2000 Jeff Parsons * */Makefile*: Updated dependencies. Mon Nov 13 16:50:13 2000 Jeff Parsons * tao/Asynch_Reply_Dispatcher.cpp: Removed unused arguments. Mon Nov 13 14:35:33 2000 Jeff Parsons * tao/Reply_Dispatcher.cpp: * tao/Reply_Dispatcher.h: * tao/Reply_Dispatcher.i: * tao/Synch_Reply_Dispatcher.cpp: * tao/Synch_Reply_Dispatcher.h: Moved member and accessor function reply_status to base class, since it is common to all reply dispatcher concrete classes. * tao/Asynch_Reply_Dispatcher.cpp: * tao/Asynch_Reply_Dispatcher.h: * tao/Asynch_Reply_Dispatcher.i: * tao/DynamicInterface/DII_Reply_Dispatcher.cpp: * tao/DynamicInterface/DII_Reply_Dispatcher.h: Added new base class TAO_Asynch_Reply_Dispatcher_Base to hold common code for TAO_Asynch_Reply_Dispatcher and TAO_DII_Deferred_Reply_Dispatcher. * tao/Invocation.cpp: * tao/Invocation.h: * tao/Invocation.i: * tao/DynamicInterface/DII_Invocation.cpp: * tao/DynamicInterface/DII_Invocation.h: * tao/DynamicInterface/DII_Invocation.inl: * tao/DynamicInterface/Request.cpp: Moved some code from the subclasses' start() method to that of the base class, which is called by all the start() methods. Also moved the invoke() method of TAO_GIOP_Twoway_Invocation that was specific to DII requests out to the DynamicInterface library into a new class called TAO_GIOP_DII_Invocation. Also created new base class TAO_GIOP_Synch_Invocation, to be the parent of TAO_GIOP_Twoway_Invocation, TAO_GIOP_Oneway_Invocation, and TAO_GIOP_Locate_Request_Invocation. The invoke_i method of the first of these subclasses was moved to the base class, with minor changes, and the invoke() methods of the latter two subclasses were modified to use this relocated invoke_i(). * tao/Asynch_Invocation.cpp: * tao/Asynch_Invocation.h: * tao/Asynch_Invocation.i: Created new base class TAO_GIOP_Asynch_Invocation to be the parent of TAO_GIOP_Twoway_Asynch_Invocation and TAO_GIOP_DII_Deferred_Invocation, and to hold code common to these latter two classes. * tao/Dynamic_Adapter.cpp: * tao/Dynamic_Adapter.h: * tao/DynamicInterface/Dynamic_Adapter_Impl.cpp: * tao/DynamicInterface/Dynamic_Adapter_Impl.h: Removed method decode_exception, since the method in TAO_GIOP_Twoway_Invocation from which it was called is now in the DynamicInterface library. * tao/Synch_Reply_Dispatcher.i: * tao/DynamicInterface/DII_Reply_Dispatcher.inl: Removed these files from CVS. * tao/TAO.dsp: * tao/TAO_Static.dsp: * tao/DynamicInterface/TAO_DynamicInterface.dsp: Removed the above two files from these projects. Mon Nov 13 11:19:22 2000 Balachandran Natarajan * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connect.cpp: Fixed a compile error. Thanks to Christopher Kohloff for reporting this. For some strange reasons this was missed by the SunCC5 compiler. Mon Nov 13 10:20:48 2000 Jeff Parsons * TAO_IDL/be/be_visitor_argument/request_info_ch.cpp: In ClientRequestInfo subclass generation, changed the type of private valuetype member for an IN argument from *& to *. Again, thanks to Johnny Willemsen for pointing this out. Mon Nov 13 09:50:06 2000 Balachandran Natarajan * tao/IIOP_Connect.cpp (open): * tao/Service_Callbacks.h: * tao/Service_Callbacks.cpp: * tao/ORB_Core.h: * tao/ORB_Core.cpp: * tao/ORB_Core.i: * tao/PortableServer/Servant_Base.cpp: * orbsvcs/orbsvcs/FaultTolerance/FT_Service_Callbacks.h: * orbsvcs/orbsvcs/FaultTolerance/FT_Service_Callbacks.cpp: Added hooks for the implementation of the Logging & Recovery. This will be implemented by Andy & Oscar at Bell-Labs. Mon Nov 13 02:13:54 2000 Darrell Brunsch * tao/Strategies/TAO_Strategies.dsp: An ACE_HAS_STRATEGIES_DLL was being defined for the cpp files, which was preventing anything from being exported. Removed it and things look happy on Win32 Release now. * tao/Strategies/TAO_Strategies_Static.dsp: Changed the configurations to Win32 Static Debug and Win32 Static Release. Mon Nov 13 08:46:40 2000 Johnny Willemsen * orbsvcs/ImplRepo_Service/ImplRepo.bor: Added missing backslash. Sun Nov 12 17:31:40 2000 Darrell Brunsch * orbsvcs/ImplRepo_Service/ImplRepo.bor: Removed rogue backslash. * tao/tao_ce.dsp: (removed) * tao/tao_ce.dsw: (removed) Until we put some serious effort into porting TAO to Windows CE, these files are misleading and most likely very out of date. Sun Nov 12 12:41:19 2000 Darrell Brunsch * orbsvcs/ImplRepo_Service/Iterator.cpp: Fixed @file comment. Sat Nov 11 21:01:31 2000 Darrell Brunsch * orbsvcs/ImplRepo_Service/implrepo.dsp: Added some Win32 libraries to the release configuration link settings for the NT Service system calls. Sat Nov 11 11:33:06 2000 Balachandran Natarajan * tests/Xt_Stopwatch/client.cpp: * tests/Xt_Stopwatch/test_i.cpp: * tests/Xt_Stopwatch/test_i.h: * tests/Xt_Stopwatch/Control.h: * tests/Xt_Stopwatch/Control.cpp: * tests/Xt_Stopwatch/Stopwatch_display.h: * tests/Xt_Stopwatch/Stopwatch_display.cpp: * tests/Xt_Stopwatch/Client.h: * tests/Xt_Stopwatch/timer.cpp: * tests/Xt_Stopwatch/timer.h: * tests/QtTest/client.cpp: Added #if defined guards in all these files so that they compile clean even in default configuration. * tests/Xt_Stopwatch/Makefile: * tests/QtTest/Makefile: Updated the library names against which they are linked. Thanks to Wei Zheng for reporting these problems. Sat Nov 11 10:19:06 2000 Carlos O'Ryan * orbsvcs/orbsvcs/ESF/ESF_Delayed_Changes.h: * orbsvcs/orbsvcs/ESF/ESF_Immediate_Changes.h: * orbsvcs/orbsvcs/ESF/ESF_Peer_Workers.h: * orbsvcs/orbsvcs/Event/EC_Busy_Lock.h: * orbsvcs/orbsvcs/Event/EC_QOS_Info.h: * orbsvcs/orbsvcs/Event/EC_Trivial_Supplier_Filter.h: Change the @file comments, the Fuzz build detected the problem. * tests/Xt_Stopwatch/client.cpp: * tests/Xt_Stopwatch/test_i.cpp: * tests/Xt_Stopwatch/test_i.h: * tests/Xt_Stopwatch/Control.h: * tests/Xt_Stopwatch/Control.cpp: * tests/Xt_Stopwatch/Stopwatch_display.h: * tests/Xt_Stopwatch/Stopwatch_display.cpp: * tests/Xt_Stopwatch/Client.h: * tests/Xt_Stopwatch/timer.cpp: * tests/Xt_Stopwatch/timer.h: * tests/QtTest/client.cpp: Added #if defined guards in all these files so that they compile clean even in default configuration. * tests/Xt_Stopwatch/Makefile: * tests/QtTest/Makefile: Updated the library names against which they are linked. Sat Nov 11 07:28:50 2000 Balachandran Natarajan * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connect.cpp: Propagated the fixes that was done other protocols. Fri Nov 10 18:24:53 2000 Priyanka Gontla * tests/RTCORBA/Server_Declared/server.conf: * tests/RTCORBA/Client_Protocol/svc.conf: * tests/RTCORBA/Server_Protocol/server_reverse_nt.conf: * tests/RTCORBA/Server_Protocol/server_uiop.conf: * tests/RTCORBA/Server_Protocol/server_reverse.conf: * tests/RTCORBA/Server_Protocol/server_shmiop.conf: * tests/RTCORBA/Server_Protocol/server_uiop.conf: * tests/RTCORBA/Server_Protocol/server.conf: * tests/RTCORBA/MT_Client_Protocol_Priority/server.conf: Updated to load the advanced strategies dynamically. * tests/RTCORBA/MT_Client_Protocol_Priority/Makefile: * tests/RTCORBA/Server_Protocol/Makefile: * tests/RTCORBA/Server_Declared/Makefile : * tests/RTCORBA/Client_Propagated/Makefile : * tests/RTCORBA/Client_Protocol/Makefile: Updated to link TAO_Strategies. Fri Nov 10 17:28:50 2000 Balachandran Natarajan * tao/Strategies/SHMIOP_Connect.cpp: * tao/Strategies/UIOP_Connect.cpp: * tao/IIOP_Connect.cpp: Fixed a problem with thread-per-connection case. The event handler was getting destroyed before the ORB shuts down the Cache. This lead to cache shutdown problem. Fri Nov 10 13:06:27 2000 Darrell Brunsch * orbsvcs/ImplRepo_Service/NT_Service.cpp: * orbsvcs/ImplRepo_Service/NT_Service.h: * orbsvcs/ImplRepo_Service/ImplRepo.cpp: Forgot to #ifdef out on non-win32 platforms. Fri Nov 10 12:41:32 2000 Darrell Brunsch * orbsvcs/ImplRepo_Service/Adapter_Activator.cpp: (added) * orbsvcs/ImplRepo_Service/Adapter_Activator.h: (added) * orbsvcs/ImplRepo_Service/Forwarder.cpp: (added) * orbsvcs/ImplRepo_Service/Forwarder.h: (added) * orbsvcs/ImplRepo_Service/ImplRepo.bor: * orbsvcs/ImplRepo_Service/ImplRepo.cpp: * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp: * orbsvcs/ImplRepo_Service/ImplRepo_i.h: * orbsvcs/ImplRepo_Service/Iterator.cpp: (added) * orbsvcs/ImplRepo_Service/Iterator.h: (added) * orbsvcs/ImplRepo_Service/Locator.cpp: (added) * orbsvcs/ImplRepo_Service/Locator.h: (added) * orbsvcs/ImplRepo_Service/Makefile: * orbsvcs/ImplRepo_Service/Makefile.am: * orbsvcs/ImplRepo_Service/NT_ImplRepo_Server.cpp: (removed) * orbsvcs/ImplRepo_Service/NT_ImplRepo_Service.cpp: (removed) * orbsvcs/ImplRepo_Service/NT_ImplRepo_Service.h: (removed) * orbsvcs/ImplRepo_Service/NT_Service.cpp: (added) * orbsvcs/ImplRepo_Service/NT_Service.h: (added) * orbsvcs/ImplRepo_Service/Options.cpp: * orbsvcs/ImplRepo_Service/Options.h: * orbsvcs/ImplRepo_Service/README.txt: (added) * orbsvcs/ImplRepo_Service/Repository.cpp: * orbsvcs/ImplRepo_Service/Repository.h: * orbsvcs/ImplRepo_Service/implrepo.dsp: * orbsvcs/ImplRepo_Service/tao_imr.cpp: * orbsvcs/ImplRepo_Service/tao_imr_i.cpp: * orbsvcs/ImplRepo_Service/tao_imr_i.h: First split up the ImplRepo_Service into separate files, around one per class. Also doxygenated the ImplRepo documentation. Finally, merged the two * orbsvcs/tests/ImplRepo/airplane_client_i.h: * orbsvcs/tests/ImplRepo/airplane_i.h: * orbsvcs/tests/ImplRepo/airplane_server_i.h: * orbsvcs/tests/ImplRepo/nestea_client_i.h: * orbsvcs/tests/ImplRepo/nestea_i.h: * orbsvcs/tests/ImplRepo/nestea_server_i.h: Doxygenation. * orbsvcs/tests/ImplRepo/run_test.pl: First, defaults to both_ir if no testname is passed in. Changed the NT_Service test around a bit. The executable changed and started running things from the bin directory, so when it runs as a service it automatically finds the DLL's it needs. * TAOACE.dsw: * orbsvcs/ImplRepo_Service/NT_ImplRepo_Service.dsp: (removed) * orbsvcs/ImplRepo_Service/ImplRepo.dsw: * orbsvcs/tests/ImplRepo/ImplRepo.dsw: Removed NT_ImplRepo_Service.dsp, since the functionality was moved into ImplRepo_Service itself. Fri Nov 10 12:06:42 2000 Priyanka Gontla * performance-tests/Latency/Makefile : * performance-tests/Latency/st_client.conf: * performance-tests/Latency/client-st-exclusive.conf: * performance-tests/Latency/client-mt-exclusive.conf: * performance-tests/Latency/st_server.conf: Linked TAO_Startegies and dynamically loaded the Advanced Resource Factory in the service conf files. Fri Nov 10 11:54:11 2000 Carlos O'Ryan * tests/NestedUpcall/Simple/client.cpp: Removed extra return to avoid unreachable statement warnings. Fri Nov 10 12:49:51 2000 Pradeep Gore * orbsvcs/orbsvcs/Notify/Notify_FilterAdmin_i.cpp: Added patch to implement get_all_filters supplied by Joachim Tremouroux Fri Nov 10 10:14:50 2000 Priyanka Gontla * TAO/tests/RTCORBA/server_protocol/run_test.pl Modified the options to not load UIOP and SHMIOP in the case where no config file is used. * TAO/tests/Leader_Followers/client.dsp : * TAO/tests/Leader_Followers/server.dsp : * TAO/tests/NestedUpcall/Simple/client.dsp : * TAO/tests/NestedUpcall/Simple/server.dsp : * TAO/tests/Param_Test/anyop.dsp : * TAO/tests/Param_Test/client.dsp : * TAO/tests/Param_Test/server.dsp : * TAO/tests/RTCORBA/Server_Protocol/client.dsp * TAO/tests/RTCORBA/server_protocol/server.dsp * TAO/performace_tests/Cubit/TAO/IDL_Cuibt/client.dsp * TAO/performace_tests/Cubit/TAO/IDL_Cuibt/server.dsp Updated to link TAO_Strategies library. Fri Nov 10 10:14:04 2000 Carlos O'Ryan * tao/Connection_Cache_Manager.cpp: Protect naked debug message with a if(TAO_debug_level > 0) Fri Nov 10 10:12:29 2000 Darrell Brunsch * tao/Strategies/TAO_Strategies.dsp: Fixed the include paths in the Release configuration. Fri Nov 10 08:59:50 2000 Jeff Parsons * tao_idl/be/be_visitor_argument/request_info_sh.cpp: In request info class generation, changed the generation of a private member which is a valuetype from '*&' to '*' for an IN argument, to match the generation of the valuetype in the class constructor arglist. This discrepancy caused BCB builds to fail in AMI_Test. Thanks to Johnny Willemsen for pointing it out. Fri Nov 10 09:20:58 2000 Johnny Willemsen * */Makefile.bor: Several new makefile.bor files added so that all examples/tests for which Borland makefiles are available will be build in a full build. Fri Nov 10 08:56:58 2000 Johnny Willemsen * tao/Makefile.bor: Removed the TAO Strategies files because they are moved to the new Strategies directory * tao/Strategies/Makefile.bor: Added new Borland C++ Builder specific makefile Thu Nov 9 19:09:58 2000 Carlos O'Ryan * tao/Connection_Handler.h: Add missing TAO_Export macro, needed for Win32 builds. Thu Nov 9 20:56:30 2000 Balachandran Natarajan * tao/UIOP_Connect.cpp: * tao/SHMIOP_Connect.cpp: These two files were removed. I checked them back in by mistake. Thu Nov 9 20:07:55 2000 Balachandran Natarajan * tao/Connection_Cache_Manager.cpp: * tao/Cache_Entries.inl: Fixed a problem for multi-threaded case. * tao/IIOP_Connect.cpp: * tao/UIOP_Connect.cpp: * tao/SHMIOP_Connect.cpp: Minor cosmetic changes. * tao/default_resource.h: Fixed a compile error. Thu Nov 9 17:54:21 2000 Carlos O'Ryan * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp: * orbsvcs/orbsvcs/Notify/Notify_Filter_i.cpp: * orbsvcs/orbsvcs/Trader/Trading_Loader.cpp: * orbsvcs/tests/Event/Performance/Latency.cpp: * orbsvcs/tests/Event/Performance/Latency_Server.cpp: * tests/Exposed_Policies/client.cpp: * tests/Exposed_Policies/server.cpp: * tests/ORB_destroy/ORB_destroy.cpp: * tests/Portable_Interceptors/Benchmark/interceptors.cpp: * tests/Portable_Interceptors/Dynamic/interceptors.cpp: Fixed warnings and errors in a variety of platforms and/or configurations. For example: unused variables (or variables not used in release builds), files that could not compile in minimum CORBA builds, and explicit template instantiations for inline=0 builds. * utils/catior/Makefile: * utils/catior/catior.cpp: Updated to use the new TAO_Strategies library. * tao/Makefile: Add missing files to the TEMPLATE_FILES list. * release.chk: Removed obsolete file. Thu Nov 9 17:49:45 2000 Darrell Brunsch * tao/TAO_Static.dsp: Missed a handful of moved files here. Thu Nov 9 16:22:12 2000 Priyanka Gontla * tests/InterOp-Naming/Makefile: Corrected a typo. Thu Nov 9 15:56:31 2000 Priyanka Gontla * tao/Strategies/advanced_resource.i: Added the missing $Id: string Thu Nov 9 14:59:09 2000 Priyanka Gontla * tao/Strategies/uiop_endpoints.i: Corrected TAO_Export to TAO_Strategies_Export. Thu Nov 9 14:07:40 2000 Darrell Brunsch * tao/TAO.dsp: Removed all the files that were previously moved to TAO_Strategies.dsp. * tao/TAO.dsw: Added the new TAO_Strategies projects. Thu Nov 9 10:59:12 2000 Priyanka Gontla * TAO/TAOACE.dsw * TAO/TAOACE_Static.dsw Updated the workspaces to include the new TAO_Strategies project files. * tao/Strategies/TAO_Strategies.dsp * tao/Strategies/TAO_Strategies_Static.dsp Added project files for the TAO_Strategies library. Thu Nov 9 10:38:19 2000 Priyanka Gontla * tao/Makefile: Updated the Makefile to include the new directory 'Strategies' for the library TAO_Strategies. The new library contains all the advanced TAO strategies: The UIOP and SHMIOP protocol factories, all the reactor types except TP_Reactor which is now the default reactor, the Direct and Linear Priority Mappings in the case of the priority mapping type and TAO_ALLOCATOR_NULL_LOCK cdr_allocator_type. * tao/Resource_Factory.h: * tao/Resource_Factory.cpp: Added a new virtual method load_default_protocols which is implemented in default_resource to laod the default IIOP protocol. We need this new function so that the advanced_resource can call this to just load IIOP protocol and do nothing else. * tao/Strategies/strategies_export.h: Generated for the new TAO_Strategies_Export macro. * tao/TAO_Internal.h: * tao/TAO_Internal.cpp: * tao/Strategies/TAO_Strategies_Internal.h: * tao/Strategies/TAO_Strategies_Internal.cpp: This is similar to the TAO_Internal. Has code related to UIOP and SHMIOP protocol factories which were in TAO_Internal previously. * tao/default_resource.h: * tao/default_resource.i: * tao/default_resource.cpp: * tao/Strategies/advanced_resource.h: * tao/Strategies/advanced_resource.i: * tao/Strategies/advanced_resource.cpp: Only the default strategies and reactor types are in default_resource now. Every other strategy is moved to advanced_resource. * tao/Strategies/uiop_endpoints.h: * tao/Strategies/uiop_endpoints.i: * tao/Strategies/uiop_endpoints.cpp: * tao/Strategies/UIOP_Transport.h: * tao/Strategies/UIOP_Transport.i: * tao/Strategies/UIOP_Transport.cpp: * tao/Strategies/UIOP_Profile.h: * tao/Strategies/UIOP_Profile.i: * tao/Strategies/UIOP_Profile.cpp: * tao/Strategies/UIOP_Lite_Factory.h: * tao/Strategies/UIOP_Lite_Factory.i: * tao/Strategies/UIOP_Lite_Factory.cpp: * tao/Strategies/UIOP_Factory.h: * tao/Strategies/UIOP_Factory.i: * tao/Strategies/UIOP_Factory.cpp: * tao/Strategies/UIOP_Endpoint.h: * tao/Strategies/UIOP_Endpoint.i: * tao/Strategies/UIOP_Endpoint.cpp: * tao/Strategies/UIOP_Connector.h : * tao/Strategies/UIOP_Connector.i : * tao/Strategies/UIOP_Connector.cpp : * tao/Strategies/UIOP_Connect.h: * tao/Strategies/UIOP_Connect.i: * tao/Strategies/UIOP_Connect.cpp: * tao/Strategies/UIOP_Acceptor.h: * tao/Strategies/UIOP_Acceptor.i: * tao/Strategies/UIOP_Acceptor.cpp: * tao/Strategies/SHMIOP_Transport.h: * tao/Strategies/SHMIOP_Transport.i: * tao/Strategies/SHMIOP_Transport.cpp: * tao/Strategies/SHMIOP_Profile.i: * tao/Strategies/SHMIOP_Profile.h: * tao/Strategies/SHMIOP_Profile.cpp: * tao/Strategies/SHMIOP_Factory.h: * tao/Strategies/SHMIOP_Factory.i: * tao/Strategies/SHMIOP_Factory.cpp: * tao/Strategies/SHMIOP_Endpoint.h: * tao/Strategies/SHMIOP_Endpoint.i: * tao/Strategies/SHMIOP_Endpoint.cpp: * tao/Strategies/SHMIOP_Connector.h: * tao/Strategies/SHMIOP_Connector.i: * tao/Strategies/SHMIOP_Connector.cpp: * tao/Strategies/SHMIOP_Connect.h: * tao/Strategies/SHMIOP_Connect.i: * tao/Strategies/SHMIOP_Connect.cpp: * tao/Strategies/SHMIOP_Acceptor.h: * tao/Strategies/SHMIOP_Acceptor.i: * tao/Strategies/SHMIOP_Acceptor.cpp: * tao/Strategies/Reactor_Per_Priority.h: * tao/Strategies/Reactor_Per_Priority.i: * tao/Strategies/Reactor_Per_Priority.cpp: * tao/Strategies/Linear_Priority_Mapping.h: * tao/Strategies/Linear_Priority_Mapping.i: * tao/Strategies/Linear_Priority_Mapping.cpp: * tao/Strategies/Direct_Priority_Mapping.h: * tao/Strategies/Direct_Priority_Mapping.i: * tao/Strategies/Direct_Priority_Mapping.cpp: Moved all these files from tao to Strategies/ and made the appropriate cosmetic changes. * tao/Strategies/tests/simple_test.idl: * tao/Strategies/tests/simple_test_i.h: * tao/Strategies/tests/simple_test_i.i: * tao/Strategies/tests/simple_test_i.cpp: * tao/Strategies/tests/server.cpp: * tao/Strategies/tests/client.cpp: * tao/Strategies/tests/svc.conf: * tao/Strategies/tests/advanced_svc.conf: * tao/Strategies/tests/README: * tao/Strategies/tests/Makefile: Added a simple test to show the ways of loading the default and advanced strategies. * tests/RTCORBA/Server_Protocol/server_uiop.conf: * tests/RTCORBA/Server_Protocol/server_shmiop.conf: * tests/RTCORBA/Server_Protocol/server_reverse_nt.conf: * tests/RTCORBA/Server_Protocol/server_reverse.conf: * tests/RTCORBA/Server_Protocol/server.conf: * tests/RTCORBA/Server_Protocol/Makefile: * tests/Param_Test/Makefile: * tests/NestedUpcall/Simple/svc.conf: * tests/NestedUpcall/Simple/Makefile: * tests/Leader_Followers/run_test.pl: * tests/Leader_Followers/Makefile: * tests/InterOp-Naming/Makefile: Modified the Makefiles to link the new TAO_Strategies library. Modified the service config files to correctly load the needed protocols and startegies owing to the new changes. Thu Nov 9 09:49:02 2000 Carlos O'Ryan * tao/PortableInterceptorC.cpp: The header file lacked a TAO_HAS_INTERCEPTORS protection, but the .cpp file did, this resulted in compilation problems under minimum CORBA builds. I removed the protections in the .cpp file, but probably the correct fix would be to add them into the .h file and figure out what is using PortableInterceptors even when they are supposedly disabled. Wed Nov 8 20:01:40 2000 Pradeep Gore * tao/ORB.cpp: init_orb_globals() returns void, changed to ACE_CHECK instead of ACE_CHECK_RETURN. Wed Nov 8 17:49:25 2000 Balachandran Natarajan * tao/Connection_Cache_Manager.cpp (close_i): Fixed a problem on NT. Thanks to Darrel for reporting this. Wed Nov 8 18:47:27 2000 Jeff Parsons * tests/Param_Test/anyop.dsp: Put back the project settings for param_test.idl in this project. They got lost somehow. Wed Nov 8 16:15:39 2000 Carlos O'Ryan * tao/ORB.cpp: Moved registration of the RTCORBA and Messaging Policy Factories to the init_orb_globals() method. This is something that should happen only once. * orbsvcs/IFR_Service/Makefile.IFR_Service: Add TypeCodeFactory_DLL to the LDLIBS. Wed Nov 8 17:49:25 2000 Balachandran Natarajan * tao/GIOP_Message_Accept_State.cpp : * tao/GIOP_Message_Connectors.cpp: * tao/TAO_Server_Request.h: * tao/TAO_Server_Request.i: Made the following minor changes in accordance with the CORBA 2.4 spec. (1) The CORBA::Principal in the GIOP 1.0 & GIOP 1.1 request header is now changed to CORBA::OctetSeq in the CORBA 2.4 spec. This change has been incorporated. (2) Finally, the response_flags field in the request header has been well defined for the Sync Scope in the Messaging spec. The changes have also been incorporated. Wed Nov 8 11:05:37 2000 Darrell Brunsch * TAOACE.dsw: Updated the dependencies for the IFR_Service. * examples/POA/Generic_Servant/client.dsp: * examples/POA/Generic_Servant/server.dsp: Updated the defines for the Release builds. * TAO_IDL/TAO_IDL_BE_DLL.dsp: * TAO_IDL/TAO_IDL_FE_DLL.dsp: * TAO_IDL/tao_idl.dsp: * orbsvcs/Concurrency_Service/Concurrency_Service.dsp: * orbsvcs/CosEvent_Service/CosEvent_Service.dsp: * orbsvcs/Dump_Schedule/Dump_Schedule.dsp: * orbsvcs/Event_Service/Event_Service.dsp: * orbsvcs/IFR_Service/TypeCodeFactory_DLL.dsp: * orbsvcs/Scheduling_Service/Scheduling_Service.dsp: * orbsvcs/orbsvcs/LoadBalancing.dsp: * orbsvcs/tests/InterfaceRepo/IFR_Test/IFR_Test.dsp: * orbsvcs/tests/InterfaceRepo/Persistence_Test/Persistence_Test.dsp: Disabled precompiled headers. * orbsvcs/tests/InterfaceRepo/IFR_Test/Admin_Client.cpp: * tests/Portable_Interceptors/Benchmark/interceptors.cpp: Fixed some non-standard uses of ACE_ASSERT which results in errors on release builds. Changed stuff like: if (foo == 0) ACE_ASSERT (bar () == 0); to ACE_ASSERT (foo == 0 && bar () == 0); * tests/DSI_Gateway/DSI_Gateway_Client.dsp: * tests/DSI_Gateway/DSI_Gateway_Server.dsp: * tests/DSI_Gateway/DSI_Gateway_Service.dsp: Disabled Precompiled headers and fixed library paths. Wed Nov 8 11:02:01 2000 Carlos O'Ryan * orbsvcs/LifeCycle_Service/Makefile: For static builds the DynamicAny library must be linked too. * tao/Messaging_Policy_i.cpp: Fixed problems in platforms that don't do conversions between T_var and T_ptr& (vxworks). * tests/IDL_Test/Makefile: The path to the IDL compiler was hardcoded, use the TAO_IDL macro instead, this is very important for cross-compilation builds. Wed Nov 8 10:00:16 2000 Carlos O'Ryan * tests/IDL_Test/Makefile: I think I finally nailed the dependencies for the magic IDL files in this directory. At least it compiles correctly in our 4-way box, where it used to fail all the time. * tests/Portable_Interceptors/Dynamic/interceptors.cpp: Fixed warnings about unused variables, also fixed a couple of memory leaks, and unchecked exceptions. Wed Nov 8 11:44:58 2000 Jeff Parsons * orbsvcs/IFR_Service/TCF_Loader.cpp: Removed unused args from create_object method. * orbsvcs/IFR_Service/TypeCodeFactoryC.cpp: Added missing 'CORBA_' to constructor and destructor declarations. Wed Nov 8 06:48:08 2000 Douglas C. Schmidt * tests/RTCORBA/README: Updated the information to point to the appropriate documentation. Thanks to Michael Hampel for motivating this. Tue Nov 7 21:46:57 2000 Jeff Parsons * TAO_IDL/ast/ast_type.cpp: * TAO_IDL/include/ast_type.h: Added flag to indicate whether the node has been added to the Interface Repository. Used for types that can be forward declared, which right now is only interfaces, but will eventually include other types as well. Tue Nov 07 16:38:05 2000 Carlos O'Ryan * tests/Portable_Interceptors/Benchmark/client.dsp: * tests/Portable_Interceptors/Benchmark/server.dsp: Update the project files. Tue Nov 7 15:16:37 2000 Carlos O'Ryan * examples/POA/Forwarding/Servant_Activator.cpp: Fixed warnings about unused variable. * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp: Change ACE_CHECK for ACE_CHECK_RETURN, otherwise builds without exceptions fail. * orbsvcs/LifeCycle_Service/Makefile: Add -lTAO_PortableServer library, needed in static builds. Tue Nov 7 15:19:03 2000 Jeff Parsons * TAO_IDL/ast/ast_exception.cpp: * TAO_IDL/ast/ast_structure.cpp: Added base class constructor calls, not needed when traversing the be_ classes, which inherit from these and add to the hierarchy of constructor calls. * TAO_IDL/ast/ast_generator.cpp: Added code from be_generator::create_module to AST_Generator::create_module, so AST visitors will get reopened modules handled correctly. Tue Nov 7 12:27:34 2000 Darrell Brunsch * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp: Commented out some unused formal parameters. Tue Nov 7 12:04:42 2000 Darrell Brunsch * TAO_IDL/TAO_IDL_BE_DLL.dsp: * TAO_IDL/TAO_IDL_FE_DLL.dsp: * TAO_IDL/tao_idl.dsp: * orbsvcs/CosEvent_Service/CosEvent_Service.dsp: * orbsvcs/orbsvcs/LoadBalancing.dsp: Removed precompiled header usage. Tue Nov 7 12:00:32 2000 Carlos O'Ryan * tests/Portable_Interceptors/Benchmark/Client_ORBInitializer.cpp: * tests/Portable_Interceptors/Benchmark/Client_ORBInitializer.h: * tests/Portable_Interceptors/Benchmark/Interceptor_Type.cpp: * tests/Portable_Interceptors/Benchmark/Interceptor_Type.h: * tests/Portable_Interceptors/Benchmark/Makefile: * tests/Portable_Interceptors/Benchmark/Server_ORBInitializer.cpp: * tests/Portable_Interceptors/Benchmark/Server_ORBInitializer.h: * tests/Portable_Interceptors/Benchmark/client.cpp: * tests/Portable_Interceptors/Benchmark/interceptors.cpp: * tests/Portable_Interceptors/Benchmark/interceptors.h: * tests/Portable_Interceptors/Benchmark/server.cpp: * tests/Portable_Interceptors/Service_Context_Manipulation/Client_ORBInitializer.cpp: * tests/Portable_Interceptors/Service_Context_Manipulation/Client_ORBInitializer.h: * tests/Portable_Interceptors/Service_Context_Manipulation/Makefile: * tests/Portable_Interceptors/Service_Context_Manipulation/Server_ORBInitializer.cpp: * tests/Portable_Interceptors/Service_Context_Manipulation/Server_ORBInitializer.h: * tests/Portable_Interceptors/Service_Context_Manipulation/client.cpp: * tests/Portable_Interceptors/Service_Context_Manipulation/interceptors.cpp: * tests/Portable_Interceptors/Service_Context_Manipulation/interceptors.h: * tests/Portable_Interceptors/Service_Context_Manipulation/server.cpp: Got this to compile with the standard interfaces for Portable Interceptors, they were using a TAO proprietary interface that went the way of the dinosaur. Tue Nov 7 11:19:11 2000 Darrell Brunsch * tao/TAO_Static.dsp * tao/DynamicAny/TAO_DynamicAny_Static.dsp: * tao/IORManipulation/TAO_IORManip.dsp: * tao/IORManipulation/TAO_IORManip_Static.dsp: * tao/IORTable/TAO_IORTable_Static.dsp: * tao/PortableServer/TAO_PortableServer_Static.dsp: Fixed these projects to be consistent in their defines, to make sure things like defining _DEBUG in a release build doesn't happen. Tue Nov 7 12:24:48 2000 Balachandran Natarajan * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connect.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connect.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.h: Made the changes for the new caching scheme in SSLIOP. Tue Nov 7 11:50:22 2000 Jeff Parsons * tao/InterfaceC.cpp: * tao/InterfaceC.h: * tao/InterfaceC.i: TypeCodeFactory generated code moved from these files to new files TypeCodeFactoryC.*. * tao/PortableServer/POA_CORBA.h: TypeCodeFactory generated code removed from this file. * tao/Interface.pidl: Interface TypeCodeFactory modified to be local. * orbsvcs/IFR_Service/TypeCodeFactoryC.h: * orbsvcs/IFR_Service/TypeCodeFactoryC.inl: * orbsvcs/IFR_Service/TypeCodeFactoryC.cpp: New files containing code removed from InterfaceC.*. * orbsvcs/IFR_Service/TypeCodeFactory_skel.cpp: Removed from project and Makefiles. * orbsvcs/IFR_Service/Repository_i.h: * orbsvcs/IFR_Service/TCF_Loader.h: * orbsvcs/IFR_Service/TCF_Loader.cpp: * orbsvcs/IFR_Service/TypeCodeFactory_i.h: * orbsvcs/IFR_Service/TypeCodeFactory_i.cpp: * orbsvcs/IFR_Service/TypeCodeFactory_DLL.dsp: * orbsvcs/IFR_Service/Makefile.TypeCodeFactory: * orbsvcs/IFR_Service/TypeCodeFactory_DLL.bor: Other files modified to make TypeCodeFactory a local interface. The motivation for this change was a bug report by Mateu Batle and one by Jean-Christophe Dubois that the TypeCodeFactory was blocking indefinitely upon startup. It turned out that there was an attempt to acquire the same lock twice, but the real solution seemed to be to make TypeCodeFactory, like DynamicAnyFactory, a local interface, which sidesteps the lock problem, and at the same time reduces TypeCodeFactory's size. Tue Nov 7 08:57:16 2000 Balachandran Natarajan * tao/SHMIOP_Connector.cpp (close): Fixed a warning in KCC 3.4 build. Tue Nov 7 08:54:31 2000 Balachandran Natarajan * tao/Connection_Cache_Manager.h: * tao/Connection_Cache_Manager.inl: Fixed compile errors on Digital Unix. The changes should hopefully fix the problem. Mon Nov 06 23:39:05 2000 Irfan Pyarali * tao/PortableServer/POA.cpp (reference_to_id and reference_to_servant): Made sure that we are not dealing with a nil object reference. If we are, then throw a CORBA::BAD_PARAM() exception. Thanks to Sandro Doro for suggesting this change. Mon Nov 6 17:26:30 2000 Carlos O'Ryan * */Makefile: Update all dependencies again. The last version commited had only .obj/*.o files listed, none of the .shobj files was listed. * performance-tests/Latency/single_threaded.pl: Run only the single threaded test, used to generate the performance graph. Mon Nov 6 17:16:29 2000 Jeff Parsons * orbsvcs/IFR_Service/TypeCodeFactory_skel.cpp: Updated the overlooked POA_CORBA::TypeCodeFactory::_dispatch method to use Bruce Trask's synchronous_upcall_dispatch() call. This was causing a protection fault when _dispatch was called. Thanks to Jean-Christophe Dubois for reporting this bug. Mon Nov 6 16:55:05 2000 Balachandran Natarajan * tao/IIOP_Connect.h: * tao/UIOP_Connect.h: Added the TAO_Export for the TAO_*_Property class. * tao/IIOP_Connector.cpp: * tao/UIOP_Connector.cpp: * tao/SHMIOP_Connector.cpp: Added a ACE_TEXT macro for a ACE_DEBUG statement Mon Nov 6 16:16:55 2000 Balachandran Natarajan * orbsvcs/*/Makefile: Updated dependencies. Mon Nov 6 15:29:04 2000 Jeff Parsons * TAO_IDL/ast/ast_interface.cpp: Modified redefine() method to check for self-concatenation before concatenating pragma lists. Changes made to interface redefinition code (seeing full definition after a forward declaration, for example) have introduced a case where self-concatenation can happen. In this case, the concatenation should just be skipped. Thanks to Ossama's SecurityLevel2.idl file for bringing this case to light. Mon Nov 6 15:10:27 2000 Balachandran Natarajan * docs/Options.html: Updated the documentation * tests/*/Makefile: * tests/performance_tests/*/Makefile: Updated dependencies. Mon Nov 6 14:50:23 2000 Balachandran Natarajan * tao/Makefile.bor: Added new files. Mon Nov 6 14:34:17 2000 Balachandran Natarajan * tao/TAO.dsp: * tao/TAO_Static.dsp: Updated files. Mon Nov 6 13:54:20 2000 Balachandran Natarajan Changes related to the new caching scheme in TAO. Please see http://www.cs.wustl.edu/~bala/connection_mgmt.html for the requirements that were a guiding factor for these changes. Further, the present set of changes includes only the Caching scheme. The purging which was a part of the scheme (that will be gone with this changes) has not been added. It will be done in the next set of changes due in another few days/weeks. * tao/Base_Connection_Property.h: * tao/Base_Connection_Property.inl: * tao/Base_Connection_Property.cpp: An abstraction for the connection property. This class at present encapsulates the TAO_Endpoint which is used as a key to look up connections from the Cache. Looking up connections based on the Endpoint is the base on which the whole Caching scheme works. This class can be extended to attach properties for connections ex. QoS properties. Lookups can then be done based on the endpoint with the specific properties. * tao/Cache_Entries.h: * tao/Cache_Entries.cpp: * tao/Cache_Entries.inl: Provides wrapper classes for the Key and Value fields of a Cache map. * tao/Connection_Cache_Manager.h: * tao/Connection_Cache_Manager.cpp: * tao/Connection_Cache_Manager.inl: A wrapper class for the connection cache. This class holds an instance of ACE_Hash_Map_Manager on which the connections are cached. This wrapper is necessary as we can extend the interface and implementation to iterate over the map based on a specific requirement. One good example is the case for FT, wherein we would like to choose connections to a FT server and return the list of such connections to the caller. * tao/Connection_Handler.h: * tao/Connection_Handler.cpp: * tao/Connection_Handler.inl: An abstract base class for the connection handlers (event handlers). This base class is used by both the Server and Client Connection handlers. A pointer to this base class is held by the Connection Cache. This class (and hence the inherited classes) is refcounted. The refcount indicates the number of places the references are held. The refcounting does part of the memory management. * tao/Client_Strategy_Factory.h: * tao/Client_Strategy_Factory.cpp: Removed the method create_cached_connector_lock (). This lock for the Connection Cache is within TAO_Connection_Cache_Manager. * tao/default_client.cpp: * tao/default_client.h: Removed the method create_cached_connector_lock (). The option -ORBConnectorLock has been removed as it does not make much sense in the present context. * tao/Connector_Registry.h: * tao/Connector_Registry.cpp: All references to purging scheme has been removed. * tao/Endpoint.h: * tao/Endpoint.i: Added priority as one of the argument to the constructor with a default value. Further, added is_equivalent (), hash () and duplicate () as pure virtual functions. The Base_Connection_Property class (and in turn the TAO_Cache_ExtId class) depends on these virtual functions to check for equivalency, get a hash value and do a deep copy respectively. * tao/IIOP_Connect.h: * tao/IIOP_Connect.cpp: * tao/UIOP_Connect.h: * tao/UIOP_Connect.cpp: * tao/SHMIOP_Connect.h: * tao/SHMIOP_Connect.cpp: Zapped the base class TAO_*_Handler_Base. This class practically provided nothing but an extra class in inheritance hierarchy. The protocol property structure that was defined within this TAO_*_Handler_Base class has been made a different class by name TAO_*_Properties. The connection handlers will now inherit directly from the Service Handler specialised by the type of stream and the TAO_Connection_Handler class. Implementation for a couple of virtual methods defined in TAO_Connection_Handler class have been added. The memory management of the connection handlers on both the server and client side follows the same pattern. If the handlers are registered with the reactor, the handlers are marked and their refcounts bumped up. When the Connection Cache is closed the Handle_Set of the handlers that are registered with the reactor are passed back to the ORB_Core and the refcounts decreased by one. This Handle_Set is used by the ORB_Core to de-register those handles from the reactor. The reactor then calls handle_close () on these handlers. At that point of time, refcounts are further decreased by one, which makes the handlers destroy themselves. This scheme of memory management helps for both these cases (1) When the reactor dissappears before the ORB_Core and (2) When the ORB_Core dissappears before the reactor. Also, moved some of the code that was protocol independent in to the base class TAO_Connection_Handler. * tao/IIOP_Acceptor.h: * tao/UIOP_Acceptor.h: * tao/SHMIOP_Acceptor.h: Renamed the struct that had the connection property to TAO_*_Properties. * tao/IIOP_Endpoint.h: * tao/IIOP_Endpoint.cpp: * tao/UIOP_Endpoint.h: * tao/UIOP_Endpoint.cpp: * tao/SHMIOP_Endpoint.h: * tao/SHMIOP_Endpoint.cpp: Provided implementation for the methods hash (), is_equivalent () and duplicate (). * tao/Pluggable.h: * tao/Pluggable.i: * tao/Pluggable.cpp: Removed references to the purging scheme. Cached the pointer to the ORB_Core in TAO_Connector and provided accesors to the ORB_Core. All the *_Connector classes had its own copy of the ORB_Core. So, they have been moved to the base class TAO_Connector. * tao/IIOP_Transport.h: * tao/IIOP_Transport.cpp: * tao/UIOP_Transport.h: * tao/UIOP_Transport.cpp: * tao/SHMIOP_Transport.h: * tao/SHMIOP_Transport.cpp: Added a method service_handler () to access the underlying service handler associated with the transport. Changed the implementation of idle () method. This now calls the idle on the correspoding handler that it holds. * tao/Acceptor_Impl.cpp: Removed references to the existing purging scheme. Further, changed the scheme in which the open connections are kept track in a reactive-concurrency model. Now the corresponding handlers will be marked as being registered with the reactor and their reference count bumped up before the handler is registered with the reactor. * tao/ORB_Core.h: * tao/ORB_Core.cpp: * tao/ORB_Core.i: Added an instance of the Connection_Cache_Manager in the ORB_Core and provided an accessor for it. Removed the Handle_Set that was kept in the ORB_Core and the accessors of the Handle_Set. * tao/Resource_Factory.h: * tao/Resource_Factory.cpp: * tao/default_resource.h: * tao/default_resource.cpp: Zapped the class TAO_Cached_Connector_Lock as we now hold a single lock on the Cache_Map. Added a method create_cached_connection_lock (). This method creates the right lock for the Connection_Cache. Added an option -ORBConnectionLock that can used at ORB initialisation. * tao/Makefile: * tao/PortableServer/Makefile: * tao/DynamicAny/Makefile: * tao/IORManipulation/Makefile: * tao/IORTable/Makefile: Updated dependencies. Mon Nov 6 13:03:51 2000 Jeff Parsons * tao/DynamicInterface/ExceptionList.cpp: Removed explicit instantiation of ACE_Unbounded_Queue and related types, since they already exist in tao/Exception.cpp. Mon Nov 6 12:28:41 2000 Jeff Parsons * TAO_IDL/be/be_union.cpp: * TAO_IDL/be_include/be_union.h: * TAO_IDL/ast/ast_union.cpp: * TAO_IDL/include/ast_union.h: Had to move default_index_, default_index() and compute_default_index() from be_union to ast_union, in order to fix problems caused by a similar move of default_value_, default_value() and compute_default_value() recently. Mon Nov 6 09:50:37 2000 Priyanka Gontla * tao/ORB_Core.cpp (stubless_relative_roundtrip_timeout): Put a TAO_HAS_CORBA_MESSAGING guard around the implementation of this function to satisfy the ssl=1 case. Mon Nov 6 10:06:09 2000 Carlos O'Ryan * performance-tests/Callback/Makefile: Only compile if minimum_corba is disabled Mon Nov 6 07:35:50 2000 Douglas C. Schmidt * tests/IORManipulation/Makefile (LDFLAGS): Added back a missing '+' to '+=' so that linking works properly. Thanks to Albert Wijnja for reporting this. Sat Nov 4 18:34:10 2000 Darrell Brunsch * TAOACE.dsw: Updated dependencies for TAO_Fault_Tolerance. * orbsvcs/tests/FaultTolerance/IOGRManipulation/IOGRTest.dsp: Fixed library paths and libraries included. * tests/DSI_Gateway/DSI_Gateway_Client.dsp: * tests/DSI_Gateway/DSI_Gateway_Server.dsp: * tests/DSI_Gateway/DSI_Gateway_Service.dsp: Fixed tao_idl dependency. Sat Nov 4 18:59:00 2000 Yamuna Krishnamurthy * orbsvcs/tests/AVStreams/mpeg/source/server/Makefile: * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/ui.cpp: * orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/com.cpp: Fixed compile and link errors. Sat Nov 4 18:04:21 2000 Jeff Parsons * TAO_IDL/ast/ast_typedef.cpp: * TAO_IDL/include/ast_typedef.h: Added a method to find the primitive base type (looping if there are nested typedefs) similar to that in be_typedef, but with a different return type. Needed for IfR administration. * TAO_IDL/ast/ast_union.cpp: * TAO_IDL/be/be_union.cpp: * TAO_IDL/be_include/be_union.h: * TAO_IDL/include/ast_union.h: Moved code to store and compute the default label value from be_union to ast_union. Needed for IfR administration. * TAO_IDL/be/be_visitor_typecode/typecode_defn.cpp: Switch case for wchar discriminators was using the short member of the union node's union member that stores the default label value. Changed this to use the union's wchar member. Sat Nov 4 15:21:52 2000 Jeff Parsons * tests/DSI_Gateway/gateway.bor: * tests/Param_Test/client.bor: Added DynamicInterface library and cflags to these makefiles. Fri Nov 3 17:42:34 2000 Darrell Brunsch * TAO_IDL/TAO_IDL_BE_LIB.dsp: * TAO_IDL/TAO_IDL_FE_LIB.dsp: * TAO_IDL/tao_idl_static.dsp: * examples/Simple/time/client_static.dsp: * examples/Simple/time/server_static.dsp: * orbsvcs/Naming_Service/Naming_Server_static.dsp: * orbsvcs/orbsvcs/CosConcurrency_Static.dsp: * orbsvcs/orbsvcs/CosEvent_Static.dsp: * orbsvcs/orbsvcs/CosLifeCycle_Static.dsp: * orbsvcs/orbsvcs/CosNaming_Static.dsp: * orbsvcs/orbsvcs/CosNotification_Static.dsp: * orbsvcs/orbsvcs/CosProperty_Static.dsp: * orbsvcs/orbsvcs/CosTime_Static.dsp: * orbsvcs/orbsvcs/CosTrading_Static.dsp: * orbsvcs/orbsvcs/LoadBalancing_Static.dsp: * orbsvcs/orbsvcs/RTEvent_Static.dsp: * orbsvcs/orbsvcs/RTOLDEvent_Static.dsp: * orbsvcs/orbsvcs/RTSchedEvent_Static.dsp: * orbsvcs/orbsvcs/RTSched_Static.dsp: * orbsvcs/orbsvcs/Svc_Utils_Static.dsp: * tao/TAO_Static.dsp: * tao/IORManipulation/TAO_IORManip_Static.dsp: * tao/IORTable/TAO_IORTable_Static.dsp: * tao/PortableServer/TAO_PortableServer_Static.dsp: Updated static configurations for Static Release. * tao/DynamicInterface/ExceptionList.inl: Added CVS ID string to this file. Fri Nov 3 16:49:01 2000 Jeff Parsons * TAO_IDL/ast/ast_structure.cpp: Added explicit template instantiation for ACE_Unbounded_Queue_Iterator. Fri Nov 3 14:53:08 2000 Jeff Parsons * tao_idl/ast/ast_exception.cpp: * tao_idl/ast/ast_structure.cpp: * tao_idl/ast/ast_union.cpp: * tao_idl/include/ast_structure.h: Added ACE_Unbounded_Queue member that contains only fields, code to populate the container, and accessor function. Existing member count and scope iterator functions include things like enum values of an enum declared inside the scope, which the spec requires to be declared in the enum's enclosing scope. Extra 'members' like these are used in typecode creation, so the behavior of these existing functions could not be changed. For IfR administration, something was needed that would act on the 'fields' of the data type only. Simply ignoring the extra members makes it very difficult to correctly process something like: struct foo { enum bar {ONE, TWO} member1; bar member2; }; which is legal IDL, thus the dedicated container member and associated methods. The new member and accessor method are declared in AST_Structure only, since AST_Exception and AST_Union inherit from it. The populating method had to be added in each class, since the method from which it is called is private in each class. Fri Nov 3 09:16:13 2000 Darrell Brunsch * tests/DSI_Gateway/DSI_Gateway_Client.dsp: * tests/DSI_Gateway/DSI_Gateway_Server.dsp: * tests/DSI_Gateway/DSI_Gateway_Service.dsp: * tests/Exposed_Policies/Client.dsp: * tests/Exposed_Policies/Server.dsp: * tests/Param_Test/client.dsp: * tests/Portable_Interceptors/Benchmark/client.dsp: * tests/Portable_Interceptors/Benchmark/server.dsp: * orbsvcs/examples/Security/Send_File/Send_File_Client.dsp: * orbsvcs/examples/Security/Send_File/Send_File_Server.dsp: Touched up the Release versions of these projects. Fri Nov 3 10:48:56 2000 Jeff Parsons * tests/DSI_Gateway/DSI_Gateway_Client.dsp: * tests/DSI_Gateway/DSI_Gateway_Server.dsp: * tests/DSI_Gateway/DSI_Gateway_Service.dsp: Set the parameters for compiling the IDL file in the release version of these projects. * tests/DSI_Gateway/test.idl: Renamed typedef LongSeq as DSI_LongSeq. The generated #if defined guard around the class constructor definitions and the Any destructor definition (_LONGSEQ_CS_) was conflicting with something defined elsewhere. Thu Nov 2 14:44:35 2000 Carlos O'Ryan * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp: Explicitly instantiate ACE_Atomic_Op it used to be instantiated in the TAO library, but now that code is in TAO_DynamicInterface. * orbsvcs/tests/EC_Mcast/EC_Mcast.h: * orbsvcs/tests/EC_Mcast/EC_Mcast.cpp: Use the Atomic_Op instantiation from EC_Gateway_UDP. * TAO_IDL/Makefile.dependencies: The IDL compiler was touched if static_libs_only was not defined. Thu Nov 2 15:07:33 2000 Jeff Parsons * tao/corbafwd.h: Uninlined the declarations of the overloaded CORBA::release and CORBA::is_nil methods for Request, ServerRequest and Context. Also moved the declarations of CORBA::release (ServerRequest) and CORBA::is_nil (ServerRequest) inside the minimum CORBA guards, since ServerRequest is now used only for DSI. Thu Nov 2 12:03:07 2000 Jeff Parsons * tao/Dynamic_Adapter.cpp: Moved the #endif of TAO_HAS_MINIMUM_CORBA to the end of the file, after the explicit template instantiations. * tao/DynamicInterface/TAO_DynamicInterface.dsp: Fixed a typo in the project settings for the release version. Wed Nov 1 10:14:26 2000 Darrell Brunsch * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp: * orbsvcs/ImplRepo_Service/ImplRepo_i.h: * orbsvcs/ImplRepo_Service/implrepo.dsp: Changed the ImplRepo_Service to use ServantLocators instead of a default_servant. [Bug 668] Wed Nov 1 10:04:27 2000 Priyanka Gontla * tao/Messaging_Policy_i.cpp (relative_expiry): * tao/ORB_Core.cpp: Removed unnecessary TAO_HAS_RELATIVE_ROUNDTRIP_TIMEOUT_POLICY guards. Wed Nov 1 09:47:47 2000 Priyanka Gontla * tao/Stub.cpp: * tao/Messaging_Policy_i.h: * tao/Messaging_Policy_i.cpp: * tao/Messaging_PolicyFactory.cpp (create_policy): * tao/Messaging_ORBInitializer.cpp (pre_init): Changed TAO_HAS_ROUNDTRIP_TIMEOUT_POLICY to TAO_HAS_RELATIVE_ROUNDTRIP_TIMEOUT_POLICY Wed Nov 1 08:19:12 2000 Darrell Brunsch * tao/Messaging_ORBInitializer.cpp: Added TAO_HAS_ROUNDTRIP_TIMEOUT_POLICY protection around call to TAO_ORB_Core::set_timeout_hook. * tao/Messaging_PolicyFactory.cpp: Added TAO_HAS_ROUNDTRIP_TIMEOUT_POLICY protection for one case statement. * tao/Messaging_Policy_i.cpp: * tao/Messaging_Policy_i.h: * tao/Messaging_Policy_i.i: Standardized the use of the protection macros, since the .h file was using TAO_HAS_CORBA_MESSAGING, but the .cpp file was using TAO_HAS_SYNC_SCOPE_POLICY or nothing at all. Made them consistent. Granted, I don't know if this is the "correct" way of doing it, but it links for me though. Wed Nov 01 09:58:29 2000 Irfan Pyarali * tao/PortableServer/Object_Adapter.h (prepare_for_upcall): Added back the default value for ACE_TRY_ENV. I thought that this was library code and should not have a default. Actually, this code is also called from the Through POA stubs and therefore requires the default so that it can be called from code that uses native exceptions and not the simulated exceptions. Thanks to Carlos for pointing this out. Wed Nov 1 08:14:14 2000 Jeff Parsons * tao/DynamicInterface/Context.cpp: * tao/DynamicInterface/Context.h: * tao/DynamicInterface/DII_Invocation.cpp: * tao/DynamicInterface/DII_Invocation.h: * tao/DynamicInterface/DII_Reply_Dispatcher.cpp: * tao/DynamicInterface/DII_Reply_Dispatcher.h: * tao/DynamicInterface/Dynamic_Adapter_Impl.cpp: * tao/DynamicInterface/Dynamic_Adapter_Impl.h: * tao/DynamicInterface/Dynamic_Implementation.cpp: * tao/DynamicInterface/Dynamic_Implementation.h: * tao/DynamicInterface/ExceptionList.cpp: * tao/DynamicInterface/ExceptionList.h: * tao/DynamicInterface/Request.cpp: * tao/DynamicInterface/Request.h: * tao/DynamicInterface/Server_Request.cpp: * tao/DynamicInterface/Server_Request.h: Replaced or added TAO_HAS_MINIMUM_CORBA guards around these files. Wed Nov 1 07:33:03 2000 Jeff Parsons * orbsvcs/ImplRepo_Service/implrepo.dsp: * orbsvcs/ImplRepo_Service/NT_ImplRepo_Service.dsp: Added TAO_DynamicInterface to linked libraries, and tao/DynamicInterface to the link path. * ImplRepo_i.cpp: Cosmetic changes. Wed Nov 1 07:05:19 2000 Jeff Parsons * TAOACE.dsw: Left out of earlier checkin Tue Oct 31 12:01:10 2000 Jeff Parsons Tue Oct 31 20:17:22 2000 Jeff Parsons * tao/TAO_Static.dsp: Changes corresponding those made to TAO.dsp in Tue Oct 31 12:01:10 2000 Jeff Parsons Tue Oct 31 20:03:17 2000 Jeff Parsons * TAO_IDL/be/be_visitor_argument/request_info_arglist.cpp: * TAO_IDL/be/be_visitor_operation/interceptors_arglist.cpp: * TAO_IDL/be/be_visitor_operation/interceptors_ch.cpp: * TAO_IDL/be/be_visitor_operation/interceptors_cs.cpp: * TAO_IDL/be/be_visitor_operation/interceptors_info_rettype.cpp: * TAO_IDL/be/be_visitor_operation/rettype.cpp: * TAO_IDL/be_include/be_codegen.h: Added decision to use ACE_NESTED_CLASS macro for interceptors request info subclasses' return type code, similiar to previous changes made for arguments. Also changed the name of the visitor context substate enum value to be more general, since it isn't used just for arguments any more. Thanks to Tommy Andreasen for reporting this bug and sending in an example IDL file. Tue Oct 31 17:34:17 2000 Priyanka Gontla * tao/PortableInterceptorC.h: Removed the unnecessary TAO_HAS_CORBA_MESSAGING Guard. * tao/Stub.h (TAO_Stub): * tao/Stub.cpp (buffering_constraint): * tao/ORB_Core.i: * tao/ORB_Core.cpp (stubless_relative_roundtrip_timeout): Added the TAO_HAS_ROUNDTRIP_TIMEOUT_POLICY adn TAO_HAS_SYNC_SCOPE_POLICY guards around the related functions. * tao/Messaging_Policy_i.h: Added the missing TAO_HAS_CORBA_MESSAGING Guard around the class. Tue Oct 31 18:50:35 2000 Jeff Parsons * tao/Dynamic_Adapter.cpp: Removed unused arguments in the no-op definitions of the base class functions. Tue Oct 31 18:43:41 2000 Jeff Parsons * tao/Invocation.cpp: * tao/Invocation.h: Added TAO_HAS_MINIMUM_CORBA == 0 guards around the declaration and definition of the version of invoke() that takes an ExceptionList. This version is used only by DII. Thanks to Priyanka for reporting this problem, which occurs in minimum CORBA builds. Tue Oct 31 17:55:02 2000 Jeff Parsons * rules.tao.GNU: Added variable TAO_DYNAMIC_LIBS, set to -lTAO_DynamicInterface, and used it in the following Makefiles, which all use DII and/or DSI code. * examples/POA/DSI/Makefile: * performance-tests/Cubit/TAO/DII_Cubit/Makefile: * performance-tests/Latency/Makefile: * tests/DSI_Gateway/Makefile: * tests/Param_Test/Makefile: Tue Oct 31 14:53:46 2000 Carlos O'Ryan * */Makefile*: Update all makefile dependencies (yet another time). Tue Oct 31 15:19:13 2000 Jeff Parsons * tao/Dynamic_Adapter.cpp: Added explicit template instantiations for ACE_Dynamic_Service. Tue Oct 31 11:54:30 2000 Carlos O'Ryan * tao/Object.cpp: Remove stray template instantiation, probably left out during development. * tao/DynamicInterface/DII_Invocation.h: * tao/DynamicInterface/DII_Reply_Dispatcher.h: * tao/DynamicInterface/Request.h: Fixed a few #includes that still referenced files with the tao/ prefix, even though they were moved to the DynamicInterface directory. * tao/Makefile: * tao/DynamicAny/Makefile: * tao/IORManipulation/Makefile: * tao/IORTable/Makefile: * tao/PortableServer/Makefile: * tao/DynamicInterface/Makefile: Update dependencies Tue Oct 31 11:05:47 2000 Carlos O'Ryan * tao/PortableServer/TAO_PortableServer.dsp: Remove Forwarding_Servant from this project file too. Tue Oct 31 12:15:18 2000 Jeff Parsons * tests/DSI_Gateway/DSI_Gateway.dsw: * tests/DSI_Gateway/DSI_Gateway_Client.dsp: * tests/DSI_Gateway/DSI_Gateway_Server.dsp: * tests/DSI_Gateway/DSI_Gateway_Service.dsp: Added MSVC workspace and projects for this test. Tue Oct 31 12:01:10 2000 Jeff Parsons * tao/DynamicInterface/Context.cpp: * tao/DynamicInterface/Context.h: * tao/DynamicInterface/Context.inl: * tao/DynamicInterface/DII_Invocation.cpp: * tao/DynamicInterface/DII_Invocation.h: * tao/DynamicInterface/DII_Invocation.inl: * tao/DynamicInterface/DII_Reply_Dispatcher.cpp: * tao/DynamicInterface/DII_Reply_Dispatcher.h: * tao/DynamicInterface/DII_Reply_Dispatcher.inl: * tao/DynamicInterface/Dynamic_Adapter_Impl.cpp: * tao/DynamicInterface/Dynamic_Adapter_Impl.h: * tao/DynamicInterface/Dynamic_Implementation.cpp: * tao/DynamicInterface/Dynamic_Implementation.h: * tao/DynamicInterface/ExceptionList.cpp: * tao/DynamicInterface/ExceptionList.h: * tao/DynamicInterface/ExceptionList.inl: * tao/DynamicInterface/Makefile: * tao/DynamicInterface/Makefile.bor: * tao/DynamicInterface/Request.cpp: * tao/DynamicInterface/Request.h: * tao/DynamicInterface/Request.inl: * tao/DynamicInterface/Server_Request.cpp: * tao/DynamicInterface/Server_Request.h: * tao/DynamicInterface/Server_Request.inl: * tao/DynamicInterface/TAO_DynamicInterface.dsp: * tao/DynamicInterface/dynamicinterface_export.h: Files either moved whole from TAO/tao, created from parts of files in TAO/tao, or created from scratch for the new DynamicInterface library. This new library contains all the code related to DII and DSI. * tao/Dynamic_Adapter.cpp: * tao/Dynamic_Adapter.h: New files containing base class for hook methods that replace all or part of existing TAO methods that use DII or DSI. * TAOACE.dsw: * tao/DomainC.cpp: * tao/Exception.cpp: * tao/Exception.h: * tao/Exception.i: * tao/GIOP_Message_Acceptors.cpp: * tao/InterfaceC.cpp: * tao/Invocation.cpp: * tao/Invocation.h: * tao/LocalObject.cpp: * tao/Makefile: * tao/Makefile.am: * tao/Makefile.bor: * tao/ORB.cpp: * tao/ORB.h: * tao/Object.cpp: * tao/Object.h: * tao/PolicyC.cpp: * tao/Stub.cpp: * tao/Stub.h: * tao/Stub.i: * tao/TAO.dsp: * tao/TAO_Server_Request.cpp: * tao/TAO_Server_Request.h: * tao/corba.h: * tao/corbafwd.cpp: * tao/operation_details.h: * tao/target_specification.h: TAO/tao files modified to be consistent with the DynamicInterface library. * tao/PortableServer/POA.cpp: * tao/PortableServer/POA.h: * tao/PortableServer/POA.i: * tao/PortableServer/Servant_Base.cpp: * tao/PortableServer/Servant_Base.h: * tao/PortableServer/TAO_PortableServer.dsp: TAO/tao/PortableServer files modified to be consistent with the DynamicInterface library. * tests/DSI_Gateway/test_dsi.cpp: * tests/DSI_Gateway/test_dsi.h: * tests/Param_Test/client.dsp: * tests/Param_Test/helper.h: * examples/POA/DSI/Database_i.cpp: * examples/POA/DSI/Database_i.h: * examples/POA/DSI/server.dsp: * performance-tests/Cubit/TAO/DII_Cubit/client.cpp: * performance-tests/Cubit/TAO/DII_Cubit/client.dsp: * performance-tests/Latency/deferred_synch_client.dsp: * performance-tests/Latency/dii_client.cpp: Tests and examples modified to be consistent with the DynamicInterface library. Tue Oct 31 11:06:52 2000 Jeff Parsons * orbsvcs/IFR_Service/InterfaceS.cpp: * orbsvcs/IFR_Service/TypeCodeFactory_skel.cpp: Fixed generated code to reflect Irfan's recent change to the signature of the prepare_for_upcall() method. Tue Oct 31 09:09:17 2000 Irfan Pyarali * tao/IOR_Parser.h: SystemException was being used without being defined (it was only forward declared). Included Exception.h to fix this. Thanks to J. Russell Noseworthy for reporting this problem and providing the fix. This closes bug 708. Mon Oct 30 21:37:22 2000 Carlos O'Ryan * tao/PortableServer/Makefile: * tao/PortableServer/Makefile.bor: Remove Forwarding_Servant from the list of files, updated dependencies. Mon Oct 30 18:51:02 2000 Carlos O'Ryan * orbsvcs/orbsvcs/ESF/ESF_Copy_On_Read.cpp: * orbsvcs/orbsvcs/ESF/ESF_Copy_On_Write.cpp: * orbsvcs/orbsvcs/ESF/ESF_Peer_Admin.cpp: * orbsvcs/orbsvcs/ESF/ESF_Proxy_Admin.cpp: Sun/CC 5.1 Patch 109490-01 gives errors if the formal arguments names in a template definition do not match the names in the declaration. Fixed the problems in the ESF directory per J. Russell Noseworthy report. This is a partial fix for [BUGID:709] * orbsvcs/orbsvcs/ESF/ESF_Busy_Lock.h: * orbsvcs/orbsvcs/ESF/ESF_Copy_On_Read.h: * orbsvcs/orbsvcs/ESF/ESF_Copy_On_Write.h: * orbsvcs/orbsvcs/ESF/ESF_Defaults.h: * orbsvcs/orbsvcs/ESF/ESF_Delayed_Changes.h: * orbsvcs/orbsvcs/ESF/ESF_Delayed_Command.h: * orbsvcs/orbsvcs/ESF/ESF_Immediate_Changes.h: * orbsvcs/orbsvcs/ESF/ESF_Peer_Admin.h: * orbsvcs/orbsvcs/ESF/ESF_Peer_Admin.i: * orbsvcs/orbsvcs/ESF/ESF_Peer_Workers.h: * orbsvcs/orbsvcs/ESF/ESF_Proxy_Admin.h: * orbsvcs/orbsvcs/ESF/ESF_Proxy_Collection.h: * orbsvcs/orbsvcs/ESF/ESF_Proxy_List.h: * orbsvcs/orbsvcs/ESF/ESF_Proxy_RB_Tree.h: * orbsvcs/orbsvcs/ESF/ESF_Proxy_RefCount_Guard.h: * orbsvcs/orbsvcs/ESF/ESF_RefCount_Guard.h: * orbsvcs/orbsvcs/ESF/ESF_Shutdown_Proxy.h: * orbsvcs/orbsvcs/ESF/ESF_Worker.h: * orbsvcs/orbsvcs/Event/EC_And_Filter.h: * orbsvcs/orbsvcs/Event/EC_Basic_Factory.h: * orbsvcs/orbsvcs/Event/EC_Basic_Filter_Builder.h: * orbsvcs/orbsvcs/Event/EC_Bitmask_Filter.h: * orbsvcs/orbsvcs/Event/EC_Busy_Lock.h: * orbsvcs/orbsvcs/Event/EC_Conjunction_Filter.h: * orbsvcs/orbsvcs/Event/EC_ConsumerAdmin.h: * orbsvcs/orbsvcs/Event/EC_ConsumerControl.h: * orbsvcs/orbsvcs/Event/EC_Default_Factory.h: * orbsvcs/orbsvcs/Event/EC_Defaults.h: * orbsvcs/orbsvcs/Event/EC_Disjunction_Filter.h: * orbsvcs/orbsvcs/Event/EC_Dispatching.h: * orbsvcs/orbsvcs/Event/EC_Dispatching_Task.h: * orbsvcs/orbsvcs/Event/EC_Event_Channel.h: * orbsvcs/orbsvcs/Event/EC_Factory.h: * orbsvcs/orbsvcs/Event/EC_Filter.h: * orbsvcs/orbsvcs/Event/EC_Filter_Builder.h: * orbsvcs/orbsvcs/Event/EC_Gateway.h: * orbsvcs/orbsvcs/Event/EC_Gateway_Sched.h: * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.h: * orbsvcs/orbsvcs/Event/EC_MT_Dispatching.h: * orbsvcs/orbsvcs/Event/EC_Masked_Type_Filter.h: * orbsvcs/orbsvcs/Event/EC_Negation_Filter.h: * orbsvcs/orbsvcs/Event/EC_Null_Factory.h: * orbsvcs/orbsvcs/Event/EC_Null_Scheduling.h: * orbsvcs/orbsvcs/Event/EC_ObserverStrategy.h: * orbsvcs/orbsvcs/Event/EC_Per_Supplier_Filter.h: * orbsvcs/orbsvcs/Event/EC_Prefix_Filter_Builder.h: * orbsvcs/orbsvcs/Event/EC_Priority_Dispatching.h: * orbsvcs/orbsvcs/Event/EC_Priority_Scheduling.h: * orbsvcs/orbsvcs/Event/EC_ProxyConsumer.h: * orbsvcs/orbsvcs/Event/EC_ProxySupplier.h: * orbsvcs/orbsvcs/Event/EC_QOS_Info.h: * orbsvcs/orbsvcs/Event/EC_Reactive_ConsumerControl.h: * orbsvcs/orbsvcs/Event/EC_Reactive_SupplierControl.h: * orbsvcs/orbsvcs/Event/EC_Reactive_Timeout_Generator.h: * orbsvcs/orbsvcs/Event/EC_Sched_Factory.h: * orbsvcs/orbsvcs/Event/EC_Sched_Filter.h: * orbsvcs/orbsvcs/Event/EC_Sched_Filter_Builder.h: * orbsvcs/orbsvcs/Event/EC_Scheduling_Strategy.h: * orbsvcs/orbsvcs/Event/EC_SupplierAdmin.h: * orbsvcs/orbsvcs/Event/EC_SupplierControl.h: * orbsvcs/orbsvcs/Event/EC_Supplier_Filter.h: * orbsvcs/orbsvcs/Event/EC_Supplier_Filter_Builder.h: * orbsvcs/orbsvcs/Event/EC_Timeout_Filter.h: * orbsvcs/orbsvcs/Event/EC_Timeout_Generator.h: * orbsvcs/orbsvcs/Event/EC_Trivial_Supplier_Filter.h: * orbsvcs/orbsvcs/Event/EC_Type_Filter.h: * orbsvcs/orbsvcs/Event/EC_UDP_Admin.h: Update all the header files to use Doxygen style documentation. I used Darrell's doxygen-convert.pl script and a little hand-crafting. Mon Oct 30 18:35:46 2000 Darrell Brunsch * examples/POA/Forwarding/Servant_Activator.cpp: Added a TAO_ENV_ARG_DEFN so we have an ACE_TRY_ENV when native exceptions are used. * orbsvcs/orbsvcs/SSLIOP.dsp: Removed hardcoded OpenSSL include directories. * orbsvcs/tests/FaultTolerance/IOGRManipulation/IOGRTest.dsp: Fixed the include directories. Mon Oct 30 17:47:13 2000 Priyanka Gontla * tao/Policy_Manager.h: * tao/Policy_Manager.cpp (TAO_Policy_Manager_Impl): Changed the type of relative_roundtrip_timeout_ and sync_scope_ to CORBA::Policy *. Hence instead of calling TAO_RelativeTimeoutPolicy::clone or TAO_Sync_Scope_Policy::clone, calling CORBA::Policy::copy. Made related changes. Modify the return parameter for relative_roundtrip_timeout () and sync_scope () to CORBA::Policy_ptr in all the classes in the file. * tao/ORB_Core.h : * tao/ORB_Core.cpp: Declare and define TAO_ORB_Core::call_timeout_hook, TAO_ORB_Core::set_timeout_hook, TAO_ORB_Core::call_sync_scope_hook, TAO_ORB_Core::set_sync_scope_hook which are used to call the hooks to set and get the values of timeout/scope and save the hook for the respective policies so that they can be used later in need. Also, get_sync_strategy is defined as a helper to get the TAO_Sync_Strategy related to the Sync_Scope passed to it. The function TAO_ORB_Core::stubless_sync_scope helps get the scope when the stub is nil. Modify the return parameter for TAO_ORB_Core::relative_roundtrip_timeout (), TAO_ORB_Core::default_relative_roundtrip_timeout (), TAO_ORB_Core::stubless_relative_roundtrip_timeout (), TAO_ORB_Core::default_sync_scope () and TAO_ORB_Core::sync_scope () to CORBA::Policy_ptr. The same change recursively in all the classes which call these functions. * tao/Stub.h: * tao/Stub.cpp (sync_scope): Modified TAO_Stub::sync_strategy () to call TAO_ORB_Core::call_sync_scope_hook to get the scope value. This scope value is passed to TAO_ORB_Core::get_sync_strategy () to get the TAO_Sync_Strategy. Modify the return parameter for TAO_ORB_Core::relative_roundtrip_timeout (), TAO_ORB_Core::sync_scope () to CORBA::Policy_ptr. Modified TAO::Sync_scope to call TAO_ORB_Core::stubless_sync_scope to avoid code repetition. * tao/Messaging_Policy_i.h (SyncScopePolicy,): * tao/Messaging_Policy_i.cpp: Declare and define TAO_RelativeRoundtripTimeoutPolicy::hook and TAO_Sync_Scope_Policy::hook functions. The functions are called to set the hooks for the respective policies to indicate that the policies are set and also to know the Timeout and scope values in the respective cases. * tao/Messaging_PolicyFactory.cpp (create_policy): Remove the if-defs for TAO_HAS_RELATIVE_ROUNDTRIP_TIMEOUT_POLICY and TAO_HAS_SYNC_SCOPE_POLICY in the switch-case block. * tao/Messaging_ORBInitializer.cpp: Save the pointers to hooks for TAO_RelativeRoundtripTimeout and TAO_Sync_Scope policies in the TAO_Messaging_ORBInitializer::pre_init by calling the TAO_ORB_Core::set_timeout_hook and TAO_ORB_Core::set_sync_scope_hook. * tao/UIOP_Connect.h: * tao/UIOP_Connect.cpp: * tao/SHMIOP_Connect.h: * tao/SHMIOP_Connect.cpp (handle_timeout): * tao/IIOP_Connect.h: * tao/IIOP_Connect.cpp (handle_timeout): Set the timeout value by calling TAO_ORB_Core::call_timeout_hook instead of getting a TAO_RelativeRoundtripPolicy pointer and proceeding from there. * tao/Invocation.h: * tao/Invocation.cpp: Same as IIOP_Connect for TAO_RelativeRoundtripTimeoutPolicy. Similar change with sync_scope. Instead of getting a TAO_Sync_Scope_Policy_ptr and gettting the sync_scope value, call the hook for the sync_scope which is TAO_ORB_Core::call_sync_scope_hook. * tao/ClientRequestInfo.h : * tao/ClientRequestInfo.cpp (sync_scope): Modified the return value of sync_scope from Messaging::SyncScope to CORBA::Short. Mon Oct 30 18:57:22 2000 Irfan Pyarali * tao/PortableServer/POA: Removed the Forwarding Servant. The forwarding servant was ill-constructed: (a) it threw exceptions the incorrect way since the correct way is to call set_exception() on the ServerRequest and not to throw an exception; (b) the forward_object() method on the POA leads to deadlock if called from an upcall on the object being forwarded; (c) Servant Managers is the only correct way to forward requests - Default Servants is not the correct solution. * tao/PortableServer/Object_Adapter.cpp (dispatch, dispatch_servant, and prepare_for_upcall): Changed these methods such that the forwarding exception can only be raised by the servant managers. Now the forward exception is caught in prepare_for_upcall() when we are looking for the servant and may potentially call the servant managers. If this exception is raised by a regular servant or by a default servant, the exception is reported to the client as an unknown exception. Thanks to Ossama for reporting this problem. This fix closes bug 690. * Since the signature of TAO_Object_Adapter::Servant_Upcall::prepare_for_upcall() got changed because of the above fix, it required a change to collocation code that performs through POA calls. The following files were effected: - tao/PortableServer/Collocated_Object.cpp - tao/PortableServer/DomainS.cpp - tao/PortableServer/ImplRepoS.cpp - tao/PortableServer/MessagingS.cpp - tao/PortableServer/PolicyS.cpp - tao/PortableServer/ThruPOA_Object_Proxy_Impl.cpp and - TAO_IDL/be/be_visitor_interface/thru_poa_collocated_ss.cpp - TAO_IDL/be/be_visitor_operation/thru_poa_collocated_ss.cpp * tao/Adapter.h (TAO_Adapter): Added a new return value for failed dispatching of upcalls. Mon Oct 30 18:38:42 2000 Jeff Parsons * TAO_IDL/driver/drv_preproc.cpp: Plugged a memory leak by removing an extra string copy when adding the include path for orb.idl to the command line arglist. * TAO_IDL/util/utl_scope.cpp: Found a missing 'delete' for an iterator that was created on the heap. Instead of adding the 'delete', just created the iterator on the stack. Mon Oct 30 10:40:57 2000 Priyanka Gontla * docs/tutorials/Quoter/AMI/Makefile: Updated the Makefile to link lTAO_PortableServer. Thanks to Walt Corey for reporting the bug. Mon Oct 30 15:21:24 2000 Jeff Parsons * tao/Typecode.cpp: Added a check for a null typecode pointer argument to a function common to equal() and equivalent(). This change will cause all Any extractions to fail if the application has not initialized an ORB. Thanks to Albert Wijnja for reporting this bug. Mon Oct 30 15:00:30 2000 Jeff Parsons * TAO_IDL/ast/ast_interface.cpp: * TAO_IDL/fe/fe_interface_header.cpp: Modified redefinition of forward declared interface to handle the case where an interface is defined in a reopening of the module where it is forward declared, then referenced in a different module. Thanks to Vsevolod Novikov for reporting this bug and sending in an example IDL file. * tests/IDL_Test/reopened_modules.idl: Added the above example to IDL_Test. Mon Oct 30 12:04:18 2000 Carlos O'Ryan * examples/Simple/time-date/Makefile: Fixed accidental commit Mon Oct 30 12:29:33 2000 Jeff Parsons * TAO_IDL/be/be_visitor_argument/request_info_arglist.cpp: * TAO_IDL/be/be_visitor_argument/request_info_sh.cpp: Made the signatures of wstring members and wstring parameters in constructor signature agree for the generated TAO_ServerRequest_Info subclasses. Thanks to Johnny Willemsen for reporting this bug. Sat Oct 28 17:55:29 2000 Carlos O'Ryan * tao/ORBInitializer_Registry.cpp: Fixed warnings in builds with native exceptions enabled. Sat Oct 28 15:38:40 2000 Carlos O'Ryan * orbsvcs/tests/Event/Event.dsw: * orbsvcs/tests/Event/Performance/ECPerformance.dsw: * performance-tests/TAO_Perf_Tests.dsw: * performance-tests/Callback/client.dsp: * performance-tests/Callback/server.dsp: Add all new projects to their workspaces, and configure them properly. Sat Oct 28 15:27:12 2000 Carlos O'Ryan * performance-tests/Callback/Callback_i.h: * performance-tests/Callback/Server_i.cpp: Fixed throw specs Fri Oct 27 15:54:37 2000 Carlos O'Ryan * orbsvcs/tests/Event/Performance/Makefile: * orbsvcs/tests/Event/Performance/Latency.h: * orbsvcs/tests/Event/Performance/Latency.cpp: * orbsvcs/tests/Event/Performance/Latency.dsp: * orbsvcs/tests/Event/Performance/Latency_Server.cpp: * orbsvcs/tests/Event/Performance/Latency_Server.dsp: * orbsvcs/tests/Event/Performance/latency.conf: New performance benchmark to measure throughput to a remote event service. This version uses reliable oneways to improve the predictability of the test over the network. * orbsvcs/tests/Event/lib/Makefile: * orbsvcs/tests/Event/lib/Driver.h: * orbsvcs/tests/Event/lib/Driver.cpp: * orbsvcs/tests/Event/Basic/Makefile: When using the old event channel we must link the naming service library too. * performance-tests/Makefile: * performance-tests/Callback/Makefile: * performance-tests/Callback/Callback.dsw: * performance-tests/Callback/README: * performance-tests/Callback/run_test.pl: * performance-tests/Callback/callback.idl: * performance-tests/Callback/Callback_i.h: * performance-tests/Callback/Callback_i.inl: * performance-tests/Callback/Callback_i.cpp: * performance-tests/Callback/Server_i.h: * performance-tests/Callback/Server_i.inl: * performance-tests/Callback/Server_i.cpp: * performance-tests/Callback/client.cpp: * performance-tests/Callback/client.dsp: * performance-tests/Callback/server.cpp: * performance-tests/Callback/server.dsp: * performance-tests/Callback/svc.conf: New benchmark for distributed callbacks. Mostly used as a baseline performance benchmark for the event services. * performance-tests/Latency/st_client.cpp: Use the new ACE_Sample_History class * orbsvcs/Event_Service/Event_Service.cpp: Implement new options to dump the IOR and process ID to some file. Fri Oct 27 15:49:55 2000 Priyanka Gontla * tao/Object.cpp (_set_policy_overrides): Made the function exception safe by placing the TAO_Stub into the auto_ptr since it is dynamically allocated. Thanks to Ossama. Fri Oct 27 11:42:34 2000 Carlos O'Ryan * orbsvcs/examples/CosEC/Factory/CosEventChannelFactory_i.cpp: * orbsvcs/examples/CosEC/Factory/main.cpp: Fixed initialization of the Factory example. The default factory must be manually registered with the Service Configurator because we avoid static constructors in ACE+TAO. * orbsvcs/orbsvcs/CosEvent/CEC_EventChannel.cpp: Use ACE_ASSERT to stop early if the factory pointer is null. Thanks to Sandro Doro for suggesting these fixes. Fri Oct 27 08:56:43 2000 Chris Cleeland * tao/Sequence_T.cpp: * tao/Sequence_T.i: Moved the allocbuf() methods from the .i to the .cpp for TAO_Bounded_Array_Sequence and TAO_Unbounded_Array_Sequence templates. They cause SunWorkshop 4.2 grief during compiles because the compiler couldn't find a definition for one of the template parameters. Moving it into .cpp got the compiler unconfused. This is a workaround for the SunCC 4.2 Compiler patch level 104631-07. Fri Oct 27 00:28:03 2000 Irfan Pyarali * examples/POA/Forwarding/run_test.pl (run_test): Added a missing print statement. * examples/POA/Forwarding/client.cpp (main): * examples/POA/Forwarding/server.cpp: * examples/POA/Forwarding/Servant_Activator.cpp: Fixed the use of TAO_ENV_ARG_DECL and ACE_CHECK. These errors were there never found on NT because of the presence of native exception handling. Thu Oct 26 13:58:42 2000 Pradeep Gore * orbsvcs/examples/Notify/Filter/Filter.cpp: Reverted some code that had been inadvertently commented for debugging purposes. Wed Oct 25 20:59:45 2000 Darrell Brunsch * tao/PortableServer/POA.cpp: Changed the "Invalid Implementation Repository IOR..." message to "Missing ImR IOR, will not use the ImR", so now it doesn't sound like an error, and also bumped up its debug level to >1, so it will not show up unless you want a lot of info. This was reported by ChenXu a while back, and several others tripped over it. [Bug 694] Wed Oct 25 10:16:38 2000 Carlos O'Ryan * tao/ORBInitializer_Registry.cpp: Add missing #include for platforms that don't define ACE_TEMPLATES_REQUIRE_SOURCE. Wed Oct 25 08:23:34 2000 Chad Elliott * performance-tests/Cubit/TAO/MT_Cubit/Globals.h Modified the SCHED_PRIORITY macro for HPUX only. The original priority was above the maximum and would cause a run-time failure. Wed Oct 25 00:32:59 2000 Irfan Pyarali * tao/PortableServer: POA::reference_to_servant() was missing the WrongAdapter exception in the throw spec. Thanks to Marina (and the Borland compiler) for pointing this out. Following files needed the change: - POA.cpp - POA.h - PortableServer.pidl - PortableServerC.h Tue Oct 24 23:40:33 2000 Irfan Pyarali * tao/PortableServer/Object_Adapter.h (TAO_Object_Adapter): - Two essential changes were required while preparing for servant upcalls: (a) Increasing outstanding_requests_> now happens before we start looking for the servant. This change is necessary because otherwise a servant manager may decide to shutdown the ORB or destroy the calling POA. This change makes sure that POA/Object_Adapter are not destroyed before the upcall cycle completes. Now poa_cleanup() is called every time outstanding_requests_> is increased. The other change is to check if a non-servant upcall is in progress after calling the servant and before changing the POA/servant related reference counts. If a non-servant upcall is in progress, wait for it to complete; unless of course, the thread making the non-servant upcall is this thread. - Non_Servant_Upcall now knows for which POA it was setup. This change allows the prevention of the destruction of the calling POA while the non-servant upcall is in progress. Now at the end of the non-servant upcall, we check if the POA needs to be cleaned up. - non_servant_upcall_in_progress() now returns a pointer to the non-servant upcall in progress. If no non-servant upcall is in progress, this pointer is zero. * tao/PortableServer/POA: - (complete_destruction_i): Mark that we are no longer awaiting destruction. This helps avoid infinite calls to complete_destruction_i() when using Non_Servant_Upcall while cleaning up the adapter activator, servant activator, servant locator and the default servant. - (destroy_i): Only call complete_destruction_i() if there are no outstanding requests and that we are not in a non-servant upcall or if we are in a non-servant upcall, make sure we are the POA related to the non-servant upcall. * tao/PortableServer/POA.i (TAO_POA_Guard): Waiting for non-servant upcalls to complete must happen before the POA state is checked. * tao: should be char * and not const char *. You could make it char * const but not const char *. Changes were required to: - tao/Parser_Registry.cpp - tao/Resource_Factory.cpp - tao/Resource_Factory.h - tao/default_resource.cpp - tao/default_resource.h Also, the memory managment for needed fixing. needed to be deleted. The elements of needed to be initialized, consistently duplicated and eventually freed. * tao/Adapter.cpp (close): The destruction of the individual adapters was missing. Plus the adapter destruction was happening in close(). It should really happen in the destructor because close() is too early to destroy the adapters since upcalls may still be in progress when ORB::shutdown() is called which will call close(). * tao/Exception: Made the _info() method virtual in the Exception class and added an implementation for the UserException and SystemException. This also removed the requirement to upcast in the CORBA_Exception::_info() method. * examples/POA/Forwarding: Revamped and simplified this example. Removed the POA approach for forwarding since it is not standard. Also, changed the example to use the servant activator instead of the servant locator since the activator is more appropriate here. Tue Oct 24 13:36:05 2000 Ossama Othman * tao/PolicyFactory_Registry.h: Removed the local ITERATOR typedef. It confused brain-damaged g++ 2.7.x. * tao/PolicyFactory_Registry.cpp (~TAO_PolicyFactory_Registry): Use the ACE_Map_Manager<>::ITERATOR trait instead of the now removed typedef local to this class. Tue Oct 24 11:18:01 2000 Priyanka Gontla * tao/Typecode.cpp : Made the code a little bit cleaner by moving code that is similar for all the cases in the switch-case block of private_member_name outside the block. Tue Oct 24 07:38:45 2000 Chad Elliott * examples/Simulator/Event_Supplier/Event_Sup.cpp * examples/Simulator/Event_Supplier/Logging_Sup.cpp * examples/Simulator/Event_Supplier/DualEC_Sup.cpp * examples/Simulator/Event_Supplier/Event_Con.cpp Move the include of below the includes for TAO. HP-UX needs the _HPUX_SOURCE macro defined before the inclusion of to get the proper prototypes. limits.h includes , but the HP config header in ACE sets the macro. So, include limits.h after the ace config header. Mon Oct 23 21:39:22 2000 Ossama Othman * tao/ORB.cpp (ORB_init): Fixed a typo where TAO_HAS_RTCORBA was used instead of TAO_HAS_RT_CORBA. This typo prevented the RT CORBA ORB initializer from being registered, which in turn prevented the RT CORBA policy factories from being registered. This fixes a seg fault. * tao/Stub.cpp (~TAO_Stub): Fixed a typo where TAO_HAS_RTCORBA was used instead of TAO_HAS_RT_CORBA. This fixes a problem where the destroy() method in each RT policy was not being called. Make sure the pointer to the policy is valid before invoking the destroy() method through it. This fixes a seg fault. * tao/Profile.cpp (policies): Made this code exception safe by using a Policy_var. Mon Oct 23 19:13:54 2000 Ossama Othman * tao/DomainC.cpp: Corrected the last of the references to TAO_ClientRequest_Info. That class has been renamed to TAO_ClientRequestInfo. Mon Oct 23 18:07:01 2000 Carlos O'Ryan * Once more, recompute dependencies YET ANOTHER TIME. IMnsHO the project is growing too big to keep the dependencies in the repo. Mon Oct 23 15:59:53 2000 Ossama Othman * tao/ORBInitInfo.cpp (add_client_request_interceptor, add_server_request_interceptor): Only enable the request interceptor registration code if TAO_HAS_INTERCEPTORS is set to 1, otherwise throw a CORBA::NO_IMPLEMENT(). Mon Oct 23 15:23:03 2000 Ossama Othman * tao/PortableInterceptorC.h: Explicitly include `CurrentC.h' and `IOPC.h' to pull in the CORBA::Current and IOP class declarations, respectively. This fixes a minimum CORBA build problem. Thanks to Priyanka for pointing this out. Mon Oct 23 15:07:38 2000 Priyanka Gontla * tao/PortableInterceptorC.h: Added a TAO_HAS_CORBA_MESSAGING macro around virtual Messaging::SyncScope sync_scope for the minimum corba build. Mon Oct 23 14:58:34 2000 Ossama Othman * tao/Messaging_PolicyFactory.cpp (create_policy): * tao/ORBInitInfo.cpp (register_initial_reference, add_ior_interceptor): Fixed unused argument warnings. Mon Oct 23 14:46:57 2000 Ossama Othman * tao/DomainC.cpp: * tao/corba.h: Always include `tao/PortableInterceptor.h' to pull in the "TAO_INTERCEPTOR" macros. The classes in that header are protected within a "TAO_HAS_INTERCEPTORS" block so there should be no problem in always including this header. This fixes a minimum CORBA build. Thanks to Priyanka for pointing this out. Mon Oct 23 12:58:27 2000 Ossama Othman * tao/PortableServer/DomainS.cpp: Additional typo fixes that I missed since I didn't have support for the interface repository enabled. The problems only appeared when that support was enabled. Once again, Jeff comes to the rescue! Mon Oct 23 12:31:00 2000 Priyanka Gontla * tao/Makefile: Updated dependencies. Mon Oct 23 14:32:14 2000 Jeff Parsons * TAO_IDL/be/be_visitor_operation/operation_cs.cpp: * TAO_IDL/be/be_visitor_operation/operation_ss.cpp: Removed the generated ACE_CHECK following two function calls that no longer use ACE_TRY_ENV. Mon Oct 23 12:19:31 2000 Ossama Othman * tao/PortableServer/DomainS.cpp: Fixed call to deprecated _get_server_interceptor() method, and removed unnecessary ACE_CHECK macros. Thanks again to Jeff for pointing this out. Mon Oct 23 11:51:41 2000 Ossama Othman * tao/DomainC.h: Corrected typo where the name of the ClientRequestInfo base class was not updated to the new name. Thanks to Jeff for pointing this out. Mon Oct 23 02:49:25 2000 Ossama Othman * tao/Interceptor_List.h: * tao/Interceptor_List.inl: * tao/Interceptor_List.cpp: Newly added sources for the containers of all supported interceptor types. * tao/ORBInitInfo.h: * tao/ORBInitInfo.cpp: Newly added implementation of the PortableInterceptor::ORBInitInfo object. * tao/ORBInitializer_Registry.h: * tao/ORBInitializer_Registry.inl: * tao/ORBInitializer_Registry.cpp: New sources for global registry of all registered ORB initializers. The ORB core invokes methods (pre_init and post_init) on this class. This class then invokes the same method on all registered ORB initializers. * tao/RT_ORBInitializer.h: * tao/RT_ORBInitializer.cpp: * tao/Messaging_ORBInitializer.h: * tao/Messaging_ORBInitializer.cpp: Newly added files containing the ORBInitializers related to TAO's RTCORBA and Messaging support. * tao/ORB.h: * tao/ORB.i: Removed all interceptor related code. They should have been in the TAO_ORB_Core class since code in these files is related predominantly to ORB pseudo-references, not the actual ORB implementation (i.e., the ORB core). * tao/ORB.cpp (ORB_init): Create a PortableInterceptor::ORBInitInfo object to be passed on to ORBInitializers. Invoke the pre_init() method on all registered ORB initializers before calling TAO_ORB_Core::init() method, and then the post_init() method on those same ORB initializers after TAO_ORB_Core::init() has been invoked. (create_policy): Attempt to obtain the policy of the given type from the policy factory registry rather than the now deprecated TAO_Service_Callbacks::service_create_policy() method. The TAO_Service_Callbacks::service_create_policy() is still invoked from within the policy factory registry to ease the transition of the FT service code to the standard portable interceptor interface. * tao/ORB_Core.h: * tao/ORB_Core.i: * tao/ORB_Core.cpp: Added support routines for registering and obtaining the interceptors, and a support routine for registering policy factories specific to the given ORB. * tao/PortableInterceptor.h: * tao/PortableInterceptor.cpp: Integrated support for multiple interceptors. Each registered interceptor will now be invoked, as opposed to the single interceptor previously supported. * tao/Service_Callbacks.h: * tao/Service_Callbacks.cpp (service_create_policy): Added comments regarding deprecation of this method in favor of the policy factory registry support provided by the Portable Interceptor specification. This method is still fully functional. * tao/PolicyFactory_Registry.h: * tao/PolicyFactory_Registry.cpp: Newly added registry containing map of policy type to policy factory. * tao/RT_PolicyFactory.h: * tao/RT_PolicyFactory.cpp: * tao/Messaging_PolicyFactory.h: * tao/Messaging_PolicyFactory.cpp: Newly added policy factory sources for real-time CORBA and Messaging related policies. * tao/Policy_Factory.h: * tao/Policy_Factory.cpp: Removed these files. They have been superseded by the newly added RT_PolicyFactory.* files. * tao/Profile.cpp (policies): Updated this code to use the standard ORB::create_policy () method which now queries the newly added policy factory registry. * tao/Request_Info.h: * tao/Request_Info.cpp: Deprecated these files. They have been split into client side and server side files. * tao/ClientRequestInfo.h: * tao/ClientRequestInfo.cpp: New files based on the client side request information class from Request_Info.*. (get_request_policy): Implemented this method. Obtain the policies in effect by invoking CORBA::Object::_get_policy(). * tao/DomainC.h: * tao/DomainC.cpp: * tao/PortableServer/DomainS.h: * tao/PortableServer/DomainS.cpp: Updated interceptor code to work with the updates in `tao/PortableInterceptor.{h,i}'. * tao/PortableServer/ServerRequestInfo.h: * tao/PortableServer/ServerRequestInfo.cpp: New files based on the server side request information class from Request_Info.*. * tao/Interceptor.pidl: This PIDL source file has been superceded by Portable_Interceptor.pidl. Removed. * tao/corba.h: Explicitly include the appropriate interceptor RequestInfo headers when interceptor support is enabled. Previously they were pulled in indirectly. This was necessary to due to an inter-header depencency improvement in PortableInterceptor.h. Include "tao/OctetSeqC.h" to pull in the CORBA::OctetSeq declarations. * tao/OctetSeq.pidl: Added instructions that describe the "proper" way to regenerate the corresponding stubs. * tao/OctetSeq.h: * tao/OctetSeq.i: * tao/OctetSeq.cpp: Regenerated these files with the proper library export settings. * tao/diffs/OcteqSeq.diff: Generated this diff against the vanilla generate OctetSeq stubs. It was missing for some reason. * tao/StringSeq.pidl: Newly added PIDL source for the CORBA::StringSeq sequence. * tao/StringSeq.h: * tao/StringSeq.inl: * tao/StringSeq.cpp: Removed these files in favor of the below newly regenerated files since these files do not follow TAO naming conventions, and since they didn't have the proper Win32 library export linkage. * tao/StringSeqC.h: * tao/StringSeqC.i: * tao/StringSeqC.cpp: Regenerated these files with the proper library export settings. They replace the above StringSeq.* sources. * tao/diffs/StringSeq.diff: Generated this diff against the vanilla generated StringSeq stubs. * tao/PortableInterceptorC.h: Corrected signatures for some pure virtual methods. We actually want the CORBA::Environment argument for interfaces that are not inherited by application code, e.g. code that is used internally by TAO. * tao/diffs/PortableInterceptorC.h.diff: * tao/diffs/PortableInterceptorC.i.diff: * tao/diffs/PortableInterceptorC.cpp.diff: Removed these diffs in favor of the consolidated PortableInterceptor.diff below. These diffs were out of date anyway. * tao/diffs/PortableInterceptor.diff: Newly generated diff against the updates made to PortableInterceptorC.* to correct erroneous earlier updates. * tao/DynamicC.cpp: Include `StrinqSeqC.h' instead of `StringSeq.h', in accordance with the filenames newly of the regenerated StringSeq stubs. * tao/diffs/Dynamic.diff: `StringSeq.h' is now `StringSeqC.h'. Updated the diff to reflect that. * tao/diffs/InterceptorC.h.diff: * tao/diffs/InterceptorC.i.diff: * tao/diffs/InterceptorC.cpp.diff: Removed these diffs. The files they were meant to patch are no longer exist in TAO. * tao/Makefile: * tao/Makefile.am: * tao/Makefile.bor: * tao/TAO.dsp: * tao/TAO_Static.dsp: * tao/PortableServer/Makefile: * tao/PortableServer/Makefile.bor: * tao/PortableServer/TAO_PortableServer.dsp: * tao/PortableServer/TAO_PortableServer_Static.dsp: Updated references of StringSeq to StringSeqC, corresponding to the newly regenerated CORBA::StringSeq stubs. Added new Portable Interceptor sources detailed above. * TAO_IDL/be/be_visitor_interface/interceptors_ch.cpp: * TAO_IDL/be/be_visitor_interface/interceptors_sh.cpp: Corrected spelling in generated code. * TAO_IDL/be/be_visitor_operation/interceptors_ch.cpp: * TAO_IDL/be/be_visitor_operation/interceptors_cs.cpp: * TAO_IDL/be/be_visitor_operation/interceptors_sh.cpp: * TAO_IDL/be/be_visitor_operation/interceptors_ss.cpp: Updated generated code to agree with changes made in the ORB Core (e.g. class name changes, etc). * TAO_IDL/be/be_visitor_operation/operation_cs.cpp (gen_marshal_and_invoke): * TAO_IDL/be/be_visitor_operation/operation_ss.cpp (visit_operation): Updated to call new interceptor related ORB core methods. * tests/Portable_Interceptors/Dynamic/interceptors.h: * tests/Portable_Interceptors/Dynamic/interceptors.cpp: Corrected nesting of pragma directive so that is within the "TAO_HAS_INTERCEPTORS" block. Moved no-op methods within the "TAO_HAS_INTERCEPTORS" block. This fixes a compilation error recently introduced when TAO_HAS_INTERCEPTORS is defined to be zero. Corrected all CORBA::Environment arguments so that they correctly match the base class methods they are overriding in both the native and emulated exception case. * tests/Portable_Interceptors/Dynamic/Echo_Client_ORBInitializer.h: * tests/Portable_Interceptors/Dynamic/Echo_Client_ORBInitializer.cpp: * tests/Portable_Interceptors/Dynamic/Echo_Server_ORBInitializer.h: * tests/Portable_Interceptors/Dynamic/Echo_Server_ORBInitializer.cpp: New sources that register the request interceptors in the standard way. Previous this test used a proprietary interface. That proprietary interface was removed in the above sets of updates. * tests/Portable_Interceptors/Dynamic/client.cpp: * tests/Portable_Interceptors/Dynamic/server.cpp: Updated to register the above ORBInitializers instead of making proprietary registration calls (that no longer exist). * tests/Portable_Interceptors/Dynamic/PI_Dynamic.dsw: * tests/Portable_Interceptors/Dynamic/client.dsp: * tests/Portable_Interceptors/Dynamic/server.dsp: New MSVC workspace and project files for this test. * tests/Portable_Interceptors/Dynamic/Makefile: * tests/Portable_Interceptors/Dynamic/server.bor: * tests/Portable_Interceptors/Dynamic/client.bor: Updated these Makefiles with the newly added ORBInitializer sources. Sat Oct 21 18:38:44 2000 Jeff Parsons * orbsvcs/IFR_Service/ConstantDef_i.cpp: Changed a use of auto_ptr<> to use of ACE_Auto_Basic_Ptr<>, to get rid of a Win32 build warning. Sat Oct 21 12:50:36 2000 Carlos O'Ryan * Makefile*: Updated dependencies. Sat Oct 21 02:02:05 2000 Marina Spivak * tests/RTCORBA/Server_Declared/README: Updated command-line options, description and expected output. Fri Oct 20 21:54:58 2000 Balachandran Natarajan * tao/default_client.cpp: Fixed a cut and paste error. Fri Oct 20 12:01:42 2000 Priyanka Gontla * tao/Exception.cpp: Changed the return value of tao_insert_in_extractor_system_exception from CORBA::SystemException * to CORBA::Boolean. Fri Oct 20 12:01:08 2000 Priyanka Gontla * tao/Makefile.am : * tao/Makefile.bor: Updated to add the new files. Fri Oct 20 10:49:30 2000 Carlos O'Ryan * tao/Exception.cpp: Fixed use of allocator in Exception extraction functions. * tao/PortableInterceptorC.h: * tao/Request_Info.h: * tao/Request_Info.cpp: * tao/PortableInterceptor.i: Fixed so it would compile in platforms with exceptions enabled. * tao/Makefile: * tao/DynamicAny/Makefile: * tao/IORManipulation/Makefile: * tao/IORTable/Makefile: * tao/PortableServer/Makefile: Fri Oct 20 07:55:22 2000 Jeff Parsons * orbsvcs/IFR_Service/TCF_Loader.cpp: Removed the output of the text 'will it compile now', inserted by someone for debugging purposes. Fri Oct 20 02:45:20 2000 Marina Spivak * tao/PortableServer/POA.h * tao/PortableServer/POA.cpp: Added proper #if RTCORBA protections. * tao/PortableServer/Makefile: Updated dependencies. * tests/RTCORBA/Server_Declared/run_test.pl: Fixed server arguments for unix. Fri Oct 20 02:05:09 2000 Marina Spivak * tao/PortableServer/POA.h * tao/PortableServer/POA.i * tao/PortableServer/POA.cpp: - Changed , , , to use POA's server_priority rather than -1. This ensures that servant/object's effective priority is stored right with it. - Added TAO_ORB_Core &orb_core_ member to TAO_POA_Policies. - Added RTCORBA::PriorityModelPolicy validation during POA creation (i.e., ) - Added RTCORBA::ServerProtocolPolicy validation during POA creation (i.e., ) - Removed method because this policy doesn't need to be validated. - Added CORBA::Environment argument to , because different exception may need to be thrown based on which policies cause the problem. - Added validation logic to method. - Invoke only in methods, in methods this check happens when filter populates mprofile. * tao/ORB_Core.cpp (create_stub_object): Throw CORBA::BAD_PARAM if mprofile ends up being empty. This may happen when none of the acceptor endpoints have the right priority for the object we are creating. * tao/ORB_Core.h: Make method public. It needs to be invoked from POA during policy validation procedures. * tests/RTCORBA/Server_Declared/run_test.pl: Fixed typo. * tests/RTCORBA/Server_Declared/server.cpp: Set id_uniqueness policy on the child poa to , in order to use the same servant for several objects. Thu Oct 19 17:33:35 2000 Carlos O'Ryan * tao/ORB_Core.cpp: Fixed default svc conf directives for the POA and the IORTable. Thanks to James Megquier for sending the patches. * tao/GIOP_Message_Acceptors.cpp: Remove obsolete comments. Thu Oct 19 15:42:13 2000 Carlos O'Ryan * tao/TAO.dsp: * tao/TAO_Static.dsp: Add new files to the MSVC projects. Thu Oct 19 14:30:59 2000 Priyanka Gontla * tao/DynamicC.i: * tao/DynamicC.h: * tao/DynamicC.cpp: * tao/PortableInterceptorC.i: * tao/PortableInterceptorC.cpp: * tao/PortableInterceptorC.h : Regenerated so that they are properly locality constrained. This reduces the footprint. * tao/Dynamic.pidl: * tao/PortableInterceptor.pidl: Corrected idl typedefs to match the spec. * tao/orb.idl: * tao/corbafwd.h: * tao/corba.h: * tao/StringSeq.inl: * tao/StringSeq.h: * tao/StringSeq.cpp: * tao/Request_Info.h: Updates necessary to make the code work with the corrected pidl and the newly generated locality constrained stubs. Thanks to Ossama for helping with these changes. * tao/OctetSeq.pidl: * tao/OctetSeqC.i: * tao/OctetSeqC.h: * tao/OctetSeqC.cpp: Added the new pidl file for Octet Sequence and generated stubs. * tao/Makefile: Added the new files to the Makefile. * tao/diffs/Dynamic.diff: * tao/diffs/PortableInterceptorC.i.diff: * tao/diffs/PortableInterceptorC.h.diff: * tao/diffs/PortableInterceptorC.cpp.diff: Generated the diffs. * tests/Portable_Interceptors/Dynamic/interceptors.cpp: * tests/Portable_Interceptors/Dynamic/interceptors.h : * tests/Portable_Interceptors/Benchmark/interceptors.cpp: * tests/Portable_Interceptors/Benchmark/interceptors.h : * tests/Portable_Interceptors/Service_Context_Manipulation/interceptors.cpp: * tests/Portable_Interceptors/Service_Context_Manipulation/interceptors.h : Added dummy virtual functions to get the code compiled. Thu Oct 19 11:54:03 2000 Jeff Parsons * TAO_IDL/be/be_visitor_sequence/sequence_ch.cpp: * TAO_IDL/be/be_visitor_sequence/sequence_ci.cpp: In code recently added to these files, replaced calls to be_predefined_type::base_type with be_predefined_type::primitive_base_type, to allow for a chain of typedefs in the IDL file. Thanks to J. Russell Noseworthy for pointing out this bug. Thu Oct 19 11:31:39 2000 Paul Calabrese * orbsvcs/LifeCycle_Service/Makefile: Allow the LifeCycle_Service server to be built by moving the block checking for minimum_corba down below the includes that define it. Wed Oct 18 20:26:55 2000 Marina Spivak * tao/PortableServer/POA.cpp * tao/PortableServer/POA.h * tao/PortableServer/POA.i: - Added TAO_PriorityBandedConnectionsPolicy data member to TAO_POA_Policies. We need to keep track of this policy separately so that we can perform error checking and use it in acceptor filters. - Added method to TAO_POA_Policies. It creates an appropriate acceptor filter based on POA's policies. - Added data member to TAO_POA. Rather than allocating new acceptor filter in each call, an appropriate filter is allocated once, during POA creation, and reused. * tao/PortableServer/Default_Acceptor_Filter.h * tao/PortableServer/RT_Acceptor_Filters.cpp * tao/PortableServer/RT_Acceptor_Filters.h * tao/PortableServer/RT_Acceptor_Filters.i: Moved Acceptor_Filter classes from POA.cpp into their own file. Added two new filters to deal with RTCORBA::PriorityBandedConnectionPolicy and RTCORBA::SERVER_DECLARED priority model. * tao/PortableServer/Makefile * tao/PortableServer/Makefile.bor: * tao/PortableServer/TAO_PortableServer.dsp * tao/PortableServer/TAO_PortableServer_Static.dsp Updated to include new filter files. * tests/RTCORBA/RTCORBA_tests.dsw: Added MT_Client_Protocol_Priority.dsw projects. Wed Oct 18 10:20:10 2000 Priyanka Gontla * tao/Exception.cpp (TAO_SYSTEM_EXCEPTION): Added helper functions for the insertion and extraction operators. This would help reduce the Foot Print since instead of the same code repeated for each of the 30 or so exceptions, there will be 30 or so invocations of these helper methods. Wed Oct 18 10:49:59 2000 Jeff Parsons * TAO_IDL/be/be_visitor_argument/request_info_arglist.cpp: * TAO_IDL/be/be_visitor_operation/interceptors_arglist.cpp: * TAO_IDL/be_include/be_codegen.h: Had to put back the context substate and the set/unset code removed in the checkin below. It's necessary to keep the ACE_NESTED_CLASS macro from being generated in skeleton code for portable interceptors. Tue Oct 17 16:08:13 2000 Jeff Parsons * TAO_IDL/be/be_visitor_argument/request_info_arglist.cpp: * TAO_IDL/be/be_visitor_argument/request_info_ch.cpp: * TAO_IDL/be/be_visitor_operation/interceptors_arglist.cpp: * TAO_IDL/be_include/be_codegen.h: Replaced the several checks for the necessity of using the ACE_NESTED_CLASS macro in portable interceptor generated code with a single check: whether or not the scope of the declaration of the argument type in question is the same the scope of the visitor's context. This change also eliminates the need for the extra context sub-state added recently, so that was removed, along with the code to set and unset it. Thanks to Francois Bernier for reporting the bug that led to these changes. Tue Oct 17 01:13:25 2000 Marina Spivak * tests/RTCORBA/MT_Client_Protocol_Priority/Makefile * tests/RTCORBA/MT_Client_Protocol_Priority/Makefile.bor * tests/RTCORBA/MT_Client_Protocol_Priority/README * tests/RTCORBA/MT_Client_Protocol_Priority/MT_Client_Protocol_Priority.dsw * tests/RTCORBA/MT_Client_Protocol_Priority/client.bor * tests/RTCORBA/MT_Client_Protocol_Priority/client.cpp * tests/RTCORBA/MT_Client_Protocol_Priority/client.dsp * tests/RTCORBA/MT_Client_Protocol_Priority/run_test.pl * tests/RTCORBA/MT_Client_Protocol_Priority/server.bor * tests/RTCORBA/MT_Client_Protocol_Priority/server.conf * tests/RTCORBA/MT_Client_Protocol_Priority/server.cpp * tests/RTCORBA/MT_Client_Protocol_Priority/server.dsp * tests/RTCORBA/MT_Client_Protocol_Priority/test.idl Added new RTCORBA multithreaded test. Several client threads of different priority and different ClientProtocolPolicy Current-level overrides concurrently make invocations on one object reference, which has a CLIENT_PROPAGATED priority model. * tests/RTCORBA/Makefile * tests/RTCORBA/Makefile.bor * tests/RTCORBA/README: Updated to include the new MT_Client_Protocol_Priority test. Mon Oct 16 18:54:22 2000 Jeff Parsons * TAO_IDL/ast/ast_array.cpp: * TAO_IDL/ast/ast_decl.cpp: * TAO_IDL/ast/ast_predefined_type.cpp: * TAO_IDL/ast/ast_sequence.cpp: * TAO_IDL/ast/ast_string.cpp: * TAO_IDL/be/be_array.cpp: * TAO_IDL/be/be_predefined_type.cpp: * TAO_IDL/be/be_sequence.cpp: * TAO_IDL/be/be_string.cpp: * TAO_IDL/include/ast_decl.h: Added boolean member to AST_Decl indicating whether or not the IDL type is anonymous. Also added accessor method, and an optional argument in the constructor. Finally, extra arguments were added to the call to the AST_Decl constructor for the supported node types which are anonymous (array, primitive type, string, wstring, and sequence). Mon Oct 16 16:15:15 2000 Marina Spivak * tao/Pluggable.cpp * tao/Endpoint.i Initialize member to -1. Since legal CORBA::Priority values start at 0, -1 is a good indicator that priority hasn't been set. * tao/Pool_Per_Endpoint.cpp (run): Throw DATA_CONVERSION exception if conversion from CORBA to native priority fails. * tests/RTCORBA/RTCORBA_tests.dsw: Added Server_Declared projects. Mon Oct 16 15:38:06 2000 Marina Spivak * tests/RTCORBA/Server_Declared/Makefile * tests/RTCORBA/Server_Declared/Makefile.bor * tests/RTCORBA/Server_Declared/README * tests/RTCORBA/Server_Declared/Server_Declared.dsw * tests/RTCORBA/Server_Declared/client.bor * tests/RTCORBA/Server_Declared/client.cpp * tests/RTCORBA/Server_Declared/client.dsp * tests/RTCORBA/Server_Declared/run_test.pl * tests/RTCORBA/Server_Declared/server.bor * tests/RTCORBA/Server_Declared/server.conf * tests/RTCORBA/Server_Declared/server.cpp * tests/RTCORBA/Server_Declared/server.dsp * tests/RTCORBA/Server_Declared/test.idl Added a test for SERVER_DECLARED priority model. * tests/RTCORBA/Makefile * tests/RTCORBA/Makefile.bor * tests/RTCORBA/README: Updated to include the new Server_Declared test. Mon Oct 16 14:14:21 2000 Jeff Parsons * TAO_IDL/ast/ast_enum.cpp: * TAO_IDL/be/be_enum.cpp: * TAO_IDL/be_include/be_enum.h: * TAO_IDL/include/ast_enum.h: Moved the method value_to_name() from be_enum to AST_Enum. The method is useful to visitors, so it needs to be available to visitors of AST_ as well as to visitors of be_. Sun Oct 15 18:58:16 2000 Marina Spivak * tests/RTCORBA/Client_Protocol/README: Added expected output. * tests/RTCORBA/Client_Protocol/client.cpp: Updated comment. * tests/RTCORBA/Client_Protocol/server.cpp: Set transport and orb protocol properties in the ClientProtocolPolicy to be non-nil. This is a temporary change to make the test work until policy streaming code is fixed to handle nil properties. Sun Oct 15 00:11:07 2000 Marina Spivak * tao/Profile.h * tao/Profile.cpp: Removed and methods from TAO_Unknown_Profile since they were removed from TAO_Profile. * tao/Connector_Registry.cpp * tao/Invocation_Endpoint_Selectors.cpp: Added logic for handling TAO_Unknown_Profile(s), i.e., protocols the ORB does not understand, during profile selection and connection establishment. When the ORB encounters an unknown profile, it transparently retries with the next appropriate one. (Handling unknown protocols worked in the past, but was broken with the introduction of Endpoint component to the PP framework. This change restores the functionality.) * tao/Invocation.cpp: Added comment. Sat Oct 14 19:49:39 2000 Marina Spivak * tao/tests/RTCORBA/Client_Protocol/server.cpp: Fixed copy/paste error. Sat Oct 14 17:15:13 2000 Jeff Parsons * TAO_IDL/ast/ast_argument.cpp: * TAO_IDL/ast/ast_array.cpp: * TAO_IDL/ast/ast_attribute.cpp: * TAO_IDL/ast/ast_constant.cpp: * TAO_IDL/ast/ast_decl.cpp: * TAO_IDL/ast/ast_enum.cpp: * TAO_IDL/ast/ast_enum_val.cpp: * TAO_IDL/ast/ast_exception.cpp: * TAO_IDL/ast/ast_expression.cpp: * TAO_IDL/ast/ast_field.cpp: * TAO_IDL/ast/ast_interface.cpp: * TAO_IDL/ast/ast_interface_fwd.cpp: * TAO_IDL/ast/ast_module.cpp: * TAO_IDL/ast/ast_native.cpp: * TAO_IDL/ast/ast_operation.cpp: * TAO_IDL/ast/ast_predefined_type.cpp: * TAO_IDL/ast/ast_root.cpp: * TAO_IDL/ast/ast_sequence.cpp: * TAO_IDL/ast/ast_string.cpp: * TAO_IDL/ast/ast_structure.cpp: * TAO_IDL/ast/ast_type.cpp: * TAO_IDL/ast/ast_typedef.cpp: * TAO_IDL/ast/ast_union.cpp: * TAO_IDL/ast/ast_union_branch.cpp: * TAO_IDL/ast/ast_union_label.cpp: * TAO_IDL/include/ast.h: * TAO_IDL/include/ast_argument.h: * TAO_IDL/include/ast_array.h: * TAO_IDL/include/ast_attribute.h: * TAO_IDL/include/ast_constant.h: * TAO_IDL/include/ast_decl.h: * TAO_IDL/include/ast_enum.h: * TAO_IDL/include/ast_enum_val.h: * TAO_IDL/include/ast_exception.h: * TAO_IDL/include/ast_expression.h: * TAO_IDL/include/ast_field.h: * TAO_IDL/include/ast_interface.h: * TAO_IDL/include/ast_interface_fwd.h: * TAO_IDL/include/ast_module.h: * TAO_IDL/include/ast_native.h: * TAO_IDL/include/ast_operation.h: * TAO_IDL/include/ast_predefined_type.h: * TAO_IDL/include/ast_root.h: * TAO_IDL/include/ast_sequence.h: * TAO_IDL/include/ast_string.h: * TAO_IDL/include/ast_structure.h: * TAO_IDL/include/ast_type.h: * TAO_IDL/include/ast_typedef.h: * TAO_IDL/include/ast_union.h: * TAO_IDL/include/ast_union_branch.h: * TAO_IDL/include/ast_union_label.h: * TAO_IDL/include/utl_scope.h: * TAO_IDL/util/utl_scope.cpp: Renamed the recently added accept() method as ast_accept(). Some compilers were confused by the accept() method in the be_ classes, even though it has a different signature. Sat Oct 14 16:46:48 2000 Marina Spivak * tao/Invocation_Endpoint_Selectors.i: Added missing #if RTCORBA protection. This fixes minimum CORBA build problems. * tao/ORB_Core.cpp (~TAO_ORB_Core): Fixed the scope of #if protection. * tao/Invocation_Endpoint_Selectors.cpp (get_selector): Fixed unused arg warning. Sat Oct 14 00:09:48 2000 Marina Spivak * tests/Policies/Manipulation.cpp: Removed TAO::ClientPriorityPolicy from the test since it is disabled by default. * tests/Endpoint_Per_Priority/client.cpp * tests/Endpoint_Per_Priority/server.cpp * performance-tests/RTCORBA/Multiple_Endpoints/Endpoint_Per_Priority/client.cpp * performance-tests/RTCORBA/Multiple_Endpoints/Endpoint_Per_Priority/server.cpp: * tests/RTCORBA/Client_Propagated/client.cpp * tests/RTCORBA/Client_Propagated/server.cpp * tests/RTCORBA/Client_Protocol/client.cpp * tests/RTCORBA/Client_Protocol/server.cpp * tests/RTCORBA/Server_Protocol/client.cpp * tests/RTCORBA/Server_Protocol/server.cpp: Took care of unused arguments warnings (in the second
). Fri Oct 13 21:35:52 2000 Marina Spivak * tests/RTCORBA/RTCORBA_tests.dsw * tests/RTCORBA/Makefile.bor * tests/RTCORBA/Makefile: * tests/RTCORBA/README: Added Client_Protocol test. * tests/RTCORBA/Client_Protocol/Makefile: Generated dependencies. * tests/RTCORBA/Client_Protocol/run_test.pl * tests/RTCORBA/Client_Protocol/README: Updated. * tests/RTCORBA/Client_Protocol/client.cpp * tests/RTCORBA/Client_Protocol/server.cpp: Fixed compile warnings/errors. * tests/RTCORBA/Client_Protocol/server.dsp * tests/RTCORBA/Client_Protocol/client.dsp: Changed project names. * tao/IIOP_Connector.cpp (connect) * tao/UIOP_Connector.cpp (connect) * tao/SHMIOP_Connector.cpp (connect) * tao/orbsvcs/orbsvcs/SSLIOP_Connector.cpp (connect) * tao/Connector_Registry.cpp (connect): Added debugging message. * tests/Endpoint_Per_Priority/client.cpp * tests/Endpoint_Per_Priority/server.cpp * performance-tests/RTCORBA/Multiple_Endpoints/Endpoint_Per_Priority/client.cpp * performance-tests/RTCORBA/Multiple_Endpoints/Endpoint_Per_Priority/server.cpp: Compile tests only if TAO::ClientPriorityPolicy is enabled. Fri Oct 13 20:03:01 2000 Marina Spivak * tests/RTCORBA/Client_Protocol/Client_Protocol.dsw * tests/RTCORBA/Client_Protocol/Makefile * tests/RTCORBA/Client_Protocol/Makefile.bor * tests/RTCORBA/Client_Protocol/README * tests/RTCORBA/Client_Protocol/client.bor * tests/RTCORBA/Client_Protocol/client.cpp * tests/RTCORBA/Client_Protocol/client.dsp * tests/RTCORBA/Client_Protocol/run_test.pl * tests/RTCORBA/Client_Protocol/server.bor * tests/RTCORBA/Client_Protocol/server.cpp * tests/RTCORBA/Client_Protocol/server.dsp * tests/RTCORBA/Client_Protocol/test.idl: Added a test for RTCORBA::ClientProtocolPolicy policy. Fri Oct 13 18:17:06 2000 Jeff Parsons * TAO_IDL/be/be_visitor_argument/request_info_sh.cpp: Added missing 'const' to code generation of request info class private member declaration for simple predefined types. * TAO_IDL/include/ast_visitor.h: Removed unnecessary #if defined (IDL_HAS_VALUETYPE) guard around two pure virtual functions. Fri Oct 13 14:32:50 2000 Ossama Othman * tests/Portable_Interceptors/Dynamic/interceptors.cpp (receive_exception, send_exception): The CORBA::Exception::_info() method return an ACE_CString, not a const char *. Invoked the ACE_CString::c_str() method to correct a warning. Fri Oct 13 13:21:06 2000 Jeff Parsons * TAO_IDL/tao_idl.cpp: Added some missing commas in the functions that output the FE and BE version. Thanks to Craig Rodrigues for pointing this out and supplying a patch. Fri Oct 13 11:27:03 2000 Jeff Parsons * TAO_IDL/be/be_visitor_argument/request_info_arglist.cpp: * TAO_IDL/be/be_visitor_argument/request_info_ch.cpp: Added a check for an imported node along with all the other checks that are there to decide whether to generate the ACE_NESTED_CLASS macro or not for the members of the request info subclasses constructor signature and private member declaration. If the member is imported, the full scoped name should be generated on all platforms. Thanks to Base V Paul for reporting this bug. While I was there, I added the above decision branch to all the other applicable data types. It had been added piecemeal up to now, as bugs were reported. Fri Oct 13 10:06:03 2000 Jeff Parsons * TAO_IDL/include/ast_visitor.h: * TAO_IDL/ast/ast_visitor.cpp: New files containing the abstract class ast_visitor. Anyone writing a pluggable back end for the IDl compiler and who wishes to have the visitors traverse the AST_ classes instead of the be_ classes can subclass this class. * TAO_IDL/Makefile.FE: * TAO_IDL/TAO_IDL_FE_DLL.dsp: * TAO_IDL/TAO_IDL_FE_LIB.dsp: * TAO_IDL/TAI_IDL_FE.bor: * TAO_IDL/ast/Makefile.am: Added the above new files to the Makefiles and to the MSVC projects. * TAO_IDL/ast/ast_argument.cpp: * TAO_IDL/ast/ast_array.cpp: * TAO_IDL/ast/ast_attribute.cpp: * TAO_IDL/ast/ast_constant.cpp: * TAO_IDL/ast/ast_decl.cpp: * TAO_IDL/ast/ast_enum.cpp: * TAO_IDL/ast/ast_enum_val.cpp: * TAO_IDL/ast/ast_exception.cpp: * TAO_IDL/ast/ast_expression.cpp: * TAO_IDL/ast/ast_field.cpp: * TAO_IDL/ast/ast_interface.cpp: * TAO_IDL/ast/ast_interface_fwd.cpp: * TAO_IDL/ast/ast_module.cpp: * TAO_IDL/ast/ast_native.cpp: * TAO_IDL/ast/ast_operation.cpp: * TAO_IDL/ast/ast_predefined_type.cpp: * TAO_IDL/ast/ast_root.cpp: * TAO_IDL/ast/ast_sequence.cpp: * TAO_IDL/ast/ast_string.cpp: * TAO_IDL/ast/ast_structure.cpp: * TAO_IDL/ast/ast_type.cpp: * TAO_IDL/ast/ast_typedef.cpp: * TAO_IDL/ast/ast_union.cpp: * TAO_IDL/ast/ast_union_branch.cpp: * TAO_IDL/ast/ast_union_label.cpp: * TAO_IDL/include/ast.h: * TAO_IDL/include/ast_argument.h: * TAO_IDL/include/ast_array.h: * TAO_IDL/include/ast_attribute.h: * TAO_IDL/include/ast_constant.h: * TAO_IDL/include/ast_decl.h: * TAO_IDL/include/ast_enum.h: * TAO_IDL/include/ast_enum_val.h: * TAO_IDL/include/ast_exception.h: * TAO_IDL/include/ast_expression.h: * TAO_IDL/include/ast_field.h: * TAO_IDL/include/ast_interface.h: * TAO_IDL/include/ast_interface_fwd.h: * TAO_IDL/include/ast_module.h: * TAO_IDL/include/ast_native.h: * TAO_IDL/include/ast_operation.h: * TAO_IDL/include/ast_predefined_type.h: * TAO_IDL/include/ast_root.h: * TAO_IDL/include/ast_sequence.h: * TAO_IDL/include/ast_string.h: * TAO_IDL/include/ast_structure.h: * TAO_IDL/include/ast_type.h: * TAO_IDL/include/ast_typedef.h: * TAO_IDL/include/ast_union.h: * TAO_IDL/include/ast_union_branch.h: * TAO_IDL/include/ast_union_label.h: * TAO_IDL/include/utl_scope.h: * TAO_IDL/util/utl_scope.cpp: Added virtual accept() method to the above classes, for use by the AST visitors. * TAO_IDL/be/be_argument.cpp: Cosmetic changes. Fri 13 10:07:16 2000 Michael Kircher * examples/Quoter/Quoter_i.cpp: Removed the code to move the Quoter object. This code was relying on the proprietary TAO_POA::forward_object () method. To implement the move () operation in a standard way, the whole example would have needed to be rewritten using a PortableServer::ServantLocator. * examples/Quoter/client.cpp: Removed the code for moving the Quoter object. * examples/Quoter/README: Documented the step described above. Fri Oct 13 06:28:57 2000 Balachandran Natarajan * orbsvcs/IFR_Service/IFR_Service.bor: Fixed link problem by adding required libraries. * orbsvcs/orbsvcs/FaultTolerance.bor: * orbsvcs/orbsvcs/Makefile.bor: * orbsvcs/tests/FaultTolerance/*/*.bor: Added new makefiles for FaultTolerance library and tests. * tests/Collocation/*.bor: Changed DLL macros to fix case mismatch. * tests/IORManipulation/Makefile.bor: * tests/MProfile/client.bor: Fixed link problem by adding missing IORManip library. Thanks to Christopher Kohlhoff for providing these fixes. Thu Oct 12 18:14:16 2000 Phillip DiCorpo * examples/Advanced/ch_12/client.cpp (operator<<): * examples/Advanced/ch_12/server.h: * examples/Advanced/ch_12/server.cpp: Added an #if 0 around the insertion operator to exceptions. We dont need these as TAO provides them already. Also, added the right environment variables for preinvoke & postinvoke operations. * examples/Advanced/ch_12/Makefile: Added the right libraries for linking. Thanks to Bala for helping me with this. Thu Oct 12 14:24:03 2000 Ossama Othman * tao/Acceptor_Registry.cpp (open_default, open_i, extract_endpoint_version): Initialize major and minor endpoint versions to TAO_DEF_GIOP_MAJOR and TAO_DEF_GIOP_MINOR, respectively, instead of -1 so that a valid version is passed to pluggable protocol open() and/or open_default() methods. This makes things less error prone, especially since initializing to -1 did not provide us with anything useful. * docs/Options.html: Updated ORB option documentation in accordance with the changes made to the TAO_ORB_Core::init() method described below. * tao/ORB_Core.cpp (init): Added warning message about the fact that the "-ORBPreconnect" option is obsolete, and that validate_connection() should be used instead. Removed support for the long obsolete "-ORB{Name,Trading,ImplRepo}ServiceIOR" options. Their functionality is already provided by the standard -ORBInitRef ORB option. * tao/Connector_Registry.h (connect): Removed the default value for the ACE_Time_Value pointer argument. There is no reason why it should have a default value since TAO's invocation code always passes an ACE_Time_Value when calling connect(), even if that value is zero. * tao/Connector_Registry.cpp (connect): * tao/Pluggable.h (connect): * tao/IIOP_Connector.h (connect): * tao/IIOP_Connector.cpp (connect): * tao/SHMIOP_Connector.h (connect): * tao/SHMIOP_Connector.cpp (connect): * tao/UIOP_Connector.h (connect): * tao/UIOP_Connector.cpp (connect): * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.h (connect): Added CORBA::Environment argument to the connect() call to make it possible to throw exceptions within that method. Most pluggable protocols may not need this argument, and can rely on the GIOP_Invocation class to figure out the appropriate exception to throw, if any. However, the SSLIOP pluggable protocol may need to throw the CORBA::NO_PERMISSION exception when attempting to connect to an endpoint. * tao/Invocation.cpp (start): Pass the CORBA::Environment variable ACE_TRY_ENV to the TAO_Connector_Registry::connect() call. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp (connect): Only allow connection to the insecure IIOP port if the endpoint explicitly allows it, i.e., if the Security::NoProtection security association bit is set in the SSLIOP::SSL::target_supports field. The server will soon perform the same permission check, so this check is an optimization since a connection will not be established needlessly, i.e., rejected due to lack of permission. Removed the check that causes an attempt to connect to the insecure port if the SSL port is set to zero. The SSL port will never be set to zero on the client side. It will default to port 684, the IANA assigned port for IIOP over SSL. Note that it is still possible for the standard non-SSLIOP aware IIOP pluggable protocol to attempt to connect to the insecure port. In that case, the server will have to prevent the connection, and subsequently the request, from completing. This feature will be added soon. If the endpoint requires an insecure connection, i.e., the Security::NoProtection security association bit in the SSLIOP::SSL::target_requires field is enabled, then prevent an SSL connection from occuring. This seems silly, but nothing appears to be in the spec that states this can't be done. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.cpp (TAO_SSLIOP_Endpoint): Pass pointer to entire SSLIOP::SSL component so that its entire contents may be copied, not just the port. This is particularly necessary to make it possible to keep track of the security associations corresponding to the given endpoint. If the pointer is zero, then initialize the SSLIOP::SSL component with conservative security association options, and set the port to be the IANA assigned port for IIOP over SSL, 684. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.i (ssl_port): Removed this method. It is more useful to return the entire SSLIOP::SSL component in most cases, hence the newly added ssl_component() accessor described below. (ssl_component): Accessor method that returns a constant reference to the SSLIOP::SSL component associated with the given SSLIOP endpoint. In most cases, we need to check the "target_supports" and "target_requires" fields, not just the "port" field. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.cpp: The constructor now accepts an argument that sets the default value for the Security::NoProtection bit in the SSLIOP::SSL::target_supports field. The need for this change will obviated once the security policy support is added. (create_mprofile, create_rt_mprofile): Pass pointer to the entire SSLIOP::SSL component, not just the port. Its other fields are important for enforcing security. (verify_secure_configuration): New method that ensures neither the endpoint configuration nor the ORB configuration violate security measures. In order to support a secure connection, the SSLIOP::SSL tagged component must be embedded in the IOR. This isn't possible if the user elects to disable standard profile components. Similarly, IIOP 1.0 does not support tagged components, which it makes it impossible to embed the SSLIOP::SSL tagged component within the IOR. If the given object explicitly disallows insecure invocations and standard profile components are disabled, then return with an error since secure invocations cannot be supported without standard profile components. Note that it isn't enough to support Security::NoProtection. Security::NoProtection must be required since "support" does not preclude the secure port from being used. (open, open_default): Call the newly added verify_secure_configuration() method prior to opening any endpoints to ensure that neither the endpoint configuration nor the ORB configuration violate security measures. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Factory.h: The new "no_protection_" field is now used instead of the old "use_ssl_" field. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Factory.cpp (init): Deprecated the "-SSLDisable" option. It has been superseded by the "-SSLNoProtection" option since it is better emphasizes the consequences of disabling SSL support, and since it is also applicable on the server side. (make_acceptor): Pass the newly added "no_protection_" field to the SSLIOP_Acceptor constructor. Thu Oct 12 15:29:06 2000 Balachandran Natarajan * orbsvcs/orbsvcs/FaultTolerance/FT_Service_Activate.cpp: * orbsvcs/orbsvcs/FaultTolerance/FT_Service_Activate.h: * orbsvcs/orbsvcs/FaultTolerance/FT_Service_Callbacks.h: * orbsvcs/orbsvcs/FaultTolerance/FT_Service_Callbacks.i: * orbsvcs/orbsvcs/FaultTolerance/FT_Service_Callbacks.cpp: Did some clean up of the code. Added a pointer to the ORB_Core in the TAO_FT_Service_Callback class so that the class is aware of the ORB_Core that activated him. Thu Oct 12 15:25:21 2000 Balachandran Natarajan * tao/Stub.i: Removed a lock on the critical path. Thu Oct 12 15:14:09 2000 Marina Spivak * tao/Invocation_Endpoint_Selectors.cpp: Fixed unused variables and other warnings/typos. Thu Oct 12 15:12:39 2000 Balachandran Natarajan * All the Makefiles have been updated. Thu Oct 12 14:31:13 2000 Marina Spivak * tao/ORB_Core.h * tao/ORB_Core.i: Changed return types for all endpoint selector accessors to be the most derived types rather than the base type. Thu Oct 12 13:16:05 2000 Marina Spivak * tao/IIOP_Profile.cpp * tao/IIOP_Profile.h * tao/Profile.cpp * tao/Profile.h * tao/SHMIOP_Profile.cpp * tao/SHMIOP_Profile.h * tao/UIOP_Profile.cpp * tao/UIOP_Profile.h: Added method. * tao/orbconf.h: Disabled TAO_HAS_CLIENT_PRIORITY_POLICY by default. This policy is deprecated. New RTCORBA policies should be used instead. Users can still use Client_Priority_Policy by explicitly enabling it in orbconf.h, but enabling it disables the use of RTCORBA policies. * tao/TAOC.i: Moved streaming operators for Client_Prioririty_Policy inside the #ifdef protections. They were outside causing the compilation to fail if the policy was disabled. * tao/ORB_Core.cpp * tao/ORB_Core.h * tao/ORB_Core.i: Added TAO_Endpoint_Selector_Factory and TAO_*_Selector data members to the ORB Core class. * tao/Stub.cpp (client_protocol): When figuring out effective ClientProtocolPolicy for the object, ORB default value should not be used - it creates conflict in case the policy is also set for the object on the server side. * tao/Invocation.h * tao/Invocation.cpp * tao/Invocation_Endpoint_Selectors.h: The logic for selection/reselection of a profile/endpoint used for an Invocation has been strategized. TAO_Invocation_Endpoint_Selector represents the interface for the strategy. Added five concrete strategies: for the default case and for various combinations of RTCORBA policies. TAO_Endpoint_Selector_Factory is used to obtain the appropriate strategy for each invocation. Note, that all selector strategies are stateless, and, therefore, can be used concurrently by multiple threads. This makes it possible to use a preallocated set of selectors from the ORB_Core for all Invocations rather than dynamically allocating a new selector for each Invocation. * tao/TAO.dsp * tao/TAO_Static.dsp * tao/Makefile.bor * tao/Makefile: Updated. Thu Oct 12 12:17:44 2000 Angelo * TAO version 1.1.10 released.