Sat Jun 27 11:38:27 1998 Douglas C. Schmidt * TAO version 0.1.35 released. Sat Jun 27 10:32:46 1998 Douglas C. Schmidt * orbsvcs/orbsvcs/Log/Logger_i.cpp (log): Must use a u_short cast rather than an int cast to avoid ambiguity. Thanks to David Levine for detecting this. * orbsvcs/orbsvcs/Log/Logger_i.cpp: Fixed some minor problems with constness. Thanks to David Levine for reporting this. Sat Jun 27 07:15:49 1998 Douglas C. Schmidt * tests/NestedUpcall: Added a Makefile. Sat Jun 27 07:15:49 1998 Douglas C. Schmidt * TAO version 0.1.34 released. Sat Jun 27 00:27:29 1998 Irfan Pyarali * orbsvcs/orbsvcs/Event/{RT_Task.cpp, Event_Channel.cpp, ReactorTask.cpp, Dispatching_Modules.cpp}: Moved the ACE_TIMEPROBE_EVENT_DESCRIPTIONS use inside #if defined (ACE_ENABLE_TIMEPROBES). This will help prevent compiler warnings when time probes are not used. Also, added a semi-colon at the end of the ACE_TIMEPROBE_EVENT_DESCRIPTIONS line. * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp, orbsvcs/tests/Simulator/DOVEMIB/DOVEMIB.cpp, orbsvcs/tests/Simulator/Event_Supplier/Event_Con.cpp, orbsvcs/tests/Simulator/Event_Supplier/Event_Sup.cpp: Removed extra include of Timeprobe.h * Added the following comment to all uses of enums for time probes. This way it should be easy (relatively) to find a unique starting key for the next set of descriptions. // Timeprobe description table start key Sat Jun 27 01:06:24 1998 Nanbor Wang * orbsvcs/orbsvcs/Log/Logger_i.cpp (log): Commented out unused. Cast the 0 passed to ACE_INET_Addr to int explicitly. (Otherwise, the compiler can't tell whether it's a NULL ptr or int 0.) Fri Jun 26 21:24:58 1998 Douglas C. Schmidt * tests/Cubit/TAO/Makefile: Removed DII_Cubit for now until Jeff fixes it. * orbsvcs/tests/Logger: Rename clnt.{cpp,h} and svc.cpp to client.{cpp,h} and server.cpp to be more consistent with other naming schemes in TAO. Fri Jun 26 16:57:54 1998 Carlos O'Ryan * tao/encode.cpp: Check the length of a string before encoding. * tao/CDR.h: * tao/CDR.i: * tao/CDR.cpp: Added operations to write strings with known lengths * tests/Param_Test/Makefile: * tests/Param_Test/README: * tests/Param_Test/tests.h: * tests/Param_Test/bd_string.h: * tests/Param_Test/bd_string.cpp: * tests/Param_Test/driver.cpp: * tests/Param_Test/helper.h: * tests/Param_Test/helper.cpp: * tests/Param_Test/options.h: * tests/Param_Test/options.cpp: * tests/Param_Test/param_test.idl: * tests/Param_Test/param_test_i.h: * tests/Param_Test/param_test_i.cpp: Added a test for bounded strings. * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp: Use the TAO extensions to create an octet sequence using a message block. Fri Jun 26 16:45:00 1998 Michael Kircher * orbsvcs/tests/Simulator/README: Added information about the new version of the event service. * orbsvcs/tests/Simulator/Event_Supplier/Event_Sup.cpp: removed the "cout" commands. * orbsvcs/tests/Simulator/Event_Supplier/Event_Con.cpp: Made the Event consumer work. Fri Jun 26 14:22:40 1998 Aniruddha Gokhale * tests/Param_Test: The ever increasing tests.{h, cpp} files have been broken down into the following files to make modifications and adding new tests simpler. The tests.cpp file is removed. Any new tests that are added will have their individual *.h and *.cpp files. We now keep a tests.h file that includes all the individual *.h files for each test. This way, we just need to include the tests.h file. Individual files for different tests are given below. any.h bd_long_seq.h bd_short_seq.h bd_str_seq.h bd_struct_seq.h fixed_array.h fixed_struct.h nested_struct.h objref.h short.h typecode.h ub_any_seq.h ub_long_seq.h ub_objref_seq.h ub_short_seq.h ub_str_seq.h ub_string.h ub_struct_seq.h var_array.h var_struct.h These are the different *.cpp files implementing various tests. any.cpp bd_long_seq.cpp bd_short_seq.cpp bd_str_seq.cpp bd_struct_seq.cpp fixed_array.cpp fixed_struct.cpp nested_struct.cpp objref.cpp short.cpp typecode.cpp ub_any_seq.cpp ub_long_seq.cpp ub_objref_seq.cpp ub_short_seq.cpp ub_str_seq.cpp ub_string.cpp ub_struct_seq.cpp var_array.cpp var_struct.cpp We use the bd_* convention for the bounded sequences/strings tests and the ub_* convention for the unbounded cases. *NEW TESTS* : Tests for arrays of fixed and varying sizes are included in this release. Fri Jun 26 14:20:58 1998 Carlos O'Ryan * tao/Sequence.h: * tao/Sequence.cpp: * TAO_IDL/be/be_visitor_sequence/sequence_ch.cpp: TAO provides an extension for octet sequences: a constructor taking a Message_Block. * TAO_IDL/be_include/be_array.h: * TAO_IDL/be_include/be_enum.h: * TAO_IDL/be_include/be_exception.h: * TAO_IDL/be_include/be_interface.h: * TAO_IDL/be_include/be_interface_fwd.h: * TAO_IDL/be_include/be_native.h: * TAO_IDL/be_include/be_predefined_type.h: * TAO_IDL/be_include/be_sequence.h: * TAO_IDL/be_include/be_string.h: * TAO_IDL/be_include/be_structure.h: * TAO_IDL/be_include/be_type.h: * TAO_IDL/be_include/be_typedef.h: * TAO_IDL/be_include/be_union.h: * TAO_IDL/be/be_array.cpp: * TAO_IDL/be/be_enum.cpp: * TAO_IDL/be/be_exception.cpp: * TAO_IDL/be/be_interface.cpp: * TAO_IDL/be/be_interface_fwd.cpp: * TAO_IDL/be/be_native.cpp: * TAO_IDL/be/be_predefined_type.cpp: * TAO_IDL/be/be_sequence.cpp: * TAO_IDL/be/be_string.cpp: * TAO_IDL/be/be_structure.cpp: * TAO_IDL/be/be_type.cpp: * TAO_IDL/be/be_typedef.cpp: * TAO_IDL/be/be_union.cpp: Removed a method that was not used anymore. Fri Jun 26 12:54:25 1998 Aniruddha Gokhale * TAO_IDL/be/be_visitor_operation/{rettype_post_docall_cs, rettype_pre_docall_cs}.cpp: We were using the underlying node names in the generated code even when those nodes were Typedefed to other names. So in such cases, we should use the typedef name. Thanks to John Geiss for reporting the problem. Fri Jun 26 11:46:46 1998 David L. Levine * TAO_IDL/be/be_visitor_sequence/gen_{,un}bounded_sequence_ch.cpp: added ACE_CAST_CONST to get_buffer () const member functions, to avoid Sun C++ warning about casting away constness. Thanks to J. Russell Noteworthy for reporting this. Fri Jun 26 09:48:55 1998 Douglas C. Schmidt * VERSION: Updated this file to direct bug reports to the ACE mailing list. Thu Jun 25 19:35:50 1998 Michael Kircher * tests/NestedUpcall/{Triangle_Test, Reactor}: Added the Triangle test to examine ORB behavior doing nested upcalls. Also moved the Reactor test one level down in the hierarchy which means it is now in ../NestedUpcall/Reactor Thu Jun 25 17:57:50 1998 Douglas C. Schmidt * tests/Cubit/TAO/DII_Cubit/Makefile: Integrated the new DII_Cubit test into the Makefile scheme. Thu Jun 25 17:17:01 1998 Carlos O'Ryan * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: We disconnect all consumers and suppliers at shutdown. * orbsvcs/orbsvcs/Event/Task_Manager.h: * orbsvcs/orbsvcs/Event/Task_Manager.cpp: Once the class is shutdown it cannot start again. This last two changes make shutdown clean for the test. * orbsvcs/orbsvcs/Event/ReactorTask.cpp: * orbsvcs/orbsvcs/Event/RT_Task.cpp: * orbsvcs/orbsvcs/Event/Event_Channel.cpp: * orbsvcs/orbsvcs/Event/EC_Gateway.cpp: * orbsvcs/orbsvcs/Event/Dispatching_Modules.cpp: The debugging messages start with "EC" to spot (or ignore) them more easily. * orbsvcs/orbsvcs/RtecEventComm.idl: I added an octet sequence payload, just to make things more interesting. Thu Jun 25 16:31:00 1998 Seth Benjamin Widoff * tao/GIOP.cpp: In method TAO_GIOP_Invocation::invoke, when the method being invoked threw an exception, invoke would iterate over the list of possible thrown exceptions, the TAO_Exception_Data for the method, but wasn't breaking when it matched exception names. Added a break statement. Thu Jun 25 12:54:09 1998 Carlos O'Ryan * tao/Sequence.h: * tao/Sequence.i: For octet sequences the method to obtain the underlying messsage block was too expensive (it created a duplicate). This also solve a memory leak in the operator<< for OutputCDR and octet sequences. Thu Jun 25 11:57:27 1998 Aniruddha Gokhale * TAO_IDL/be/be_visitor_operation/rettype_vardecl_cs.cpp (visit_union): We were "memset"ing the return value to 0. In our changed scenario where the Union class now derives from a base class, this memsetting results in the vptr becoming 0. This was causing seg faults. Thanks to Carlos for his help in the debugging efforts. Thu Jun 25 11:18:32 1998 Darrell Brunsch * TAO_IDL/tao_idl.dsp: Removed the use of CPP_PATH altogether. The location now defaults to "C:\Program Files\DevStudio\bin\cl.exe". If this is not the case, then use the environment variable CPP_LOCATION to override it. * TAO-INSTALL.html: Changed the paragraph that talked about CPP_PATH to mention the default and CPP_LOCATION. Thu Jun 25 10:53:12 1998 Nagarajan Surendran * tests/NestedUpcall/NestedUpCalls_Test.cpp: Removed unnecessary Backing store code. Thu Jun 25 08:44:03 1998 Aniruddha Gokhale * TAO_IDL/be/be_visitor_union/union_cs.cpp: The generated _access method was missing a return statement for the default case. Thanks to David Levine for pinpointing this. * TAO_IDL/be/be_visitor_attribute/attribute.cpp: For the TIE classes, we had forgotten to generate the "set" attribute operation (for attributes that are not readonly). Again thanks to David Levine for pinpointing this. * tao/IIOP_Object.i: A newline was missing at the end of the file which resulted in a huge number of compile errors from SunCC. This is now fixed. * tao/append.cpp: Unused variables in Union::append removed. Thu Jun 25 06:57:43 1998 Aniruddha Gokhale * TAO_IDL/be/be_visitor_union/union_ch.cpp: Added a new virtual overridden method that returns a pointer to the discriminant. In addition, we now name the underlying private union as u_. * TAO_IDL/be/be_visitor_union/union_ci.cpp: In the default constructor, we were setting the entire class object to 0 which was making the virtual pointers 0. We now only initialize the union and the discriminant. Added the implementation of the virtual overridden _discriminant method. Also, the _reset method was moved here from the union_cs.cpp file. * TAO_IDL/be/be_visitor_union/union_cs.cpp: Moved the _reset method to the union_ci.cpp file * TAO_IDL/be/be_visitor_union_branch/{public_access_cs, public_reset_cs, public_assign_cs, public_ci}.cpp: The generated code now has to use the named underlying union. SO every field must now be accessed as u_.. * tao/Union.h: Added a pure virtual method returning pointer to void. This will be overridden by subclasses and a pointer to the discriminant will be returned. * tao/{encode, decode}.cpp (TAO_Marshal_Union::{encode, decode}): We now use the _discriminant () method on the union class to access the discriminant. This is much safer than simply casting it. Wed Jun 24 21:41:21 1998 Michael Kircher * tao/GIOP.cpp: Added a lock to * tao/Connect.cpp: Added a lock to the access of the forwarding profile. Some overhead might be due to that, but we don't want to sacrifice stability. * tao/IIOP_Object.{h,icpp}: Added thread safe access functions for the forwarding profile. Wed Jun 24 18:13:21 1998 Carlos O'Ryan * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: * orbsvcs/tests/Event_Latency/Event_Latency.cpp: * orbsvcs/orbsvcs/Event/Dispatching_Modules.h: * orbsvcs/orbsvcs/Event/Dispatching_Modules.cpp: * orbsvcs/orbsvcs/Event/Task_Manager.h: * orbsvcs/orbsvcs/Event/Task_Manager.cpp: The multiple EC is not shutting dows cleanly, apparently it is a synchronization problem between the two processes. These changes try to minimize the problem by making shutdown() (and activate) idempotent in the EC internal threads. Wed Jun 24 15:55:33 1998 Irfan Pyarali * tao/ORB.cpp (resolve_root_poa): Changed resolve_poa() to resolve_root_poa(). * tao/ORB.cpp (resolve_poa): Rearranged this method so that the user can specify the name, POA Manager, policies, and active object map of a root poa. Use this method instead of resolve_initial_reference("RootPOA"). This method also allows the user the specify the policies used by the root POA - the most common change will be to switch the lifespan policy of the root POA from TRANSIENT to PERSISTENT. resolve_poa() is non-standard. Wed Jun 24 15:49:19 1998 Aniruddha Gokhale * tao/Union.{h, cpp}: Added a base sequence definition for Unions. This uses the same logic as the Base sequences. We need such a base sequence to provide us virtual methods called "_access" and "_reset". The _access method us ised to access the right union member at the right offset. The reset method is used to free the storage. *NOTE* these are new files * tao/{encode, decode}.cpp: For Union::{encode, decode}, we now use the Base Union class on which we invoke the virtual methods. * TAO_IDL/be_include/be_codegen.h: Added a new enumeration for generating the overloaded _access method on the union class. * TAO_IDL/be/be_visitor_union/union.cpp: Handled the case for the access method generating visitor. * TAO_IDL/be/be_visitor_union/union_ch.cpp: The union class now inherits from the TAO_Base_Union class. In addition, it defines the virtual overloaded _reset and _access methods. * TAO_IDL/be/be_visitor_union/union_ci.cpp: Since the reset method was renamed to _reset, we now use this name. * TAO_IDL/be/be_visitor_union/union_cs.cpp: Added code for the overloaded _reset and _access method. * TAO_IDL/be/be_visitor_union_branch/public_ci.cpp: All calls to reset converted to _reset. * TAO_IDL/be_visitor_union_branch/public_access_cs.cpp: TAO_IDL/be_include/be_visitor_union_branch/public_access_cs.h: New visitor to generate the code for the access method. *NOTE* these are new files. * TAO_IDL/be_visitor_union_branch.cpp: TAO_IDL/be_include/be_visitor_union_branch.h: Includes the new files. * TAO_IDL/be/be_interpretive.cpp: Handled the case for the new visitor on unions that generates the _access method. Wed Jun 24 14:29:56 1998 Seth Benjamin Widoff * docs/releasenotes/index.html: Updated the Trader portion of the releasnotes. Wed Jun 24 12:02:40 1998 Alexander Babu Arulanthu * tests/POA/RootPOA/RootPOA.cpp (main): Replaced the exception checking/printing code by TAO_CHECK_ENV_PRINT_RETURN. Wed Jun 24 11:52:12 1998 Alexander Babu Arulanthu * tao/corba.h: Added the exception macros TAO_CHECK_ENV_PRINT_RETURN(ENV, PRINT_STRING, RETURN) and TAO_CHECK_ENV_PRINT_RETURN_VOID(ENV, PRINT_STRING). Wed Jun 24 11:38:00 1998 Chris Gill * orbsvcs/orbsvcs/Sched/Strategy_Scheduler.{cpp, h}: Removed runtime dynamic dispatch strategy classes, as these are now provided by the ACE dynamic message strategy classes for the dynamic message queue. For performance and architectural reasons, it is better to strategize the dispatch queue itself, rather than have the *ACE* dispatch queue call out to a *TAO* strategy. Wed Jun 24 11:13:32 1998 Aniruddha Gokhale * TAO_IDL/be_include/be_codegen.h: Added a new state for resetting the appropriate element of a union. * TAO_IDL/be_include/be_visitor_union_branch/public_reset_cs.h: Added a new visitor that generates code for resetting elements of a union. This is required in 3 scenarios: (1) for destructor, (2) for union's assignment operator, and (3) individual modifier operations in which a new value is set. This will require freeing of previous value. *NOTE* this is a new file. * TAO_IDL/be_include/be_visitor_union_branch/public_assign_cs.h: Added a bunch of methods to the visitor that visit the "type". This was necessary since simple assignment is not enough. We must ensure that old values are freed and the assignment results in deep copies wherever necessary. All this is required for the assignment operator of the union. * TAO_IDL/be/be_interpretive.cpp: Handled the newly added case for the union reset visitor. * TAO_IDL/be/be_visitor_argument/docall_cs.cpp: TAO_IDL/be/be_visitor_argument/marshal_ss.cpp: TAO_IDL/be/be_visitor_argument/pre_docall_cs.cpp: TAO_IDL/be/be_visitor_argument/vardecl_ss.cpp: Added support for Arrays as in, inout, out parameters. * TAO_IDL/be/be_visitor_array/array_ch.cpp: TAO_IDL/be/be_visitor_array/array_ci.cpp: For fixed size arrays, the _out definition is simply a typedef. Whereas for arrays whopse base type is of variable size, we define the _out class. * TAO_IDL/be/be_visitor_structure/structure_ch.cpp: the export macro for structures is always generated, even if it is nested. This is only valid for the Windows platform since for the other cases the export macro is NUL. * TAO_IDL/be/be_visitor_union/union.cpp: The generic visitor now also handles the union reset visitor case. * TAO_IDL/be/be_visitor_union/union_ch.cpp: The union mapping that generates a class now uses the Export macro even if it was nested. Seth Widoff reported that this was necessary. * TAO_IDL/be/be_visitor_union/union_ci.cpp: The constructor now zeros the entire union on initialization. Thus, at the start, all the fields will be 0s. The destructor now calls the private "reset" method with the finalize flag=1 to indicate freeing of all allocated resources. * TAO_IDL/be/be_visitor_union/union_cs.cpp: Added code for the reset method. In addition, the assignment operator first invokes the reset method to clean up old storage. * TAO_IDL/be/be_visitor_union_branch/private_ch.cpp: Members of the private anonymous union inside the union class may either be pointers or scalar variables. They will be pointers if their types are aggregate classes or structures that have ctors. C++ does not allow using the instances of such aggregate classes. * TAO_IDL/be/be_visitor_union_branch/private_assign_cs.cpp: Added code for all the methods that visit the type. Each method tries to free previous storage (if any) and then does the necessary deep copying. * TAO_IDL/be/be_visitor_union_branch/public_ch.cpp: Some modifier and access methods that were generated had errors w.r.t the parameters they take. This is now fixed. * TAO_IDL/be/be_visitor_union_branch/public_ci.cpp: All the modifier methods now call reset to free old storage and then do the appropriate deep copying of the new value. * TAO_IDL/be/be_visitor_union_branch/public_reset_cs.cpp: Code for the reset visitor. *NOTE* this is a new file. * tao/decode.cpp: Released the IIOP_Object that is created during the ObjRef::decode method. This was necessary to overcome a memory leak. Thanks to Irfan and Jeff. Wed Jun 24 09:56:13 1998 Carlos O'Ryan * tests/Cubit/TAO/IDL_Cubit/cubit.idl: * tests/Cubit/TAO/IDL_Cubit/cubit_i.h: * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp: * tests/Cubit/TAO/IDL_Cubit/client_i.h: * tests/Cubit/TAO/IDL_Cubit/client_i.cpp: Removed DII test. Print clearer messages for sequences (to distinguish octet vs long sequences). Print the results for each test (long, short, octet, structs and unions) and *also* a mixin of lonng/short/octet. Wed Jun 24 02:23:38 1998 Douglas C. Schmidt * TAO version 0.1.33 released. Tue Jun 23 17:30:14 1998 Carlos O'Ryan * orbsvcs/Scheduling_Service/Makefile: Updated dependencies. * orbsvcs/Event_Service/Event_Service.cpp: Improved a debug message. * orbsvcs/Event_Service/svc.conf: The options are more realistic now. * orbsvcs/tests/start_services: No need to run the Scheduling Service now; the Event_Service program has a collocated one (by default). * docs/releasenotes/ec.html: Updated the release notes to reflect the latest changes. Tue Jun 23 16:47:43 1998 Nanbor Wang * tao/ORB_Core.{h,cpp} (class TAO_Collocation_Table_Lock): Rename TAO_COLTBL_Lock TO TAO_Collocation_Table_Lock. COLTBL was a bit cryptic. Changed its implementation to use the new ACE_Adaptive_Lock class. Tue Jun 23 12:34:23 1998 Seth Benjamin Widoff * orbsvcs/orbsvcs/Makefile: * orbsvcs/orbsvcs/Trader/Trader.{h,cpp}: * orbsvcs/orbsvcs/Trader/Trader_T.{h,cpp}: Merged Attributes(_T).{h,cpp} into the above files. Updated the Makefile. Tue Jun 23 12:18:39 1998 Carlos O'Ryan * orbsvcs/orbsvcs/Event/Task_Manager.h: * orbsvcs/orbsvcs/Event/Task_Manager.i: * orbsvcs/orbsvcs/Event/Task_Manager.cpp: * orbsvcs/orbsvcs/Event/Event_Channel.h: * orbsvcs/orbsvcs/Event/Event_Channel.i: * orbsvcs/orbsvcs/Event/Event_Channel.cpp: * orbsvcs/orbsvcs/Event/Dispatching_Modules.h: * orbsvcs/orbsvcs/Event/Dispatching_Modules.i: * orbsvcs/orbsvcs/Event/Dispatching_Modules.cpp: * orbsvcs/orbsvcs/Event/RT_Task.cpp: * orbsvcs/orbsvcs/Event/ReactorTask.cpp: The Event Channel can be shutdown cleanly using the destroy() method. The problem was that two components (the Dispatching Module and the TaskManager or the handler for Timer threads) were not waiting for their threads to shutdown. The modules keep their own Thread_Manager to wait for shutdown. Startup was also changed: the event channel constructor receives a new argument to control the creation of the internal threads; if the argument is FALSE the user must call the activate() method to start the threads. * orbsvcs/orbsvcs/RtecEventComm.idl: * orbsvcs/orbsvcs/RtecEventChannelAdmin.idl: Many operations were oneways because early releases of TAO did not support nested upcalls. * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: use the activate method to start the threads. * orbsvcs/Event_Service/Event_Service.cpp: Added support for a collocated Scheduling Service; this is the common use case that we wish to implement, improves performance and works around some nested upcall problems in the ORB. The user can select the old behavior using the <-s global> flag. * orbsvcs/tests/Event_Latency/Event_Latency.cpp: Only shutdown the EC once our event loop exits * orbsvcs/tests/EC_Multiple/histo.pl: Fixed typo in a comment. Tue Jun 23 11:59:12 1998 David L. Levine * tests/Cubit/TAO/IDL_Cubit/Makefile,tests/Thruput/TAO/Makefile, tests/NestedUpcall/Makefile,tests/Quoter/Makefile, tests/OctetSeq/Makefile: added S_T.* files to realclean target. Mon Jun 22 21:30:00 1998 Michael Kircher * TAO_IDL/be/be_sequence.cpp * TAO_IDL/be/be_visitor_sequence/sequence_ch.cpp: Making a special treatment for sequence of octets. Mon Jun 22 20:32:25 1998 Seth Benjamin Widoff * orbsvcs/orbsvcs/Trader/Attributes.{h,cpp}: * orbsvcs/orbsvcs/Trader/Attributes_T.{h,cpp}: * orbsvcs/orbsvcs/Trader/Constraint_Interpreter.{h,cpp}: * orbsvcs/orbsvcs/Trader/Constraint_Nodes.{h,cpp}: * orbsvcs/orbsvcs/Trader/Constraint_Visitors.{h,cpp}: * orbsvcs/orbsvcs/Trader/Constraint_l.{h,cpp}: * orbsvcs/orbsvcs/Trader/Constraint_y.{h,cpp}: * orbsvcs/orbsvcs/Trader/Dynamic_Property.{h,cpp}: * orbsvcs/orbsvcs/Trader/Offer_Database.{h,cpp}: * orbsvcs/orbsvcs/Trader/Offer_Iterators.{h,cpp}: * orbsvcs/orbsvcs/Trader/Offer_Iterators_T.{h,cpp}: * orbsvcs/orbsvcs/Trader/Service_Type_Repository.{h,cpp}: * orbsvcs/orbsvcs/Trader/Trader.{h,cpp}: * orbsvcs/orbsvcs/Trader/Trader_Interfaces.{h,cpp}: * orbsvcs/orbsvcs/Trader/Trader_T.{h,cpp}: * orbsvcs/orbsvcs/Trader/Trader_Utils.{h,cpp}: * orbsvcs/orbsvcs/Makefile: By having related classes share a file, reduced the number of files in the Trading Service by half. Updated the Makefile to reflect the changes. * orbsvcs/tests/Trading/Makefile: * orbsvcs/tests/Trading/Offer_Exporter.cpp: * orbsvcs/tests/Trading/Offer_Importer.cpp: * orbsvcs/tests/Trading/TT_Info.cpp: * orbsvcs/tests/Trading/export_test.cpp: Updated the Trading tests to use the new header file scheme. Mon Jun 22 11:54:20 1998 Carlos O'Ryan * tests/Cubit/TAO/MT_Cubit/Makefile: * tests/Cubit/TAO/IDL_Cubit/Makefile: Updated dependencies. Mon Jun 22 11:32:00 1998 Michael Kircher * docs/releasenotes/index.html: Added documentation about the changes in the TAO IDL compiler. Mon Jun 22 11:32:00 1998 Michael Kircher * TAO_IDL/be/{be_helper.h, be_sequence.h}: see comment below, only the declarations were added. * TAO_IDL/be/be_visitor_sequence/sequence_{ch,cs}.h: Added the declarations of the things mentioned below. Mon Jun 22 11:15:40 1998 Michael Kircher * TAO_IDL/be/be_helper.cpp: Added gen_ifdef_AHETI(), gen_else_AHETI() and gen_endif_AHETI() to write the proper #ifdef. * TAO_IDL/be/be_sequence.cpp: Added instance_name() to create a unique instantiation name for the instantiated templates. Added object_manager_name () to create a unique object_manager name. * TAO_IDL/be/be_visitor_sequence.cpp: Added the new files. * TAO_IDL/be/be_visitor_sequence/elemtype.cpp: Added ifdefs for generating appropriate code to handle Object Manager references. * TAO/TAO_IDL/be/be_visitor_sequence/sequence_ch.cpp: Added the hook-up to generate the instantiated templates. Basically the hook-up is the method instantiate_sequence(). * TAO_IDL/be/be_visitor_sequence/sequence_c{i,s}.cpp: Added the ifdef distinguishing. * TAO_IDL/be/be_visitor_sequence/gen_bounded_sequence_ch.cpp, TAO_IDL/be/be_visitor_sequence/gen_unbounded_sequence_ch.cpp, TAO_IDL/be/be_visitor_sequence/gen_bounded_obj_sequence_ch.cpp, TAO_IDL/be/be_visitor_sequence/gen_unbounded_obj_sequence_ch.cpp, TAO_IDL/be/be_visitor_sequence/gen_bounded_str_sequence_ch.cpp, TAO_IDL/be/be_visitor_sequence/gen_object_manager_ch.cpp: New files for code generation. Mon Jun 22 11:12:54 1998 David L. Levine * orbsvcs/orbsvcs/Scheduler_Factory (preemption_priority): use ACE_TSS_Type_Adapter instead of specializing the adaption of RtecScheduler::Preemption_Priority here. * orbsvcs/tests/Event_Latency/Event_Latency.cpp: made some ACE_hrtime values non-const so that Sun C++ 4.2/SunOS 5.6 doesn't complain about casting away constness. Thanks to J. Russell Noteworthy for reporting this. * test/Cubit/TAO/IDL_Cubit/collocation_test (main): changed the static_cast of svr_worker to a reinterpret_cast, and added a & in front of it for good measure. Thanks to J. Russell Noteworthy for reporting this, and to Carlos for recommending the use of reinterpret cast. * tao/GIOP.cpp,ORB.cpp,IIOP_Object.cpp,POA.cpp,Server_Request.cpp, Connect.cpp, orbsvcs/orbsvcs/Event/Dispatching_Modules.cpp,Event_Channel.cpp, RT_Task.cpp,ReactorTask.cpp, orbsvcs/tests/Event_Latency/Event_Latency.cpp, tests/Cubit/TAO/IDL_Cubit/client_i.cpp,cubit_i.cpp: removed trailing semicolon from ACE_TIMEPROBE_EVENT_DESCRIPTIONS, now that it is part of the macro definition. Mon Jun 22 09:19:40 1998 Aniruddha Gokhale * TAO_IDL/be/be_visitor_typecode/typecode_decl.cpp: The typecode declarations now have the appropriate export macro generated for them. This is required for the DLLs. Seth Widoff pointed out this requirement. Mon Jun 22 00:09:23 1998 Douglas C. Schmidt * TAO version 0.1.32 released. Mon Jun 22 00:01:44 1998 Nanbor Wang * orbsvcs/orbsvcs/orbsvcs.dsp: This project file no longer copies the orbsvcs.dll to $TAO_ROOT/tao/. Be sure to remove this file: $TAO_ROOT/tao/orbsvcs.dll. Sun Jun 21 23:59:06 1998 Douglas C. Schmidt * TAO version 0.1.31 released. Sun Jun 21 16:29:49 1998 Seth Benjamin Widoff * tao/ORB.cpp: * tao/Params.cpp: Wasn't initializing Params::trading_service_{ior,port}_ or CORBA_ORB::trading_service_. Sun Jun 21 14:36:26 1998 Seth Benjamin Widoff * orbsvcs/orbsvcs/Trader/*.*: Trading Service now compiles without warnings or link errors on Windows NT (MSVC++). Sun Jun 21 08:39:38 1998 Aniruddha Gokhale * tests/Param_Test/tests.cpp: Removed a bunch of warnings related to creation of a temporary when a var or ptr type is passed as an out parameter. Sat Jun 20 14:22:22 1998 David L. Levine * orbsvcs/orbsvcs/Scheduler_Factory.cpp: wrapped RtecScheduler::Preemption_Priority (int) with a struct when used with ACE_TSS. ACE_TSS::operator-> () returns TYPE *, so it cannot be instantiated with built-in types: "ace/Synch_T.h", line 267: Error: Cannot have a return type of int* for ACE_TSS::operator->() const. Where: While specializing "ACE_TSS". Where: Specialized in non-template code. Sat Jun 20 03:31:28 1998 Irfan Pyarali * tao/POA: - Added TAO_POA_locking as a new policy to the POA. This policy is used to control the kind of lock created for POA state synchronization. Previously, the user could only specific the synchronization choice at an application level in the svc.conf file. This approach did not allow a scheme where some POAs had thread safe synchronization, while others had no (null) synchronization. The new policy has three options: - USE_DEFAULT_LOCK: This option is the default value for this policy. This option indicates that the application level choice for POA synchronization specified in the svc.conf file be used. Currently, this defaults to thread safe synchronization. This option allows the programmer to make application level decisions about the synchronization in the POA. Hence, unless specified otherwise in create_POA, all POAs in the application will have thread safe synchronization or null (no) synchronization depending on the chioce made in svc.conf. - USE_NULL_LOCK: Use null (no) synchronization to protect the state of this POA. - USE_THREAD_LOCK: Use thread synchronization to protect the state of this POA. - Changed POAC.{h,i,cpp}, POAS.{h,i,cpp} and POA{h,i,cpp} to support this new policy. - Removed Strategy_POA and Strategy_POA_Manager. Both were rather unnecessary in view of the above changes. * tests/POA/locking/locking.cpp: New test for showing off new POA locking policy. * tao/Sequence.h (Octet>): Removed extra operator<< and operator>> declarations, and changed the implementation to use non-private members. * tao/Principal.i: Added new file (empty). Sat Jun 20 01:39:35 1998 Nanbor Wang * tao/TAO4.{mdp,mak}: Defined TAO_BUILD_DLL, undefined TAO_NO_COPY_OCTET_SEQUENCES. Added Current{C,S}.cpp and Forward_Servant.cpp into project. Removed timeprobe.cpp from project. * tao/Forwarding_Servant.h: * tao/POA{C,S,_CORBA}.h: Changed to use the underbar class names for better portability. Thanks to Ernesto Guisado for providing the perl script to automate the process. Sat Jun 20 00:00:56 1998 Carlos O'Ryan * tao/GIOP.h: * tao/GIOP.cpp: * tao/Server_Request.cpp: Used compiled encoding and decoding for the GIOP and Request headers, thus reducing the time on the critical path. Removed a memory allocation on the server side by using ad-hoc marshalling for the object key: it does not need to increase the reference count on the CDR message block because its lifetime is shorter that the CDR stream. Added compiled marshalling methods for the ServiceContextList, this is mostly a waste because the context list is always empty. * tao/CDR.h: * tao/CDR.i: Enabled >> and << operators for CDR and basic types, added new operators for strings. * tao/corba.h: * tao/ORB.cpp: Added operators to marshal octet sequences. * tao/decode.cpp: Use the new replace() method to set the message block on octet sequences. * tao/Sequence.h: * tao/Sequence.i: Added new replace() method that set the internal message block in an octet sequence. * orbsvcs/tests/start_services: Recommend the $USER instead of the $login macro for bash. Fri Jun 19 21:30:22 1998 David L. Levine * TAO version 0.1.30 released. Fri Jun 19 15:18:04 1998 David L. Levine * orbsvcs/orbsvcs/Scheduler_Factory.{h,cpp} (preemption_priority, set_preemption_priority): added these static functions. They are for use by applications and the Event Channel, to get/set the preemption priority of the calling thread. * orbsvcs/orbsvcs/Scheduler_Factory.cpp: replaced the static ACE_Runtime_Factory instance with an ACE_Singleton instance of a locally-defined struct. In addition, the struct contains the ACE_TSS instance that is used by the static {set_,}preemption_priority functions. * orbsvcs/orbsvcs/Event/RT_Task.cpp (svc): register each Event Channel dispatch thread with the Scheduler's set_preemption_priority () function. * orbsvcs/orbsvcs/Event/RT_Task.cpp (svc): suppress the warning about thr_setprio failure on Solaris, if the priority is 0 and not running as root. It's a no-op, in that case, but Solaris' ::thr_setprio fails with EINVAL. * orbsvcs/tests/Concurrency/lex.CC_command.cpp{,.diff} (ace_cc_yyinput): don't compile this function in if ACE_CC_YY_NO_INPUT is defined, to avoid compile warning about unused static function. Fri Jun 19 12:07:30 1998 Chris Gill * tests/Quoter/Generic_Factory.cpp: added .in() to passed object reference parameter to remove compiler error using g++ on Solaris 2.6 for Intel x86 Fri Jun 19 11:29:24 1998 David L. Levine * TAO version 0.1.29 released. Fri Jun 19 10:14:22 1998 Carlos O'Ryan * tests/POA/On_Demand_Activation/Servant_Activator.h: * tests/POA/On_Demand_Activation/Servant_Activator.cpp: * tests/POA/On_Demand_Activation/Servant_Locator.h: * tests/POA/On_Demand_Activation/Servant_Locator.cpp: * tests/POA/On_Demand_Activation/server.cpp: The Locator and Activator objects require an ORB_ptr now (that in turn is passed to the MyFooServant). * tests/POA/On_Demand_Activation/Makefile: * tests/POA/Forwarding/Makefile: Updated dependencies. Fri Jun 19 09:56:55 1998 Sergio Flores * tests/Cubit/TAO/MT_Cubit/README: * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp: * tests/Cubit/TAO/MT_Cubit/Util_Thread.cpp: * tests/Cubit/TAO/MT_Cubit/Util_Thread.h: * tests/Cubit/TAO/MT_Cubit/client.cpp: * tests/Cubit/TAO/MT_Cubit/cubit_i.cpp: * tests/Cubit/TAO/MT_Cubit/server.cpp: (1) Minor aesthetic changes and code cleanup. (2) Changes to the utilization tests of the server and client. We now make the utilization "scavenger" thread run for a determined period of time and report the number of computations performed. The client thread that performs CORBA calls also reports the number of calls performed. Fri Jun 19 07:25:41 1998 David L. Levine * orbsvcs/orbsvcs/Concurrency/CC_Lock.cpp (Next): removed break following a TAO_THROW to avoid compiler warning about unreachable statement. * tao/ORB.cpp (run): #ifdef'ed out unused locals max_iterations and counter. * tests/NestedUpcall/client.cpp: removed unused static max_sequence_length. * tests/Param_Test/tests.cpp: removed or commented out some unused variables. Thu Jun 18 18:33:34 1998 Carlos O'Ryan * tao/GIOP.cpp: Added a few more Timeprobes to the client side. Removed another memory allocation by using a buffer on the stack for the (initial) output CDR stream. * tao/ORB.cpp: No automatic printing of Timeprobes in the ORB anymore. The application is responsible of invoking the ACE_TIMEPROBE_PRINT macro as needed. * tao/IIOP_Object.cpp: Added more Timeprobes. * tests/POA/Generic_Servant/Foo.idl: * tests/POA/Generic_Servant/MyFooServant.h: * tests/POA/Generic_Servant/MyFooServant.cpp: Added methods to request a shutdown of the server. * tests/POA/Generic_Servant/client.cpp: Added an option (-x) to shutdown the server. Also added support for Timeprobe. * tests/POA/Explicit_Activation/server.cpp: Print the timeprobes at exit. Thu Jun 18 14:17:35 1998 Seth Benjamin Widoff * orbsvcs/orbsvcs/Trader/Attributes_T.cpp: * orbsvcs/orbsvcs/Trader/Constraint_Validator.cpp: * orbsvcs/orbsvcs/Trader/Lookup.cpp: * orbsvcs/orbsvcs/Trader/Policies.cpp: * orbsvcs/orbsvcs/Trader/Policy_Manager.cpp: * orbsvcs/orbsvcs/Trader/Property_Filter.cpp: * orbsvcs/orbsvcs/Trader/Property_Evaluator.cpp: * orbsvcs/orbsvcs/Trader/Register.cpp: * orbsvcs/orbsvcs/Trader/Service_Type_Repository.cpp: Eliminated warnings on NT compilation. Thu Jun 18 14:07:57 1998 David L. Levine * orbsvcs/tests/start_services: use port 0, use the -o and -p Naming_Service options and use URL objrefstyle. Thanks to Carlos for these suggestions. Also, write outputs to different log files, and added note about setting the NameService environment variable. Thu Jun 18 12:07:32 1998 Michael Kircher * tests/Quoter/{Factory_Finder, Generic_Factory}_Impl.cpp: removed unneccessary code. * orbsvcs/LifeCycle_Service/LifeCycle_Service_Impl.cpp: removed unneccessary code. 1998-06-18 Torben Worm * orbsvcs/tests/Concurrency/CC_command.tab.cpp orbsvcs/tests/Concurrency/Makefile Now the yacc generated file is patched too. Thu Jun 18 11:38:32 1998 Seth Benjamin Widoff * orbscvs/tests/AVStreams/server_discovery/TS_Resolve.java: * orbscvs/tests/AVStreams/server_discovery/Property_Evaluator.java: * orbscvs/tests/AVStreams/server_discovery/Discover_Server.java: * orbscvs/tests/AVStreams/server_discovery/Makefile: * orbsvcs/tests/AVStreams/server_discovery/remote_netscape: The beginnings of a Java tool to locate a best matched server for the A/V demo's client using the Trading Service. 1998-06-18 Torben Worm * orbsvcs/tests/Concurrency/CC_command.cpp orbsvcs/tests/Concurrency/CC_command.l orbsvcs/tests/Concurrency/CC_command.tab.cpp orbsvcs/tests/Concurrency/CC_test_utils.h orbsvcs/tests/Concurrency/Makefile orbsvcs/tests/Concurrency/lex.CC_command.cpp: Removed warnings reported by DU cxx Now a patch file is used to patch the output from flex. Thu Jun 18 10:21:28 1998 Carlos O'Ryan * orbsvcs/orbsvcs/Event/Event_Channel.cpp: Comparing an _var to a 0 is non-portable (and non-complaint), the right thing to do is CORBA::is_nil. * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp: Comparing a Time_Value to 0 is a bad idea (we can convert the 0 to a Time_Value or the Time_Value to an int), we compare to ACE_Time_Value::zero. Thu Jun 18 09:34:18 1998 David L. Levine * TAO_IDL/util/utl_scope.cpp (UTL_Scope ctor): removed extraneous ; following the function definition. * orbsvcs/Event_Service/Event_Service.cpp (main), orbsvcs/Scheduling_Service/Scheduling_Service.cpp (main): added filename to debug messages. Wed Jun 17 22:03:42 1998 Aniruddha Gokhale * TAO_IDL: Massive restructuring of directories for be_include and the "be" directories. Since each individual file was getting too big with a large number of visitors, we have now subdivided them and grouped them under individual subdirectories. The original header files (e.g., be_include/be_visitor_interface.h), now only include their subdivided header files. This way the rest of the code does not need to "#include" every individual file. They still deal with the higher level include files only. This avoids any modification of existing code. The new directory structure for the be_include directory and the newly added files are shown below: be_visitor_argument/arglist.h be_visitor_argument/argument.h be_visitor_argument/docall_cs.h be_visitor_argument/marshal_ss.h be_visitor_argument/post_docall_cs.h be_visitor_argument/post_marshal_ss.h be_visitor_argument/post_upcall_ss.h be_visitor_argument/pre_docall_cs.h be_visitor_argument/pre_upcall_ss.h be_visitor_argument/upcall_ss.h be_visitor_argument/vardecl_ss.h be_visitor_array/any_op_ch.h be_visitor_array/any_op_cs.h be_visitor_array/array.h be_visitor_array/array_ch.h be_visitor_array/array_ci.h be_visitor_array/array_cs.h be_visitor_attribute/attribute.h be_visitor_constant/constant_ch.h be_visitor_constant/constant_cs.h be_visitor_enum/any_op_ch.h be_visitor_enum/any_op_cs.h be_visitor_enum/enum_ch.h be_visitor_enum/enum_cs.h be_visitor_exception/any_op_ch.h be_visitor_exception/any_op_cs.h be_visitor_exception/ctor.h be_visitor_exception/ctor_assign.h be_visitor_exception/exception.h be_visitor_exception/exception_ch.h be_visitor_exception/exception_ci.h be_visitor_exception/exception_cs.h be_visitor_exception/exception_ctor.h be_visitor_field/field_ch.h be_visitor_field/field_ci.h be_visitor_field/field_cs.h be_visitor_interface/any_op_ch.h be_visitor_interface/any_op_cs.h be_visitor_interface/collocated_sh.h be_visitor_interface/collocated_ss.h be_visitor_interface/interface.h be_visitor_interface/interface_ch.h be_visitor_interface/interface_ci.h be_visitor_interface/interface_cs.h be_visitor_interface/interface_sh.h be_visitor_interface/interface_si.h be_visitor_interface/interface_ss.h be_visitor_interface/tie_sh.h be_visitor_interface/tie_si.h be_visitor_interface_fwd/interface_fwd_ch.h be_visitor_interface_fwd/interface_fwd_ci.h be_visitor_module/any_op.h be_visitor_module/module.h be_visitor_module/module_ch.h be_visitor_module/module_sh.h be_visitor_operation/arglist.h be_visitor_operation/argument.h be_visitor_operation/collocated_sh.h be_visitor_operation/collocated_ss.h be_visitor_operation/exceptlist_cs.h be_visitor_operation/operation_ch.h be_visitor_operation/operation_cs.h be_visitor_operation/operation_sh.h be_visitor_operation/operation_ss.h be_visitor_operation/rettype.h be_visitor_operation/rettype_assign_ss.h be_visitor_operation/rettype_docall_cs.h be_visitor_operation/rettype_marshal_ss.h be_visitor_operation/rettype_post_docall_cs.h be_visitor_operation/rettype_post_upcall_ss.h be_visitor_operation/rettype_pre_docall_cs.h be_visitor_operation/rettype_return_cs.h be_visitor_operation/rettype_vardecl_cs.h be_visitor_operation/rettype_vardecl_ss.h be_visitor_operation/tie_sh.h be_visitor_operation/tie_si.h be_visitor_root/any_op.h be_visitor_root/root.h be_visitor_root/root_ch.h be_visitor_root/root_ci.h be_visitor_root/root_cs.h be_visitor_root/root_sh.h be_visitor_root/root_si.h be_visitor_root/root_ss.h be_visitor_sequence/any_op_ch.h be_visitor_sequence/any_op_cs.h be_visitor_sequence/buffer_type.h be_visitor_sequence/elemtype.h be_visitor_sequence/sequence_base.h be_visitor_sequence/sequence_ch.h be_visitor_sequence/sequence_ci.h be_visitor_sequence/sequence_cs.h be_visitor_structure/any_op_ch.h be_visitor_structure/any_op_cs.h be_visitor_structure/structure.h be_visitor_structure/structure_ch.h be_visitor_structure/structure_ci.h be_visitor_structure/structure_cs.h be_visitor_typecode/typecode_decl.h be_visitor_typecode/typecode_defn.h be_visitor_typedef/any_op_ch.h be_visitor_typedef/any_op_cs.h be_visitor_typedef/typedef.h be_visitor_typedef/typedef_ch.h be_visitor_typedef/typedef_ci.h be_visitor_typedef/typedef_cs.h be_visitor_union/any_op_ch.h be_visitor_union/any_op_cs.h be_visitor_union/discriminant_ch.h be_visitor_union/discriminant_ci.h be_visitor_union/discriminant_cs.h be_visitor_union/union.h be_visitor_union/union_ch.h be_visitor_union/union_ci.h be_visitor_union/union_cs.h be_visitor_union_branch/private_ch.h be_visitor_union_branch/public_assign_cs.h be_visitor_union_branch/public_ch.h be_visitor_union_branch/public_ci.h be_visitor_union_branch/public_cs.h The same logic of breaking up individual files and grouping them under individual subdirectories is used for the be_visitor_*.cpp files. Each individual file "#include"s their individual subfiles. This way, we do not have to modify the Makefile to compile individual file. In addition, the Makefile would have required each individual subdirectory in its VPATH. Furthermore, it does not compile files with the same name in different directories. The new structure is shown below. be_visitor_argument/arglist.cpp be_visitor_argument/argument.cpp be_visitor_argument/docall_cs.cpp be_visitor_argument/marshal_ss.cpp be_visitor_argument/post_docall_cs.cpp be_visitor_argument/post_marshal_ss.cpp be_visitor_argument/post_upcall_ss.cpp be_visitor_argument/pre_docall_cs.cpp be_visitor_argument/pre_upcall_ss.cpp be_visitor_argument/upcall_ss.cpp be_visitor_argument/vardecl_ss.cpp be_visitor_array/any_op_ch.cpp be_visitor_array/any_op_cs.cpp be_visitor_array/array.cpp be_visitor_array/array_ch.cpp be_visitor_array/array_ci.cpp be_visitor_array/array_cs.cpp be_visitor_attribute/attribute.cpp be_visitor_constant/constant_ch.cpp be_visitor_constant/constant_cs.cpp be_visitor_enum/any_op_ch.cpp be_visitor_enum/any_op_cs.cpp be_visitor_enum/enum_ch.cpp be_visitor_enum/enum_cs.cpp be_visitor_exception/any_op_ch.cpp be_visitor_exception/any_op_cs.cpp be_visitor_exception/ctor_assign.cpp be_visitor_exception/exception.cpp be_visitor_exception/exception_ch.cpp be_visitor_exception/exception_ci.cpp be_visitor_exception/exception_cs.cpp be_visitor_exception/exception_ctor.cpp be_visitor_field/field_ch.cpp be_visitor_field/field_ci.cpp be_visitor_field/field_cs.cpp be_visitor_interface/any_op_ch.cpp be_visitor_interface/any_op_cs.cpp be_visitor_interface/collocated_sh.cpp be_visitor_interface/collocated_ss.cpp be_visitor_interface/interface.cpp be_visitor_interface/interface_ch.cpp be_visitor_interface/interface_ci.cpp be_visitor_interface/interface_cs.cpp be_visitor_interface/interface_sh.cpp be_visitor_interface/interface_si.cpp be_visitor_interface/interface_ss.cpp be_visitor_interface/tie_sh.cpp be_visitor_interface/tie_si.cpp be_visitor_interface_fwd/interface_fwd_ch.cpp be_visitor_interface_fwd/interface_fwd_ci.cpp be_visitor_module/any_op.cpp be_visitor_module/module.cpp be_visitor_module/module_ch.cpp be_visitor_module/module_sh.cpp be_visitor_operation/arglist.cpp be_visitor_operation/argument.cpp be_visitor_operation/collocated_sh.cpp be_visitor_operation/collocated_ss.cpp be_visitor_operation/exceptlist_cs.cpp be_visitor_operation/operation_ch.cpp be_visitor_operation/operation_cs.cpp be_visitor_operation/operation_sh.cpp be_visitor_operation/operation_ss.cpp be_visitor_operation/rettype.cpp be_visitor_operation/rettype_assign_ss.cpp be_visitor_operation/rettype_docall_cs.cpp be_visitor_operation/rettype_marshal_ss.cpp be_visitor_operation/rettype_post_docall_cs.cpp be_visitor_operation/rettype_post_upcall_ss.cpp be_visitor_operation/rettype_pre_docall_cs.cpp be_visitor_operation/rettype_return_cs.cpp be_visitor_operation/rettype_vardecl_cs.cpp be_visitor_operation/rettype_vardecl_ss.cpp be_visitor_operation/tie_sh.cpp be_visitor_operation/tie_si.cpp be_visitor_root/any_op.cpp be_visitor_root/root.cpp be_visitor_root/root_ch.cpp be_visitor_root/root_ci.cpp be_visitor_root/root_cs.cpp be_visitor_root/root_sh.cpp be_visitor_root/root_si.cpp be_visitor_root/root_ss.cpp be_visitor_sequence/any_op_ch.cpp be_visitor_sequence/any_op_cs.cpp be_visitor_sequence/buffer_type.cpp be_visitor_sequence/elemtype.cpp be_visitor_sequence/sequence_base.cpp be_visitor_sequence/sequence_ch.cpp be_visitor_sequence/sequence_ci.cpp be_visitor_sequence/sequence_cs.cpp be_visitor_structure/any_op_ch.cpp be_visitor_structure/any_op_cs.cpp be_visitor_structure/structure.cpp be_visitor_structure/structure_ch.cpp be_visitor_structure/structure_ci.cpp be_visitor_structure/structure_cs.cpp be_visitor_typecode/typecode_decl.cpp be_visitor_typecode/typecode_defn.cpp be_visitor_typedef/any_op_ch.cpp be_visitor_typedef/any_op_cs.cpp be_visitor_typedef/typedef.cpp be_visitor_typedef/typedef_ch.cpp be_visitor_typedef/typedef_ci.cpp be_visitor_typedef/typedef_cs.cpp be_visitor_union/any_op_ch.cpp be_visitor_union/any_op_cs.cpp be_visitor_union/discriminant_ch.cpp be_visitor_union/discriminant_ci.cpp be_visitor_union/discriminant_cs.cpp be_visitor_union/union.cpp be_visitor_union/union_ch.cpp be_visitor_union/union_ci.cpp be_visitor_union/union_cs.cpp be_visitor_union_branch/private_ch.cpp be_visitor_union_branch/public_assign_cs.cpp be_visitor_union_branch/public_ch.cpp be_visitor_union_branch/public_ci.cpp be_visitor_union_branch/public_cs.cpp * TAO_IDL/be_include TAO_IDL/be Renamed be_visitor_args.{h, cpp} to be_visitor_argument.{h, cpp} to reflect the correct name used by the AST node. Wed Jun 17 23:29:06 1998 Carlos O'Ryan * orbsvcs/orbsvcs/Event/Event_Channel.h: * orbsvcs/orbsvcs/Event/Event_Channel.i: * orbsvcs/orbsvcs/Event/Event_Channel.cpp: Fixed many bugs in the disconnection code. The main ones were related to memory managment (missing _duplicate() calls for ES_Consumer_Rep objects) and to agressive memory release (disconnecting a consumer could result in removing a critical entry for the map of type consumers in a supplier, rendering the supplier unusable). The code more transparent for CORBA exceptions (it just passes them back); but some places still catch them or create new CORBA::Environment and/or signal errors using return values. Looked more carefully at memory managment, but we still need clean startup and shutdown to really track any problems in this area. Some stylistic changes here and there. * orbsvcs/tests/EC_Multiple/EC_Multiple.h: * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: Added an option to connect and disconnect the consumers and/or suppliers before doing anything else. This was useful to debug the EC. * orbsvcs/tests/EC_Multiple/Makefile: Updated dependencies. * orbsvcs/tests/EC_Multiple/svc.conf: Added more options to control the kind of lock used in the POA and similar things. * orbsvcs/orbsvcs/Event/RT_Task.cpp: Failing to run in the real-time class is only a warning, added an explanation to the user in that sense. * orbsvcs/orbsvcs/Event/EC_Gateway.cpp: Added debug messages (now commented out). * orbsvcs/orbsvcs/Event/CORBA_Utils_T.i: Fixed off-by-one bug in Simple_Array_Iterator. * orbsvcs/orbsvcs/Event_Utilities.cpp: Initialize the rt_info field to 0. Wed Jun 17 23:21:45 1998 Chris Gill * orbsvcs/orbsvcs/Sched/DynSched.{cpp, h} orbsvcs/orbsvcs/Sched/SchedEntry.{cpp, h, i} orbsvcs/orbsvcs/Sched/Strategy_Scheduler.cpp Several bug fixes for consumers specifying a period of 0. Incorrect handle was being used for the dependency, framing/reframing caused divide-by-zero errors, merging was not correctly picking up the priority information from the supplier. * orbsvcs/tests/Sched_Conf/Sched_Conf.cpp Added a -n argument, and command-line argument processing code to the test so that multiple copies with differently named scheduling services can run simultaneously within the context of a single naming service. Wed Jun 17 17:07:12 1998 Sergio Flores * tests/Cubit/TAO/MT_Cubit/README: added new options with explanations. * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp: * tests/Cubit/TAO/MT_Cubit/Task_Client.h: * tests/Cubit/TAO/MT_Cubit/client.cpp: Changed the utilization test to bound the test by time instead of by number of requests. * tests/Cubit/TAO/MT_Cubit/Util_Thread.cpp: * tests/Cubit/TAO/MT_Cubit/client.cpp: * tests/Cubit/TAO/MT_Cubit/server.cpp:Minor changes to cleanup code. * tests/Cubit/TAO/MT_Cubit/README: Updated the options and explanation of the options. Wed Jun 17 16:58:26 1998 Michael Kircher * orbsvcs/tests/start_services: Moved this file form orbsvcs/tests/Simulator/ to this location. David made it more generic in order to allow it to work on more Unix platforms. * orbsvcs/tests/Simulator/ss: See comment above. * orbsvcs/tests/Simulator/README: Added some comments about the above mentioned. Wed Jun 17 16:14:26 1998 Sergio Flores * tests/Cubit/TAO/MT_Cubit/Makefile: minor fix for Chorus. Wed Jun 17 15:05:43 1998 Nanbor Wang * tao/Connect.cpp (activate): Set the thr_mgr of the service handler so the newly spawned thread is created under the ORB's Thread_Manager. * tao/ORB_Core.cpp (inherit_from_parent_thread): Inherit more properties from the parent thread so the spawned thread has a complete environment to run on. (add_to_collocation_table): (get_collocated_poa): Changed to use the address in the orb_params. 1998-06-17 Torben Worm * orbsvcs/orbsvcs/Concurrency/CC_LockSetFactory: Changed the factory not to use an ACE_Lock, but rather to use the ACE_Thread_Mutex directly. * orbsvcs/orbsvcs/Concurrency/CC_LockSet: Changed _d to _i to be more consistent with ACE. * orbsvcs/orbsvcs/Concurrency/CC_LockSet: Don't create the Thread_Mutex as a pointer since it doesn't change. * orbsvcs/tests/Concurrency/CC_client.{h,cpp} orbsvcs/tests/Concurrency/CC_command.l orbsvcs/tests/Concurrency/CC_command.y orbsvcs/tests/Concurrency/Makefile Now using yacc. Now patching the generated files like SVC in order to make them more portable. Patching not used yet. * orbsvcs/tests/Concurrency/CC_client.{h,cpp} orbsvcs/tests/Concurrency/CC_command.l orbsvcs/tests/Concurrency/CC_command.y orbsvcs/tests/Concurrency/Makefile Now using yacc. Now patching the generated files like SVC in order to make them more portable. Patching not used yet. Wed Jun 17 11:46:49 1998 David L. Levine * TAO_IDL/Makefile: suppressed some warnings from DEC cxx. * TAO/tests/Cubit/TAO/MT_Cubit/Task_Client.h: removed unused static variables. Tue Jun 16 17:00:14 1998 Aniruddha Gokhale * TAO_IDL/be_include/be_interface.h: Added a helper called "collocated_ctor_helper" that will be passed to the traverse_inheritance_graph to generate calls to the CTORs of each and every base class in the viryal inheritance hierarchy * TAO_IDL/be/be_interface.cpp: Added code for collocated_ctor_helper method. * TAO_IDL/be/be_visitor_interface.cpp: In the constructor for the collocated class, we now call the interface node's traverse_inheritance_graph with collocated_ctor_helper method as the callback. This will generate calls to the ctors of all the base classes in the entire class hierarchy. * TAO_IDL/be/be_visitor_exception.cpp: On suggestions by Irfan, the generated code no more duplicates the typecode. Instead, it will be the receipient's responsibility to duplicate the typecode for the exceptions. * TAO_IDL/be/be_visitor_union_branch.cpp: A quick fix has been made in the generated modifier functions. We now make sure that memory is allocated to pointer union members if they were not already set. Note that this solution is simply a quick fix to allow making progress for IDl using unions. We still need to make sure that old storage is freed. Will be done in the next attempt. Thanks to Seth for reporting the problem. Tue Jun 16 16:52:16 1998 Carlos O'Ryan * orbsvcs/Event_Service/Makefile: * orbsvcs/tests/Event_Latency/Makefile: Updated dependencies. 1998-06-16 Torben Worm * orbsvcs/tests/Concurrency/Makefile, CC_command.tab.cpp Removed error detected by DU cxx. Tue Jun 16 15:39:43 1998 David L. Levine * orbsvcs/tests/Simulator/ss: use perl instead of cut to extract uid and NameService IOR. It no longer extracted the NameService IOR. The new method is based on regular expressions instead of character counts, so is more resilient. Ported to Linux (and many other Unix platforms that don't have ksh). * tests/Cubit/TAO/IDL_Cubit/collocation_test.cpp: added ACE_THR_FUNC static cast of svr_worker to avoid warning on VxWorks. Tue Jun 16 15:14:50 1998 Nanbor Wang * tao/ORB_Core.cpp (inherit_from_parent_thread): Also inherit the orb from the spawning thread. Tue Jun 16 15:10:11 1998 Chris GIll * orbsvcs/orbsvcs/Scheduler_Factory.{cpp,h,i} Added usability features. Added status enumerated type and accessor so user can see if factory is uninitialized, set up for a config run, or set up for run time. Added explicit type casts for enumerated types to output of dump_schedule, added defaulted argument to allow a different format string to be used in dump_schedule, made default format print each struct initialization array on a single column aligned line. * orbsvcs/orbsvcs/Sched/Config_Scheduler.cpp Removed duplicated explicit template instantiations for scheduling strategy instantiations of strategy scheduler. * orbsvcs/orbsvcs/Sched/DynSched.cpp Fixed bug in add_dependency: put in a break so case for ONE_WAY dependency does not fall through to default. Tue Jun 16 13:50:33 1998 Seth Benjamin Widoff * orbsvcs/test/AVStreams/mpeg/source/server/augmented_server.{h,cpp}: This new version of the AVStreams demo server, augmented_server, exports an offer to the Trading Service containing a reference to the MMDevice and a number of properties describing the MMDevice. * orbsvcs/test/AVStreams/mpeg/source/server/Machine_Properties.{h,cpp}: * orbsvcs/test/AVStreams/mpeg/source/server/Video_Repository.{h,cpp}: Dynamic Property callback handlers that supply values for AV server machine performance, and the names and descriptions of movies offered by the AV server. * orbsvcs/test/AVStreams/mpeg/source/server/Property_Exporter.{h,cpp}: Utility to make it simpler for the augmented_server to export an offer to the Trading Service. Tue Jun 16 14:44:42 1998 Nagarajan Surendran * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/Command_Handler.cpp: Added acceptor code to accept connection from the java GUI. Added code to read the MMDevice ior and movie name from the socket to java GUI. 1998-06-16 Torben Worm * orbsvcs/tests/Concurrency/CC_command.h, CC_client.cpp Removed errors detected by DU cxx * orbsvcs/orbsvcs/Concurrency/CC_LockSet.{h,cpp} Cleaned up debugging code. Tue Jun 16 14:01:52 1998 Carlos O'Ryan * tao/CDR.cpp: Fixed potential inifinite loop in buffer growth if the initial buffer size was 0. Thanks to Stuart Myles for detecting this. Tue Jun 16 10:33:20 1998 David L. Levine * TAO/orbsvcs/tests/Event_Latency/Event_Latency.cpp: use ACE_U64_TO_U32 conversion macro. WIN32's __int64 and ACE_U_LongLong need an explicit narrowing to 32 bits. This macro provides a consistent way to do that on all platforms. Tue Jun 16 10:14:28 1998 Carlos O'Ryan * tao/CDR.cpp: Fixed memory leak on OutputCDR streams, thanks to Lothar Werzinger for reporting and tracking down the problem. Mon Jun 15 23:13:46 1998 David L. Levine * TAO version 0.1.28 released. Mon Jun 15 20:56:20 1998 Irfan Pyarali * tao/POAC: Changed all the exception from user exceptions to system exceptions. * tao/GIOP.cpp (convert_CORBA_to_GIOP_exception): Added new function to convert CORBA Exception type to GIOP reply type. * tao/Exception.cpp (init): Register POA exceptions as system exceptions (exception_type): Added code to determine if exception is a POA exception. (print_exception): Changed code to use exception_type. Removed sys_exceptions and NUM_SYS_EXCEPTIONS. They were not being used. * tao/Connect.cpp (send_error): Cannot assume that the exception is a system exception. Must use TAO_GIOP::convert_CORBA_to_GIOP_exception to find the correct type of the exception. Mon Jun 15 16:14:28 1998 Nanbor Wang * test/Cubit/TAO/IDL_Cubit/collocation_test.cpp: New program to test the performance of collocation optimization. * test/Cubit/TAO/IDL_Cubit/server_i.{h,cpp}: * test/Cubit/TAO/IDL_Cubit/client_i.{h,cpp}: * test/Cubit/TAO/IDL_Cubit/server.cpp: * test/Cubit/TAO/IDL_Cubit/client.cpp: Extracted out the implementation of Cubit_Server and Cubit_Client to *_i.{h,cpp} so that I can reuse them with collocation_test.cpp. When shutting down the ORB, the client side will first turn off the collocation optimization and get the shutdown object from Naming Service. Then, it calls the shutdown method of that object. Without this, we can't shutdown the server ORB. * test/Cubit/TAO/IDL_Cubit/svc.conf: Changed to use TSS resource. * test/Cubit/TAO/IDL_Cubit/cubit_i.cpp: * test/Cubit/TAO/IDL_Cubit/cubit.idl: Added a new interface for shutting down the server ORB. This is necessary because we can't use the shutdown in collocated object (which shuts down the wrong ORB.) * test/Cubit/TAO/IDL_Cubit/Makefile: Added settings for building collocation_test. Tidy up the Makefile a bit. * tests/Cubit/TAO/IDL_Cubit/README: Added documentation for collocation_test. * tao/ORB_Core.{h,i} (using_collocation): Added a new method to allow turn on/off collocation optimization at run time. Sat Jun 13 13:20:58 1998 David L. Levine * orbsvcs/orbsvcs/Concurrency/CC_LockSet.cpp: added explicit template instantiations. * tao/POA.i (find_POA): rearranged to avoid use before definition. Fri Jun 12 20:20:00 1998 Michael Kircher * tao/{Object_KeyC.cpp, Typecode_Constants.cpp}: Changed the typecode manually. Fri Jun 12 19:34:00 1998 Michael Kircher * tao/POAC.cpp: The generation of the typecodes has changed, this file had to be changed manually. Fri Jun 12 16:53:49 1998 Aniruddha Gokhale * TAO_IDL/be/be_decl.cpp (gen_name2long): Michael found out that the TAO_IDL compiler was generating non-portable code for the TypeCode arrays of longs for the RepoID and the name. After discussions with Doug and Irfan, we have decided to always generate the arrays in network order (big endian) and add an ACE_NTOHL macro as the static array is initialized. This way there won't be any run-time penalty. At the same time, the code will be portable. * TAO_IDL/{be_enum, be_exception, be_interface, be_structure, be_typedef, be_union, be_predefined_type, be_field, be_enum_val, be_union_branch}.cpp: Added the call to ACE_NTOHL macro for the arrays of long that are generated for TypeCodes. * tests/Param_Test/params.idl: Added interface definition for tests for arrays. This is still not working at this time. Fri Jun 12 15:39:41 1998 Irfan Pyarali * tests/POA/Generic_Servant: Added oneway calls. Fri Jun 12 15:01:16 1998 Marina Igorevna Spivak * orbsvcs/orbsvcs/Naming/CosNaming_i.cpp: Added _env parameter to helper method, and added the check of environment in all methods using . This is to allow exceptions propagate back. 1998-06-12 Torben Worm * orbsvcs/Concurrency/CC_LockSet.{h,cpp} Added locks to avoid race conditions. Corrected errors regarding the semantics of the service One issue is still outstanding: The use of a semaphore to lock the threads which do not preserve the ordering of the locking. Fri Jun 12 11:48:00 1998 Michael Kircher * tao/POAC.cpp: The TAO_IDL compiler generates platform dependent code for typecodes right now. POA.idl is !not! recompiled on a compilation, because it has been customized. This means, that a ifdef is needed to cover for the platform dependence. Fri Jun 12 09:43:14 1998 David L. Levine * tao/Connect.cpp (send_error): dereferenced forward_request_ptr->forward_reference so that it compiles with g++. Fri Jun 12 9:00:00 1998 Michael Kircher * tao/Connect.cpp: Removed my own bug, using a var as a ptr. Thu Jun 11 21:30:00 1998 Michael Kircher * tests/POA/Forwarding/{client, server}.cpp: cleaned up the code. Thu Jun 11 21:15:00 1998 Michael Kircher * tao/Connect.cpp: Added send_error, which does proper system exception handling and marshalling. * tao/Connect.h: Added the request_id as parameter to handle_message and handle_locate * tao/GIOP.cpp: Changed the forwarding. A method named location_forward has been introduced. It changes the IIOP_Profile of the object reference in copying the IIOP_Profile from the object where the requests should go to, now. * tao/GIOP.h: Added the TAO_GIOP_Invocation::location_forward (CORBA::Environment &env); * tao/IIOP_ORB.cpp: The IIOP_Object pointer is now released in each case, not only in the error case. This was necessary, because the control was given to the caller and the ref_count was to high. * tao/IIOP_Object.cpp: Implemented the copy operator on IIOP_Profile, which is needed by the above mentioned location_forward method. * tao/IIOP_Object.h: Removed old forward profile things and changed the copy operator * tao/IIOP_Object.i: Removed old forward profile stuff. * tao/Server_Request.cpp: Changed the exception handling. We have now a special case of the forward_request exception. This exception contains an object reference to a object at the new location. * tao/Server_Request.h: Added "CORBA::ULong request_id (void)" to query the request_id and added a member "CORBA::Object_var forward_location_". * tao/Server_Request.i: added ACE_INLINE CORBA::ULong IIOP_ServerRequest::request_id (void) * docs/releasenotes/index.html: Added a reference to location forwarding. * docs/forwarding.html: Documentation about location forwarding. Thu Jun 11 21:09:30 1998 David L. Levine * tests/Quoter/Quoter_Impl.cpp (Quoter_Factory_Impl ctor): dereference quoter_ior in ACE_DEBUG statement. Thu Jun 11 18:22:50 1998 Irfan Pyarali * tao/ORB_Core.cpp: Added template instantiations for Write_Guard and Read_Guard. Thu Jun 11 16:45:11 1998 Aniruddha Gokhale * TAO_IDL/be/be_array.cpp: (gen_encapsulation, gen_encap_len): Added code that generates the TypeCode and encapsulations for Arrays. be_array::gen_forany_{defn,impl}: Added a "nocopy ()" method that returns the "nocopy" flag. This is useful for the <<+ and >>= operators. Also, removed a lot of code that was commented out. * TAO_IDL/be_include/be_visitor_array.h TAO_IDL/be/be_visitor_array.cpp: These are newly added files. Added a bunch of visitors that generate code for Arrays. As of now only typedefined arrays have been handled. Work is still going on for anonymous arrays. * TAO_IDL/Makefile: Added be_visitor_array.cpp for compilation * TAO_IDL/be/be_interpretive.cpp: Added cases for the Array visitors. * TAO_IDL/be/{be_visitor_enum, be_visitor_exception, be_visitor_interface, be_visitor_sequence, be_visitor_structure, be_visitor_typedef, be_visitor_union}.cpp: Fixed an error in the generate code for the "non copying" and "copying" versions of the <<= operators. * TAO_IDL/be/be_visitor_interface.cpp: After discussions with Irfan, we now use POA_var as a data member inside the generated TIE classes. In addition, the code for the _default_POA, which previously was incorrect, is now fixed. * TAO_IDL/be/be_visitor_sequence.cpp: We now always create a name for the sequence node even when it is imported. The reason we have to do this is that an imported sequence node may very well be used in another IDL file. Thus, while code generation, if the name was not set, then it resulted in seg faults. Thanks to John Geiss" for reporting the problem. * TAO_IDL/be/be_visitor_typedef.cpp: For typedefs of a typedef to an array, we simply generate the typedefs for the _var, _out, _forany types. In addition, inline functions for the _alloc, _dup, _copy, and _free are generated. * orbsvcs/orbsvcs/Makefile: In the realclean target, added the *_T.* files that need to be cleaned. Thu Jun 11 15:32:02 1998 Sergio Flores * tests/Cubit/TAO/MT_Cubit/Makefile: * tests/Cubit/TAO/MT_Cubit/Task_Client.{h,cpp}: * tests/Cubit/TAO/MT_Cubit/Util_Thread.cpp: * tests/Cubit/TAO/MT_Cubit/client.cpp: * tests/Cubit/TAO/MT_Cubit/cubit_i.{h,cpp}: * tests/Cubit/TAO/MT_Cubit/server.{h,cpp}: Added the server utilization test. Use "-U" on both the client and the server. Thu Jun 11 15:26:36 1998 Nanbor Wang * tao/ORB_Core.{h,cpp} (inherit_from_parent_thread): This new method was added to TAO_ORB_Core to localize all inheriting operations needed when spawning new threads to handle incoming requests. * tao/Connect.cpp (svc): Changed to use inherit_from_parent_thread. Thu Jun 11 13:01:11 1998 Chris Gill * orbsvcs/orbsvcs/Sched/DynSched.cpp: Changed ACE_Thread_Mutex to ACE_SYNCH_MUTEX in template instantiation statements and pragmas Thu Jun 11 12:40:11 1998 Michael Kircher * tao/Exception.cpp: Method Release created an any, named free_it_all, which was responsible in old time to deep free memory. Now that that Any automatically encodes its content in a CDR stream this is no more the right thing to do. It actually can create a infinite loop, if an exception is thrown within the encoding code. So it has been replaced by a delete this command. Thu Jun 11 11:25:11 1998 Michael Kircher * orbsvcs/LifeCycle_Service/LifeCycle_Service.dsp: Added proper multithreaded support. * orbsvcs/orbsvcs.dsw: Added the LifeCycle_Service Thu Jun 11 09:39:11 1998 David L. Levine * orbsvcs/orbsvcs/Event/Event_Channel.cpp: changed the ACE_EC_Gateway template instantiations to TAO_EC_Gateway. * tests/Cubit/TAO/MT_Cubit/server.cpp (start_servants): changed types of local i, and global num_of_objs, to u_int to avoid signed/unsigned comparisons. Thu Jun 11 00:14:25 1998 Irfan Pyarali * tao/Connect.cpp (TAO_Server_Connection_Handler): Reordered base class / member initialization. Wed Jun 10 20:00:21 1998 Michael Kircher * tests/POA/Forwarding/*: enhanced the Forwarding test enormously. Wed Jun 10 19:00:21 1998 Carlos O'Ryan * tao/Sequence.cpp: Fixed small bug in octet sequence assignment operator. Wed Jun 10 16:09:49 1998 Irfan Pyarali * tao/ORB.cpp: fixed template instantiations: ACE_SYNCH_MUTEX instead of ACE_SYNCH_RW_MUTEX. * tao/POAS.h (POA_PortableServer): Added missing TAO_Exports. * tests/POA/DSI: New test directory to show DSI features in TAO. * tests/POA/TIE: New test directory to show TIE features in TAO. 1998-06-10 Torben Worm * orbsvcs/orbsvcs/Concurrency/CC_LockSet.{h,cpp} Added multiple possesion semantics. CC_Lock.{h,cpp} is not used anymore. Wed Jun 10 14:29:55 1998 Chris Gill * orbsvcs/orbsvcs/Sched/Config_Scheduler.{h,cpp}: Moved included header files from .cpp to .h to fix incomplete types error when compiling files that include the header file and are using the strategized scheduler implementation * orbsvcs/tests/EC_Multiple/Scheduler_Runtime1.h orbsvcs/tests/EC_Multiple/Scheduler_Runtime2.h: Fixed warning when compiling file that include these header files: set all Info_Type values to 0 (Operation). Values were 0-4, where the enum only goes 0-2 Wed Jun 10 13:03:03 1998 Irfan Pyarali * tests/POA/Explicit_Activation/server.cpp, tests/POA/Generic_Servant/client.cpp, tests/POA/NewPOA/NewPOA.cpp, and tests/POA/RootPOA/RootPOA.cpp: Use ACE_DEBUG instead of cout. * tao/Server_Request.cpp (dsi_marshal): Only marshal if the params are valid. * tao/ORB_Core.h: Changed the lock used by ACE_Cached_Connect_Strategy from a rw_mutex to a regular mutex. * tao/ORB.cpp: Changed CORBA::B_TRUE and CORBA::B_FALSE from enums to CORBA::Boolean. * tao/{Connect.cpp, ORB.cpp}: Fixed the template instantiations in lieu of the changes to Hash_Addr. * tao/Any.h: Added ACE_Export to nested structs. Wed Jun 10 10:28:31 1998 Carlos O'Ryan * orbsvcs/orbsvcs/Event/Event_Channel.h: * orbsvcs/orbsvcs/Event/Event_Channel.i: * orbsvcs/orbsvcs/Event/Event_Channel.cpp: Added support to automatically create the publication and subscription lists for the gateways. * orbsvcs/orbsvcs/RtecEventChannelAdmin.idl: Added fields to the QOS structures so gateways can be distinguished in the EC. Several field names were inconsistent (some had a trailing _ and others won't). * orbsvcs/orbsvcs/Event_Utilities.h: * orbsvcs/orbsvcs/Event_Utilities.i: Adapted to use the changes in the QOS structures. * orbsvcs/orbsvcs/Event/EC_Gateway.h: * orbsvcs/orbsvcs/Event/EC_Gateway.cpp: As part of the plan to support UDP and multicast gateways we have a base class to handle all the different configurations for a gateway. * orbsvcs/orbsvcs/Event/Local_ESTypes.h: Removed a lot of BOAImpl typesdefs, they were completely outdated and quite ugly. * orbsvcs/orbsvcs/Event/RT_Task.cpp: Added code to call ORB_init() no each thread, but it is commented out until we know what arguments to pass and how. * orbsvcs/orbsvcs/Scheduler_Factory.h: * orbsvcs/orbsvcs/Runtime_Scheduler.cpp: We cannot use enums in the POD_RTInfo because those are hard to generate correctly. * orbsvcs/tests/EC_Multiple/svc.conf: I'm starting to set a more realistic config for the Event Channel, but we still have a lot of work to do in this area. * orbsvcs/tests/EC_Multiple/EC_Multiple.h: * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: The test uses the automatic gateway connection now. * orbsvcs/tests/Simulator/Event_Supplier/Event_Sup.cpp: The ConsumerQOS and SupplierQOS structure have changed. * TAO_IDL/driver/drv_preproc.cpp: Fixed type in comment. Tue Jun 09 17:27:25 1998 Nanbor Wang * tao/Connect.{h,cpp} (activate): Added this method to Default_Server_Connection_Handler so we can prepare information for inheriting some objects/properties from the spawning thread. (svc): Inherit and setup some properties/objects from the parent thread. Currently, only root poa is inherited in spawned threads. I should probably add another method called inherit () to handle this. Anyhow, this solved the thread-per-connection problem. * tao/ORB_Core.cpp (add_to_collocation_table): Removed the explicit conversion from ACE_INET_Addr to ACE_Hash_Addr since Irfan fixed ACE_Hash_Addr::operator==. Tue Jun 09 16:18:54 1998 David L. Levine * Makefile: removed old release targets. They're no longer used, or maintained. Silenced the creation of INSTALL. Tue Jun 9 15:57:28 1998 Seth Benjamin Widoff * orbsvcs/orbsvcs/Trader: The Trading Service now uses ACE containers rather than stl containers. * orbsvcs/orbsvcs/Makefile: Since all stl containers in the Trading Service have been replaced with ACE analogues, I've updated the orbsvcs Makefile to eliminate the stl dependency. Tue Jun 09 15:41:53 1998 David L. Levine * TAO version 0.1.27 released. Tue Jun 9 15:14:09 1998 Aniruddha Gokhale * TAO_IDL/be/be_visitor_operation.cpp: There was an error in the generated code for the variable declaration of return types for type Anys in the skeletons. Fixed. Tue Jun 9 13:29:19 1998 Aniruddha Gokhale * TAO_IDL/be/be_visitor_typedef (be_visitor_typedef_ch::visit_predefined) We had forgottent to generate the typedef for the _var types for pseudo objects and Anys. Thanks to Seth Widoff for reporting this. Tue Jun 09 12:52:59 1998 Nanbor Wang * tao/ORB_Core.cpp (add_to_collocation_table): ACE_Hash_Addr must be created with recyclable flag set to 1 otherwise the Hash_Map_Manager can't find the object. Tue Jun 09 11:43:19 1998 David L. Levine * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp: added newline to shutdown message. 1998-06-09 Torben Worm * Updated orbsvcs/tests/Concurrency/CC_command.h Removed warnings generated by g++ Tue Jun 9 08:53:30 1998 Aniruddha Gokhale * TAO_IDL/be_include/be_codegen.h: Added two states (but no new visitors) for argument passing to the upcall for the collocated case. This was necessary since in this case, the argument is passed as it is. In the skeleton case, we may have _var variables, and hence we may have to pass the .in () or .inout () of those _var variables. * TAO_IDL/be/{be_visitor_enum, be_visitor_exception, be_visitor_interface, be_visitor_sequence, be_visitor_structure, be_visitor_typedef, be_visitor_union}.cpp: Once again, due to the compulsions of the MSVC++ compiler and the DLLs, we require the export/import macros for all the <<= and >>= operators so that they are visible outside. * TAO_IDL/be/be_visitor_args.cpp: TAO_IDL/be_include/be_visitor_args.cpp (be_visitor_upcall_ss): We were using _var variables to make sure that allocated memory was released after the marshaling is done and the skeleton has returned. However, for objrefs and strings, we ended up passing the .in () values of these _var parameters. The expected value was a pointer to the in () value. This is now corrected. Also dealt with the collocated case, where we simply pass the argument from the parameter list to the upcall as it is. Due to these two differences, we had to add a bunch of visit_* methods to the upcall_ss visitor. * TAO_IDL/be/be_visitor_operation.cpp: The same reasoning (case 1) given for be_visitor_args.cpp holds here too for the return value case. 1998-06-08 Torben Worm * Updated orbsvcs/tests/Concurrency/CC_command.cpp because of an error reported by g++ * Updated orbsvcs/tests/Concurrency/Makefile to reflect the changed stated below * Added the following files: orbsvcs/tests/Concurrency/CC_command.{h,cpp,y,l}: Command interpreter for the test language for the concurrency service. orbsvcs/tests/Concurrency/test.{basic,extended,e1,dinphil, phil[1-5]: Tests for the concurrency service. Updated: orbsvcs/tests/Concurrency/{README,CC_client} to be aware of the changes in CC_command. Mon Jun 08 09:41:52 1998 David L. Levine * tao/ORB_Core.cpp: added/fixed template instantiations. Sun Jun 7 17:54:31 1998 Nanbor Wang * docs/Options.html: Added options available for ORB, Resource_Factory, and Default_Server_Strategy_Factory. * tao/IIOP_ORB.{h,cpp}: Removed _register_collocation from IIOP_ORB and all usage of it. Also, when using a global collocation table, it gets the table from the resource factory. * tao/ORB.h: Remove pure virtual function _register_collocation. * tao/ORB.cpp: Register the ORB's listening endpoint to the global collocation table if we are using one. * ORB_Core.{h,i,cpp}: Added a new class TAO_COLTBL_Lock to choose the lock to use in global collocation table at run time. Added a command option in ORB_Core to disable collocation optimization and an option in Resource Factory to decide to use a global collocation table or not. (using_collocation): Get whether we want to use the collocation optimization. (add_to_collocation_table): Used to register a listening endpoint when an ORB gets initialized. (get_collocated_poa): This function look thru the collocation table and return the root poa associate with the ORB. (get_global_collocation_table): Return a pointer to the global collocation table if we choose to use one, otherwise, return 0. * tao/Server_Strategy_Factory.{h,cpp} (create_coltbl_lock): Added new method to allow not using a lock in the global collocation table. * tao/default_server.{h,cpp} (create_coltbl_lock): Added implementation of this method. Sat Jun 06 21:17:13 1998 Nanbor Wang * tests/Cubit/TAO/MT_Cubit/{server,client}.dsp: Both projects now require to link against orbsvcs.lib. Sat Jun 6 20:32:26 1998 Douglas C. Schmidt * tests/OctetSeq/OctetSeq.cpp: Changed Test::_tc_CharSeq_seq and Test::_tc_OctetSeq_seq to Test::_tc_CharSeq and Test::_tc_OctetSeq. Thanks to David Levine for spotting this. Sat Jun 6 Alexander Babu Arulanthu * docs/orbsvcs.html: Changed the test directory from CosPropertyService to Property. Sat Jun 6 Alexander Babu Arulanthu * Moved $TAO_ROOT/orbsvcs/tests/CosPropertyService to $TAO_ROOT/orbsvcs/tests/Property. Sat Jun 6 18:55:51 1998 Sergio Flores * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp: * tests/Cubit/TAO/MT_Cubit/Task_Client.h: * tests/Cubit/TAO/MT_Cubit/client.cpp: * tests/Cubit/TAO/MT_Cubit/cubit.idl: * tests/Cubit/TAO/MT_Cubit/cubit_i.cpp: * tests/Cubit/TAO/MT_Cubit/cubit_i.h: * tests/Cubit/TAO/MT_Cubit/server.cpp: * tests/Cubit/TAO/MT_Cubit/server.h: Changed the code to use the same priority for all low priority clients. Deleted unnecessary code that implemented a cubit factory, we now will use the file to store/retrieve the iors. Fixed a bug having to with unsupported fields in the rusage structure for NT. Sat Jun 6 17:35:59 1998 Douglas C. Schmidt * TAO_IDL/be/be_visitor_interface.cpp: Added CORBA::Environment &env to the _default_POA() tie method. Thanks to David Levine for reporting this. * orbsvcs/orbsvcs/Log/Logger_i.cpp: Added a simple-minded implementation of the log() method. This can certainly be improved... Fri Jun 5 16:02:54 1998 Carlos O'Ryan * tao/CDR.h: * tao/CDR.i: * tao/CDR.cpp: The output CDR class uses the Data_Block directly to minimize memory allocation. This has taken the count of memory allocations to 4 on the client side and 4 on the server side. * tao/GIOP.cpp: OutputCDR::stream() now returns a const message block. * tests/Param_Test/client.cpp: * tests/Param_Test/driver.h: * tests/Param_Test/driver.cpp: * tests/Param_Test/options.h: * tests/Param_Test/options.cpp: * tests/Param_Test/param_test.idl: * tests/Param_Test/param_test_i.h: * tests/Param_Test/param_test_i.cpp: It is now possible to shutdown the server using a method, this is useful to test memory leaks because the client can request a clean shutdown (using the option -x). * TAO_IDL/be/be_visitor_operation.cpp: For some types the return values were not deleted at the end of the upcall. I'm using T_var classes to automatically release the memory. Fri Jun 5 12:22:44 1998 Darrell Brunsch * tao/debug.{h,cpp}: Added TAO_orbdebug flag so TAO code does not check the flag in Service Configurator anymore. That way, it should still work when there isn't a Service Configurator. * tao/Connect.cpp: Made the switch to TAO_orbdebug. * tao/ORB_Core.cpp: First, since the semantics of the -d flag in the Service Configurator now means to suppress debug messages, it is now passed in by default unless -ORBdebug was specified. Also sets TAO_orbdebug when -ORBdebug is specified. Thu Jun 04 05:05:39 1998 Douglas C. Schmidt * TAO version 0.1.26 released. Thu Jun 04 03:45:12 1998 Nanbor Wang * TAO_IDL/be/be_visitor_interface.cpp (be_visitor_interface_sh::visit_interface): Don't change the output stream until the template declaration part is complete. This delayed redirection of output writes the generated template classes into regular *S.h file and get them enclosed by appropriate namespace there. Perhaps we can put them in the *S_T.h files, but that won't make platforms which don't have namespace support happy. * TAO_IDL/be/be_visitor_module.cpp (be_visitor_module_sh::visit_module): Changed to use TAO_NAMESPACE as server side's module namescope. Wed Jun 3 17:50:09 1998 Aniruddha Gokhale Irfan Pyarali discussed the need to generate *_T.{h, i, cpp} files that hold the generated code for the TIE classes. The *_T.h file uses the ACE_TEMPLATES_REQUIRE_SOURCE and ACE_TEMPLATES_REQUIRE_PRAGMA macros to conditionally include the *_T.cpp files. The following changes were necessary to suport these features. * TAO_IDL/be_include/be_codegen.h TAO_IDL/be/be_codegen.cpp: Added more methods and data mebers for the server-side template files that have the code for the TIE classes. The added methods are: start_server_template_header, start_server_template_inline, start_server_template_skeletons, end_server_template_header, and end_server_template_skeletons. The corresponding data members were added. * TAO_IDL/be_include/be_helper.h: Added 3 new enumerations for the three newly introduced streams that will hold code for the TIE classes. * TAO_IDL/be_visitor_interface.cpp: We now initialize the visitor context of the TIE visitors with the appropriate *_T.{h, i} files. * TAO_IDL/be_visitor_root.cpp: Made calls to initialize and close the newly added streams that hold the code for the TIE classes. * TAO_IDL/include/idl_global.h: TAO_IDL/utils/utl_global.cpp: Added new methods that generate names for the newly introduced streams that hold the code for TIE classes. These methods are: be_get_server_template_fname, be_get_server_template_inline_fname, be_get_server_template_inline_skeleton_fname and their corresponding helper methods. Tue Jun 2 18:57:08 1998 Aniruddha Gokhale * TAO_IDL/be/{be_visitor_enum, be_visitor_exception, be_visitor_interface, be_visitor_sequence, be_visitor_structure, be_visitor_typedef, be_visitor_union}.cpp: Factored out some code that should have been placed inside the TypeCode visitors. * TAO_IDL/be/be_visitor_typecode.cpp: Added teh factored out code mentioned above. * TAO_IDL/be_include/be_codegen.h: Added a few more enumerations that deal with generation of the TIE classes and code for interfaces, operations and attributes. * TAO_IDL/be/be_visitor_attribute.cpp: Added cases to deal with attribute mapping inside a TIE class. * TAO_IDL/be_include/be_visitor_interface.h TAO_IDL/be/be_visitor_interface.cpp: Added 2 new visitors for generation of the TIE class and its code in the server header and server inline file. * TAO_IDL/be_include/be_visitor_operation.h TAO_IDL/be/be_visitor_operation.cpp: Added 2 new visitors for generation of the operations and its code inside the TIE class in the server header and server inline file. * TAO_IDL/be/be_interpretive.cpp: Added cases for the TIE visitors for interfaces, operations and attributes. * docs/releasenotes.index.html: Updated to indicate support for TIEs. Tue Jun 02 08:35:58 1998 David L. Levine * tests/Cubit/TAO/MT_Cubit/server.cpp: added cast to avoid signed/unsigned comparison. * tests/Cubit/TAO/MT_Cubit/server.cpp: added cast to avoid signed/unsigned comparison. Reordered initializers to match declaration order. Tue Jun 02 08:29:20 1998 David L. Levine * orbsvcs/Event_Service/Makefile,orbsvcs/tests/EC_Multiple/Makefile, orbsvcs/tests/Event_Latency/Makefile,tao/Makefile: moved probe=1 support from individual Makefiles to wrapper_macros.GNU. Mo Jun 1 21:36:00 1998 Michael Kircher * tests/Quoter: Several files had to be modified in order to use the LifeCycle Service now as a separate object as part of the orbsvcs. * orbsvcs/LifeCycle_Service: Did some more customizations. Mon Jun 1 15:48:28 1998 Aniruddha Gokhale * tao/orbconf.h: Modified the TAO_NAMESPACE related macros. Added some more to deal with the nested namespaces that can occur due to nested modules. * TAO_IDL/be_include/be_visitor_typecode.h TAO_IDL/be/be_visitor_typecode.cpp: Added two new files that define a new visitor which will generate code for different types. The TypeCode generation now uses the different NAMESPACE related macros described above. * TAO_IDL/be_include/be_codegen.h: Added two new enumerations for the TypeCode generating visitors. * TAO_IDL/be/{be_visitor_enum, be_visitor_exception, be_visitor_interface, be_visitor_sequence, be_visitor_structure, be_visitor_typedef, be_visitor_union}.cpp: Used the new TypeCode visitors. One advantage of using these is that all code gets factored into a visitor. At the same time, we can conditionally opt not to generate the TypeCodes. This may be desired for compiled marshaling. In be_visitor_sequence.cpp, we do not generate the typecode if the sequences was typedefed. * TAO_IDL/be_include/be_visitor_constant.h TAO_IDL/be/be_visitor_constant.cpp: Added similar logic to the TypeCode generation when constants are defined insided modules that get mapped to namespaces. * TAO_IDL/be/be_interpretive.cpp: Added cases to deal with the two new TypeCode generating visitors. * TAO_IDL/fe/{idl.yy, y.tab.cpp}: Removed some incorrect code in the action part of the idl.yy file. * TAO_IDL/Makefile: Reran make depend. Mo Jun 1 14:37:00 1998 Chris Gill * orbsvcs/orbsvcs/RtecScheduler.idl orbsvcs/orbsvcs/Runtime_Scheduler.{cpp, h} orbsvcs/orbsvcs/Scheduler_Factory.{cpp, h} orbsvcs/orbsvcs/Event/Dispatching_Modules.{cpp, h, i} orbsvcs/orbsvcs/Event/Event_Channel.cpp orbsvcs/orbsvcs/Event/RT_Task.cpp orbsvcs/orbsvcs/Sched/Config_Scheduler.{cpp, h} orbsvcs/orbsvcs/Sched/DynSched.{cpp, h} orbsvcs/orbsvcs/Sched/SchedEntry.h orbsvcs/orbsvcs/Sched/Scheduler.{cpp, h} Removed Dynamic Subpriority from RtecScheduler IDL interface: both static and dynamic subpriorities now map into a single preemption subpriority value * orbsvcs/tests/Sched_Conf/Sched_Conf.cpp orbsvcs/tests/Sched_Conf/Sched_Conf.{dsp, dsw} orbsvcs/tests/Sched_Conf/Makefile Added a "test" program that simulates a configuration run and generates a runtime scheduler header: to use the strategized scheduler for static RMS scheduling, put the following at the beginning of ace/config.h: #define TAO_USES_STRATEGY_SCHEDULER #define TAO_USES_RMS_SCHEDULING #define TAO_MIN_CRITICAL_PRIORITY 3 Mo Jun 1 10:16:00 1998 Michael Kircher * docs/orbsvcs.html: Added the LifeCycle Service to the list of services. * docs/releasenotes/index.html: Added new information about DOVE to the file. Mo Jun 1 10:16:00 1998 Michael Kircher * orbsvcs/LifeCycle_Service: Created the LifeCycle Service. * orbsvcs/Makefile: Added the LifeCycle Service to the list of directories. * orbsvcs/orbsvcs/Makefile: Added the LifeCycleService* files. * orbsvcs/orbsvcs/LifeCycleService.idl: Created an IDL file describing the interface of the LifeCycle Service. Fri May 29 17:58:16 1998 Douglas C. Schmidt * TAO version 0.1.25 released. Fri May 29 16:03:00 1998 Nagarajan Surendran * tests/Cubit/TAO/IDL_Cubit/IDL_Cubit_Test.cpp: Removed the terminate calls by adding -x option to the client so that it shuts down the server. Fri May 29 13:00:35 1998 Michael Kircher * tests/Quoter/Factory_Trader.cpp: CosTradingC.h is only parsed when the trading service is available. Fri May 29 11:02:35 1998 Aniruddha Gokhale * tao/orbconf.h: Removed an unnecessary OR condition for the TAO_NAMESPACE macro. Fri May 29 09:15:49 1998 Douglas C. Schmidt * tao/ORB_Core.cpp (init): Added code to pass svcconf directives to the Service Configurator. Thanks to Mark Boriack for contributing this. * tao/ORB_Core.cpp (init): Make sure that we dynamically string_dup() ALL the argv/argc arguments, not just some of them, so that we can correctly clean stuff up when we're done. Thu May 28 14:32:07 1998 Aniruddha Gokhale * tao/Server_Request.cpp:(demarshal, marshal): more optimizations to get rid of the NVList and other DSI-centric logic in the handling of static skeletons generated by the IDL compiler. These optimizations are the result of my discussions with Irfan Pyarali. Thu May 28 11:37:35 1998 Aniruddha Gokhale * tao/orbconf.h: Removed the TAO_NAMESPACE_STORAGE_CLASS macro. * tao/CurrentS.cpp: In the initialization of the constructor, we were calling the default ctor of the base class. However, we now call the other ctor that takes the stub object and servant as arguments. * tao/{encode, decode}.cpp: In Struct::{encode, decode}, I had made an erroneous change a few days back where I was passing the address of a pointer. This was for the Objref and Typecode cases. Carlos pointed this out. Seth was getting lots of errors due to this. This has been fixed. * TAO_IDL/be/{be_visitor_enum, be_visitor_exception, be_visitor_interface, be_visitor_sequence, be_visitor_structure, be_visitor_typedef, be_visitor_union}.cpp: Reverted my previous change where I generated the TAO_NAMSPACE_STORAGE_CLASS macro if the data type was nested. We no more generate this macro and this macro has been removed from orbconf.h as explained above. Thu May 28 00:08:19 1998 Irfan Pyarali * tao/orbconf.h (TAO_NAMESPACE_STORAGE_CLASS): Changed it from extern to static. * orbsvcs/orbsvcs/Naming/Entries.h: Removed the default for the binding type in the constructor of NS_IntId. It was breaking VC5.0 if CosNaming was a namespace. * orbsvcs/orbsvcs/Naming/CosNaming_i.cpp (rebind): Added CosNaming::nobject as the binding type to NS_IntId instances since the default was removed in the constructor. Wed May 27 17:56:07 1998 Nanbor Wang * TAO_IDL/be/be_visitor_module.cpp (visit_module): Supress generation of NT export specifier after TAO_NAMESPACE. * tao/CurrentS.cpp (_tao_collocated_Current): Changed "ACE_NESTED_CLASS (CORBA,Current)" to "CORBA_Current". * tao/POAS.cpp (_tao_collocated_Current): Changed "POA_CORBA::_tao_collocated_Current" to ACE_NESTED_CLASS (POA_CORBA,_tao_collocated_Current). * tao/POA_CORBA.h (_tao_collocated_Current): Changed its base class to CORBA_Current. Wed May 27 16:08:10 1998 Aniruddha Gokhale * TAO_IDL/be/{be_visitor_enum, be_visitor_exception, be_visitor_interface, be_visitor_sequence, be_visitor_structure, be_visitor_typedef, be_visitor_union}.cpp: The typecode declarations generated in the header file for user-defined IDL types used to be "static" if the data type was enclosed inside a module. However, for platforms that support "namespaces", this should be extern. Hence we generate a macro called "TAO_NAMESPACE_STORAGE_CLASS" defined in tao/orbconf.h * orbsvcs/orbsvcs/Makefile: Ran make depend since some files in TAO/tao were removed. * tao/PolicyS.{h, i}: Removed from the CVS repository * tao/CurrentC.{h, i, cpp} tao/CurrentS.cpp: Added to the repository. This defined the interface Current in the CORBA namespace. *NOTE* these are newly added files. * tao/ORB.h: Moved Declarations for RepositoryID and Identifier from the POA namespace to the CORBA namespace. Also added some more TypeCode declarations e.g., _tc_Current, _tc_Identifier, others. * tao/POAC.{h, i, cpp}: Removed everything related to CurrentBase. RepositoryID and Identifier are now in the CORBA namespace instead of the PortableServer namespace. * tao/POAS.{h, cpp}: PortableServer::Current now inherits from POA_CORBA::Current instead of PortableServer::CurrentBase. * tao/POA_CORBA.h: Merger of the PolicyS.h and CurrentS.h files. It defines the POA_CORBA namespace which is the C++ mapping for the CORBA module for the server-side. It defines the Policy and Current classes for the server-side. *NOTE* This is a newly introduced file. * tao/PolicyC.cpp: Moved the definition of the _tc_Policy typecode to the TypeCode constants file since this is owned by the ORB. * tao/Servant_Base.{h, cpp}: PortableServer::RepositoryId is now CORBA::RepositoryId. * tao/Typecode_Constants.cpp: Added new typecode definitions for all the newly introduced stuff as well as moved stuff such as Current, Policy, PolicyType, PolicyList, RepositoryId, and Identifier. * tao/orbconf.h: TAO_NAMESPACE macro is now "namespace" for platforms that supports it. Needs to be checked. * tao/Makefile: Did make depend. Wed May 27 12:53:01 1998 David L. Levine * orbsvcs/tests/EC_Multiple/Makefile: ran make depend to remove dependency on tao/Timeprobe.i. * orbsvcs/tests/Event_Latency/Event_Latency.cpp: added casts of ACE_hrtime_t to long now that ACE_hrtime_t is an __int64 on WIN32. Thanks to Irfan for reporting this. Tue May 26 22:25:23 1998 Nanbor Wang * tao/ORB.cpp (CORBA_ORB): Never assume a pointer will be initialized to null. Tue May 26 21:32:03 1998 Douglas C. Schmidt * tao/GIOP.cpp (recv_request): Changed CDR::grow() to take an ACE_Message_Block * rather than an ACE_Message_Block *& since we don't seem to change the message block pointer in the method. Thanks to Nanbor for reporting this. * orbsvcs/orbsvcs/Naming/CosNaming_i.cpp (new_context): Add a couple of calls to the new init() method in the appropriate places. * orbsvcs/orbsvcs/Naming/CosNaming_i: Changed the implementation so there's now an init() method that must be called before using the NamingContext. This is necessary to make sure we don't try to initialize the lock_ until the ORB has been initialized. * orbsvcs/orbsvcs/Naming/Naming_Utils.cpp: Changed the implementation to call init() on the NamingContext implementation. Tue May 26 20:22:12 1998 Carlos O'Ryan * tao/CDR.h: * tao/CDR.i: * tao/CDR.cpp: * tao/GIOP.cpp: I was able to remove a memory allocation on the client side by playing some tricks with the underlying Data_Block. * tests/CDR/basic_types.cpp: The ORB was destroyed before the test was run, hence all the Typecodes were invalid. * tests/Param_Test/tests.cpp: Disabled several DII tests because they will not compile. Tue May 26 18:39:11 1998 Carlos O'Ryan * tao/ORB.h: * tao/ORB.cpp: * tao/Server_Strategy_Factory.h: * tao/Server_Strategy_Factory.cpp: * tao/default_server.h: * tao/default_server.cpp: Added options to control the kind of locking in the ORB event loop (i.e. ORB::run), by default it acquires no locks. * tao/Object.h: * tao/Object.i: All the objects in the ORB that are reference counted do *not* have locks to protect the count. Tue May 26 16:24:41 1998 Carlos O'Ryan * tao/Server_Request.h: * tao/Server_Request.cpp: The Server Request does not need to copy the operation name from the CDR stream. In TAO there is no translation for strings and the underlying stream survives during all the invocation. Fortunately the strings in CDR are zero terminated. Tue May 26 12:40:30 1998 Douglas C. Schmidt * tao/ORB.cpp: We seem to have an extra comma here... Tue May 26 10:32:12 1998 Nanbor Wang * TAO_IDL/tao_idl.dsp: Updated project files per Andy's changes. Tue May 26 10:03:51 1998 David L. Levine * tests/NestedUpcall/server.cpp (init_naming_service): dereferenced the parameters to init () call. * tests/NestedUpcall/client.{h,cpp}: moved template instantiations from .h file to .cpp file. Removed unused instantiations. * tests/NestedUpcall/NestedUpCalls_Test.cpp,NestedUpCalls_i.h, client.{h,cpp},eh_i.{h,cpp},reactor_i.{h,cpp},server.h: removed trailing ^M's from all lines. Tue May 26 09:51:20 1998 Aniruddha Gokhale This ChangeLog entry describes massive cleaning efforts to remove all unwanted code as well as some more additions and modifications to the TAO IDL compiler. * TAO_IDL/Makefile: Removed compilation of all the be_state* files. * TAO_IDL/be_include/be_decl.h TAO_IDL/be/be_decl.cpp: Removed the gen_client_header, gen_client_inline, gen_client_stubs, gen_server_header, gen_server_inline, gen_server_skeleton methods. * TAO_IDL/be_include/ be_argument.h be_array.h be_attribute.h be_constant.h be_enum.h be_enum_val.h be_exception.h be_field.h be_interface.h be_interface_fwd.h be_module.h be_native.h be_operation.h be_predefined_type.h be_root.h be_scope.h be_sequence.h be_string.h be_structure.h be_typedef.h be_union.h be_union_branch.h AND TAO_IDL/be/ be_argument.cpp be_array.cpp be_attribute.cpp be_constant.cpp be_enum.cpp be_enum_val.cpp be_exception.cpp be_field.cpp be_interface.cpp be_interface_fwd.cpp be_module.cpp be_native.cpp be_operation.cpp be_predefined_type.cpp be_root.cpp be_scope.cpp be_sequence.cpp be_string.cpp be_structure.cpp be_typedef.cpp be_union.cpp be_union_branch.cpp Removed the gen_client_header, gen_client_inline, gen_client_stubs, gen_server_header, gen_server_inline, gen_server_skeleton methods. * TAO_IDL/be_include/be_codegen.h TAO_IDL/be/be_codegen.cpp: Added a bunch of enumerations for code generation of the Any <<= and >>= operators for all the IDL types Removed a bunch of methods and data members that were used for the state based approach. * TAO_IDL/be_interpretive.cpp: Added cases for the newly introduced enumerations for the <<= and >>= operators. * TAO_IDL/be_produce.cpp: added more documentation. * TAO_IDL/be_include/ AND TAO_IDL/be {be_visitor_enum, be_visitor_exception, be_visitor_interface, be_visitor_module, be_visitor_root, be_visitor_sequence, be_visitor_structure, be_visitor_typedef, be_visitor_union}.{h, cpp}: Added visitors to each class called be_visitor_*_any_op_{ch,cs} to each file. These generate the <<= and >>= operators for all the types. * TAO_IDL/be_visitor_scope.cpp: Added a check to see if a node in the scope is NUL or not. * TAO_IDL/be_include/be_state.h AND TAO_IDL/be/ {be_state, be_state_argument, be_state_array, be_state_attribute, be_state_exception, be_state_exception, be_state_operation, be_state_sequence, be_state_structure, be_state_typedef, be_state_union}.cpp: All these files are no longer needed. Tue May 26 09:40:42 1998 Carlos O'Ryan * tests/Makefile: NestedUpcall was not on the list. * tests/NestedUpcall/Makefile: Added a .PRECIOUS directive. * tests/NestedUpcall/Reactor.idl: The file was full of ^M (i.e. it was using DOS end-of-line) characters; that was confusing the IDL compiler. * TAO_IDL/be/be_visitor_args.cpp: The code generation for strings and anys as out parameters was broken. Tue May 26 01:46:23 1998 Irfan Pyarali * tao/Timeprobe.h: Broke up this file in small pieces. The time probe map is now split over many files, reducing the dependencies. Mon May 25 18:42:25 1998 Nagarajan Surendran * tests/Cubit/TAO/IDL_Cubit/IDL_Cubit_Test.cpp: added -ORBobjrefstyle url and -ORBport 0 to both the client and server arguments. Mon May 25 15:54:01 1998 Carlos O'Ryan * tao/Timeprobe.h: Protected the file against multiple inclusion. * tao/Makefile: * tao/orbsvcs/orbsvcs/Makefile: Updated dependencies. Sat Apr 18 01:27:52 1998 Irfan Pyarali * tao/Timeprobe.h: Added more timeprobes to POA, ORB, and GIOP. * TAO: Change the use of time probes. The new ACE scheme is now used. Mon May 25 11:58:35 1998 Carlos O'Ryan * tests/Quoter/client.cpp: * tests/Quoter/Factory_Finder.cpp: * tests/Quoter/Generic_Factory.cpp: * tests/Quoter/Life_Cycle_Service.cpp: Added several .in() calls to disambiguate things, otherwise g++ gets really confused. Mon May 25 10:04:52 1998 Carlos O'Ryan * tao/GIOP.cpp: Removed some superflous memory allocations and copys. * tao/CDR.cpp: write_octet_array_mb() was returning -1, but it should return a CORBA_Boolean, thanks to David Levine (levine@cs.wust.edu) for detecting this one. Mon May 25 09:55:36 1998 David L. Levine * ace/Sequence.cpp (TAO_Unbounded_Sequence ctor): initialize base class before data members. Sun May 24 22:04:34 1998 Carlos O'Ryan * TAO_IDL/be/be_visitor_args.cpp: Fixed some mistakes in previous change. Sat May 23 21:50:00 1998 Carlos O'Ryan * tao/CDR.h: * tao/CDR.i: * tao/CDR.cpp: The no copy marshalling of octet sequences can only be applied if the octet sequence owns its memory through a message block. * tao/Connect.cpp: The input stream is allocated from the heap to permit the no copy optimizations to work. * tao/GIOP.cpp: Fixed some unitialized memory read problems. * tao/Request.cpp: The result was not released. * tao/Sequence.h: * tao/Sequence.cpp: Added constructor based on a Message_Block. Fixed memory deallocation in _allocate_buffer() for octet sequences. * tao/Typecode.cpp: The buffer was not released every time. * TAO_IDL/be/be_visitor_args.cpp: The return value must be allocated by the upcall and is held in a _var variable to guarantee automatic release. * tests/Cubit/TAO/IDL_Cubit/client.cpp: The result is released by the request, no need to release it in the invocation. * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp: Initialize the octet sequence using a Message Block to exploit the no copy marshalling. * tao/Any.cpp: The cdr buffer must be released always. Fri May 22 16:39:14 1998 Nanbor Wang * orbsvcs/orbsvcs/Naming/CosNaming_i.cpp (NS_NamingContext): Use the lock returned by server_factory ()-> create_servant_lock () instead of hacking its own. * tao/default_server.cpp (create_servant_lock): Changed to use ACE_Recursive_Thread_Mutex to avoid further trouble. Fri May 22 12:29:28 1998 Irfan Pyarali * tao/Connect.cpp (handle_message): Simplified code in this file. * tao/GIOP.cpp (writev_n): Changed TAO to use the new ACE_IO_Vector class. * poaC.* (PortableServer): Updated the old exceptions in the POA generated code. * tao/Server_Request.h (IIOP_ServerRequest): Merged the ServerRequest and the GIOP_RequestHeader class into one class. When these classes were separate, there were too many questions about ownership of memory. The separation also caused extra memory allocations and tight coupling between the two classes. Fri May 22 10:24:48 1998 David L. Levine * tests/Quoter/Factory_Finder.cpp,Generic_Factory.cpp, Life_Cycle_Service.cpp,Quoter_Impl.cpp: added explicit int return value to function definition. * tests/Quoter/Criteria_Evaluator.cpp (getInitialization): initialized sequence_ptr to 0 to avoid warning about use of uninitialized variable. It looks like the implementation is incomplete, though. Fri May 22 10:15:30 1998 Carlos O'Ryan * tao/ORB_Core.cpp: The -ORBCDRtradeoff option had no effect, thanks to David Levine (levine@cs.wust.edu) for catching that one. 1998-05-22 Torben Worm * orbsvcs/orbsvcs/Concurrency/CC_LockSet.cpp Removed unreached statement Fri May 22 07:34:35 1998 David L. Levine * TAO version 0.1.24 released. Thu May 21 21:59:19 1998 David L. Levine * TAO version 0.1.23 released. Thu May 21 17:28:55 1998 David L. Levine * tao/GIOP.cpp (writev_n): added static cast of iov_len to ssize_t to avoid signed/unsigned comparison. * tests/OctetSeq/OctetSeq.cpp (main): changed type of loop index to u_int to avoid signed/unsigned comparison. Thu May 21 12:16:34 1998 Carlos O'Ryan * tests/Cubit/TAO/MT_Cubit/Makefile: orbsvcs should go before TAO in the link line. * tests/Quoter/Makefile: Pass a -I flag to the IDL compiler so it can find the CosLifeCycle.idl file. * tests/POA/Default_Servant/Makefile: * tests/POA/Generic_Servant/Makefile: Added dependencies. * tests/OctetSeq/Makefile: Updated dependencies. * tests/OctetSeq/OctetSeq.cpp: Removed yet another signed/unsigned comparison. Also was doing the wrong kind of cast. * tao/GIOP.cpp: Fixed pointer airthmetic, it was done using "void*" instead of "char*". * tao/CDR.cpp: Fixed problems in error detection for OutputCDR::adjust. Wed May 20 21:25:33 1998 David L. Levine * tao/CDR.cpp: Changed a few locals from int to size_t to avoid signed/unsigned comparison. Added const to a char * reinterpret cast. Wrapped and unreachable return with ACE_NOTREACHED. * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp: started migration to ACE_Stats. Wed May 20 16:44:29 1998 Nanbor Wang * tao/tests/NestedUpcall/{server,client}.dsp: Updated settings. Wed May 20 12:54:40 1998 Irfan Pyarali * tao/POA: Added the following optimizations to the POA: - Use the new ACE_CString to make sure that no malloc/strcpy are done while the IOR is being parsed. This optimization is valid irrespective of how deep/long the POA name is. - The class that holds the ObjectId in the IOR is now allocated off the stack instead of coming from the heap. - Timestamping and checking for persistent/transient Ids in the POA can be disabled by using POA_NO_TIMESTAMP flag in the TAO config file. * tao/ORB_Core.cpp (create_and_set_root_poa): Renamed the RootPOA from "RootPOA" to "" (the empty string). Wed May 20 12:10:12 1998 Carlos O'Ryan * tao/CDR.h: * tao/CDR.i: * tao/CDR.cpp: OutputCDR buffers grow by appending a message blocks using the cont() field. * tao/GIOP.cpp: When sending an OutputCDR use writev to send the message block chain. * tao/decode.cpp: Added support for no copy marshalling of octet sequences. * tao/decode.cpp: * tao/encode.cpp: Reverted part of a change by Andy because it simply breaks tons of code. The change in question was passing the address of a pointer to a string (or wstring) to the marshlling/dermarshalling interpreter, but only when the string was a field of a structure. * tao/orbconf.h: * tao/params.h: * tao/params.i: * tao/params.cpp: * tao/ORB_Core.cpp: * docs/Options.html: Added options to control the tradeoff between copy vs. no copy marshalling of octet sequences. If the octet sequence is "small enough" and the current CDR buffer contains enough space the octet sequence is copied instead of chained with the buffer. * tao/Typecode.cpp: More fixes to avoid crashes at shutdown. * tao/Any.cpp: The start() method was changed to begin() it looks more STL like. Also removed a bunch of casts that are no longer needed. * tao/Align.h: Corrected a typo in a comment. * orbsvcs/tests/EC_Multiple/EC_Multiple.h: Reduce the maximum number of suppliers, consumers and messages, otherwise we exceed the maximum stack size on NT. * orbsvcs/Event_Service/Event_Service.cpp: Fixed error message. * tests/CDR/CDR.dsw: * tests/CDR/growth.dsw: * tests/CDR/growth.dsp: Added growth to the project file. * tests/CDR/growth.cpp: Workaound MSVC++ bug wrt conversions from UINT64 to double. * tests/Cubit/TAO/IDL_Cubit/client.cpp: Use larger sequences. * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp: Fixed ambiguous use of [] operator. * tests/Cubit/TAO/IDL_Cubit/client.dsp: * tests/Cubit/TAO/IDL_Cubit/server.dsp: For Win32 Debug we use aced.lib. * tests/Cubit/TAO/MT_Cubit/server.dsp: Added orbsvcs.lib to the library list. The client will not compile due to unportable use of getrusage. * tests/OctetSeq/OctetSeq.dsw: * tests/OctetSeq/OctetSeq.dsp: Added a project file for this test. * tests/OctetSeq/OctetSeq.cpp: Fixed several portability problems. The OutputCDR is not preallocated. * tests/Param_Test/tests.cpp: Fixed bug in bounded string sequence test. 1998-05-20 Torben Worm * orbsvcs/tests/Concurrency/CC_client.cpp Fixed errors causing compilation problems on VxWorks. Wed May 20 08:40:51 1998 David L. Levine * orbsvcs/orbsvcs/Propery/CosPropertyService_i.cpp: fixed instantiation #pragmas. * orbsvcs/orbsvcs/Naming/Naming_Service.cpp (parse_args): removed break; following an ACE_ERROR_RETURN, to avoid compile warning. * tao/POAC.cpp: initialized some retvals, of enum types, to -1 to avoid GHS compile warnings. The warnings were all in exception handling blocks, so performance isn't an issue here. * tests/Cubit/TAO/IDL_Cubit/README: added instructions on how to build the client without the ACE and TAO libraries for VxWorks. Thanks to Umar Syyid for asking about this. Tue May 19 12:19:42 1998 Carlos O'Ryan * tao/Typecode.cpp: Fixed crash at shutdown, TypeCode is a reference counted type, but in some points they were removed by a simple "delete". Mon May 18 16:46:46 1998 Irfan Pyarali * tao/POA.cpp (parse_key): Changed the processing of IORs so that POA names are not copied. Only a pointer is kept to the correct place in the IOR. Mon May 18 12:34:57 1998 Darrell Brunsch * tao/Connect.cpp: Debug messages now check Service_Configurator::debug() to see if -ORBdebug is specified. Mon May 18 09:00:00 1998 Chris Gill * orbsvcs/orbsvcs/Sched/Config_Scheduler.h: added forward declarations of scheduling strategy and dynamic scheduler classes * orbsvcs/Scheduling_Service/Scheduling_Service.cpp: added conditional inclusion of strategy scheduler header file. Sat May 16 13:56:01 1998 David L. Levine * orbsvcs/orbsvcs/Channel_Clients_T.h (ACE_Push{Consumer,Supplier}_Adapter); added (private) declarations of copy constructors. g++ 2.7.2.3/Solaris needs them, to avoid missing definitions of the copy constructors when linking with orbsvcs/EC_Gateway.cpp. * orbsvcs/orbsvcs/tmplinst-orbsvcs.cpp: added TAO_Object_Manager instantiations. g++/LynxOS 2.5.0 needs them. * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp (print_priority_info): replaced Solaris priocntl () system calls with a call to ACE_OS::lwp_getparams (). This allowed removal of #includes of the priocntl headers, which were causing warnings with g++ because _REENTRANT was #defined after they were #included. * orbsvcs/orbsvcs/Propery/CosPropertyService_i.cpp: fixed instantiation #pragmas. 1998-05-15 Alexander Babu Arulanthu * orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp (delete_all_properties): Removed the warnings by having _out variables instead of having _var variables. 1998-05-15 Torben Worm * orbsvcs/orbscvs/Concurrency/CC_Lock: Added some debugging statements * orbsvcs/tests/Concurrency/CC_client.cpp orbsvcs/tests/Concurrency/CC_client.h orbsvcs/tests/Concurrency/CC_naming_service.cpp orbsvcs/tests/Concurrency/CC_naming_service.h orbsvcs/tests/Concurrency/CC_tests.cpp orbsvcs/tests/Concurrency/CC_tests.h: Added more tests and diagnostics Fri May 15 11:12:26 1998 David L. Levine * orbsvcs/orbsvcs/Makefile: re-enabled EC_Gateway build. The problem appears to be only with g++. * orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp: added template instantiations. * orbsvcs/orbsvcs/Makefile: re-enabled CosPropertyService_i.cpp build. * Makefiles in orbsvcs and tests: removed DCFLAGS = -g. That should only be defined in the ACE platform_macros file. Fri May 15 10:42:22 1998 Carlos O'Ryan * tests/POA/Makefile: * tests/POA/Forwarding/Makefile: Removed the Forwarding test because it only compiles on NT. * tests/POA/Generic_Servant/Makefile: Removed outdated comment. Fri May 15 09:33:47 1998 David L. Levine * TAO version 0.1.22 released. Fri May 15 08:40:40 1998 David L. Levine * orbsvcs/orbsvcs/tmplinst-orbsvcs.cpp: added template instantiations. * orbsvcs/orbsvcs/Makefile: commented out Event/EC_Gateway and Property/CosPropertyService_i because they cause build failures. * Makefile: added .PHONY for phony targets. Fri May 15 00:25:29 1998 Douglas C. Schmidt * TAO version 0.1.21 released. Thu May 14 16:39:15 1998 Aniruddha Gokhale * tao/Server_Request.{h,cpp}: Added an extra environment parameter to the marshal method. This change was required since we wanted to keep the ORB related exceptions and the user supplied operation-raised exceptions to be separate. * tao/{POAS,PolicyS}.cpp: Made several changes to the IDL compiler-generated code that were necessary due to the changes made to the Server_Request's marshal interface explained above. * tao/{encode,decode}.cpp: Made a minor change by passing the address of the void pointer for the string and object cases. This needs to be thoroughly tested. * tao/orbconf.h: Added a conditional macro called TAO_NAMESPACE that generates either "namespace" or "struct". * TAO_IDL/be/be_visitor_module.cpp: The code for the module now uses the TAO_NAMESPACE macro. * TAO_IDL/be/be_visitor_constant.cpp: We were not checking of the constant was imported or not. In addition, inside the stub generation code, we were incorrectly checking if the header was generated or not. Thanks to Andrew Harbick for providing the bug report that led to this fix. * TAO_IDL/be/be_visitor_operation.cpp: Modifications that were necessary due to the changes in the Server_Request class and our policy of distinguishing between ORB raised and user-raised exceptions. * TAO_IDL/be/be_visitor_interface.cpp: Similar changes as in be_visitor_operation.cpp for the _is_a_skel skeletons. Thu May 14 15:20:28 1998 David L. Levine * tests/Quoter/Makefile: moved TAO_ROOT definition outside of "ifdef trader" block. Thu May 14 14:34:40 1998 Michael Kircher * orbsvcs/orbsvcs/Makefile: CosLifeCycle is now compiled by default. Thu May 14 14:10:40 1998 Michael Kircher * tests/Quoter/{Factory_Trader.cpp, Factory_Trader.h Makefile, run_test.sh}: Factored out the code depending on the Trading Service. The standard compilation does now not use the Trading Service. The Makefile has to be called using the "trader=1" option to activate compilation of the parts using the Trading Service. "run_test.sh" will not use by default the creation service "lifecycle service object", instead it will ask the Generic Factory directly Thu May 14 14:10:26 1998 Carlos O'Ryan * tests/Param_Test/tests.cpp: * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: Added the right .in() or .out() calls for some T_var types passed to functions expecting a T_ptr or T_out parameter. Thu May 14 13:14:40 1998 Carlos O'Ryan * tests/Cubit/TAO/IDL_Cubit/cubit.idl: * tests/Cubit/TAO/IDL_Cubit/client.h: * tests/Cubit/TAO/IDL_Cubit/client.cpp: * tests/Cubit/TAO/IDL_Cubit/cubit_i.h: * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp: Added a simple test for octet sequences, it tries to compare the end-to-end cost of a normal sequence (longs) vs an octet sequence; it compares the cost for a small sequence vs a small sequence and then repeats the test for a large sequence. To make the comparison more acurate it uses the same number of bytes in the sequence as in the sequence, not the same number of elements. * tao/Sequence.h: * tao/Sequence.i: The message block accessor can be constant now. * tao/Typecode.h: * tao/Typecode.i: * tao/Typecode.cpp: Clean up the destruction code: made the destructor nilpotent to avoid double destructions. Also removed the redundant operator new and operator delete; they were not doing any actual work. Thu May 14 Alexander Babu Arulanthu * orbsvcs/orbsvcs/Makefile: Removed PropertyService from the conditional compilation. Thu May 14 10:00:37 1998 Carlos O'Ryan * tests/OctetSeq/OctetSeq.cpp: Removed signed/unsigned comparison warnings. Wed May 13 21:48:08 1998 David L. Levine * tests/Quoter/Makefile: define TAO_ROOT if it's not defined. * TAO/orbsvcs/tests/Concurrency/tmplinst.cpp, TAO/tests/Cubit/TAO/{IDL,MT}_Cubit/tmplinst.cpp, TAO/tests/Param_Test/tmplinst.cpp, TAO/tests/Thruput/TAO/tmplinst.cpp: removed TAO_Unbounded_Sequence instantiation because it's now in libTAO. Wed May 13 18:18:56 1998 Douglas C. Schmidt * TAO version 0.1.20 released. Wed May 13 16:12:38 1998 Michael Kircher * tests/Quoter/Makefile: changed the compiling options for the IDL compiler * tests/Quoter/Quoter.idl: changed the include path Wed May 13 06:58:38 1998 David L. Levine * tao/Makefile: added Forwarding_Servant. * tao/IIOP_Interpreter.cpp: added TAO_Unbounded_Sequence template instantiation. * tao/IIOP_Interpreter.cpp,Typecode.cpp,append.cpp, decode.cpp,encode.cpp,skip.cpp: changed ~0 to ~0u to avoid signed/unsigned comparisons. * tao/IIOP_Interpreter.cpp (calc_seq_attributes): replaced TAO_Unbounded_Sequence with TAO_Unbounded_String_Sequence. For unknown reasons, GreenHills couldn't compile it without this change. Thanks to Carlos for providing the fix. * many *.{h,i,cpp,idl} files: inserted RCS keyword string. * tests/Param_Test/tests.cpp: moved some return statements out of loops, and changed some loop indexes to CORBA::ULong to avoid signed/unsigned comparison. * tests/Param_Test/run_tests.sh: fixed traps, and added uid component to port number. Wed May 13 00:05:52 1998 Irfan Pyarali * tao/ORB.i (orb_free_resources): This should return !CORBA_ORB::orb_init_count_ instead of simply CORBA_ORB::orb_init_count_. Thanks to Pavel Motuzenko for pointing these two problems out. * orbsvcs/orbsvcs/Naming/Naming_Utils.cpp (TAO_Naming_Server): Fixed the initialization of naming_context_name_. * tests/POA/Forwarding/: Added new test that shows the forwarding features in TAO. * tao/default_server.cpp (concurrency_strategy): Made sure that the reactive strategy is returned if no concurrency_strategy has been explicitly set by the user. This should allow servers to work without a svc.conf file. * tao/Server_Request.cpp (set_result and set_exception): These should not raise exceptions if this->exception_ is set. * tao/Servant_Base.cpp: Removed implementation for TAO_ServantBase::_dispatch() and made it pure virtual. Also, passed the system environment to the DSI implementation class. * tao/POAC.cpp (ForwardRequest): Fixed old IDL code for this exception. * tao/Forwarding_Servant: New DSI servant used by the POA for forwarding. * tao/POA.cpp (forward_object): Adding forward support to the POA. Tue May 12 17:34:06 1998 Carlos O'Ryan * tests/OctetSeq/OctetSeq.cpp: Added missing template instantiation. * tao/Sequence_T.i: Fixed typo in Unbounded sequences. Tue May 12 16:53:18 1998 Carlos O'Ryan * tao/orbconf.h: * tao/Sequence.h: * tao/Sequence.i: * tao/Sequence.cpp: * tao/Sequence_T.h: * tao/Sequence_T.i: * tao/Sequence_T.cpp: * tao/decode.cpp: Unbounded Sequences of octets are specialized so their demarshalling (and eventually their marshalling) is implemented by increasing the reference count on the CDR stream message block and then setting the buffer as a pointer to that stream. The buffers are copied upon assingment or copy ctor. The feature is enabled by the macro TAO_NO_COPY_OCTET_SEQUENCES, by default the macro is defined inTAO_ROOT/tao/orbconf.h and only applies if the CDR stream owns its buffer, in other words the optimization is disabled when the buffer is allocated on the stack or is not allocated by the CDR stream. * tao/IIOP_Interpreter.h: * tao/IIOP_Interpreter.cpp: If the octet sequence is enabled then the size of a sequence depends on its basic type. * tao/ORB.cpp: If the octet sequence optimization is enabled we don't need to instantiate TAO_Unbounded_Sequence. * tests/Makefile: * tests/OctetSeq/Makefile: * tests/OctetSeq/svc.conf: * tests/OctetSeq/test.idl: * tests/OctetSeq/OctetSeq.cpp: Added a simple test that just writes an octet sequence in a CDR stream and then reads it back. The test compares the time against a char sequence. * tao/GIOP.cpp: Changed several system exceptions from COMPLETED_MAYBE to COMPLETED_NO. * orbsvcs/orbsvcs/Sched/Config_Scheduler.h: Added missing forward declaration for ACE_Scheduler. Tue May 12 16:48:46 1998 Seth Benjamin Widoff * tao/corba.h: Added a new macro TAO_CHECK_ENV_RETURN_VOID -- same as TAO_CHECK_ENV_RETURN, but for methods with no return value. Tue May 12 15:22:53 1998 Carlos O'Ryan * tests/Param_Test/driver.cpp: * tests/Param_Test/tmplinst.cpp: Added missing template instantiations. Tue May 12 13:45:45 1998 Chris Gill * orbsvcs/orbsvcs/Sched/Config_Scheduler.{cpp,h}: Fixed compile problem when using ACE_Scheduler instead of ACE_DynScheduler 1998-05-12 Torben Worm * Reordered initializers and added virtual destructors to the files orbsvcs/tests/Concurrency/* files. Updated README files in orbsvcs/tests/Concurrency and orbsvcs/Concurrency_Service Mon May 11 18:11:03 1998 Carlos O'Ryan * tests/Param_Test/README: * tests/Param_Test/driver.cpp: * tests/Param_Test/options.cpp: * tests/Param_Test/options.h: * tests/Param_Test/param_test.idl: * tests/Param_Test/param_test_i.cpp: * tests/Param_Test/param_test_i.h: * tests/Param_Test/tests.cpp: * tests/Param_Test/tests.h: Added many tests including bounded sequences of different types, sequences of Any, Typecode and others. We know that some of this tests still do not work. Thanks to Rob E. Thornton for his collaboration on this. Mon May 11 17:00:00 1998 Chris Gill * ace/ace_dll.dsp orbsvcs/orbsvcs/RtecScheduler.idl orbsvcs/orbsvcs/orbsvcs.dsp orbsvcs/orbsvcs/Sched/Config_Scheduler.{cpp,h} orbsvcs/orbsvcs/Sched/DynSched.{cpp,h} orbsvcs/orbsvcs/Sched/Scheduler.h orbsvcs/orbsvcs/Sched/Strategy_Scheduler.{cpp,h} Integrated strategized scheduler with off-line scheduling interface in Config_Scheduler.{cpp,h}. To use the strategized scheduler, define the following symbols in ace/config.h (you can substitute RMS, etc for MUF, and can choose a different value for the minimum critical priority - more on this in the release notes, once the dynamic portion is integrated): #define TAO_USES_STRATEGY_SCHEDULER #define TAO_USES_MUF_SCHEDULING #define TAO_MIN_CRITICAL_PRIORITY 0 Mon May 11 07:57:47 1998 David L. Levine * orbsvcs/Naming_Service/Naming_Service.cpp (init): dereferenced second arg in init () call. Thanks to Kirill Rybaltchenko for reporting this. * IIOP/test/Makefile, IIOP/tests/Cubit/TAO/Makefile, orbsvcs/tests/Trading_Service/Makefile, tests/CDR/Makefile, tests/Cubit/CORBAplus/MT_Cubit/{client,server}/Makefile, tests/Cubit/TAO/{DII,MT}_Cubit/Makefile, tests/POA/Generic_Servant/Makefile, tests/Param_Test/Makefile, tests/Thruput/CORBAplus/Makefile: removed Log from clean target. * TAO/tests/Cubit/CORBAplus/MT_Cubit/client/Makefile, TAO/tests/Demux_Test/CodeGen/Makefile, TAO/tests/Thruput/COOL/Makefile: replaced WRAPPER_ROOT with ACE_ROOT. Sat May 09 12:01:37 1998 David L. Levine * orbsvcs/orbsvcs/Makefile: removed Log from clean target, because it's now a directory that we need to keep. * orbsvcs/tests/Concurrency/NS_client.cpp (CosNaming_Client ctor): reordered initializers to match declaration order. (list_contents): changed loop index type to CORBA::ULong to avoid signed/unsigned comparison. * tao/Makefile: suppress -g when building POA.o with ghs for VxWorks/i86. * tests/Cubit/COOL/{IDL,MT}_Cubit/Makefile: added(ACELIB)(LIBS) to VLDLIBS. Thanks to Steve Kay for reporting that link lines were missing -lACE on Chorus. Fri May 8 16:32:55 1998 Aniruddha Gokhale * TAO_IDL/be/be_exception.cpp: In the typecode generation, we were incorrectly generating the byte order flag as 0 meaning big endian. This is now changed to TAO_ENCAP_BYTE_ORDER. * TAO_IDL/be/be_visitor_exception.cpp: A spurious "return 0;" statement in the middle of the code led to generation of empty code for exception constructors. * TAO_IDL/be/be_visitor_interface.cpp: Added the "ACE_CORBA_1" macro to the generated code so that MSVC++4.2 will be able to parse the generated code. * orbsvcs/orbsvcs/Naming_Service/Naming_Service.cpp: We were passing a variable of type ORB_var to a method expecting an ORB_ptr. g++ was not too happy with this. So now we use the in () method on the _var variable. * tao/Connect.cpp: Removed a large segment of commented-out code which I had kept to remind me to use it to handle the DSI case. See the log entry for Server_Request.{h,cpp}. * tao/{POAC, PolicyC}.h: Used the ACE_CORBA_1 macro when the classes inherit from CORBA::Object. MSVC++4.2 was not too happy with CORBA::Object. It needed CORBA_Object. * tao/ServantBase.h: Removed the Environment parameter from the invoke method of TAO_DynamicImplementation class. This was suggested by Irfan. * tao/Servant_Base.cpp: (invoke): Added code after the invoke to the DSI implementation is made. This code creates a REPLY message and then uses the dsi_marshal method (described below) to marshal outgoing parameters. These methods are called only if the request was 2 way. * tao/Server_Request.{h, cpp}: Several changes made Added a data member that indicates if the request was oneway or twoway. This is used by the DSI when it has to decide if a reply message must be constructed or not. Changed the is_user_exception_ data member to exception_type_. This now explicitly tells us if it was a GIOP_USER_EXCEPTION or a GIOP_SYSTEM_EXCEPTION or GIOP_NO_EXCEPTION. This change was required because we faced a situation in which we not only needed to know if the exception was a user or a system exception but we wnated to know if there was an exception itself or not. So a boolean variable was not sufficient for this. Added a new method called "dsi_marshal". This is used by the DSI to marshal the outgoing parameters. Thu May 07 19:14:16 1998 Douglas C. Schmidt * TAO version 0.1.19 released. Thu May 07 17:55:07 1998 Nanbor Wang * TAO/orbsvcs/orbsvcs/orbsvcs.dsp: * TAO/orbsvcs/tests/Logger/server.dsp: Updated. Thanks to Carlos' instruction on how to make the change. Thu May 7 16:11:00 1998 Robert Eric Thornton * orbsvcs/tests/Naming/ns_tree.cpp: added the NamingService to this test. Thu May 7 15:29:46 1998 Carlos O'Ryan * TAO_IDL/be/be_codegen.cpp: The warning was disabled before including other headers, it is possible (and in some cases certain) that the headers will enable the warning again. We now disable *after* all the includes and re-enable at the end. Thanks to Darrell Brunsch for catching this one before we even tried it :-) * Makefile: * orbsvcs/README: The README file is generated from the docs/orbsvcs.html page whenever a release is made. * orbsvcs/tests/Logger/Makefile: * orbsvcs/tests/Logger/logger_i.h: * orbsvcs/tests/Logger/logger_i.cpp: * orbsvcs/orbsvcs/Makefile: * orbsvcs/orbsvcs/Log/Logger_i.h: * orbsvcs/orbsvcs/Log/Logger_i.cpp: Moved the logging service implementation to the library. * TAO_IDL/be/be_codegen.cpp: Generated #pragma to disable the "inheritance via dominance" warnings on MSVC++; the warning is left on its original state after when leaving the generated include files. * docs/orbsvcs.html: Updated the document to reflect the new location of the Logging Service implementation. * docs/orbsvcs.html: Updated the documentation on the directory hierarchy and contents. * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: Fixed template instantiation pragmas. * tests/CDR/basic_types.cpp: * orbsvcs/tests/Concurrency/NS_client.cpp: * orbsvcs/tests/Concurrency/CC_client.cpp: * orbsvcs/tests/Concurrency/CC_tests.cpp: * orbsvcs/orbsvcs/Concurrency/CC_Lock.cpp: * orbsvcs/orbsvcs/Concurrency/CC_LockSet.cpp: * tao/skip.cpp: * tao/encode.cpp: * tao/Server_Request.cpp: Fixed several warnings, mostly unused variables. Thu May 7 14:28:01 1998 Douglas C. Schmidt * Moved the explanation about adding IDL files to MSVC++ from the docs/releasenotes/index.html file to the TAO-INSTALL.html file. Thu May 07 11:19:25 1998 David L. Levine * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: added ACE_Condition instantiation. * tao/Object_Key.idl,POA.idl,Policy.idl: moved *.idl files to *.IDL, so that the Makefile rules won't automatically regenerate them. Inserted RCS keyword string. * tao/Makefile: removed rule to suppress regeneration from .idl files, because it's no longer needed. * orbsvcs/orbsvcs/Concurrency/CC_LockSet.cpp: reordered initializers to match declaration order. * orbsvcs/tests/Sched/DynSched.cpp,Makefile: added Quantify probes. Thu May 7 00:44:55 1998 Douglas C. Schmidt * Reverted a bunch of s/_env/env/g changes... Thanks to Sumedh for reporting these. Wed May 6 23:58:22 1998 Carlos O'Ryan * TAO_IDL/be_include/be_visitor.h: Added missing int in method declaration. Wed May 06 23:51:37 1998 Carlos O'Ryan * orbsvcs/tests/EC_Multiple/EC_Multiple.dsp: * orbsvcs/tests/EC_Multiple/EC_Multiple.dsw: * orbsvcs/tests/EC_Multiple/EC_Multiple.h: * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: The test now compiles on NT, it lacked a project file and we had to workaround some MSVC++ bugs. * orbsvcs/orbsvcs.dsw: Added the tests to the main workspace. * orbsvcs/orbsvcs/orbsvcs.dsp: * orbsvcs/orbsvcs/Event/EC_Gateway.h: The export macro was wrong and Event/EC_Gateway files were not in the project file. Wed May 6 18:16:42 1998 Douglas C. Schmidt * tests/NestedUpcall: Added the new "one-button" features for the nested upcalls test so that it can run with a single file, just like IDL_Cubit. Thanks to Rob Thornton for this enhancement. Wed May 6 08:46:18 1998 Aniruddha Gokhale * rules.tao.GNU: Added dependency of the generated files on the TAO_IDL compiler (in addition to the source IDL files). Thanks to Jim Penny for suggesting this modification. Wed May 06 06:36:18 1998 David L. Levine * tests/Param_Test/tests.cpp: (Test_Any::check_validity): added missing definition of short_in. * tests/Param_Test/run_test: filtered "grep" out of ps output, and use SIGCHLD instead of hard-coded signal number. Wed May 6 00:28:09 1998 Marina Igorevna Spivak * orbsvcs/tests/Naming/ns_tree.cpp: made several minor modifications to the test program to make it work for compound names. Tue May 5 15:40:09 1998 Douglas C. Schmidt * orbsvcs/orbsvcs/Naming/CosNaming_i.cpp: Changed the ACE_SYNCH_MUTEX to ACE_SYNCH_RECURSIVE_MUTEX to try and workaround intra-class method deadlocks. Thanks to Marina for pointing this out. * tao/orbconf.h: Added macros for TAO_SOCK_{STREAM,ACCEPTOR,CONNECTOR}, which can be overridden in an ACE config.h file to select a different set of transport APIs. * tao/{ORB_Core,GIOP,Server_Strategy_Factory,ORB}.{h,cpp}: Changed all uses of ACE_SOCK_* to TAO_SOCK_* so we can override this to use a different transport API without changing the code at compile time. Mon May 4 11:57:34 1998 Carlos O'Ryan * orbsvcs/tests/EC_Multiple/EC_Multiple.h: * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: * orbsvcs/tests/EC_Multiple/gen_latency: * orbsvcs/tests/EC_Multiple/gen_throughput: * orbsvcs/tests/EC_Multiple/gen_utilization: * orbsvcs/tests/EC_Multiple/histo.pl: * orbsvcs/tests/EC_Multiple/latency.pl: * orbsvcs/tests/EC_Multiple/run_latency: * orbsvcs/tests/EC_Multiple/run_schedule: * orbsvcs/tests/EC_Multiple/run_throughput: * orbsvcs/tests/EC_Multiple/run_utilization: * orbsvcs/tests/EC_Multiple/Scheduler_Runtime1.h: * orbsvcs/tests/EC_Multiple/Scheduler_Runtime2.h: The test now has two sets of consumers and two sets of suppliers, running at different rates, with different events, with varying number of suppliers and or consumers, etc. Statistics are kept for latency, total time, laxity, time per event, etc. The scripts were updated for the new command line interface. * orbsvcs/orbsvcs/Event/Dispatching_Modules.cpp: Fixed minor error in debug message. * orbsvcs/orbsvcs/Scheduler_Factory.h: * orbsvcs/orbsvcs/Scheduler_Factory.cpp: * orbsvcs/orbsvcs/Runtime_Scheduler.h: * orbsvcs/orbsvcs/Runtime_Scheduler.cpp: The Runtime_Scheduler uses the POD_RT_Info array directly now. * orbsvcs/orbsvcs/Event/RT_Task.cpp: Set the LWP priority of the task to obtain proper priorities. * orbsvcs/orbsvcs/Event/Event_Channel.h: * orbsvcs/orbsvcs/Event/Event_Channel.i: * orbsvcs/orbsvcs/Event/Event_Channel.cpp: The split some methods in the MT safe and non-MT safe counter parts (i.e. the version that takes locks and the _i version that does not), the method appeared to dead-lock in shutdown. Anyway the methods are only used at shutdown and startup so nothing should be broken by this. * orbsvcs/tests/EC_Multiple/README: * docs/releasenotes/ec.html: Updated the documentation on the multiple EC test. Mon May 4 09:35:07 1998 Torben Worm * Comitted the files for the concurrency service * Updated release notes Mon May 04 09:05:04 1998 David L. Levine * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp,Util_Thread.cpp,server.cpp: removed ACE_OS::thr_setprio class to set LWP priority, now that ACE handles that internally. Sun May 03 02:05:21 1998 Douglas C. Schmidt * TAO version 0.1.18 released. 1998-05-02 Alexander Babu Arulanthu * docs/releasenotes/index.html: Updated the status information for PropertyService. Sat May 2 14:28:41 1998 Douglas C. Schmidt * orbsvcs/orbsvcs/Naming/Naming_Utils.cpp (init): There was a bug in Ross' code that was failing to initialize the naming_context_var_. This is now fixed. Thanks to Andy for noticing this. Sat May 2 09:58:41 1998 Aniruddha Gokhale * TAO_IDL/be/be_visitor_exception.cpp: We now make the *_alloc method as a static method of the generated Exception class. The reason for doing this was that some exceptions get borrowed from included files. Now if we make the _alloc method as a static method in the generated *C.cpp file, we don't see it in other files where it is needed. The best way to do this was to make a _alloc method as a static method on the generated exception class. * TAO_IDL/be/be_visitor_operation.cpp: Changes made above required some trivial modifications. However, it remains to be see if MSVC++ accepts the generated code or not OR whether it needs the ACE_NESTED_CLASS macro. I am waiting for reports on this. * orbsvcs/orbsvcs/Naming/Naming_Utils.{h,cpp}:(init): Due to application of patches, the signature of the TAO_Naming_Server::init got reverted to the older and buggy version. This is now fixed. Fri May 01 17:56:07 1998 Nanbor Wang * tao/orbsvcs/orbsvcs/Naming/Naming_Utils.cpp: Moved #include of Arg_Shifter.h after #include of tao/corba.h so that ACE_Export is properly defined. * tao/TAO.dsp: Removed Arg_Shifter.cpp from the project. Fri May 1 17:26:31 1998 Douglas C. Schmidt * orbsvcs/Naming_Service/Naming_Service.cpp (init): Added support for the -NScontextname option. Thanks to Ross J. Lillie for this feature. * orbsvcs/orbsvcs/Naming_Utils.h: Added "argv/argc" parameters to the TAO_Naming_Server::init() and constructor methods. Thanks to Ross J. Lillie for this feature. * tao/Makefile: Moved the Arg_Shifter from TAO to ACE since it is generic and not TAO-specific. Fri May 1 13:05:56 1998 Aniruddha Gokhale * tao/Stub.h: Added a new structure called TAO_Exception_Data that holds the typecode and pointer to a function for the user exception we are dealing with. This was necessary since the interpreter had no clue of how to allocate storage for the exception we are dealing with and how to decode it. * tao/GIOP.{h, cpp}: Affected by the above change is the "invoke" method which takes the list of exceptions. It is this method that is responsible for allocating the right amount of storage for the exceptions and decode it. We kept the original invoke method as it is because the newer signature cannot work with DII. This still needs work. * tao/IIOP_Object.cpp:(do_static_call) - When "invoke" is called, we now pass the TAO_Exception_Data table. * TAO_IDL/be/be_visitor_operation.cpp: The exceptionlist table that gets generated is now an array of TAO_Exception_Data. In addition, it is made static. * TAO_IDL/be/be_visitor_exception.cpp: Added code to generate the *_alloc function that allocates memory for the exception. Fri May 1 09:55:56 1998 Aniruddha Gokhale * tao/POAS.cpp: In the initialization section of constructors for some of the collocated classes, we had forgotten to use the ACE_NESTED_CLASS macro. This is now fixed. Fri May 1 06:19:03 1998 Aniruddha Gokhale * TAO_IDL/be/be_visitor_interface.cpp: Modified the generated code for <<= and >>= operators. It involves more memory allocation. The previous version was buggy because it was holding pointers to data allocated on function call stacks. * Makefiles: A few Makefiles have been updated with the .PRECIOUS clause. Otherwise the make was deleting some IDL compiler generated files. * tao/Marshal.i: trivial changes. Probably not even required to do. Instead of casting the void pointer at the time of passing the parameter to release, we do it prior to it and then pass the local variable. Added theId: ChangeLog,v 1.1421 1998/05/15 05:26:25 schmidt Exp CVS string. * tests/Param_Test: Added support to handle Anys of Object references (In our case Anys of Coffee objects). Thu Apr 30 20:18:44 1998 Alexander Babu Arulanthu * orbsvcs/tests/CosPropertyService/client.{h, cpp}, server.{h, cpp}: The client and server programs exclusively for testing CosPropertyService. Thu Apr 30 15:35:45 1998 David L. Levine * tao/tests/Cubit/TAO/MT_Cubit/Task_Client.*,Util_Thread.*, client.cpp,server.cpp: adapted to work on VxWorks. Thu Apr 30 14:26:00 1998 David L. Levine * TAO version 0.1.17 released. Thu Apr 30 10:06:19 1998 David L. Levine * tao/tests/Cubit/TAO/MT_Cubit/server.{h,cpp}: moved the start barrier from the stack frame of start_servants () to the stack frame of main (). This turned out the be the cause of the barrier failure on Linux. And on Solaris86, but it only appeared there when the ior file was in /tmp. That's because start_servants () was able to write the file more quickly there, and then destroy the old barrier. Threads are evil. Wed Apr 29 14:06:35 1998 Aniruddha Gokhale * tao/{Object, POAC, POAS, PolicyC, PolicyS}.cpp: Moved all the static Param_Data and Call_Data tables from the outer global scope to the scope of the respective stubs and skeletons. This was necessary since the ORB-owned typecodes are now dynamically allocated. Thus, if the tables remain in the global scope, the values for typecodes get initialized to NUL. Thanks to Naga, Sergio, and Sumedh who were trying in vain to understand why things were failing. * TAO_IDL/be/be_visitor_interface.cpp: Moved the code generation of static Param_Data tables for the _is_a_skel from the outer global scope to inside the skeleton for _is_a_skel. * orbsvcs/orbsvcs/Scheduler_Factory.cpp: On line 119 to the call to _narrow, we were passing the Object_var. g++ did not like it. Hence we take the in () of the var object and pass it to _narrow. * tao/skip.cpp: In Sequence::skip, we did not have a return TRAVERSE_CONTINUE statement after successfull skipping. Hence we always returned an exception. The same iwas true with Array::skip. Thanks to Alex (alex@cs.wustl.edu) for reporting this bug. Wed Apr 29 12:26:12 1998 Carlos O'Ryan * orbsvcs/tests/EC_Multiple/Makefile: * orbsvcs/tests/EC_Multiple/EC_Multiple.h: * orbsvcs/tests/EC_Multiple/Scheduler_Runtime1.h: * orbsvcs/tests/EC_Multiple/Scheduler_Runtime2.h: * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: Added two precomputed schedules that are selected when the argument to -s is either RUNTIME1 or RUNTIME2, but it is still possible to have a global scheduler (-g) or to compute new schedules (-s ). The amount of work performed in the high priority threads can be controlled using the -w option. * orbsvcs/tests/EC_Multiple/latency.pl: * orbsvcs/tests/EC_Multiple/run_utilization: * orbsvcs/tests/EC_Multiple/run_overhead: * orbsvcs/tests/EC_Multiple/run_latency: * orbsvcs/tests/EC_Multiple/gen_utilization: * orbsvcs/tests/EC_Multiple/gen_overhead: * orbsvcs/tests/EC_Multiple/gen_latency: This scripts execute the test with different configurations designed to measure latency, overhead, utilization, etc. The run_* scripts execute the test, the gen_* scripts filter the results and generate Encapsulated PostScript and JPEG files with the results. I've tried to make the file naming conventions consistent so its easier to add new scripts or tests. * orbsvcs/Naming_Service/Naming_Service.h: * orbsvcs/Naming_Service/Naming_Service.cpp: Added an option (-p) to dump the process ID into a file, this is useful when running the service from a script that has to shut it down. * orbsvcs/orbsvcs/Scheduler_Factory.cpp: Fixed some memory managment problems, but the whole class has to be revised to be more compliant. Wed Apr 29 07:08:18 1998 David L. Levine * tests/Cubit/TAO/MT_Cubit/client.cpp (do_priority_inversion_test): fixed loop indices to follow ANSI scoping rules and avoid signed/unsigned comparisons. * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp (run_tests): cast the entire expression to u_long, not just the first term. Tue Apr 28 13:02:25 1998 Aniruddha Gokhale * TAO_IDL/be/be_visitor_operation.cpp: The tables for Param_Data and Call_Data in the stubs and skeletons are now generated inside the stub/skeleton instead of being global. This change was necessitated since we removed all statics from the TAO library. * TAO_IDL/be/be_visitor_structure.cpp: Some trivial indentation changes and moved code a bit so that related code gets generated near each other. * tao/Exception.cpp: Got rid of all static typecodes for system exceptions. In addition, there was an error in "make_standard_typecode" where we were creating a new ExceptionList for every call to make_standard_typecode. This is now moved to the init method. A few TypeCode definitions have been moved to Typecode_Constants.cpp since these were owned by the ORB. * tao/Exception.h:(make_standard_typecode): The first parameter now takes a reference to TypeCode_ptr. * tao/{Connect, GIOP, Server_Request}.cpp: Use the new TC_opaque and TC_ServiceContextList typecode pointers rather than the previous static TypeCode object. * tao/Marshal.cpp: Removed a lot of commented out code. * tao/Marshal.h: Added some documentation. * tao/ORB.cpp: Added a call to TAO_TypeCodes::init in the init_orb_globals method. * tao/ORB.{h,i}: Missing documentation added. Added a new method that returns a boolean value indicating if the ORB's reference count for its globals has reached 0. The TypeCode destructor uses this to get rid of ORB owned typecodes. * tao/Object_Key.idl: Added missing documentation. * tao/Sequence_T.h: Added missing documentation. * tao/Typecode.{h, cpp}: Refined the destructor such that ORB owned typecodes are now destroyed once the reference count for globals has reached 0. Added a new class called "TAO_Typecodes". It provides a namespace to defined some static methods for initialization and finalization of ORB owned typecodes. * tao/Typecode_Constants.cpp: Lots of changes. All typecodes are now dynamically allocated. All the static allocation is removed. * tao/{append, skip}.cpp: In the respective append and skip methods for Exceptions, we had forgotten to append/skip the repository ID for the exception. In addition, we now use TC_opaque pointer rather than the static object. * tao/decode.cpp: The static table __tc_consts had to be moved inside the TypeCode::decode method since the typecodes are no more static. Also, we use the newly defined TC_opaque typecode pointer. * tao/{encode, deep_copy, deep_free}.cpp: Used the TC_opaque pointer instead of the static object TC_opaque that we previously had. * tests/CDR/tc.cpp: Moved the static table of typecodes inside the function since the typecodes are no more static. Mon Apr 27 16:46:42 1998 David L. Levine * tests/Cubit/TAO/MT_Cubit/*.cpp: put in RT class if running as root, and set LWP priorities. * tests/Cubit/TAO/MT_Cubit/MT_Cubit_Test: added this shell script, which spawns the server and client (locally). Sun Apr 26 10:19:49 1998 Carlos O'Ryan * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: The print_priority_info() routine is platform specific, but I did not protect it with the right #ifdef/#endif block. Sun Apr 26 01:09:23 1998 Douglas C. Schmidt * TAO version 0.1.16 released. Sat Apr 25 16:14:02 1998 Carlos O'Ryan * orbsvcs/tests/EC_Multiple/EC_Multiple.h: * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: Added routine to print the scheduling parameters of the main and scavenger thread. Before starting we report all the user defined parameters for the test execution. The push() method consumes a little CPU via the is_prime() method. Fixed problem with auto_ptr<> usage. For the short circuit case the timer is reset at the beginning of handle_timeout(), otherwise the main thread sleeps a constant amount of time. Changed the option to set the timeout interval to -i and now -t tries to run the test in the Time-shared scheduling class. The main thread scheduling parameters are modified after parsing the user arguments. * orbsvcs/tests/EC_Multiple/run_latency: * orbsvcs/tests/EC_Multiple/run_utilization: * orbsvcs/tests/EC_Multiple/gen_data: This scripts are attempts to make single button entries for the diverse configurations of this test. Sat Apr 25 08:36:08 1998 David L. Levine * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: added a few .in () dereferences and ACE_UNUSED_ARGs. Fri Apr 24 14:08:47 1998 Carlos O'Ryan * orbsvcs/tests/EC_Multiple/EC_Multiple.h: * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: The test creates its own scheduling service now, so all the invocations are collocated. Added support for overhead test, but it is still untested. * orbsvcs/tests/EC_Multiple/Makefile: Updated dependencies. * orbsvcs/tests/EC_Multiple/latency.pl: The program generates number in usecs now, less need for conversion here. * orbsvcs/tests/EC_Multiple/gen_data: Improved the graphs, include titles, the time is in usecs, the EPS files are generated (for LaTeX) and then converted to JPEG (for HTML). * orbsvcs/orbsvcs/Makefile: Added Event/EC_Gateway.{h,cpp} and updated dependencies. * orbsvcs/Naming_Service/Naming_Service.cpp: Removed obsolete options from usage message. Fri Apr 24 10:15:37 1998 Michael Kircher * tests/Quoter/Generic_Factory.{h,cpp,dsp}: server for a Generic Factory conforming to the LifeCycle Service * tests/Quoter/Generic_Factory_Impl.{h,cpp}: Implementation of a LifeCycle Service conforming Generic Factory Fri Apr 24 10:08:37 1998 David L. Levine * tao/NVList.cpp: added ACE_Node template instantiation. Fri Apr 24 00:18:05 1998 Douglas C. Schmidt * TAO version 0.1.15 released. Thu Apr 23 18:50:29 1998 Douglas C. Schmidt * TAO_IDL/ast_enum.h, TAO_IDL/ast_exception.h, TAO_IDL/ast_interface.h, TAO_IDL/ast_module.h, TAO_IDL/ast_operation.h, TAO_IDL/ast_root.h, TAO_IDL/ast_structure.h, TAO_IDL/ast_union.h, TAO_IDL/utl_scope.h: Changed 'friend int yyparse()' to 'friend int tao_yyparse()' to reflect new changes. * The following changes will hopefully provide a framework for getting rid of all the nasty problems with statics in TAO! * tao/ORB: Added a new static method called init_orb_globals() that initializes the globals when necessary. * tao/ORB: Added a new orb_init_count_ data member that keeps track of the number of times ORBs have been initialized in order to do a better job of managing globa ORB resources. * tao/Exception: Added a new method called fini() that deletes the dynamically allocated exceptions list. * tao/Exception: Changed init_standard_exceptions() to init() to be consistent. * tao/Marshal: Changed initialize() to init() to be consistent. * tao/IIOP_Interpreter: Changed init_table() to init() to be consistent. * tao/ORB: Added support so that we make sure to only initialize and destroy global ORB resources when the first/last ORB is created/destroyed, rather than using static objects (which are causing problems on shutdown). Thu Apr 23 16:20:58 1998 Douglas C. Schmidt * TAO/TAO_IDL/Makefile: Change the YY* symbols to ACE_YY* symbols to avoid clashes if we link with other flex/yacc generated code. Thu Apr 23 15:48:29 1998 Aniruddha Gokhale * TAO_IDL/be/{be_visitor_structure, be_visitor_exception, be_visitor_union, be_visitor_sequence}.cpp: The code generation of the >>= operators is now improved to take into account the fact that an Any may not own the value. In such cases, the >>= operator should simply do a cast rather than retrieving the value from the CDR member * tao/Any.{h,i}: Added a new method (TAO extension) returning a boolean to indicate if the Any owns the data or not. This is used by the >>= operators generated for user-defined types * tao/Any.cpp: The constructor and assignment operator of Any that was creating a CDR stream used to point its ACE_Message_Block member to a buffer that was allocated on the function call stack. We now explicitly call "clone" on it to make a deep copy. * tao/GIOP.{h,i}: Added two methods that return the underlying input and output CDR streams. * tao/IIOP_Object.cpp: (do_dynamic_call): Made major modifications. We are now able to handle the case when the user has not supplied the top level storage for out and return parameters. For these cases, we use exactly the same logic as the Any::decode method. We maintain a pointer to the part of the CDR stream that holds the value and save it in the Any. It is the application's responsibility to use the appropriate >>= methods to retrieve the value. * tao/NVList.{h, i, cpp}: We now use ACE_Unbounded_Queue to maintain the list of NamedValues. The original code was mixing up C++ and C memory management by using calloc and realloc. This was cauisng too many problems. At the same time, reallocing would introduce a large number of deep_copies of the Anys that are held. All the add_* and item methods have been affected. * tao/ORB.cpp: Modified the create_list method since the NVList now uses ACE_Unbounded_Queue to maintain a list of NamedValues. * tao/{append, encode, decode, skip}.cpp: For the Union::{append, encode, decode, skip} methods, it was necessary to use the >>= operators to retrieve the label values. We were originally using casts to the void* returned by the Any::value () method. However, since this returns the underlying CDR buffer, we need to use the type-safe >>= operators. For the enum case label, we explicitly invoke the decoder. * tao/Server_Request.cpp:(demarshal): We now create an NVList of size 0 and then add individual items according to the CallData_skel table. This is no more wasteful as in the previous scheme because now we use ACE_Unbounded_Queue to mainatin the internal list and hence growing the list does not result in huge amounts of deep_copies. * tests/Cubit/TAO/IDL_Cubit/client.cpp: Fixed the usage for DII in struct_dii and union_dii to use the >>= operators. * tests/Param_test/tests.cpp: Partially fixed the way DII tests should be coded. Some of them are now working. I need to fix the rest of them. Wed Apr 22 15:56:58 1998 Carlos O'Ryan * orbsvcs/tests/EC_Multiple/EC_Multiple.h: * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: The test also has a collocated scheduling service now. * orbsvcs/tests/EC_Multiple/svc.conf: Added a missing svc.conf file. * orbsvcs/Scheduling_Service/Scheduling_Service.cpp: The -n option can be used to specify the scheduling service name. * orbsvcs/orbsvcs/Scheduler_Factory.h: * orbsvcs/orbsvcs/Scheduler_Factory.cpp: We can find scheduling services with different names now. Removed all method that used resolve_initial_references() to find the scheduling service; this was needed before the naming service was working. * orbsvcs/tests/EC_Multiple/latency.pl: * orbsvcs/tests/EC_Multiple/gen_data: Simple scripts to process the data obtained in the experiments. Mon Apr 20 16:46:07 1998 Aniruddha Gokhale * TAO_IDL/be/be_visitor_interface.cpp: An ACE_NESTED_CLASS was getting generated with a blank first argument for cases where the interfaces were defined in the outermost scope. This is now fixed by using a conditional "is_nested". Mon Apr 20 13:23:30 1998 Carlos O'Ryan * tao/Server_Request.h: * tao/Server_Request.cpp: We keep a flag to determine whether the exceptions stored with the set_exception() method are user exceptions or system exceptions. Mon Apr 20 09:48:01 1998 David L. Levine * tests/CDR/growth.cpp (main): cast ACE_ONE_SECOND_IN_USECS to ACE_UINT32 to avoid ambiguity when using ACE_U_LongLong. * tao/append.cpp (append): commented out unused local "continue_append". * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp (run_tests): removed unused local "context_switch". Protected declarations of "ptartTime" and "pstopTime" for CHORUS only. * tests/Cubit/TAO/MT_Cubit/client.cpp (do_priority_inversion_test): protected declaration of context_switch for ACE_HAS_PRUSAGE_T or ACE_HAS_GETRUSAGE. Mon Apr 20 06:36:44 1998 Aniruddha Gokhale * TAO_IDL/be/be_interface.cpp: The generated typecode was incorect in its encapsulation length. We were generating the entire TypeCode length as the encapsulation length. Sat Apr 18 20:21:24 1998 Aniruddha Gokhale * TAO_IDL/be/{be_visitor_exception, be_visitor_sequence, be_visitor_structure, be_visitor_union}.cpp: In the generated code for the >>= operators, we were incorrectly passing the address of the pointer to the decode method rather than simply passing the pointer. * tao/Any.cpp: The value () routine either returns the cdr_ or the value_ field depending on whether the Any owns the data or not. * tao/TypeCode.cpp: In private_equal, we had forgottent to account for the tk_any case. Sat Apr 18 15:52:20 1998 Alexander Babu Arulanthu * tao/Exception.cpp (CORBA_Exception): Removed a debugging statement assert (1==2) in the destructor of this class. Sat Apr 18 12:19:11 1998 David L. Levine * tests/Cubit/TAO/IDL_Cubit/server.cpp (init_naming_service): dereference orb and child_poa with in () in calls to my_name_server_.init (). Sat Apr 18 10:14:13 1998 Aniruddha Gokhale * tao/Any.cpp: There was a mistake in some of the the >>= operators in which for the "any owns data" case, we were retrieving the data from the value_ field instead of the cdr_ field. * tao/GIOP.cpp: An unwanted explicit template instantiation for Unbounded sequences of TypeCode is now removed. * tao/decode.cpp: A very very subtle error. For the case of Any::decode, our strategy was to let the Any maintain a pointer to the CDR stream and eventually let the >>= operators do the retrieve part. We were correctly maintaining pointers to the duplicated ACE_Message_Block. Unfortunately, this ACE_Message_Block was maintaining a data member which is the CDR stream which was allocated on the function call stack of "do_static_call". As a result, all kinds of weird results started showing up. We now make an explicit copy. Although this scheme will slow down the performance for Anys, at this time, this is the only feasible solution to get things working. * tests/CDR: Added test for Any in basic_types.cpp * tests/Param_Test: Added some debug statements. Fri Apr 17 19:15:24 1998 Alexander Babu Arulanthu * tao/Any.h : * tao/Any.cpp : Added static dump () method for debugging any values. It prints out type and value (if the type is primitive). Fri Apr 17 15:35:27 1998 Carlos O'Ryan * orbsvcs/orbsvcs/Naming/CosNaming_i.cpp: An explicit ACE_Thread_Mutex was used, this is non-portable to platforms without threads, the "Right Thing" is to use the macro ACE_SYNCH_MUTEX. Fri Apr 17 13:29:46 1998 Nanbor Wang * tao/skip.cpp (skip): * tao/deep_copy.cpp (deep_copy): * TAO_IDL/be/be_decl.cpp (tc_name2long): Removed unreferenced variables. Fri Apr 17 12:12:04 1998 Aniruddha Gokhale * TAO_IDL/be/be_visitor_operation.cpp: There was an error in the way the return Any type was passed to the demarshal and marshal routines of the generated skeleton code. * tao/Any.cpp: Error in the assignment operator for Any fixed. For the Any owns case, we were copying the data from the value_ field instead of the cdr_ field. * tao/decode.cpp: In Any::decode, we were setting the value_ field of the Any to the ACE_Message_Block rather than setting the cdr_ field. * tao/encode.cpp: In Any::encode, we were reading from the value_ field of the Any rather than the cdr_ field. * tests/Param_Test: Added code for the Any test. This is still under test. Fri Apr 17 02:38:13 1998 Aniruddha Gokhale * TAO_IDL/be/{be_visitor_exception, be_visitor_sequence, be_visitor_structure, be_visitor_union}.cpp: We had a mismatch in the signatures of operator <<= in the declaration and implementation. In addition, we force the generated code for >>= operator to own the allocated memory. * TAO_IDL/be/be_visitor_interface.cpp: In the code that generates >>= operator, we also generate code such that the allocated memory is owned by the Any * tao/Any.{h, cpp}: We now have two data members in class Any. We keep the older semantics of the value_ field. In addition, we maintain a ACE_Message_Block *cdr_ member. Originally we shared the value_ variable to mean either a CDR stream or a pointer to some data type. This was based on whether the Any owns the data or not. However, this strategy does not work because in the >>= operators for constructed types, we must hold on to the newly allocated storage since we own it and we must free it. * tao/TypeCode.cpp: In the constructor, we were initializing the internal buffer to point to 4 bytes past the actual buffer that was passed as a parameter. Things were fine as long as we were not transmitting typecodes. However, once we started doing that, we realized that somehow the buffers kept on reducing by 4 as we kept transmitting typecodes over the wire. Thus, a typecode receive don the other end had a smaller buffer (and hence different contents) than the original. We fix this by making our internal buffer point ot the start of the buffer that was passed as a parameter. The side-effect of this is that whenever we have to initialize a TAO_InputCDR with this internal buffer, we must do so by explicitly skipping the first 4 bytes (which contains the byte order flag) and indicating that the length is 4 less than the actual. * tao/decode.cpp: In TypeCode::decode, there was a very subtle error. Whenever we were decoding a typecode and determining that it was one of the ORB maintained constants, we were simply pointing to it and passing it back. However, this is not correct because the application can call "release" which was resulting in "Freeing Non-Heap Memory" which is terrible. We now "_duplicate" such typecodes and then pass them to the applications. Thu Apr 16 20:34:40 1998 David L. Levine * tao/ORB_Core.cpp (TAO_ORB_Core): reordered initializers to match declaration order. * tao/Exception.cpp: added ACE_Unbounded_Queue, etc., instantiations. * tao/PolicyC.h (CORBA_PolicyList): commented out unused _tc_PolicyList_seq. Thu Apr 16 19:22:10 1998 Seth Benjamin Widoff * TAO_IDL/be/be_visitor_interface.cpp: The ACE_NESTED_CLASS macro in the base/member initialization section of a collocated class was using the wrong scope to initialize inherited collocated classes. Prefixed a "POA_" to the scope. Thu Apr 16 16:00:35 1998 Aniruddha Gokhale * tao/decode.cpp: In TypeCode::decode, for the case of bounded strings, we were passing a null pointer to the typecode constructor. * tao/encode.cpp: In TypeCode::In encode, for strings, we were encoding the typecode's buffer length rather than the bounds of the string. * tests/Param_Test: Added code to test TypeCodes. Most of the files in this suite are modified. Thu Apr 16 13:28:59 1998 Carlos O'Ryan * tao/decode.cpp: An exception was raised if a nil object reference was decoded. * tao/POA.cpp: For debugging purposes we print a message when an exception is raised on the server side. * TAO_IDL/be/be_visitor_interface.cpp: Use ACE_NESTED_CLASS macro for collocated classes, this makes the generated code portable between NT and other platforms. Thu Apr 16 10:31:53 1998 Aniruddha Gokhale * TAO_IDL/be/be_visitor_interface.cpp: I had forgotten to generate a "return TRUE" statement in the code for the >>= operator on interfaces. * TAO/tao/Any.cpp: All the basic >>= operators were using plain casts. However, according to the new strategy, if the Any owns the value, then it is a CDR stream. So we make this distinction in the code. * TAO/tao/POAS.cpp: In the initialization section of a number of skeleton class constructors, we were initializing _tao_collocated_Policy without specifying its fully scoped name which happens to be POA_CORBA::_tao_collated_Policy. g++ was complaining. However, it remains to be seen if MSVC++ accepts this new style. Thu Apr 16 10:10:16 1998 Michael Kircher * tests\Quoter\Quoter_Impl.cpp: Improved the copy operation * tests\Quoter\client.{h,cpp}: Using the copy operation Status: Bootstraping and copying of Lifecycle Objects works. Thu Apr 16 08:36:16 1998 David L. Levine * orbsvcs/Naming_Service/Naming_Service.cpp (parse_args): removed break following an ACE_ERROR_RETURN. Thu Apr 16 01:25:18 1998 Irfan Pyarali * tao/poa.idl: Fixed the idl file. * tao/PolicyS.cpp (_tao_collocated_Policy): _tao_collocated_Policy must inherit from CORBA_Policy and not from CORBA::Policy. This is because the VC++ compiler cannot deal with inheriting from nested typedefs. * tao/Policy{C,S}.h: Added TAO_Export macros. Also fixed the #include files. * tao/POAS.*: Added code for _get_policy_type_skel() and policy_type() by hand. * tao/POAC.*: Removed code for PortableServer::Policy. * tao/POA.cpp: Added the policy_type() method to the policy classes. * TAO: Changed PortableServer::Policy to CORBA::Policy. Wed Apr 15 22:29:29 1998 Aniruddha Gokhale * TAO_IDL/be/{be_visitor_structure, be_visitor_union, be_visitor_enum, be_visitor_sequence, be_visitor_interface, be_visitor_exception}.cpp: Added code to generate the <<= and >>= operators for CORBA::Any. * TAO_IDL/be/be_predefined_type.cpp: Added cases for LongLong, ULongLOng, and LongDouble which were missing. Thanks to Sam Hauer . Wed Apr 15 20:20:58 1998 Michael Kircher * orbsvcs/tests/Simulator/DOVEBrowser/PushConsumer{Factory}.java.JDK1.2 added these two files, they can be used by the JDK 1.2 instead of by the Visigenic ORB. Wed Apr 15 15:59:58 1998 Aniruddha Gokhale * TAO/tao/append.cpp: Added a bunch of methods that take a CDR stream and append it to another CDR stream while maintaining the alignment. These functions use exactly the same logic as that used by the encode, skip, decode, deep_free, and deep_copy methods. * TAO/tao/any.cpp: When we reset the contents, we set value_ to 0 * TAO/tao/CDR.{h, i, cpp}: Added a constructor to the TAO_OutputCDR and TAO_InputCDR to take an ACE_Message_Block as input. In addition, added the "append" methods that append one CDR to other while maintaining the alignment. * TAO/tao/Exception.{h, i, cpp}: Added the definition and implementation of the CORBA::ExceptionList class according to the CORBA v2.2 (Feb 98). This required a few changes in the Exception.cpp file while initializing the list of system exceptions. * TAO/tao/{GIOP, IIOP_Object}.cpp: Changes required due the new definition of ExceptionList * TAO/tao/Marshal.h: Added the append methods on all classes. * TAO/tao/ORB.h: Chnaged the definition of ExceptionList from typedef to TAO_Unbounded_Object_Sequence to using the new defintion. * TAO/tao/Typecode.{h, cpp}: Moved the defintions of Bounds and BadKind inside the TypeCode class. This is where it belongs. * TAO/tao/decode.cpp: In Any::decode, we set the value_ data member of Any to a duplicated ACE_Message_Block. * TAO/tao/encode.cpp: Changed the implementation of Any::encode such that if the Any owns the data, then the value_ which is an ACE_Message_Block that holds a CDR stream gets appended to the destination CDR. Otherwise, the value is literally encoded into the destination CDR. * TAO/tao/skip.cpp: Added WString::skip. In addition, we had forgotten to pass the address of the discriminant_val to the decoder inside the Union::skip function. Wed Apr 15 12:19:36 1998 Nanbor Wang * tao/deep_copy.cpp (deep_copy): We need a return if no error was found. Wed Apr 15 09:28:16 1998 Carlos O'Ryan * tao/Stub.h: A field was declared , this field is needed to initialize a Sequence that requires a parameter. The careful reader will notice that there is no implicit conversion between the two types, the first is a pointer to constant TypeCode_ptr no a constant pointer to TypeCode_ptr. Only SGI/C++ detected this problem. Wed Apr 15 09:11:11 1998 David L. Levine * orbsvcs/orbsvcs/Sched/DynSched.cpp (compare_entry_finish_times): added const's to first_entry and second_entry declarations and casts, so that ANSI static_casts will succeed. * orbsvcs/orbsvcs/Sched/Strategy_Scheduler.cpp (create): removed extraneous trailing semicolon. * orbsvcs/orbsvcs/Event/RT_Task.h (ACE_RT_Task): added "class" to declaration of friend ACE_RT_Thread_Manager. * orbsvcs/Dump_Schedule/Dump_Schedule.cpp (main): added an _out temporary to avoid compiler warning about a temporary being used for a non-const reference. Because only Sun C++ seems to complain about this, and the temporary is non-comformant (it is an _out type, and users aren't supposed to create them), the hack is only used with Sun C++. Tue Apr 14 19:35:50 1998 Michael Kircher * tests/Quoter/*: Quoter example is running using the Cos LifeCycle Factory Finder. Tue Apr 14 16:37:50 1998 Carlos O'Ryan * tao/encode.cpp: * tao/deep_copy.cpp: * tao/decode.cpp: * tao/Principal.cpp: * tao/ORB.h: * tao/IIOP_Object.cpp: * tao/GIOP.cpp: * tao/Exception.cpp: Removed the last traces of CORBA_SEQUENCE, we use TAO_Unbounded_Sequence for CORBA::OctetSeq and TAO_Unbounded_Object_Sequence for CORBA::ExceptionList. * orbsvcs/Naming_Service/Naming_Service.cpp: * orbsvcs/orbsvcs/Naming/Naming_Utils.h: * orbsvcs/orbsvcs/Naming/Naming_Utils.cpp: It is less surprizing to receive arguments as T_ptr than as T_var&. Also followed the usual memory managment conventions of CORBA, i.e. we don't own the parameters we receive, but we do own the return values or out parameters we obtain. * orbsvcs/tests/Event_Latency/Event_Latency.h: * orbsvcs/tests/Event_Latency/Event_Latency.cpp: Pseudo-objects or objects passed as input parameters must be duplicated before storing them in a T_var variable. Tue Apr 14 13:49:51 1998 Aniruddha Gokhale The following changes are untested. * TAO/tao/skip.cpp: Added a new file that can skip values in the CDR stream. We need this functionality so that when an Any is decoded, it will simply hold a pointer to the ACE_Message_Block (which in turn consists the incoming CDR stream). However, we still need to skip past the value. This skipping uses the same interpretive algorithm used by the encoder and decoder. * TAO/tao/Any.{h, cpp}: Changed the way constructors, assignment operators, replace method, and destructor worked. The policy is that if the Any owns the value, then it immediately converts the value to a CDR stream and destroys the value. * TAO/tao/CDR.{h, i}: Added some more functionality to do the basic "skip" operations. * TAO/tao/Marshal.h: Added the skip methods on all the TAO_Marshal_* classes. * TAO/tao/decode.cpp: When we decode an Any, the value pointer now points to the CDR stream (represented as a ACE_Message_Block). It is the application's responsibility to use the <<=, >>= operators to retrieve the right type. * TAO/tao/Policy{C,S}.{h,i,cpp}: Added these files that have stubs and skeletons for the CORBA::Policy interface. * TAO/tao/{ORB, corba}.h: Added definitions for the PolicyType, Policy, and PolicyList. Tue Apr 14 12:27:35 1998 Carlos O'Ryan * tao/decode.cpp: * tao/encode.cpp: Use the write_*_array() and read_*_array() when encoding/decoding arrays or sequences into/from a CDR stream. Since every request has at least one sequence (the object key) this is a improvement for all requests. I was able to measure improvements in the order of 5% to 10% for IDL_Cubit. * tests/CDR/growth.cpp: The correct interface to accumulate measurements in a ACE_High_Res_Timer is start_incr()/stop_incr(). * tests/Cubit/TAO/IDL_Cubit/client.cpp: Increased the maximum sequence size to 100, otherwise it is hard to notice how the sequences affect performance. * docs/releasenotes/ec.html: Added an explicit example on how to run the Event_Latency test. * tao/Exception.cpp: Fixed indentation. * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: An exception was not "rethrown". Tue Apr 14 12:23:04 1998 David L. Levine * orbsvcs/orbsvcs/Sched/DynSched.cpp,Strategy_Scheduler.cpp, tests/Cubit/TAO/MT_Cubit/Task_Client.h: #include math.h after #including the ACE headers, to avoid a compile warning on ghs/VxWorks. * orbsvcs/orbsvcs/Sched/DynSched.cpp (add_dependency): removed a break statement following a return. * orbsvcs/orbsvcs/Sched/SchedEntry.h (OS_priority): removed name qualifier (the class name). * tests/Param_Test/client.cpp (run_dii_test): removed second return statement at end. * tests/Cubit/TAO/MT_Cubit/Task_Client.{h,cpp},client.cpp (get_latency): cast double latency_ to u_int. Tue Apr 14 10:23:32 1998 Douglas C. Schmidt * tao/ORB_Core.h (TAO_ORB_Core): Moved a bunch of "set" methods into the public part of the class so that we can set them if necessary. Also changed the "set" methods so they return the original pointer, which enables "chaining". Thanks to Brian Mendel for point this out. Tue Apr 14 07:16:21 1998 David L. Levine * Makefile: added CONTROLLED_FILES macro. Thanks to Doug for reporting this. * INSTALL,Makefile: removed INSTALL from CVS control. Tue Apr 14 00:51:45 1998 Douglas C. Schmidt * TAO version 0.1.14 released. Sat Apr 11 20:02:32 1998 Douglas C. Schmidt * TAO version 0.1.13, released Sat Apr 11 20:02:32 1998. Sat Apr 11 10:00:09 1998 Michael Kircher * orbsvcs/tests/Simulator/DOVEBrowser/DOVEBrowser.java: modified to be used only when the DOVE Browser is running as an Java Application. * orbsvcs/tests/Simulator/DOVEBrowser/DOVEBrowserApplet.java: used when the DOVE Browser is running as an Applet. * orbsvcs/tests/Simulator/DOVEBrowser/*: minor changes to handle the afore mentioned changes. Fri Apr 10 15:11:44 1998 Nanbor Wang * tao/GIOP.cpp (message_name): Fixed a missing increment by 1 code. Thanks to Sumedh for noticing the bug. Fri Apr 10 10:41:04 1998 Carlos O'Ryan * tests/Param_Test/tmplinst.cpp: Added a missing template instantiation. Fri Apr 10 04:38:36 1998 Aniruddha Gokhale * TAO_IDL/be/be_visitor_typedef.cpp: The changes made by me in the log entry mentioned just below had some flaws. I had sort of blidly applied it to a case in the "visit_typedef" node of the be_visitor_typedef_ci class. I was resetting the alias context before the code generation action was taken as aooposed to doing it after the action was taken. Thanks to Seth Widoff for sending the bug report. Thu Apr 9 21:57:52 1998 Douglas C. Schmidt * tao/POAS.cpp: Fixed up the POA to use the new ACE_Static_Allocator_Base stuff. * tao/Operation_Table: Added an additional parameter to the TAO_Dynamic_Hash_OpTable constructor so that we can pass in the ACE_Static_Allocator_Base. Also, changed the code to use the base/member initialization section, which is more efficient. Thu Apr 9 22:53:21 1998 Aniruddha Gokhale * TAO_IDL/be/be_interface.cpp: We now use the ACE_Static_Allocator_Base to define a static allocator for the Dynamic Operation Hash Table. Using this approach will finally solve the seg faults in the static destructors. * TAO_IDL/be/{be_visitor_args, be_visitor_array, be_visitor_field, be_visitor_exception, be_visitor_operation, be_visitor_typedef, be_visitor_union, be_visitor_union_branch}.cpp: The visit_typedef operation on all the classes in these files was setting the TAO_Visitor_Context's alias state to the typedef node being visited. However, we were not resetting this context alias state after the action has been taken. This broke code for a scenario shown in a dummy IDL below: typedef X Y; struct foo { ... }; struct bar { Y y_field; long long_field; }; In the code generation for the struct "bar" (for that matter for unions, exceptions, sequences, and others), when we are generating the code for the field whose type is "Y", we set the alias context, it gets set to Y and we use its primitive type which is X to do the "accept". However, we do not reset the alias context. As a result, when we are generating the code for the long_field, the alias context is still "Y" which leads our IDL compiler to generate code that says "Y long_field;" rather than "long long_field;". This is now fixed. Thu Apr 9 20:15:41 1998 Nagarajan Surendran * orbsvcs/Naming_Service/Naming_Service.cpp (init): Added code to recognize the -o option to output the Naming Service ior to a file to avoid setting the NameService env. variable when multiple naming services are running. * orbsvcs/orbsvcs/Naming/Naming_Utils.cpp: Added a naming_service_ior () method to return the ior of the Naming Service. Thu Apr 9 19:25:44 1998 Michael Kircher * orbsvcs/tests/Simulator/DOVEBrowser/PushConsumer.java, orbsvcs/tests/Simulator/DOVEMIB/DOVEMIB.cpp. orbsvcs/tests/Simulator/Event_Supplier/Event_Sup.cpp: Had to conform to the new RtecScheduler.set ( ..) method, some parameters were added. * docs/releasenotes/index.html: Enhanced description of the DOVE Thu Apr 9 10:07:34 1998 Carlos O'Ryan * orbsvcs/orbsvcs/Time_Utilities.i: Fixed warnings in convertion from 64 bit ints to 32 bit ints. This is a classical example of a "good" cast, we know the numbers will be in range (unless something *really* bad happens, like), so the conversion will work. Wed Apr 08 10:02:16 1998 David L. Levine * bin/make_release: added this script that creates ACE and/or TAO releases. * Makefile: added support for make_release. See comments at the top of the Makefile. The old release mechanism has been retained; to use it: make release-old. * tao/ORB.cpp (ORB_init): added missing __FILE__ to printout. Thanks to Tom Brusehaver for reporting this. * orbsvcs/Runtime_Scheduler.{h,i}, orbsvcs/orbsvcs/Config_Scheduler.{h,i} (set): removed const from Criticality and Info_Type arguments. Thanks to Doug and Irfan for reporting this. Wed Apr 08 07:41:53 1998 Brian Mendel * tao/{default.bld, tao.bld}: Updated VxWorks GHS Build files. * orbsvcs/default.bld, orbsvcs/orbsvcs/orbsvcs.bld, orbsvcs/Event_Service/Event_Service.bld, orbsvcs/Scheduling_Service/Scheduling_Service.bld, orbsvcs/Naming_Service/Naming_Service.bld, orbsvcs/Dump_Schedule/Dump_Schedule.bld: Updated VxWorks GHS Build files. * tests/Cubit/TAO/IDL_Cubit/{default.bld,IDL_Cubit.bld}: Updated VxWorks GHS Build files. Wed Apr 08 00:31:08 1998 Irfan Pyarali * tao/ORB_Core.cpp (init): If the host is not supplied by the user, we will go ahead and call ACE_OS::hostname immediately. This will help later down the road, since ACE_OS::hostname will not have to be called each time an IIOP_Profile is created. * tao/IIOP_Object.cpp (set): Changed the calls to get_host_addr() to get_host_name(). The name is more readable than the IP address. * tao/ORB_Core.cpp (init): If the user explicitly specifies -ORBport 0, we choose a port and start listening. This will make sure that all IORs produced will be correct. If -ORBport 0 is not specified, lazy listening is done as usual (on orb->run()). Tue Apr 7 18:25:09 1998 Michael Kircher * tests/Quoter/quoter.idl: Extended the interface by a Factory Finder. * tests/Quoter/QuoterFactoryFinder.{cpp,h}: Server and Implementation of the Factory Finder. Tue Apr 7 16:22:09 1998 Carlos O'Ryan * TAO_IDL/util/utl_global.cpp: Changed a buffer size from MAXNAMELEN to MAXPATHLEN, the former is very small in some systems, plus the fact is that a fullpath can be use in that buffer, so MAXPATHLEN is the right constant. Tue Apr 07 10:55:53 1998 David L. Levine * orbsvcs/tests/Simulator/ss: generate port numbers based on uid, and set TAO_ROOT (based on ACE_ROOT) if it's not set. This utility should be moved, maybe up two directories? * orbsvcs/orbsvcs/{Makefile,RtecScheduler.idl,Runtime_Scheduler.*, Scheduler_Factor.*}, orbsvcs/orbsvcs/Event/Dispatching_Modules.cpp,Event_Channel.cpp, ReactorTask.cpp, orbsvcs/orbsvcs/Sched/Config_Scheduler.{h,cpp},DynSched.*, SchedEntry.*,Scheduler.cpp,Strategy_Scheduler.{h,cpp}, orbsvcs/tests/EC_Multiple/EC_Multiple.cpp, orbsvcs/tests/Event_Latency/Event_Latency.cpp: merged DynSched into liborbsvcs. * orbsvcs/tests/Sched/Makefile: added. * orbsvcs/tests/Sched/DynSched_Test.cpp: builds on Suns. And runs! Mon Apr 6 14:43:13 1998 Carlos O'Ryan * tao/Connect.cpp: The process would crash if it was unable to resolve an address to a name, even though it was only used in a debugging message. Thanks to Keith Nicewarner for pointing out this. Mon Apr 06 09:59:22 1998 David L. Levine * tests/Thruput/tao/utils.cpp: hacked so that it will compile on VxWorks and Chorus. It won't run properly, though. The file should be updated to use ACE_Profile_Timer instead of using rusage directly. * TAO_IDL/Makefile: moved include of rules.local.GNU to after include of rules.bin.GNU. Without this change, tao_idl doesn't get build on LynxOS. * TAO_IDL/driver/drv_preproc.cpp (DRV_pre_proc): ACE_OS::mktemp () instead of mktemp (). Sun Apr 05 18:05:26 1998 Michael Kircher * orbsvcs/tests/Simulator/DOVEBrowser/{ DOVEBrowser.java, DemoCore.java, PushConsumerFactory.java }: The Browser accepts now the parameter -ORBnameserviceior. Sun Apr 05 10:04:57 1998 David L. Levine * tao/Makefile: don't regenerate files using TAO's IDL compiler. Instead, always use what's in our CVS repository, or in the TAO distribution. * tao/Makefile: use fakesvcconf = 1 if shared_libs is not defined, instead of if CROSS-COMPILE is not defined. Sat Apr 04 21:25:43 1998 Douglas C. Schmidt * TAO version 0.1.12, released Sat Apr 04 21:25:43 1998. Sat Apr 4 17:43:08 1998 Douglas C. Schmidt * tao/Operation_Table.cpp: Removed the call to hash_.close() since the Hash_Map_Manager destructor handles this already. Sat Apr 4 15:50:29 1998 Aniruddha Gokhale * TAO_IDL/be/be_visitor_sequence.cpp, TAO_IDL/be_include/be_visitor_sequence.h: Added a case to support sequence of exceptions. Sat Apr 04 07:45:33 1998 David L. Levine * tao/ORB.h: don't use u_longlong_t on Suns if ACE_LACKS_U_LONGLONG_T is defined. * tests/Cubit/TAO/MT_Cubit/client.cpp (do_priority_inversion_test): moved declaration of loop index "i" out of two for loops, and declared as u_int instead of int to prevent signed/unsigned comparison. Sat Apr 4 04:26:49 1998 Aniruddha Gokhale * TAO_IDL/be/be_visitor_interface_fwd.cpp: We were not checking if the node was imported. Due to this, code was getting generated for forward declared interfaces from "#include"d IDL files. * TAO_IDL/be/be_visitor_sequence.cpp: We were not calling "nested_type_name" while generating the return type of the operator [] in the sequence var class. As a result, a fully scoped name was getting generated instead of a relative scoped name which the MSVC++ compiler does not like. * TAO_IDL/be/be_visitor_exception.cpp: For "typedefed" nodes, we were using their base types to generate the code. This is fixed. In addition, some files from the above and others were modified to correct some formatting problems in the generated code. Sat Apr 4 00:24:01 1998 Douglas C. Schmidt * tests/Cubit/TAO/MT_Cubit/client.cpp: Fixed a typo where "i" was being defined twice in the same block of code. Fri Apr 3 18:40:49 1998 Sergio Flores * tests/Cubit/TAO/MT_Cubit/client.cpp: * tests/Cubit/TAO/MT_Cubit/server.cpp: * tests/Cubit/TAO/MT_Cubit/Task_Client.h: * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp: Minor changes for Chorus. Cleanup code. Fri Apr 3 18:39:21 1998 Steve Huston * tests/POA/On_Demand_Activation/Makefile: Changed LSRC to SRC to match today's changes to ACE's rules.bin.GNU. Fri Apr 3 17:43:07 1998 Carlos O'Ryan * tao/CDR.h: * tao/orbconf.h: * tao/CDR.cpp: Added configuration macros to enable swap on write, and to disable swap on read. Also increased the default size of a CDR buffer. * tests/CDR/Makefile: * tests/CDR/growth.cpp: Added another simple test of the CDR buffer, this one tries to measure performance. Fri Apr 3 17:15:22 1998 Steve Huston * TAO_IDL/Makefile: The sources that go into the compiler are listed in SRC, not LSRC. This matches a change in ACE's include/makeinclude/rules.bin.GNU. Fri Apr 3 17:07:18 1998 Sergio Flores * tao/TAO_Internal.cpp (FAKE_SVC_ENTRY): * tao/orbconf.h: Made minor changes to have the fake service configurator receive its values through macros, instead of changing the ".cpp" file. Seems cleaner this way. Fri Apr 3 15:35:39 1998 Alexander Babu Arulanthu * orbsvcs/tests/AVStreams/client.h, client.cpp: All PropertySet methods and the Iterator class methods tested. Fri Apr 3 08:59:16 1998 Carlos O'Ryan * tao/CDR.cpp: Null strings are transmitted as empty strings. Fixed * tao/IIOP_ORB.cpp: Ensure that CDR buffer created from the IOR string is properly aligned. * tao/Server_Request.cpp: More checking for exceptions while decoding parameters and we print an error message if decoding fails. * tao/Typecode.cpp: Only the first byte of the encapsulation stores the byte order, the next three bytes are ignored because the is stored as a long. * tao/decode.cpp: Removed dead code, improve error message when decoding object references and fix an off by one error in ObjRef::decode. * tao/encode.cpp: When encoding Object References an encapsulated stream is created in place, I debugged the computation of the length for that stream and left some debug messages commented out. The support for encoding null strings and wstrings as empty strings is in the CDR classes, no need to duplicate the effort here. * tao/Connect.cpp: Cosmetic changes. Fri Apr 03 09:01:00 1998 David L. Levine * tests/Cubit/TAO/MT_Cubit/server.cpp (start_servants): changed local "ior_file" to "ior_f" because it shadowed the global and caused compile failure with g++. * tests/Cubit/TAO/MT_Cubit/server.cpp (start_servants): check return values of activate calls. * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp (run_tests): added default case to switch statement. * tao/Sequence*.{i,cpp}: use ACE_CAST_CONST instead of const in reinterpret casts, to keep all compilers happy. Thu Apr 02 15:49:16 1998 Nanbor Wang * tao/tests/Cubit/TAO/MT_Cubit/client.dsp: * tao/tests/Cubit/TAO/MT_Cubit/server.dsp: Updated project file. * tao/ORB_Core.{h,i,cpp} (create_and_set_root_poa): Added this private method to create and set the root poa of the calling ORB_Core. (root_poa): Make sure this function will always return a valid poa pointer (thru the use of create_and_set_root_poa above.) * tao/ORB.cpp (resolve_poa): Moved the creation of poa into ORB_Core. Wed Apr 1 23:39:04 1998 Sergio Flores * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp: * tests/Cubit/TAO/MT_Cubit/Task_Client.h: * tests/Cubit/TAO/MT_Cubit/Util_Thread.cpp: * tests/Cubit/TAO/MT_Cubit/Util_Thread.h: * tests/Cubit/TAO/MT_Cubit/client.cpp: * tests/Cubit/TAO/MT_Cubit/server.cpp: * tests/Cubit/TAO/MT_Cubit/server.h: Fixed some bugs and added some comments. Wed Apr 01 22:37:59 1998 Irfan Pyarali * tests/POA/Default_Servant/client.cpp: Fixed options parsing. * tao/Servant_Base.h: Added TAO_Export to TAO_DynamicImplementation. Wed Apr 1 17:33:04 1998 Douglas C. Schmidt * tests/Cubit/TAO/MT_Cubit: Cleaned up the formatting of the code to conform to the TAO programming style. Wed Apr 1 11:07:53 1998 Michael Kircher * orbsvcs/tests/Simulator/DOVEBrowser/VisCompFactory.java: Implemented a Factory pattern to generate the Visualization Components and the Java class loader is now used to instantiate the JavaBeans Visualization Components. * orbsvcs/tests/Simulator/DOVEBrowser, DOVEMIB and Event Supplier are running under NT properly. Wed Apr 01 09:44:31 1998 Nanbor Wang * tao/ORB_Core.cpp (init,fini): Removed calls to ACE_OS::socket_init and ACE_OS::socket_fini because they are taken care of by ACE already. Wed Apr 1 09:46:53 1998 Aniruddha Gokhale The following fix was also made by Carlos simultaneously. Here is the reason what was going wrong. * tao/IIOP_Interpreter.cpp: In calc_nested_size_alignment_i, there was a bug in which we were initializing the CDR stream for nested parameters with an incorrect size. This was due to the fact that we were computing the byte order outside and then initializing the stream with 4 less bytes. However, the constructor of the TAO_InputCDR was also computing the byteorder using wrong locations in the bytestream. This is now fixed. * tests/Param_Test: Added barebones implementation to test Anys. This is still not complete because we still have to work on getting Anys in TAO to work correctly and get rid of the memory management problems we are having. Wed Apr 1 09:41:07 1998 Carlos O'Ryan * tao/IIOP_Interpreter.cpp (calc_nested_size_and_alignment_i): Fixed nested strem interpretation. Wed Apr 1 08:56:24 1998 Douglas C. Schmidt * tao: Renamed ResultFromScode to TAO_ResultFromScode to avoid clashes with MFC functions. Thanks to David Janello for reporting this. Tue Mar 31 21:01:30 1998 Nanbor Wang * orbsvcs/orbsvcs/Naming/Naming_Utils.cpp (init): Fixed a typo. Tue Mar 31 20:18:36 1998 Nagarajan Surendran * orbsvcs/orbsvcs/Naming/Naming_Utils.cpp (TAO_Naming_Server): Added code to remove the IOR_Multicase event handler in the destructor. Tue Mar 31 19:50:48 1998 Nagarajan Surendran * tests/Cubit/TAO/IDL_Cubit/server.cpp (Cubit_Server): Removed the naming service unbind code from the destructor as the naming server is a component and not an external server. Also they will be destructed when the ~Cubit_Server is called. Tue Mar 31 19:30:03 1998 Nagarajan Surendran * tests/Cubit/TAO/IDL_Cubit/server.cpp (Cubit_Server): Added a check in the destructor to unbind the cubit_factory from the naming service. Tue Mar 31 15:15:53 1998 Carlos O'Ryan * tao/Sequence.h: * tao/Sequence.i: * tao/Sequence_T.h: * tao/Sequence_T.i: g++ does not like typedefs inside templates, and we were abusing them in the sequences. * tests/CDR/tc.cpp: Fixed formatting problems. * tests/Param_Test/tmplinst.cpp: Added missing template instantiations. Tue Mar 31 11:10:34 1998 Nanbor Wang * tao/ORB.h (String_out): Added the infamous TAO_Export macro. Tue Mar 31 14:38:29 1998 Douglas C. Schmidt * tao/Sequence_T.i (replace): Make sure to cast this->buffer_ to (T *) to make compilers like GCC happy! Tue Mar 31 13:34:36 1998 David L. Levine * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp (svc): dereference cb_factory with .in (). * tests/Cubit/TAO/MT_Cubit/server.cpp (start_servants): declare iorFile outside the conditional statement. * tests/Cubit/TAO/MT_Cubit/cubit.idl: added comments and RCS Id string. * tests/Cubit/TAO/MT_Cubit/{client,server}.cpp: fixed priority assignments so that they work on all platforms. * tests/Cubit/TAO/MT_Cubit/Task_Client.h: fixed fabs() to negate the argument if less than 0. Tue Mar 31 11:05:23 1998 Carlos O'Ryan * tao/CDR.h: * tao/CDR.cpp: * tao/decode.cpp: * tao/Typecode.cpp: Added constructor for encapsulated streams to the TAO_InputCDR class; this was causing problems on Intel machines. * TAO_IDL/be/be_helper.cpp: * TAO_IDL/be/be_codegen.cpp: We end #if/#endif blocks using C style comments (/* */) as opposed to C++ style (// ) * tao/Sequence.i: * tao/Sequence.cpp: * tao/Sequence_T.i: * tao/Sequence_T.cpp: Fixed a lot of const-correctness problems, thanks to J. Russell Noteworthy for putting me on this track. * tests/Param_Test/tmplinst.cpp: * tests/Param_Test/tests.cpp: * tests/Param_Test/param_test_i.h: * tests/Param_Test/param_test_i.cpp: * tests/Param_Test/param_test.idl: The test now includes all kind of sequences: of basic types, of structs, of strings, of objects; both bounded and unbounded. Unfortunately only compilation is verified, I still have to add code to verify functionality. * TAO_IDL/be/be_visitor_sequence.cpp: Unproper code was generated for bounded sequences of strings. * tao/IIOP_ORB.cpp: Added some debug messages to verify that collocation works. * orbsvcs/tests/EC_Multiple/README: * orbsvcs/tests/EC_Multiple/EC_Multiple.h: * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: Now that the ORB supports collocation we can create a collocated EC, but that requires a smarter startup. It seems that the ECP is not receiving all the messages it should. The main purpose of the change was to verify that collocation works and it seems to do so. * tao/Connect.cpp: We set the flag to expect input *before* making the request. This alleviates (but does not solve) the problems of using several threads and a global ORB: in such a configuration it is possible that one thread is running the event loop, but another makes a request, if the reply is received before the flag is set the ORB believes it has received an out-of-order reply and shutdowns the connection. The real solution is to use the leader-follower model. * tao/decode.cpp: * orbsvcs/Event_Service/Event_Service.cpp: Cosmetic changes. Mon Mar 30 21:38:32 1998 Nanbor Wang * tao/ORB_Core.cpp (fini): Added a call to ACE_OS::socket_fini (). * tao/IIOP_ORB.cpp (_get_collocated_object): Changed to call TAO_ORB_Core_instance ()-> root_poa () instead of this->resolve_poa (). Thanks to Carlos for tracing this down. Mon Mar 30 17:59:30 1998 Nanbor Wang * tao/ORB_Core.i: Only _NOT_ specialize ACE_Hash_Addr when ACE needs to instantiate template explicitly and it is not inlined. Mon Mar 30 13:13:07 1998 Carlos O'Ryan * tao/Typecode.cpp: Fixed cast that dropped constness when only reinterpret_cast was needed; thanks to David Levine (levine@cs.wustl.edu) for detecting this. * tao/Server_Request.cpp: bytes_remaining was called in a debug message (not seen in Solaris); thanks to Nanbor Wang (nanbor@cs.wustl.edu) for reporting this. Mon Mar 30 12:28:02 1998 David L. Levine * tao/ORB_Core.i: only specialize ACE_Hash_Addr with ACE inlining enabled, to avoid link collision with the instantiation in Connect.cpp. * tao/CDR.cpp (TAO_OuputCDR ctors): rearranged initializations to match declaration order. * tao/t-sizes.cpp: #include "tao/corba.h" instead of "tao/orb.h". Mon Mar 30 10:28:05 1998 Carlos O'Ryan * Implemented new classes to manipulate CDR streams, this classes separate input (interpretation) and output (creation) of the streams; in an attempt to make the interface more robust. The new classes provide methods to write and read strings and arrays, this is currently used in very few places, but it could provide a big performance boost. The change affected the following files: * TAO/tao/Align.h: * TAO/tao/CDR.cpp: * TAO/tao/CDR.h: * TAO/tao/CDR.i: * TAO/tao/Connect.cpp: * TAO/tao/Connect.h: * TAO/tao/Exception.cpp: * TAO/tao/GIOP.cpp: * TAO/tao/GIOP.h: * TAO/tao/GIOP.i: * TAO/tao/IIOP_Interpreter.cpp: * TAO/tao/IIOP_Interpreter.h: * TAO/tao/IIOP_ORB.cpp: * TAO/tao/ORB.h: * TAO/tao/Server_Request.cpp: * TAO/tao/Server_Request.h: * TAO/tao/Server_Request.i: * TAO/tao/Typecode.cpp: * TAO/tao/Typecode.h: * TAO/tao/decode.cpp: * TAO/tao/deep_copy.cpp: * TAO/tao/deep_free.cpp: * TAO/tao/encode.cpp: * TAO/tao/orbconf.h: * TAO/tao/params.h: In most cases it was only a matter of changing the class name and the method invocations. * tests/Param_Test/options.cpp: Use CORBA::string_copy instead of ACE::strdup because we delete the buffer with CORBA::string_free. * tests/Cubit/TAO/IDL_Cubit/client.cpp: I limited the size of the sequences, otherwise the test time grows non-linearly with the number of loops. * tests/Param_Test/README: The test can also check string sequences, but the option to do so (-t strseq) was not documented. * tests/CDR/basic_types.cpp: The test is run several times; this is useful when trying to verify performance. Sun Mar 29 03:09:17 1998 Nanbor Wang * tao/IIOP_ORB.{h,i,cpp}: Added an optimize_collocation_objects_ flag to turn optimization for collocation objects on and off. * tao/ORB_Core.cpp: Added an initialization argument -ORBcollocation to make ORB aware of collocation objects or not. The default is on. * doc/Options.html: Added documentation for -ORBcollocation. Fri Mar 27 20:08:24 1998 Nanbor Wang * orbsvcs/orbsvcs/Naming/CosNaming_i.cpp (NS_NamingContext): Changed to get lock from the ORB. * orbsvcs/orbsvcs/orbsvcs.dsp: Update the source file list. * tao/ORB.h: Added TAO_Export to class CORBA_ORB_var. * tao/params.cpp: Removed the extra inclusion of . Fri Mar 27 14:10:34 1998 Steve Huston * TAO_IDL/driver/drv_preproc.cpp: (also see my entry from 09:50) Removed explicit char * operator call, and use the conversion as it was before. However, I needed to change the ?: operator to an if/else for AIX xlC to compile it correctly. Fri Mar 27 13:38:04 1998 Seth Benjamin Widoff * orbsvcs/IOR_Multicast.{h,cpp}: * orbsvcs/Makefile: * orbsvcs/Naming/Naming_Utils.{h,cpp}: I moved the Ior_Multicast.{h,cpp} files up a directory and changed the class name to TAO_IOR_Multicast. It didn't logically belong in the Naming directory, since other bootstrappable services require it. Fri Mar 27 11:47:58 1998 David L. Levine * tao/IIOP_ORB.*,IIOP_Object.{h,cpp},Request.{h,cpp},Server_Request.*, Exception.*,params.*,Connect.*,default_{client,server}.*,corba.h: #include the .i file in the .h/.cpp files instead of corba.h. * tests/Demux_Test/client.cpp: #include ace/stream.h instead of system headers, and use ACE_OS::gethrtime () instead of gethrtime (). * orbsvcs/orbsvcs/Event/Reactor_Task.cpp (ACE_ES_Reactor_Task): always use ACE_OS::gettimeofday (). ACE_High_Res_Timer::gettimeofday () now takes an argument, so it's not compatible with what ACE_Timer_Queue needs. And it didn't seem necessary to have separate code for VxWorks. And the hrtimer on WIN32 is flakely on multiple-CPU machines. * tao/IIOP_ORB.cpp: added ACE_Unbounded_Set_Iterator template instantiation. Fri Mar 27 09:50:52 1998 Steve Huston * TAO_IDL/driver/drv_preproc.cpp: Use explicit char * operator on cpp_path (AIX xlC requires this). Added CVS Id. * tao/Sequence_T.h: Fully qualify the template type when used as a function return. Fri Mar 27 04:45:46 1998 Nanbor Wang * tao/ORB.h: Added two pure virtual functions _register_collocation and _get_collocated_servant to CORBA_ORB class so the derived classes have their own implementations. (resolve_poa,resolve_poa_current): Changed these two functions from private methods to protected methods. I need to access them from IIOP_ORB. * tao/IIOP_ORB.{h,cpp} (_register_collocation): Added this new method to record connection end points an IIOP ORB owns. (_get_collocated_servant): Added this new method which uses a passed in STUB_Object to determine whether a requested object is collocated or not. If it's a collocated object, returns the servant of that object and we can use that to create a collocated object reference. (object_to_string): Added code to register object end point with IIOP ORB. (iiop_string_to_object): Added code to check whether a requested object is collocated or not and return a collocated object if it fits to do so. * tao/ORB_Core.cpp (preconnect): Added code to register success preconnections to IIOP's end point repository. * tao/decode.cpp (TAO_Marshal_ObjRef::decode): Added code to optimize against collocation objects. Thu Mar 27 10:57:02 1998 Michael Kircher * orbsvcs/tests/Simulator/DOVEMIB: New version of the DOVE MIB. * orbsvcs/tests/Simulator/README: Updated. * docs/releasenotes/index.html: Updated. Thu Mar 26 21:24:59 1998 David L. Levine * tao/ORB.*,corba.h (CORBA_ORB::shutdown): uninlined, so that ORB.i can be #included properly. * tao/CDR.{h,cpp},GIOP.{h,cpp},corba.h: #include the .i file in the .h/.cpp files instead of corba.h. * TAO_IDL/fe/y.tab.cpp: wrapped a couple of assignments in conditionals with parens. Thu Mar 26 17:28:24 1998 Douglas C. Schmidt * TAO version 0.1.11, released Thu Mar 26 17:28:24 1998. Thu Mar 26 10:07:02 1998 Michael Kircher * orbsvcs/tests/Simulator/DOVEMIB: Checked in a first draft of the DOVE Management Information Base (DOVE MIB). A README will be available with further details. Thu Mar 26 08:31:02 1998 Aniruddha Gokhale * TAO_IDL/fe/idl.yy: We were setting the name of a sequence (named sequence) when the code for client header generation was invoked. However, in cases where we import some definitions, we never go into the code generation code for that type. As a result, such imported typedefed (a.k.a named) sequences remained nameless. So when the time came to emit their name, it resulted in a segmentation fault. We fix this by setting the name of the sequence in the parsing stage itself. Thanks to Torben Worm (tworm@cs.wustl.edu) for reporting the bug to me. Changed files also include y.tab.cpp and y.tab.h * TAO_IDL/be/be_visitor_sequence.cpp: Minor correction to get the formatting right. * TAO_IDL/be/be_decl.cpp: Simplified the logic of converting a name into a padded long array. The original logic caused problems on NT/PC because of its "little-endian" nature. This was causing the repoIDs and names (represented as longs) undergo byte swapping. Thu Mar 26 06:29:09 1998 David L. Levine * tao/Marshal.{h,cpp},ORB.*,Object.{h,cpp},corba.h: #include the .i file in the .h/.cpp files instead of corba.h. Wed Mar 25 22:55:02 1998 Carlos O'Ryan * tao/Servant_Base.h: * tao/Object.cpp: Collocated objects (even if their dynamic type is simply CORBA_Object) can use the servant to resolve the _is_a() calls. Wed Mar 25 22:06:19 1998 Sumedh Mungee * tao/TAO.cpp: Added accessors for child/root poa. Wed Mar 25 15:10:48 1998 Aniruddha Gokhale * tao/encode.cpp: In the encoding of exceptions, we were not encoding its repository ID. This is now fixed. Wed Mar 25 11:11:47 1998 David L. Levine * tao/ORB.h: use ACE_UINT32 instead of u_char for CORBA_Boolean with Green Hills on Chorus, to work around a compiler bug. The bug is revealed with accessing the root_poa, by TAO/tests/POA/RootPOA/RootPOA. * tao/ORB.{h,cpp}: changed type of open_called_ and should_shutdown_ flags from CORBA::Boolean to u_int, because they're ACE_Atomic_Ops. This allows CORBA::Boolean to be a typedef of bool. Without this change, bool would be required to support all of the arithmetic operations that ACE_Atomic_Op needs, and that's not standard. * orbsvcs/tests/Logger/{clnt.cpp,logger_i.*,svr.cpp}, orbsvcs/orbsvcs/Naming/{Ior_Multicast.cpp,Naming_Utils.cpp}, tests/Thruput/TAO/server.cpp: removed unnecessary #include of ace/streams.h. * tao/Makefile,tests/Cubit/TAO/IDL_Cubit/Makefile, tests/NestedUpcall/Makefile: removed CPPFLAGS, LDFLAGS, and DCFLAGS because they duplicated what's already in taoconfig.mk or platform_macros.GNU. Wed Mar 25 09:08:44 1998 Torben Worm * docs/releasenotes/index.html: Added comment to the concurrency control service section. The implementation of the concurrency control service is discontinued due to unclear specs. Wed Mar 25 02:36:06 1998 Nanbor Wang * tests/NestedUpcall/server.cpp: Renamed tao_util.h to TAO.h. Tue Mar 24 19:13:35 1998 Aniruddha Gokhale * tao/Server_Request.cpp: There was a lot of messy code on the outgoing path from skeleton to the wire. Specifically, we were mixing system exceptions with user defined exceptions. This has been fixed and is under testing. * TAO_IDL/be/{be_visitor_exception, be_exception}.cpp: The generated typecode for Exceptions erroneously had a "tk_struct" TypeCode kind. This has been fixed to be "tk_except". * TAO_IDL/be/be_visitor_operation.cpp: Handling of oneway operations in the server skeletons was buggy. It is now fixed. * TAO_IDL/be/be_predefined_type.cpp: TypeCodes for pseudo objects were not getting properly generated. This is now fixed. Tue Mar 24 14:51:33 1998 Nanbor Wang * TAO_IDL/be/be_interface.cpp (gen_server_skeletons): Changed op_name() to operation (). * TAO_IDL/be/be_visitor_operation.cpp (visit_operation): Added a return statement. * tao/IIOP_Object.cpp: Initialze TAO_Synchronous_Cancellation_Required::old_type_. Tue Mar 24 14:07:08 1998 Aniruddha Gokhale * tao/Server_Request.{h, i, cpp}: Made the class compliant with the latest CORBA v2.2. Added some extensions. There were some subtle bugs related to user defined exceptions that were not being reported back to the caller. Modified the constructor to take a GIOP_RequestHeader as a parameter. * tao/IIOP_Interpreter.{h, cpp}: Removed the "struct_traverse" and "union_traverse" methods as they were no longer used. * tao/Typecode.{h, cpp}: Removed the original interpreter "traverse" as it is no longer used since its logic is included in the different encode and decode methods. * tao/POA.cpp: changed the usage of "op_name" to "operation" since that is the correct method name of the ServerRequest class according to the CORBA v2.2 spec. * tao/POAS.cpp: Massive changes made to use the new style of skeleton code that the IDL compiler generates * tao/{Servant_Base, Operation_Table}.{h, cpp}: The "_find" and "_bind" operations now take a "const char *opname" rather than "CORBA::String &opname". * tao/Connect.cpp: Server_Request creation now uses the modified constructor. * TAO_IDL/be/{be_visitor_operation, be_interpretive}.cpp: Added another visitor that generates the exceptionlist for the client stub. * TAO_IDL/be/be_visitor_interface.cpp: Change in generated code to use the "operation" method on class Server_Request rather than the non-compliant "op_name". * TAO_IDL/be/be_visitor_sequence.cpp: Minor correction to get some formatting in generated code correct. * TAO_IDL/be_include/be_codegen.h: Added a state for exception list generation * TAO_IDL/be_include/be_visitor_operation.h: Added a new visitor for exception list generation. Tue Mar 24 11:01:33 1998 Nanbor Wang * tao/TAO.dsp: Added Stub.cpp into the project. Tue Mar 24 07:29:20 1998 David L. Levine * tao/Makefile,Any.{h,cpp},NVList.*,ORB.h,ORB_Core.{h,cpp}, Stub.{h,i,cpp},Typecode.{h,cpp},corba.h: #include the .i file in the .h/.cpp file instead of corba.h * tao/ORB.cpp (wscpy): removed, because we now use ACE_OS::wscpy () instead. Mon Mar 23 19:44:11 1998 Irfan Pyarali * tao/ORB: CORBA_ORB no longer inherits from IUnknown. * tao/IIOP_Object.cpp (set): A valid key must be provided, else the function will fail. Also removed all cases where the key was given a default value (of "0"). * tao/IIOP_ORB.cpp (QueryInterface): Removed this method. Mon Mar 23 13:20:12 1998 Michael Kircher * orbsvcs/tests/Simulator/DOVEBrowser/WeaponsVisComp.java: Found some uninitialized variables and fixed the problem. This component should now be more stable. Mon Mar 23 10:42:12 1998 Chris Gill * orbsvcs/orbsvcs/Sched/DynSched.{cpp,h,i} orbsvcs/orbsvcs/Sched/SchedEntry.{cpp,h,i} orbsvcs/orbsvcs/Sched/Strategy_Scheduler.{cpp,h,i} Merged in the final round of timeline fixes from the files in the old scheduler directory into the ones in the new directory. * orbsvcs/tests/Sched/DynSched_Test.cpp Added directory orbsvcs/tests/Sched and checked in a copy of DynSched_Test.cpp, the file used to test the offline behavior of the dynamic scheduler locally. This file will serve as the basis of a real TAO test for the on and off line behaviors of the dynamic scheduler when it is fully integrated into TAO. Mon Mar 23 09:18:12 1998 David L. Levine * orbsvcs/Dump_Schedule/Makefile,orbsvcs/Event_Service/Makefile, orbsvcs/Scheduling_Service/Makefile, orbsvcs/tests/Event_Latency/Makefile, orbsvcs/tests/EC_Multiple: replaced orbsvcs/orbsvcs/orbsvcs with orbsvcs/orbsvcs in some dependencies. * tao/ORB.{h,cpp},tao/POA.cpp,tao/encode.cpp, TAO_IDL/ast/ast_generator.cpp,TAO_IDL/be/be_generator.cpp: migrated to ACE_OS::WChar. That has a size of 32 bits. Thanks to Irfan for this recommendation. * tao/ORB.cpp (wstring_copy): changed null check at beginning from "if (*str)" to "if (!str)". * tao/Sequence_T.cpp (allocbuf): added missing ; at end of ACE_NEW_RETURN statement. * TAO_IDL/fe/Makefile,lex.yy.cpp,lex.yy.cpp.diff: replaced #includes of standard headers with #include of OS.h so that ace/config.h is #included first. The allows config.h to #defined _REENTRANT before stdio.h is #included, for example. * tao/Makefile: marked Object_KeyC.* and POA[SC].* files as .PRECIOUS so that gmake avoids deleting them. Thanks to Chris Cleeland for this suggestion. Mon Mar 23 03:20:47 1998 Douglas C. Schmidt * TAO version 0.1.10, released Mon Mar 23 03:20:47 1998. Mon Mar 23 01:19:19 1998 Irfan Pyarali * tao/ORB_Core.cpp (init): It is ok not to have a svc.conf file, therefore check should be: if (result != 0 && errno != ENOENT) Mon Mar 23 01:17:18 1998 Douglas C. Schmidt * tao/corba.h: Moved Request.i up a notch in the corba.h file so that it will be defined correctly! This obviates the need for Nanbor's fix below! Sun Mar 22 23:19:42 1998 Nanbor Wang * tao/Request.cpp: Include Request.i conditionally. * tao/Object.h: Added macro TAO_Export to class CORBA_Object_var and class CORBA_Object_ptr. Sun Mar 22 21:54:57 1998 Douglas C. Schmidt * TAO_IDL/be/be_interface: Made full_coll_name() a NON-const method to work around a bug with GCC... * TAO/tao: Moved a bunch of inline methods from *.i files into *.cpp files to avoid warnings from G++. I don't know why it complains but not inlining this code shouldn't matter unless we find that these functions get called a lot via profiling... Thanks to David Levine for pointing this out. Sun Mar 22 14:04:31 1998 Nanbor Wang * tao/tao.{dsp,dsw}: Updated Project files. * tao/Exception.{i,cpp}: Conditionally include its inline file. Added codes for copy ctor and assignment operator for CORBA_UserException and CORBA_SystemException. Sun Mar 22 13:05:15 1998 Aniruddha Gokhale * tao: Added comments, made some modifications, and refined some class definitions. Changes were made to a large number of files. Sun Mar 22 08:00:08 1998 Douglas C. Schmidt * Naming_Service.h: Renamed tao_util.h to TAO.h. * tao: Removed the CORBA_Cls.* files (since they conflict with the overall naming scheme) and merged them into the ORB.h class. Sun Mar 22 03:52:39 1998 Sergio Flores * tao/TAO_Internal.cpp (open_services): "this" may only be used inside a nonstatic member function. Sun Mar 22 02:58:29 1998 Nanbor Wang * tao/Makefile: * tao/corba.h: * tao/CORBA_Cls.{h,i,cpp}: Rename CORBA.{h,i,cpp} to CORBA_Cls.{h,i,cpp} because NT doesn't like the coexistance of corba.h and CORBA.h. Sun Mar 22 02:39:54 1998 Sergio Flores * tao/CORBA.cpp (ORB_init): made change to check for the return value when initializing the ORB Core instance. Also, changed the TAO_Marshal::initialize() to be called before the initialization of standard exceptions, where we need the marshal factory for CDR streams. * tao/ORB_Core.cpp (TAO_ORB_Core::init): made change to check for the return value when initializing service configurator. * tao/ORB_Core.cpp (TAO_Resource_Factory::parse_args): changes to correctly parse the options for "-ORBresources" and "-ORBpoa" Sun Mar 22 01:52:01 1998 Douglas C. Schmidt * tao/CORBA.cpp: Moved TAO_Exceptions::init_standard_exceptions() to the beginning of ORB_init() so that we can use exceptions later within that function. Thanks to Sergio for reporting this. Sat Mar 21 11:00:40 1998 Douglas C. Schmidt * tao: Renamed a bunch of files so that the names and capitalization matches precisely. * tao/Request.i: Created this file and moved a bunch of inline methods into here. * tao: Renamed the corbacom.* files (since we don't support COM anyhow) into CORBA.h and the new CORBA.i and CORBA.cpp files. * tao/corbacom.h: Moved the CORBA_SEQUENCE stuff back into the header file since it wasn't linking correctly... * tao/TAO_IDL: Changed all uses of do_call() to do_static_call(). * tao: Made lots of minor enhancements to formatting and style. * tao: Removed the invoke.cpp file and moved its functionality back into iiopobj.cpp, where it belongs. * tao/sequence_T.i (replace): Added a cast to (T *) so compilers wouldn't complain! Thanks to Sergio for pointing this out. * tao: Renamed IIOP_Object::do_call() to IIOP_Object::do_static_call() to be symmetrical with do_dynamic_call()... * tao/typecode.cpp: Due to the new reorganization of the code in interp.cpp we're now able to put all the CORBA_TypeCode methods back into typecode.cpp, where they belong... * tao: Added a new interp.h file and moved the TypeCode table intialization function into that file. * tao/orbobj.cpp: Removed the friggin' global functions extern void __TC_init_table (void); extern void __TC_init_standard_exceptions (CORBA::Environment &env); and put them inside of classes, where they belong... * tao/corbacom.cpp: Moved CORBA::ORB_init() from orbobj.cpp (what was it doing there) to corbacom.cpp, which is where it belongs! * tao/giop.cpp: Moved the TAO_GIOP_MsgType enum into the TAO_GIOP class namespace and renamed all the enums accordingly. * tao/except.cpp: Added except.i file to split off inlines into their own file. * tao/sequence_T.i (replace): Fixed some typos in the template code. Thanks to Ben Eng for reporting these. Sat Mar 21 20:34:39 1998 Sergio Flores * tao/connect.cpp (open): fixed a bug due to wrong parens location. * tests/Cubit/TAO/MT_Cubit/server.cpp: * tests/Cubit/TAO/MT_Cubit/Util_Thread.cpp: * tests/Cubit/TAO/MT_Cubit/Task_Client.h: * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp: added option to disable use of the name service. hacked the code for platforms that don't support floating point math. Added Quantify start/stop primitives around CORBA calls. Sat Mar 21 17:55:40 1998 Michael Kircher * orbsvcs/test/Simulator/NavWeap.idl: removed typo * orbsvcs/test/Simulator/DOVEBrowser: New Demo using Java Beans as visualization components added. This will replace the old demo under orbsvcs/test/Simulator/Sim_Display. See the readme file under orbsvcs/test/Simulator for further details. Fri Mar 20 23:25:28 1998 Seth Benjamin Widoff * orbsvcs/tests/Trading_Service/Makefile: * orbsvcs/tests/Trading_Service/export_tests.cpp: * orbsvcs/tests/Trading_Service/import_tests.cpp: * orbsvcs/tests/Trading_Service/Offer_Exporter.{h,cpp}: * orbsvcs/tests/Trading_Service/Offer_Importer.{h,cpp}: * orbsvcs/tests/Trading_Service/Service_Type_Exporter.{h,cpp}: * orbsvcs/tests/Trading_Service/TT_Info.{h,cpp}: * orbsvcs/tests/Trading_Service/TTest.idl: I've added the rough draft of tests that pound the Trading Service with a variety of method invocations. * orbsvcs/Trading_Service/trader.cpp: * orbsvcs/Trading_Service/Makefile: The trader now responds to resolve_intial_references multicast requests with the IOR of its Lookup interface, as per the specification. Fri Mar 20 21:48:47 1998 Douglas C. Schmidt * TAO version 0.1.9, released Fri Mar 20 21:48:47 1998. Fri Mar 20 19:46:43 1998 Douglas C. Schmidt * tao/sequence_T: Added the full complement of get_buffer(), replace(), and release() calls to TAO's sequences. * docs/releasenotes/index.html (href): Reformatted the DOVE demo section of the release notes a bit. Thu Mar 20 17:05:42 1998 Michael Kircher *TAO_ROOT/docs/releasenotes/index.html: Documentation about the DOVE demo Fri Mar 20 16:21:28 1998 Irfan Pyarali * tests/POA/Generic_Servant/MyFooServant.h: No need to include generic_servant_export.h. * tests/POA/Generic_Servant/Makefile: Added flags to the idl compiler so that the server library can be made as a dynamic library. Thu Mar 20 16:12:42 1998 Michael Kircher *TAO_ROOT/orbsvcs/tests/Simulator/Event_Supplier: New Project and Workspace files for NT Fri Mar 20 11:53:15 1998 Nanbor Wang * tests/NestedUpcall/client.cpp: Use EventHandler_vare.in() to pass in a pointer. Added explicit template instantiation codes. Fri Mar 20 09:46:50 1998 Carlos O'Ryan * orbsvcs/orbsvcs/Event/Memory_Pools.h: * orbsvcs/orbsvcs/Event/Memory_Pools.cpp: Locks are needed for the memory pool singletons; thanks to Thomas Venturella for detecting this. Fri Mar 20 09:26:28 1998 David L. Levine * tests/POA/Generic_Servant/MyFooServant.h: added #include "generic_servant_export.h". * tao/corbacom.{h,cpp},tao/encode.cpp,tao/poa.cpp, TAO_IDL/ast/ast_generator.cpp,TAO_IDL/be/be_generator.cpp: changed CORBA::WChar from platform-dependent type to ACE_UINT16. This may require casts in application code, if they use a native wchar_t, from wchar_t to CORBA::WChar. Fri Mar 20 02:47:22 1998 Nanbor Wang * tao/default_server.cpp (create_servant_lock,create_poa_lock,create_poa_mgr_lock): Don't return 0 but an ACE_Null_Mutex as default. Fri Mar 20 00:36:16 1998 Irfan Pyarali * tao/poa.cpp (dispatch_servant_i): The POA Current was not being setup correctly. It was used before it was created. Fix was to change the order of things in dispatch_servant_i() and restored pre_invoke() to its original state. * tests/POA/Generic_Servant/client.cpp (main): Make sure the client does not crash if the user does not provide an IOR. * tests/POA/Generic_Servant/MyFooServant.h (MyFooServant): Added export macro so that the class gets properly included in the DLL. * TAO_IDL/GenExportH.BAT: Changed %1% to %1. * tests/POA/Generic_Servant/generic_servant_export.h: The server lib will now be created as a DLL instead of as a static library. New file was added to get the exports right. Thu Mar 19 18:42:20 1998 Nanbor Wang * TAO_IDL/be/be_visitor_attribute.cpp (visit_attribute): Undefined variable bt to removed a compilation warning. * tao/server_factory.cpp (create_servant_lock): * tao/default_server.{h,cpp} (create_servant_lock): Added new method which creates a servant lock according to various strategies used. Thu Mar 19 18:45:13 1998 Alexander Babu Arulanthu * orbsvcs/tests/AVStreams/client.h: * orbsvcs/tests/AVStreams/client.cpp: * orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp: * orbsvcs/orbsvcs/AVStreams.idl (interface MMDevice): PropertyService's PropertySet methods have been tested in the AVStreams' test application. Tested using the MMDevice interface of the AVStreams. Thu Mar 19 18:20:42 1998 Michael Kircher *TAO_ROOT/orbsvcs/tests/Simulator/README: New notes about this release *TAO_ROOT/orbsvcs/tests/Simulator/NavWeap.idl: New, simpler Weapons struct because of a Visibroker for Java 3.2 bug. *TAO_ROOT/orbsvcs/tests/Simulator/Event_Supplier: Using the new Weapons struct. *TAO_ROOT/orbsvcs/tests/Simulator/Sim_Display/NS_Resolve.java: Complying with the new Name Service lookup protocol (4 bytes instead of 2) *TAO_ROOT/orbsvcs/tests/Simulator/Sim_Display/Display_Weapons.java: Using the new Weapons struct. *TAO_ROOT/orbsvcs/tests/Simulator/Sim_Display/Display_Push_Consumer.java: Complying with the naming conventions for the skeleton code of VB 3.2. Thu Mar 19 10:51:22 1998 Alexander Babu Arulanthu * docs/releasenotes/index.html: Updated entry for the property service. Thu Mar 19 09:55:41 1998 Carlos O'Ryan * tests/CDR/README: * tests/CDR/basic_types.cpp: * tests/CDR/tc.cpp: Added basic documentation on the purpose of the tests. Thu Mar 19 09:26:25 1998 Torben Worm * docs/releasenotes/index.html: Added an entry for the Concurrency Control Service Thu Mar 19 08:41:27 1998 David L. Levine * orbsvcs/orbsvcs/Naming/CosNaming_i.cpp (new_context): replaced ???! with ???? in comment to avoid g++ "warning: 1 trigraph(s) encountered". * orbsvcs/orbsvcs/Sched/Scheduler.cpp: removed two ACE_Lock_Adapter template instantiations because they're in tao/poa.cpp. * orbsvcs/orbsvcs/Runtime_Scheduler.cpp: wrapped a few return statements that follow ACE_THROW's with ACE_NOTREACHED. * orbsvcs/orbsvcs/Config_Scheduler.cpp: wrapped a couple of break statements that follow returns with ACE_NOTREACHED. Thu Mar 19 05:26:10 1998 Aniruddha Gokhale * tao/typecode.cpp: In private_member_name, the return value of "skip_typecode ()" was incorrectly compared with TRAVERSE_CONTINUE rather than with a boolean value. This is now fixed. Wed Mar 18 21:43:46 1998 Aniruddha Gokhale * tao/typecode.cpp: private_equal method had a big error. I had forgotten break statements after every case in the switch statement. So no matter what, the last result which returned "TRUE" used to be returned. This is now fixed. Wed Mar 18 21:32:24 1998 Douglas C. Schmidt * TAO version 0.1.8, released Wed Mar 18 21:32:24 1998. Wed Mar 18 21:26:29 1998 David L. Levine * orbsvcs/orbsvcs/Naming/Ior_Multicast.cpp (IOR_Multicast): reordered initializers to match declaration order. Wed Mar 18 20:36:46 1998 Douglas C. Schmidt * tests/CDR/basic_types.cpp: Rearranged this test file a bit to make it more structured. Wed Mar 18 18:52:12 1998 Aniruddha Gokhale * tao/object.{h, cpp}: Changed the name of the method "key ()" to "_key ()" since this was clashing with names used by users in their IDl files. As such "key" is not a standard method defined by OMG on the class Object. Hence we must use a _ before it. * tao/{poa, servant_base}.cpp: Used _key instead of key as explained above. Wed Mar 18 18:41:34 1998 Alexander Babu Arulanthu * orbsvcs/tests/CosPropertyService/main.cpp (main): Added testcode for NamesIterator. Wed Mar 18 18:33:08 1998 Aniruddha Gokhale * tao/any.cpp: There was a bug in the assignment operator whereby a Release was causing the Any object itself getting deleted. * tao/poa.cpp: Changed occurrences of "buffer ()" used on the object key (which is a sequence) to use "get_buffer" according to the latest C++ mapping. Wed Mar 18 18:32:04 1998 Sergio Flores * orbsvcs/orbsvcs/Naming/CosNaming_i.cpp: * orbsvcs/orbsvcs/Naming/CosNaming_i.h: Fixed some allocation errors and added synchronization mechanism for static internal data structures. Also fixed an undefined symbol due to templates not being instantiated. Wed Mar 18 17:22:40 1998 Douglas C. Schmidt * tao/sequence_T.h: Renamed buffer() to get_buffer() to confrom to orbos/98-01-11. * tao/sequence[_T].*: Added the get_buffer(), release(), and replace() methods defined by the proposed orbos/98-01-11 specification. Wed Mar 18 16:54:33 1998 Irfan Pyarali * orbsvcs/orbsvcs/Naming/CosNaming_i.cpp (next_n): Changed ACE_NEW to ACE_NEW_RETURN. Wed Mar 18 16:39:40 1998 Seth Benjamin Widoff * tao/orbobj.{h,cpp}: * tao/params.{h,cpp}: * tao/orbcore.cpp: Expanded the resolve initial references protocol to include bootstrappable services other than the Naming Service. Now, the multicast message includes a field identifying the target service. The values for this field are defined in orbobj.h -- currently there are only TAO_SERVICEID_NAMESERVICE, and TAO_SERVICEID_TRADINGSERVICE. For completeness I've added for the -ORBtradingserviceior and -ORBtradingserviceport command line parameters. * orbsvcs/Naming/Naming_Utils.cpp: * orbsvcs/Naming/Ior_Multicast.cpp: Now, on the receiving end, the bootstrappable service compares the service_id it receives in the multicast message with its own before responding to it. Wed Mar 18 16:04:38 1998 Alexander Babu Arulanthu * orbsvcs/orbsvcs/CosPropertyService.idl (CosPropertyService): Uncommented sequence of typecodes. It passed the tao_idl compiler. Wed Mar 18 07:18:08 1998 David L. Levine * release.pl: uncommented unlink of .del files. * tao/encode.cpp (TAO_Marshal_String::encode): #if 0'd unused local "continue_encoding". * tao/sequence{,_T}.cpp: removed some more "meaningless" const modifiers from casts. * tao/typecode.cpp (private_equal): wrapped a break with ACE_NOTREACHED. * tao/corbacom.h: changed CORBA_Boolean to u_char. Thanks to Seth and Carlos for pointing out that this will conform to the standard. * tao/cdr.i: removed operator <> for CORBA::Boolean _with_ ACE_HAS_BOOL. No ACE platform currently #defines ACE_HAS_BOOL, and this will prevent divergence of TAO code if any do in the future. Wed Mar 18 02:08:55 1998 Nanbor Wang * tests/Param_Test/client.cpp (~Param_Test_Client): Removed releasing of the Param_Test pointer. It is owned by the Driver class. Tue Mar 17 23:28:59 1998 Irfan Pyarali * tao/poa.h (POA): Changed the LOCATION_RESULT enum from protected to private. Tue Mar 17 13:20:05 1998 David L. Levine * tests/Cubit/TAO/IDL_Cubit (print_stats): with ACE_LACKS_FLOATING_POINT, multiply calls/usec by 10^6 to get calls/sec. And, use call_count_ instead of hard-coded 1000. * tao/orbconf.h,interp.cpp: renamed TAO_ALIGNMENT_MAGIC_NUMBER to TAO_MAXIMUM_NATIVE_TYPE_SIZE. * tao/sequence.i,sequence_T.{i,cpp}: removed "const" from some ACE_reinterpret_casts, because ghs warned that it's "meaningless". * tao/cdr.*,decode.cpp (get_encapsulation): changed type of second arg from size_t to CORBA::ULong for platform independence. Tue Mar 17 11:26:28 1998 Carlos O'Ryan * TAO_IDL/be/be_visitor_sequence.cpp: Fixed return value for operator[] in sequences of basic types, the _out and _var classes generated non-nested types. Thanks to Frank. J. Hodum for reporting this problem. Tue Mar 17 10:25:46 1998 Carlos O'Ryan * TAO_IDL/be/be_array.cpp: * TAO_IDL/be/be_attribute.cpp: * TAO_IDL/be/be_exception.cpp: * TAO_IDL/be/be_interface.cpp: * TAO_IDL/be/be_interface_fwd.cpp: * TAO_IDL/be/be_operation.cpp: * TAO_IDL/be/be_sequence.cpp: * TAO_IDL/be/be_state_argument.cpp: * TAO_IDL/be/be_state_attribute.cpp: * TAO_IDL/be/be_state_union.cpp: * TAO_IDL/be/be_structure.cpp: * TAO_IDL/be/be_union.cpp: * TAO_IDL/be/be_visitor_exception.cpp: * TAO_IDL/be/be_visitor_interface.cpp: * TAO_IDL/be/be_visitor_sequence.cpp: * TAO_IDL/be/be_visitor_union_branch.cpp: Some export macros were missing; also fixed minor formatting problems. Mon Mar 16 18:26:51 1998 Irfan Pyarali * tests/POA/Default_Servant/File_i.cpp (open): Fixed string being passed to create_reference_with_id(). The test now works. * tao/poa.cpp (find_servant): Added new method to the POA. It finds and returns the servant related to the key passed by the user. Mon Mar 16 15:27:21 1998 Carlos O'Ryan * TAO_IDL/be/be_visitor_interface.cpp: The _narrow() method is more careful about collocation: the servant could return 0 on the call to _downcast (for instance if the servant is using DSI or is implementing the default servant posicies), in such a case a remote object is created. Generate the _interface_repository_id() method in all classes. * TAO_IDL/be/be_visitor_module.cpp: In some cases the export macros were not generated. * tao/object.h: * tao/object.cpp: Added a new method to get the interface repository id (only locally). * tao/servant_base.cpp: Removed some dead code. Mon Mar 16 14:28:34 1998 David L. Levine * tao/orbconf.h: cleaned up #define of TAO_ALIGNMENT_MAGIC_NUMBER, to allow it to be overridden. Mon Mar 16 10:47:08 1998 Carlos O'Ryan * tao/cdr.h: * tao/cdr.i: * tao/cdr.cpp: The CDR stream class exposed its implementation completely, this change is the first attempt to close that interface and make it safer. The internal representation was changed to a Message_Block, so CDR could eventually create chains of Message_Blocks (minimizing buffer copies and using writev() for output). The next step is to split the class in an input and output interface, following the Java IDL model. * TAO_IDL/Makefile: * TAO_IDL/be/be_array.cpp: * TAO_IDL/be/be_enum.cpp: * TAO_IDL/be/be_exception.cpp: * TAO_IDL/be/be_interface.cpp: * TAO_IDL/be/be_sequence.cpp: * TAO_IDL/be/be_structure.cpp: * TAO_IDL/be/be_typedef.cpp: * TAO_IDL/be/be_union.cpp: * TAO_IDL/be/be_visitor_enum.cpp: * TAO_IDL/be/be_visitor_exception.cpp: * TAO_IDL/be/be_visitor_interface.cpp: * TAO_IDL/be/be_visitor_sequence.cpp: * TAO_IDL/be/be_visitor_structure.cpp: * TAO_IDL/be/be_visitor_typedef.cpp: * TAO_IDL/be/be_visitor_union.cpp: * tao/any.cpp: * tao/connect.cpp: * tao/decode.cpp: * tao/except.cpp: * tao/giop.h: * tao/giop.cpp: * tao/iioporb.cpp: * tao/interp.cpp: * tao/objkeyC.cpp: * tao/poaC.cpp: * tao/tc_const.cpp: * tao/typecode.h: * tao/typecode.cpp: This files were modified to use (or generate, in the case of the IDL compiler) the new CDR stream class interface. * TAO_IDL/be_include/be_type.h: * TAO_IDL/be/be_type.cpp: It used a static buffer to evaluate be_type::nested_type_name(), it was changed for a per-class buffer, but the real solution is to allocate a buffer on the fly and return it to the user, maybe using UTL_String will solve the problem. * tests/Makefile: * tests/CDR/Makefile: * tests/CDR/basic_types.cpp: * tests/CDR/tc.cpp: Added some simple tests to verify that CDR streams work correctly. * taoconfig.mk: The clean target is defined in ACE config files. * docs/orbsvcs.html: Included documentation on the collocation services. * docs/releasenotes/ec.html: Moved some of the changes from "new in this release" to "changes in previous releases". Sun Mar 15 22:36:08 1998 Seth Benjamin Widoff * orbsvcs/orbsvcs/Trader/Admin.* * orbsvcs/orbsvcs/Trader/Lookup.* * orbsvcs/orbsvcs/Trader/Policies.* * orbsvcs/orbsvcs/Trader/Policy_Manager.* * orbsvcs/orbsvcs/Trader/Offer_Iterator_Collection.* Added the logic to perform federated queries. At this point I'm halting further coding of the Trading Service to concentrate on testing and debugging. The only portion of the specfication left unimplemented is the Proxy interface, which isn't of immediate practical use anyway. Sun Mar 15 07:56:02 1998 David L. Levine * TAO_IDL/be/be_visitor_field.cpp (be_visitor_field_cs::visit_sequence): made int return type explicit. Sun Mar 15 06:18:58 1998 Aniruddha Gokhale * TAO_IDL/be_include/{be_codegen, be_visitor_args}.h: Added a new state called "POST_MARSHAL_SS" i.e., to do post processing after the marshaling of return, inout, and out parameters is done in a server skeleton. Added new visitor class to the argument visitors. * TAO_IDL/be/{be_visitor_args, be_visitor_operation, be_interpretive}.cpp: Code for post processing after marshaling in the server skeletons. This was required to support object references. Sat Mar 14 19:28:50 1998 Aniruddha Gokhale * TAO_IDL/be/be_visitor_field.cpp: Added a case for handling anonymous sequences in the client stub visitor. The header file was also changed. Sat Mar 14 19:29:00 1998 David L. Levine * tests/Cubit/TAO/IDL_Cubit/client.cpp (print_stats): added support for ACE_LACKS_FLOATING_POINT. Sat Mar 14 16:40:05 1998 Aniruddha Gokhale * TAO_IDL/be/be_visitor_operation.cpp: We were not generating the "_get_" and "_set_" prefixes for operations corresponding to attributes. This is now fixed. * TAO_IDL/be/be_visitor_enum.cpp: Typecode implementation of enum class was not getting generated due to an incorrect "if" condition. Thanks to Seth Widoff for noticing this. * TAO_IDL/be/be_visitor_union_branch.cpp: We had forgotten to generate the "set" and "get" operation implementation for union members that are sequences. Thanks to Seth Widoff for noticing this. Sat Mar 14 02:48:55 1998 Sumedh Mungee * orbsvcs/orbsvcs/Makefile (IDL_FILES): Added the SFP IDL files and the AV/sfp.cpp to the rules. Sat Mar 14 02:17:34 1998 Seth Benjamin Widoff * orbsvcs/orbsvcs/Trader/*.*: I've hammered out a number of errors from the initial port: the Trading Service compiles on Solaris. * orbsvcs/orbsvcs/Makefile: I've added all the necessary additions to the Makefile for the Trading Service. The makefile will perform the compilation when the 'trader' flag is set to 1 on the command line. * orbsvcs/Trading_Service/Makefile: * orbsvcs/Trading_Service/trader.cpp: trader.cpp instantiates a Trader object and registers its Lookup interface with the bootstrapped Naming Service. All the Trader interfaces are implicitly activated in the Trader class. In the future we'll want to have the Trading Service bootstrappable through the resolve_initial_references method. Sat Mar 14 00:36:30 1998 Alexander Babu Arulanthu * orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp (define_property): * orbsvcs/orbsvcs/Property/CosPropertyService_i.h (PropertyNamesIterator): * orbsvcs/orbsvcs/Property/CosProperty_Hash.cpp (CosProperty_Hash_Value): * orbsvcs/orbsvcs/Property/CosProperty_Hash.h: The tao_idl compiler has been made to generate Any at some places where it was generating Any_var. Hence, I had to modify this implementaion to accomadate this change. Fri Mar 13 10:34:15 1998 Aniruddha Gokhale * TAO_IDL/be/be_visitor_operation.cpp: For return types that are object references, we were using the actual return type and passing its address to the marshaling routine. However, the marshaling routine needs the address of the base class i.e., CORBA::Object. Due to "public virtual" inheritance all kinds of crazy things happen. So now we had to resort to declaring the return value of type "CORBA::Object_ptr" and things worked fine. Fri Mar 13 09:57:51 1998 David L. Levine * tao/corbacom.h: use types of known sizes, such as ACE_UINT32 and ACE_INT16, instead of native types for Boolean, Short, UShort, Float, and Double. Thu Mar 12 21:23:10 1998 Nanbor Wang * tao/debug.cpp (_dmsg_x): Changed ex->id () to ex->_id (). Thu Mar 12 20:40:09 1998 Sergio Flores * tests/Thruput/TAO/client.cpp: * tests/Thruput/TAO/run_client: * tests/Thruput/TAO/run_server: * tests/Thruput/TAO/run_test: Minor fixes in the scripts and usage message. Thu Mar 12 18:02:06 1998 Seth Benjamin Widoff * tao/request.cpp: * tao/typecode.cpp: The is_nil methods of typecode and CORBA had this: (CORBA::Boolean) ptr == 0 to test for the nil condition, when we really want this: (CORBA::Boolean) (ptr == 0). This way we cast the result of the expression, and not the pointer, to CORBA::Boolean. Thu Mar 12 17:49:45 1998 Aniruddha Gokhale * TAO_IDL/be_visitor_typedef.cpp: For typedefs of pseudo object types, we had forgottten to generate a typedef to the _ptr type. Thu Mar 12 17:21:32 1998 Douglas C. Schmidt * tao/sequence_T.cpp: Fixed a couple of weird bugs were freebuf (MAX) was being called instead of freebuf (tmp). Thanks to Keith Nicewarner for reporting this. Thu Mar 12 15:53:44 1998 Aniruddha Gokhale * tao/except.h: Changed the member functions "type ()" and "id ()" on the CORBA::Exception class to "_type ()" and "_id ()". This affected the following files: tao/{except, object, poaC, svrrqst}.cpp * TAO_IDL/be/be_visitor_exception.cpp: Made changes to use the _type and _id methods. Thanks to Seth Widoff for noticing this in his Trader application where a user defined exception had a member called "type" which clashed with the base class operation "type". Thu Mar 12 15:00:47 1998 Aniruddha Gokhale * TAO_IDL/be/be_visitor_exception.cpp: In those cases where object references or strings were assigned, the g++ compiler failed to do implicit conversion to assign a _var to a _ptr type. This is now fixed by using the _var.in () method. * TAO_IDL/be/be_visitor_typedef.cpp: Fixed a bug that was generating typecode information for data types that were imported resulting in a multiply defined symbol error at link time. Thu Mar 12 09:01:43 1998 David L. Levine * TAO_IDL/Makefile: added -Wno-unused to g++ CCFLAGS to suppress warnings about unused parameters and variables. * TAO_IDL/be/be_visitor_interface.cpp (be_visitor_interface_sh::visit_interface, be_visitor_interface_collocated_ss::visit_interface): changed type of loop index "i" to signed, to avoid signed/unsigned comparison. * TAO_IDL/be/be_visitor_sequence.cpp (be_visitor_sequence_ci::visit_sequence): made int return type explicit. * tests/Cubit/TAO/IDL_Cubit/server.cpp (~Cubit_Server): changed root_poa_ to poa_. Thu Mar 12 01:03:17 1998 Irfan Pyarali * tests/POA/NewPOA/NewPOA.cpp (main): Updated the following files to correctly use CORBA::Policies that are used to create new POAs. Things that needed fixing included proper exception handling and making sure to destroy the policies once we were through using them. - TAO/tao/tao_util.cpp - TAO/tests/Cubit/TAO/MT_Cubit/server.cpp - TAO/tests/POA/Default_Servant/server.cpp - TAO/tests/POA/Explicit_Activation/server.cpp - TAO/tests/POA/NewPOA/NewPOA.cpp - TAO/tests/POA/On_Demand_Activation/server.cpp Wed Mar 11 21:02:13 1998 David L. Levine * tao/svrrqst.cpp (marshal): instead of declaring a new loop index "i", use the one at outer scope because it was shadowed. Wed Mar 11 18:10:47 1998 Nanbor Wang * tao/TAO_IDL/tao_idl.dsp: Added new visitor files into the project. Wed Mar 11 17:23:49 1998 Douglas C. Schmidt * tao/tao_util: Changed the name of root_poa_ to poa_ since it doesn't have to be a root POA. Wed Mar 11 14:37:08 1998 Aniruddha Gokhale * TAO_IDL/Makefile: Included be_visitor_exception.cpp and ran make depend * TAO_IDL/be/be_interpretive.cpp: The factory is now able to produce concrete visitors for exceptions. * TAO_IDL/be/be_visitor_args.cpp TAO_IDL/be_include/be_visitor_args.h: Added a method "void_return_type" that determines if the operation return type was "void" or not. This was necessary since we were incorrectly generating ACE_NEW_RETURN statements in stubs for cases that had void return types * TAO_IDL/be/be_visitor_context.cpp TAO_IDL/be_include/be_visitor_context.h: Added a boolean data member that indicates whether we are generating the special constructor in the exceptions. * TAO_IDL/be/be_visitor_exception.cpp TAO_IDL/be/be_visitor_exception.h: Added various visitors for exception handling. * TAO_IDL/be/be_visitor_{struct, union, module, interface, sequence}.cpp: Made sure that code is not generated for imported types. * TAO_IDL/be/be_visitor_typedef.cpp: Eliminated the multiple declaration of typedefed variables and their typecodes. * TAO_IDL/be/be_visitor_interface.cpp: The "_is_a_skel" now uses the same table driven approach as the other skeletons do. Wed Mar 11 12:54:59 1998 Irfan Pyarali * tests/POA/Explicit_Activation/server.cpp (main): The server was changed to test how the POA handles a user given ID which does not contain printable characters. * tao/poa (Policies and Currents): Since Policies and Currents do not have locality constraints, they now inherit from regular servants rather than local servants. This change causes them to register with POAs when their _this() method is invoked. Therefore, the destroy() methods on the Policies was changed to make sure that the Policies are deactivated from the POA they were registered with. * tao/sequence_T.cpp (operator=): The semantics of the elements of a sequence are the same as that of a var variable. Therefore we will not duplicate the user provided pointer before assigning it to the internal variable. However, we will release it. Tue Mar 10 16:09:56 1998 Aniruddha Gokhale * tao/cdr.{h,cpp}: Added a get_string and put_string method for retrieving and encoding a string. This uses "memcpy" rather than having to go through a get_char/put_char for every byte of the string. * tao/connect.cpp: In "handle_request", the marshaling of inout, out, and return value parameters was done inside this method after the operation skeleton had returned. This required unnecessary heap allocation of these parameters. Allocating these parameters on the skeleton call stack was not possible since the marshaling took place after the skeleton had returned. To eliminate these unnecessary waste, 2 new methods on the ServerRequest class are added that perform the demarshaling and marshaling while the skeleton call stack is active. More explanation on these is given below. * tao/{encode, decode}.cpp: Used the get_string and put_string methods on the CDR class. * tao/giop.*: Added a method called "stream" that returns a reference to the underlying CDR stream. This is helpful when you need access to the stream so that data types can be marshaled into the stream using a compiled form of marshaling. This form of marshaling will soon be added to TAO IDL compiler. * tao/object.{h, cpp}: Added a method called "stubobj" which returns a pointer to the underlying Stub_Object. This method eliminates the need to call QueryInterface inside every stub. This way some code size is reduced. Also, removed the "get_most_derived" method as well as the "void *sub_" data member which was useless. * tao/svrrqst.{h, i, cpp}: Added a new file svrrqst.i. Added two new methods on class IIOP_ServerRequest. These methods enable demarshaling and marshaling of parameters while the operation skeleton's call stack is active. The interface to these methods is exactly like the one used by do_call i.e., a table driven approach. Two new data structures - TAO_Param_data_Skel and TAO_Call_Data_Skel are added. These two tables behave in exactly the same way as the TAO_Param_Data and TAO_Call_Data tables. See the generated code to see how these are used by the demarshal and marshal methods. Two more methods and data members are added to this class - "incoming" and "outgoing". These are the CDR streams that indicate the incoming and the outgoing CDR streams. An additional "init_reply" method is added that is useful for the compiled marshaling. This is still experimental. * TAO_IDL: This is the first release of the new TAO_IDL compiler based on the Visitor pattern. All the old files and code is still included in this release until the transition is complete. Although the Visitor pattern is used, we still maintain all the code generation states we had in the previous version of the compiler. The reason is that we maintain a Factory of Visitors indexed on these enumerated states. The downside is the necessity to have states and a larger code size. The larger code size is due to the fact that everytime a Visitor is required, we must first set the appropriate state and then ask the factory to produce it for us. The positive side of this design is that almost all the Visitor files are independent of each other. They only deal with an abstract base level Visitors. The Factory will produce the appropriate specialized Visitor which is a subclass of the base "visitor" class. An additional benefit is that we can switch from having to generate code that uses Interpretive marshaling to compiled marshaling. Visitors for compiled marshaling will be added later. Here are the files that are added: be_include/ be_visitor.h be_visitor_args.h be_visitor_attribute.h be_visitor_constant.h be_visitor_context.h be_visitor_decl.h be_visitor_enum.h be_visitor_field.h be_visitor_interface.h be_visitor_interface_fwd.h be_visitor_module.h be_visitor_operation.h be_visitor_root.h be_visitor_scope.h be_visitor_sequence.h be_visitor_structure.h be_visitor_typedef.h be_visitor_union.h be_visitor_union_branch.h be/ be_visitor.cpp be_visitor_args.cpp be_visitor_attribute.cpp be_visitor_constant.cpp be_visitor_context.cpp be_visitor_decl.cpp be_visitor_enum.cpp be_visitor_exception.cpp be_visitor_field.cpp be_visitor_interface.cpp be_visitor_interface_fwd.cpp be_visitor_module.cpp be_visitor_operation.cpp be_visitor_root.cpp be_visitor_scope.cpp be_visitor_sequence.cpp be_visitor_structure.cpp be_visitor_typedef.cpp be_visitor_union.cpp be_visitor_union_branch.cpp NOTE: Code generation for attributes is achieved by using a crude form of the Adapter pattern. We convert the Attribute node into one or possibly two operation nodes and add scope elements that are arguments. The code gene ration is then handed over to the Operation Visitors. * be/be_interpretive.cpp: This file defined the implementation of the Factory of Visitors for intepretive marshaling. * be_include/be_codegen.h: Added a few more states. Some others are now useless. They will be removed eventually. Also added the Abstract Factory for Visitors. * Makefile: Modofoed to include all the visitor files and ran "make depend" on it. Tue Mar 10 13:22:20 1998 David L. Levine * orbsvcs/tests/Event_Latency/Makefile, orbsvcs/tests/EC_Multiple/Makefile, orbsvcs/tests/Simulator/Event_Supplier/Makefile: removed -pedantic from g++ CCFLAGS because prevented use of native long long (Linux/i386). * orbsvcs/orbsvcs/RtecScheduler.idl: addressed RT_Info open issues, and updated to match TAO paper. The updates consisted of changing the names of the Importance enum values so that we don't have collisions when criticality is added, and comment updates. * orbsvcs/Event/Dispatching_Modules.cpp,ReactorTask.cpp, orbsvcs/Sched/Config_Scheduler.cpp, orbsvcs/tests/EC_Multiple/EC_Multiple.cpp, orbsvcs/tests/Event_Latency/Event_Latency.cpp, orbsvcs/tests/Simulator/Event_Supplier/Event_{Con,Sup}.cpp: added _IMPORTANCE to Importance enum values. Mon Mar 09 22:27:53 1998 Irfan Pyarali * tests/POA/Generic_Servant/client.cpp: Added code to time calls and produce stats. * tao/svrrqst: Removed the lock in CORBA_ServerRequest which was used to protect the refcount. This protection was excessive. * tao/optable.cpp: Changed the table so that it does not use a RW Lock. Since the optable is read only, a null lock will suffice. * tao/objtable.cpp: Changed the implementation of TAO_Dynamic_Hash_ObjTable so that it does not use a RW Lock. The POA takes care of all necessary locking, and therefore, a null lock will suffice. * tao/poa: The following optimizations were made to decrease the time a POA takes to find a servant: - Added new classes TAO_Creation_Time and TAO_Temporary_Creation_Time. These classes are used to record and compare the creation time of POAs. The old method was inefficient as unsigned long were used. These long required conversions to strings. The new scheme uses a fixed size buffer. The TAO_Temporary_Creation_Time is a special class that tracks the creation time only during the lifetime of the upcall. - parse_key_permanent_id() and parse_key_temporary_id() were added so that the parse_key() routine can distinguish when to create a new id and when to create a special id which is only used during the lifetime of the upcall. - rfind() was added so that the TAO_POA::String::rfind() does not have to be used. - Changed the object_key_type from String to char. - In post_invoke(), only create the POA_var if necessary. - Changed create_object_key() and parse_key() so that the old format of: Transient/Seconds/MicroSecond/POAName/ObjectId to: T/TimeStampPOAName/ObjectId - Removed excessive memcpy() and strcpy() calls in parse_key(). - Changed create_object_id() to not include the POA name. - Changed is_poa_generated_id() to take the changes to create_object_id() into account. - Changed string_to_ObjectId() and ObjectId_to_string() to not use encode and decode routines. Mon Mar 9 15:23:19 1998 Sumedh Mungee * orbsvcs/tests/AVStreams/mpeg/source/server/server.cpp (open): Temporarily disabled use of threads, and reverted back to the forking model. The threaded model needs more work before it can safely support multiple clients. Mon Mar 9 14:57:13 1998 Carlos O'Ryan * tao/sequence.h: * tao/sequence.cpp: * tao/sequence_T.h: * tao/sequence_T.cpp: Removed the _narrow_fixup() method, it was causing problem with sequences of TypeCodes and it is not really needed: the functionality can be implemented in the stubs (skeletons) and/or the >>= methods. Mon Mar 09 09:59:01 1998 David L. Levine * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp: removed VxWorks-specific code, because it was no longer used, and relied on a header that was not distributed with TAO. Sat Mar 07 12:14:58 1998 Chris Cleeland * TAO version 0.1.7, released Sat Mar 07 12:14:58 1998. Sat Mar 7 11:59:27 1998 Chris Cleeland * tao/orb_core.cpp (get_root_poa): Changed this from being a macro-implemented method to a hand-implemented method. This is necessary b/c the location of its resource is keyed not off resource_source_ but rathe off poa_source_, and there's no macro avaialble for that. Thanks to John Geiss for reporting the bug that led to this fix! Sat Mar 07 08:29:51 1998 David L. Levine * tao/orb_core.cpp (TAO_Default_Reactor ctor and dtor): removed inline qualifiers. * tests/Cubit/TAO/MT_Cubit/Makefile: changed -lm to(MATHLIB). It looks like Sun C++ and g++ link with -lm by default, so there shouldn't be any affect on those platforms. Others may have to define MATHLIB in their platform_macros.GNU. * tests/Cubit/TAO/MT_Cubit/client.cpp (do_priority_inversion_test): changed variables low_client and high_client to low_priority_client and high_priority_client. Replaced use of cerr with ACE_DEBUG. Fri Mar 6 17:56:25 1998 Chris Cleeland * Aloha: I bid fond farewall to Team TAO for now. Thanks for the fun times! * tests/NestedUpcall/server.cpp: Integrated new stuff. * tests/NestedUpcall/client.cpp: Called new 'stop' method. * tests/NestedUpcall/{Reactor.idl,reactor_i.*}: Added 'stop' to Reactor interface to shutdown the server. * tao/tao_util.cpp: Added code to explicitly destroy policies after creating a child POA. * tao/poaS.h: Added a little comment to bring this up in C++ mode in emacs. * tao/poa.cpp: Performed explicit deletes on buffers. * tao/object.{cpp,i}: Moved DTOR into .cpp and stuck in comment explaining refcount semantics on CORBA_Object. * tao/iiopobj.i: Changed initial refcount value to zero; the ORB Core must perform an explicit AddRef() if it intends to hold on to this object. * tao/iiopobj.cpp: Changed Release() so that it will call 'delete this' whenever the refcount is below zero. Fri Mar 06 11:38:38 1998 Nanbor Wang * docs/Options.html: Shrinked the table widths to 80% so we can see everything without scrolling. Thanks to Darrell for the HTML tip. Fri Mar 06 09:36:47 1998 David L. Levine * tao/object.i (CORBA_Object): reordered initializers to match declaration order. Also, move _set_parent () before the constructor so that it is defined before being used. * tao/cdr.{i,cpp}: modified to base in/out operations on ULongLong instead of LongLong, because we have better support for ULongLong with ACE_LACKS_LONGLONG_T. * tao/cdr.{h,cpp} (get_ulonglong): removed const argument qualifier. Fri Mar 06 00:18:38 1998 Irfan Pyarali * tao/poaS and poaC: Removed about a 1000 lines of stubs and skeletons code from poaC.cpp and poaS.cpp. This code was not necessary because of the locality constraints on certain POA objects. This should help reduce the footprint of TAO. Thu Mar 5 19:54:27 1998 Sergio Flores * orbsvcs/orbsvcs/Naming/CosNaming_i.cpp: bind_context, rebind, and bind were fixed to handle errors more carefully. Thanks to Mark Boriack for pointing this out. Thu Mar 5 18:15:32 1998 Chris Cleeland * tao/giop.cpp: Removed crufty unused code. * tao/iioporb.cpp: * tao/iiopobj.*: * tao/decode.cpp: * tao/object.{h,i}: * tao/orbobj.cpp: * tao/poaC.cpp: * tao/request.cpp: * tao/servant_base.{h,cpp}: Broke the old, incestous, bizarre "contained" relationship between IIOP_Object and CORBA_Object. Now, multiple CORBA_Objects can reference the same IIOP_Object, and each is reference-counted separately. Moreover, an IIOP_Object has no back-pointer to a CORBA_Object. All of this should help alleviate many memory leaks. * TAO_IDL/be/be_interface.cpp: Changed emitted code for _narrow and _bind to deal with new relationship btw. CORBA_Object and IIOP_Object. Thu Mar 5 17:45:28 1998 Carlos O'Ryan * tao/cdr.i: If CORBA::WChar is an alias for CORBA::Short we cannot overload operator<< on it. * tao/corbacom.h: * tao/typecode.h: MSVC++ does not like a class forward declared as a structure. * tests/Cubit/TAO/MT_Cubit/Makefile: -lm is required in IRIX. Thu Mar 05 16:18:53 1998 Irfan Pyarali * tao/poa.cpp (ObjectId_to_wstring and ObjectId_to_const_wstring): Changed the odd looking access to a sequence's buffer to use the new buffer() accessor. Thu Mar 5 13:15:37 1998 Carlos O'Ryan * tao/cdr.h: * tao/cdr.i: Added a error flag to the class and some << and >> operators to start a more useable interface for the CDR streams. * tao/any.h: * tao/any.cpp: * tao/except.h: * tao/except.cpp: * tao/nvlist.h: * tao/nvlist.cpp: * tao/principa.h: * tao/principa.cpp: * tao/request.h: * tao/request.cpp: * tao/typecode.h: * tao/typecode.i: * tao/typecode.cpp: They don't inherit from IUnknown any more. Removed the QueryInterface method, but kept AddRef and Release to keep the change propagation to a minimum. In accordance to the new memory managment scheme the locks were also removed, the agument is: + In the common case the locks are *not* needed. + When needed a lock at that level does *not* work. + The application can add its own locking for the objects that are effectively shared among threads. * tao/sequence.h: * tao/sequence.cpp: * tao/sequence_T.h: * tao/sequence_T.cpp: Sequences of objects require some post processing *after* demarshalling: the object references must be narrowed to the right type; a new virtual method was added for that purpose. Thu Mar 05 09:08:09 1998 David L. Levine * .../Makefile: added(POSTLINK) to link commands. Please, if you don't use rules.bin.GNU, be sure to follow it as closely as possible. Wed Mar 04 19:49:31 1998 David L. Levine * tao/orb_core (preconnect): changed type of loop index to size_t to avoid signed/unsigned comparison. Added some template instantiations. Wed Mar 4 16:35:37 1998 Chris Cleeland * tao/orbobj.*: Added an extension to the CORBA_ORB interface that allows an application to preconnect to multiple servers by specifying a string of host:port pairs. * tao/orb_core.*: Broke the preconnection logic out of init() and made it its own method, preconnect(). This also uses Connector<>::connect_n() rather than implementing its own loop. It really didn't make things much easier, but we can take advantage of future improvements to that implementation transparently, now. * docs/Options.html: Added more details on various options. Tue Mar 03 21:11:22 1998 David L. Levine * orbsvcs/orbsvcs/RtecScheduler.idl: updated a comment: the units of Period are 100 ns. * orbsvcs/orbsvcs/Event/Dispatching_Modules.cpp (initialize_queues), Task_Manager.cpp (initialize): maintain period in units of 100 ns when converting period from a 64 bit to a 32 bit int. * orbsvcs/orbsvcs/Event/Dispatching_Modules.cpp (open_queue), ReactorTask.cpp (open_reactor): assign name to thread using units of us. Mon Mar 2 19:01:44 1998 Alexander Babu Arulanthu * orbsvcs/tests/CosPropertyService/main.cpp (class TAO_PropertySet_Tester): Added this wrapper class to organise my test code, testing the methods in the PropertyService interfaces. Mon Mar 2 16:48:59 1998 Carlos O'Ryan * TAO_IDL/be/be_codegen.cpp: * TAO_IDL/fe/idl.ll: * TAO_IDL/fe/lex.yy.cpp: * TAO_IDL/util/utl_global.cpp: More changes attempting to remove the \ problem for NT. * tao/orbobj.h: Added a missing TAO_Export macro. * tao/typecode.h: * tao/typecode.i: Added the _var and _out classes for CORBA_TypeCode. * tao/corbacom.h: Added the TypeCode_var and TypeCode_out classes to the CORBA class. Mon Mar 2 15:39:57 1998 Douglas C. Schmidt * tao/sequence_T.h: Added a ptr() accessor to both the TAO_Bounded_Sequence and TAO_Unbounded_Sequence classes. Thanks to Carol Sanders for suggesting this. * tao/sequence[_T].{i,cpp}: Cleaned up a bunch of ACE_reinterpret_cast() operations. Thanks to Russ Noseworthy for reporting this. Mon Mar 2 13:13:19 1998 Carlos O'Ryan * TAO_IDL/fe/idl.ll: * TAO_IDL/fe/lex.yy.cpp: Fixed pathname canonization for NT, we convert a double backslash into a single slash. Mon Mar 02 08:00:41 1998 David L. Levine * tao/orb_core.cpp: only instantiate ACE_Convert with g++. Even that shouldn't need it, because it's always inline. But, g++ typically creates out-of-line instantiations of inline template member functions. * tao/sequence.{h,cpp} (TAO_{B,Unb}ounded_Base_Sequence): added (virtual) destructors. Without them, GreenHills on Chorus was duplicating their vtables when instantiating templates based on those classes. * orbsvcs/orbsvcs/Makefile,tmplinst-orbsvcs.cpp: renamed tmplinst.cpp to tmplinst-orbsvcs.cpp to avoid mangled name collisions with tmplinst.cpp in test directories, when using GreenHills/Chorus. * tests/Cubit/TAO/IDL_Cubit/server.cpp (main): added explicit int return type. Sun Mar 1 13:42:56 1998 Nanbor Wang * release.pl: This script will now move the 'Current' tag to point to the latest beta release. Sun Mar 1 10:40:31 1998 Aniruddha Gokhale * tao/{poa, objtable}.cpp: Removed the "Anachronism" warning associated with the _out parameters passed to the find () method. Sat Feb 28 18:37:54 1998 Alexander Babu Arulanthu * orbsvcs/orbsvcs/Property/CosProperty_Hash.cpp: * orbsvcs/orbsvcs/Property/CosProperty_Hash.h: * orbsvcs/tests/CosPropertyService/main.cpp: Added some more code to test the functions defined in CosPropertyService_i.cpp. * orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp: * orbsvcs/orbsvcs/Property/CosPropertyService_i.h: * orbsvcs/orbsvcs/CosPropertyService.idl: * orbsvcs/tests/Makefile (DIRS): Added the directory CosPropertyService under DIRS here. It is compiled when av=1. Fri Feb 27 19:55:09 1998 Nagarajan Surendran * tests/Cubit/TAO/IDL_Cubit/IDL_Cubit_Test.cpp (main): Added this file which spawns the server and client and terminates them after some time. Fri Feb 27 17:57:55 1998 Chris Cleeland * tests/NestedUpcall/server.cpp: Started integrating the TAO_ORB_Manager, but it's untested thus far so it's conditionally-compiled out. * tao/{any,connect,default_server,except, orb_core,orbobj,principa,request}.cpp: Whacked out a bunch of @@ comments. Fri Feb 27 16:11:53 1998 Sergio Flores * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp: * tests/Cubit/TAO/MT_Cubit/Task_Client.h: * tests/Cubit/TAO/MT_Cubit/Util_Thread.cpp: * tests/Cubit/TAO/MT_Cubit/Util_Thread.h: * tests/Cubit/TAO/MT_Cubit/client.cpp: * tests/Cubit/TAO/MT_Cubit/server.cpp: * tests/Cubit/TAO/MT_Cubit/server.h: Changes to make it compile on sigle-threaded platforms. * docs/releasenotes/index.html: update to naming service entry. Fri Feb 27 15:03:58 1998 Chris Cleeland * docs/Options.html (TAO_Default_Server_Strategy_Factory): Added documentation for POA-related lock strategies. * tao/connect.cpp (handle_input): Added call to Reactor::suspend_handler() in here so that, in the bizarre corner case where sub-event loop "A" eventually leads to sub-sub-event loop "B" being called, but input becomes available for "A"'s descriptor prior to "B"'s descriptor, B's loop won't spin wildly, gobbling up CPU. Fri Feb 27 15:00:42 1998 David L. Levine * orbsvcs/orbsvcs/Time_Utilities.i (hrtime_to_TimeT): with ACE_LACKS_LONGLONG_T, set the high word directly. The ACE_U_LongLong operator >> returns an ACE_U_LongLong, so the assignment won't work otherwise. * tao/orb_core.cpp: added ACE_Convert (const char *, u_int &) instantiation. Fri Feb 27 12:08:19 1998 Nanbor Wang * tao/orb_core.h (TAO_Resource_Factory): Changed to use TAO_Default_Reactor class in TAO_Resource_Factory. Fri Feb 27 11:10:24 1998 Chris Cleeland * test/NestedUpcall/{eh_i,reactor_i}.cpp: Changed debug statements to utilize the new ACE_Log_Msg conversions to indent scopes, etc. Fri Feb 27 00:40:36 1998 Douglas C. Schmidt * TAO version 0.1.6, released Fri Feb 27 00:40:36 1998. Thu Feb 26 19:29:33 1998 Seth Benjamin Widoff * orbscvs/orbsvcs/Trader/Admin.cpp: * orbsvcs/orbsvcs/Trader/Admin.h: * orbsvcs/orbsvcs/Trader/Attributes.cpp: * orbsvcs/orbsvcs/Trader/Attributes.h: * orbsvcs/orbsvcs/Trader/Constraint.cpp: * orbsvcs/orbsvcs/Trader/Constraint.h: * orbsvcs/orbsvcs/Trader/Constraint_Evaluator.cpp: * orbsvcs/orbsvcs/Trader/Constraint_Evaluator.h: * orbsvcs/orbsvcs/Trader/Constraint_Interpreter.cpp: * orbsvcs/orbsvcs/Trader/Constraint_Interpreter.h: * orbsvcs/orbsvcs/Trader/Constraint_Nodes.cpp: * orbsvcs/orbsvcs/Trader/Constraint_Nodes.h: * orbsvcs/orbsvcs/Trader/Constraint_Tokens.h: * orbsvcs/orbsvcs/Trader/Constraint_Validator.cpp: * orbsvcs/orbsvcs/Trader/Constraint_Validator.h: * orbsvcs/orbsvcs/Trader/Constraint_Visitor.h: * orbsvcs/orbsvcs/Trader/Constraint_l.cpp: * orbsvcs/orbsvcs/Trader/Constraint_y.cpp: * orbsvcs/orbsvcs/Trader/Dynamic_Property.cpp: * orbsvcs/orbsvcs/Trader/Dynamic_Property.h: * orbsvcs/orbsvcs/Trader/Interpreter.cpp: * orbsvcs/orbsvcs/Trader/Interpreter.h: * orbsvcs/orbsvcs/Trader/Link.cpp: * orbsvcs/orbsvcs/Trader/Link.h: * orbsvcs/orbsvcs/Trader/Lookup.cpp: * orbsvcs/orbsvcs/Trader/Lookup.h: * orbsvcs/orbsvcs/Trader/Monitor.h: * orbsvcs/orbsvcs/Trader/Offer_Filter.cpp: * orbsvcs/orbsvcs/Trader/Offer_Filter.h: * orbsvcs/orbsvcs/Trader/Offer_Id_Iterator.cpp: * orbsvcs/orbsvcs/Trader/Offer_Id_Iterator.h: * orbsvcs/orbsvcs/Trader/Offer_Iterator.cpp: * orbsvcs/orbsvcs/Trader/Offer_Iterator.h: * orbsvcs/orbsvcs/Trader/Offer_Modifier.cpp: * orbsvcs/orbsvcs/Trader/Offer_Modifier.h: * orbsvcs/orbsvcs/Trader/Policies.cpp: * orbsvcs/orbsvcs/Trader/Policies.h: * orbsvcs/orbsvcs/Trader/Policy_Manager.cpp: * orbsvcs/orbsvcs/Trader/Policy_Manager.h: * orbsvcs/orbsvcs/Trader/Preference_Interpreter.cpp: * orbsvcs/orbsvcs/Trader/Preference_Interpreter.h: * orbsvcs/orbsvcs/Trader/Property_Evaluator.cpp: * orbsvcs/orbsvcs/Trader/Property_Evaluator.h: * orbsvcs/orbsvcs/Trader/Property_Filter.cpp: * orbsvcs/orbsvcs/Trader/Property_Filter.h: * orbsvcs/orbsvcs/Trader/Proxy.cpp: * orbsvcs/orbsvcs/Trader/Proxy.h: * orbsvcs/orbsvcs/Trader/Query_Only_Offer_Iterator.cpp: * orbsvcs/orbsvcs/Trader/Query_Only_Offer_Iterator.h: * orbsvcs/orbsvcs/Trader/README: * orbsvcs/orbsvcs/Trader/Register.cpp: * orbsvcs/orbsvcs/Trader/Register.h: * orbsvcs/orbsvcs/Trader/Register_Offer_Iterator.cpp: * orbsvcs/orbsvcs/Trader/Register_Offer_Iterator.h: * orbsvcs/orbsvcs/Trader/Sequences.idl: * orbsvcs/orbsvcs/Trader/Service_Type_Map.cpp: * orbsvcs/orbsvcs/Trader/Service_Type_Map.h: * orbsvcs/orbsvcs/Trader/Service_Type_Repository.cpp: * orbsvcs/orbsvcs/Trader/Service_Type_Repository.h: * orbsvcs/orbsvcs/Trader/Trader.cpp: * orbsvcs/orbsvcs/Trader/Trader.h: * orbsvcs/orbsvcs/Trader/Trader_Base.cpp: * orbsvcs/orbsvcs/Trader/Trader_Base.h: * orbsvcs/orbsvcs/Trader/constraint.l: * orbsvcs/orbsvcs/Trader/constraint.y: * orbsvcs/orbsvcs/CosTrading.idl: * orbsvcs/Trading_Service/Makefile: * orbsvcs/Trading_Service/trader.cpp: The Trading Service has a new home and a new orb. I've migrated the VisiBroker implementation of the Trading Service to TAO by having the interfaces inherit from the POA_CosTrading skeletons, replacing the the C++ exception handling with the TAO_* macro exception handling and CORBA::Environment passing, and prefixing all top level classes with 'TAO_'. Because the tao_idl generated code from CosTrading.idl was having some trouble, nothing here has been compiled since the port. The README file contains additions to the Makefile necessary to accommodate the Trading Service's reliance on STL. The orbsvcs/Trading_Service/trader.cpp is a server that activates the supported interfaces of our Trading Service. At this point our Trader adheres to the Stand Alone Trader designation of conformance as described in the specification. Thu Feb 26 18:38:56 1998 Nanbor Wang * orbsvcs/orbsvcs/Naming/Naming_Utils.cpp (TAO_Naming_Server): Fixed a syntax error. Thu Feb 26 18:07:16 1998 Alexander Babu Arulanthu * docs/releasenotes/index.html: Added an entry for the Property Service. Thu Feb 26 17:36:21 1998 Nanbor Wang * tao/orb_core.{h,cpp} (TAO_Default_Reactor): I added the new class tring to strategize the type of reactor used. It is not used at the moment. Thu Feb 26 16:18:47 1998 Douglas C. Schmidt * TAO_IDL/be/be_interface.cpp (gen_client_stubs): Split out some code to use a couple temporary variables to work around what might be a Heisenbug with GCC. Thanks to Carlos O'Ryan and Keith Nicewarner for reporting this. Thu Feb 26 14:52:20 1998 Chris Cleeland * tests/NestedUpcall/{eh_i,reactor_i}.{h,cpp}: Added implementation for the new decrement operation. * tests/NestedUpcall/client.cpp: Added calls to invoke the new decrement operation. * tests/NestedUpcall/Reactor.idl: Added a new operation, decrement, to test multi-nested upcalls. * tao/connect.cpp (send_request): Fixed to return appropriate return values, especially in case of errors. Thu Feb 26 14:02:36 1998 Nanbor Wang * tao/tao_util.cpp (activate_under_child_poa): Instead of returning a String_var, return String_var._retn (). (activate_under_child_poa): Actually, it seems better just use String than String_var. Thu Feb 26 13:31:06 1998 David L. Levine * TAO_IDL/Makefile: added "all" target for CROSS-COMPILE platforms. Thu Feb 26 05:39:43 1998 Nanbor Wang * tests/NestedUpcall/client.cpp: Cast (char *) to 0 which is used to initialize remote_reactor_key. (main): Added ACE_const_cast in string_to_object call. * tests/NestedUpcall/NestedUpcall.dsw: * tests/NestedUpcall/client.dsp: * tests/Nestedupcall/server.dsp: New project files for NT. * tests/Cubit/TAO/IDL_Cubit/server.cpp (init_naming_service,main): Appended a return at the end. * tests/Cubit/TAO/IDL_Cubit/client.dsp: * tests/Cubit/TAO/IDL_Cubit/server.dsp: Updated project file lists. * tao/TAO.dsp: Added tao_util.cpp into this project. * tao/tao_util.h (TAO_ORB_Manager): Added TAO_Export flag. * orbsvcs/orbsvcs/orbsvcs.dsp: Added Ior_Multicast.cpp and Naming_Utils.cpp into this project. * orbsvcs/orbsvcs/Naming/Ior_Multicast.h: * orbsvcs/orbsvcs/Naming/Naming_Utils.h: Added TAO_ORBSVCS_Export flag. * orbsvcs/Naming_Service/Naming_Service.cpp: Added a return statement to muffle MSVC. Wed Feb 25 22:53:56 1998 Douglas C. Schmidt * tao/orbobj: Changed the signature of the run(ACE_Time_Value &) method to run(const ACE_Time_Value &) so we can pass the const ACE_Time_Value::zero to it. Thanks to Chris Cleeland for suggesting this. * orbsvcs/orbsvcs/Event/RT_Task.h: Changed the use of ACE_MT_SYNCH to ACE_SYNCH so that we can at least build the Event Channel on a single-threaded platform. * orbsvcs/orbsvcs/Event_Service_Constants.h: Changed the use of ACE_Thread_Mutex and ACE_RT_Thread_Mutex to ACE_THREAD_MUTEX and ACE_RW_THREAD_MUTEX, respectively, so that TAO will build on non-threaded platforms. * tao/poa.cpp, tao/default_server.cpp: Fixed TAO by conditionally compiling the code that relies on the recursive mutexes and mutexes. Thanks to Jim Penny for reporting this. Wed Feb 25 22:47:48 1998 Sergio Flores * tests/Cubit/TAO/MT_Cubit/README:: * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp: * tests/Cubit/TAO/MT_Cubit/Task_Client.h: * tests/Cubit/TAO/MT_Cubit/cubit.idl: * tests/Cubit/TAO/MT_Cubit/cubit_i.cpp: * tests/Cubit/TAO/MT_Cubit/cubit_i.h: Made changes to have the option to specify oneway calls instead of the usual two-way cube_X() call. Now, you can specify the "-o" argument on the client side. Wed Feb 25 22:47:16 1998 Nagarajan Surendran * tests/Cubit/TAO/IDL_Cubit/client.cpp (parse_args): Similar to server.cpp changed the meaning of -s option to not to use the naming service and naming service is used by default. * tests/Cubit/TAO/IDL_Cubit/server.cpp (parse_args): Changed the meaning of the -s option to "don't use the naming service" and made using the naming service the default. Wed Feb 25 22:47:16 1998 Nagarajan Surendran * tests/Cubit/TAO/IDL_Cubit/server.cpp (parse_args): Changed the meaning of the -s flag to "don't use the naming service" and made using the naming service the default. Wed Feb 25 18:03:35 1998 Carlos O'Ryan * orbsvcs/orbsvcs/Makefile: * orbsvcs/tests/AVStreams/Makefile: * tests/Cubit/TAO/IDL_Cubit/Makefile: Updated dependencies. Wed Feb 25 17:13:05 1998 Nagarajan Surendran * orbsvcs/Naming_Service/Naming_Service.cpp (Naming_Service): Changed the main to just create an instance of Naming_Service and call init and run on it. * orbsvcs/Naming_Service/Naming_Service.h: Added this file which defines a Naming_Service class to simplify the Naming_Service.cpp file. Wed Feb 25 16:52:13 1998 Chris Cleeland * tao/servant_base.cpp: Updated to reflect change of poa_current_ from structure to pointer. * tao/poa.*: Changed signature of pre_invoke() and post_invoke() to deal with poa current storage coming from the stack. * tao/poa.cpp (dispatch_servant_i): Changed to create POA Current information record on the stack during the upcall, thus clearing the way for proper operation in the face of nested upcalls. * tao/orbobj.cpp: Updated to reflect change of poa_current_ from structure to pointer. * tao/orb_core.*: Changed poa_current_ to a pointer rather than ownership. This allows the structure holding the POA Current information to be created in the activation record for the upcall, thus opening the door for proper operation in the face of nested upcalls. * tao/giop.h: Removed cruft/unused code. * tao/giop.cpp: Addressed some '@@' comments. * tao/connect.*: Fixed a problem where nested upcalls would only work every other time. This was caused by the fact that the servant-turned-client cached the connection to the client-turned-servant. However, when the client-turned-servant terminated, the servant-turned-client was ignoring input events on this cached connection handle. Then, when the next instance of the client-turned-servant came along and tried to connect, when the servant-turned-client made the invocation back to the client-turned-servant, the cached handle was returned. However, when its input was read, rather than getting the expected response, an EOF was received and the servant-turned-client aborted the entire original invocation. This was fixed by having the TAO_Client_Connection_Handler always registered to receive input events and to maintain record of its state so that it can tell whether or not it's expecting input. If it receives an unexpected input event, then it will simply close down the connection, possibly logging a warning message as well. Wed Feb 25 16:06:59 1998 Sumedh Mungee * orbsvcs/tests/AVStreams/{client,server}.{h,cpp}: Added callback support Wed Feb 25 16:04:49 1998 Sumedh Mungee * orbsvcs/orbsvcs/AV/AVStreams_i.cpp,h: Added support for making upcalls into the application when connection is established, requested etc.. Wed Feb 25 12:58:04 1998 Nagarajan Surendran * tao/tao_util.cpp: Added the implementation for the 2 new methods to use a child_poa. * tao/tao_util.h (class TAO_ORB_Manager): Added 2 new methods init_child_poa and activate_under_child_poa to create a child_poa with policies PERSISTENT and USER_ID. * orbsvcs/orbsvcs/Naming/CosNaming_i.cpp (bind): Added checks for null pointers in ACE_DEBUG. * orbsvcs/orbsvcs/Naming/Naming_Utils.cpp: Moved this file from orbsvcs/Naming_Service/ to this dir. * orbsvcs/orbsvcs/Naming/Naming_Utils.h: Moved this file from orbsvcs/Naming_Service/ to this directory. Wed Feb 25 12:20:04 1998 David L. Levine * tao/any.cpp (operator<<=): removed declaration of local "tc", which shadowed the declaration in the outer scope. * tao/giop.cpp (start): added a debug message for connection failures. This is where problems often occur for new users/ environments, and it'll help diagnose configuration problems. And Linux getsockname () bugs. Tue Feb 24 21:05:08 1998 Nagarajan Surendran * orbsvcs/Naming_Service/Main.cpp: This now contains the main which was previously in Naming_Service.cpp to facilitate integrating the IOR_Multicast class defined in Naming_Service.cpp into the orbsvcs library. * orbsvcs/Naming_Service/Naming_Utils.h: Defines a new TAO_Naming_Server wrapper class which can be used as a Naming_Server component if one wants a separate Naming_Server. * orbsvcs/Naming_Service/Naming_Utils.cpp: Added this new file which implements the TAO_Naming_Server class. * tests/Cubit/TAO/IDL_Cubit/client.cpp (read_ior): Added 2 new methods read_ior and init_naming_service. * tests/Cubit/TAO/IDL_Cubit/server.cpp: Now contains the implementation of Cubit_Server class with a really simple main. * tests/Cubit/TAO/IDL_Cubit/server.h (class Cubit_Server): Defined a new Cubit_Server class akin to Cubit_Client. * orbsvcs/Naming_Service/Naming_Service.cpp: Moved the main () to a separate file Main.cpp Tue Feb 24 17:45:20 1998 Douglas C. Schmidt * tao/orbobj.h: Removed the unnecessary = 0 on the new run method. * tao/orbobj.cpp (run): Added a new run() method that takes an ACE_Time_Value & rather than an ACE_Time_Value * so that we don't need to pass the address! Tue Feb 24 14:31:37 1998 Chris Cleeland * tests/NestedUpcall/client.cpp (main): Replaced orb->open() with orb->run(&ACE_Time_Value::zero), which though still non-standard, is less non-standard than open(). * tests/NestedUpcall/README: Added one for the good of all mankind. Tue Feb 24 13:23:48 1998 Michael Kircher * orbsvcs/tests/Simulator/NavWeap.idl: Added new fields * orbsvcs/tests/Simulator/Event_Supplier/Event_Sup.cpp: adopted to new IDL file * orbsvcs/tests/Simulator/Sim_Display/Display_Push_Consumer.java: adopted to new IDL file Tue Feb 24 00:41:48 1998 Alexander Babu Arulanthu * orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp: Added TITLE, DESCRIPTION for all the classes Mon Feb 23 22:40:22 1998 David L. Levine * tao/cdr.h: removed old, commented out configuration code. * TAO_IDL/be/be_decl.cpp (tc_name2long): changed type of "buf" array from char to long so that it gets properly aligned. This solves the core dump problem with tao_idl on egcs/Solaris. Thanks to Håkan Källberg for reporting this. * TAO/tests/Thruput/TAO/utils.cpp (prep_timer): cast LONG_MAX to ACE_INT32 to avoid overflow problems if the result is an int type, and long is bigger than int. * orbsvcs/orbsvcs/Event/Event_Channel.i: specify constant 2147483648u as unsigned, to avoid compiler warning. * TAO_IDL/Makefile: removed -fPIC for g++ because it's not needed without shared libraries. * TAO_IDL/Makefile: added Cleanup section, which cleans out builds that were created with the nested version of the Makefile. Mon Feb 23 22:13:14 1998 David L. Levine * TAO version 0.1.5, released Mon Feb 23 22:13:14 1998. Mon Feb 23 21:30:04 1998 David L. Levine * TAO_IDL/Makefile: added the g++ options that were picked up from be/Makefile. * tests/Cubit/TAO/MT_Cubit/server.cpp (start_servants): declare local "i" outside of for loop because it is reused in a few loops. Mon Feb 23 20:45:03 1998 Michael Kircher * orbsvcs/tests/Simulator/Sim_Display: Fixed some small bugs concerning the representation * orbsvcs/tests/Simulator/Event_Supplier/Event_Sup.cpp: Changed the rate on which events are supplied Mon Feb 23 18:51:03 1998 Sergio Flores * orbsvcs/Naming_Service/Naming_Service.cpp (main): Set the handle limit to the maximum. * tests/Cubit/TAO/MT_Cubit/server.cpp (initialize_orb): Fixed a warning from compiler. Mon Feb 23 17:33:52 1998 Carlos O'Ryan * TAO_IDL/Makefile: We don't generate the compiler as a single executable, without multiple shared libraries. Mon Feb 23 16:55:08 1998 David L. Levine * orbsvcs/orbsvcs/Event_Service_Constants.h: changed types of ACE_ES_* constants from u_long to long to match RtecEventComm::EventType. * orbsvcs/orbsvcs/Event/Memory_Pools.cpp: updated template instantiations to use ACE_Singleton instead of ACE_TSS. Mon Feb 23 12:25:21 1998 Carlos O'Ryan * orbsvcs/orbsvcs/Event/Memory_Pools.h: * orbsvcs/orbsvcs/Event/Memory_Pools.i: * orbsvcs/orbsvcs/Event/Memory_Pools.cpp: We cannot use TSS memory pools: in some cases the memory is allocated in one thread and disposed in another. Until we can clean out that behavior I'm using a singleton. Mon Feb 23 11:57:16 1998 Alexander Babu Arulanthu * orbsvcs/orbsvcs/Property/ : Changed the names EXT_ID and INT_ID that I used for Hash_Table operations to less generic CosProperty_Hash_Key and CosProperty_Hash_Value respectively. Mon Feb 23 11:40:37 1998 David L. Levine * tao/corbacom.h (CORBA::LongLong): use ACE_BIG_ENDIAN instead of TAO_WORDS_BIGENDIAN. * tao/orbconf.h (TAO_ENCAP_BYTE_ORDER): use ACE_LITTLE_ENDIAN instead of trying to figure it out from cpp #defines, which failed for LynxOS. Also, removed TAO_WORDS_BIGENDIAN. * tao/interp.cpp (declare_entry,setup_entry): use the align_struct_ with padding by default, unless TAO_HAS_FIXED_BYTE_ALIGNMENT is #defined. * tao/corba.h: added ACE_UNUSED_ARG (VAR); to TAO_CATCH macro for platforms without ACE_HAS_EXCEPTIONS, to avoid compiler warning about unused variable if VAR isn't used anywhere. * TAO_IDL/Makefile: added clean and realclean targets for CROSS-COMPILE platforms. * TAO_IDL/be/be_interface.cpp (be_interface::relative_name): commented out unused local variable "def_scope". * TAO_IDL/be/be_sequence.cpp: commented out some unused variables to avoid compiler warnings. The comments correspond to commented-out sections of code. * TAO_IDL/be/be_visitor_interface.cpp (be_visitor_collocated_ss::visit_operation): removed unused local "nl". * TAO_IDL/be/be_visitor_root.cpp (be_visitor_root_ch::visit_sequence): added ACE_UNUSED_ARG (node). * TAO_IDL/be/be_visitor_sequence.cpp (be_visitor_sequence_ch::visit_sequence): commented out unused local "cg". * orbsvcs/tests/Event_Latency/Event_Latency.cpp (Latency_Supplier::push): added ACE_UNUSED_ARG (_env). Mon Feb 23 10:58:42 1998 Carlos O'Ryan * orbsvcs/orbsvcs/AV/AVStreams_i.h: * orbsvcs/orbsvcs/Event/Dispatching_Modules.h: * orbsvcs/orbsvcs/Event/Event_Channel.cpp: * orbsvcs/orbsvcs/Event/Fast_Reactor.h: * orbsvcs/orbsvcs/Event/GPlot_File.h: * orbsvcs/orbsvcs/Property/CosPropertyService_i.h: * orbsvcs/orbsvcs/Property/CosProperty_Hash.h: * orbsvcs/orbsvcs/Sched/DynSched.h: * orbsvcs/orbsvcs/Sched/SchedEntry.h: * orbsvcs/orbsvcs/Sched/Strategy_Scheduler.h: * Added more TAO_ORBSVCS_Export macros, this time in files that are not compiled all the time. Sun Feb 22 22:14:08 1998 Chris Cleeland * tao/giop.cpp (invoke): Created my own temporary variable in order to de-warn on g++ and Sun CC. Sun Feb 22 20:12:24 1998 Nanbor Wang * orbsvcs/orbsvcs/orbsvcs/orbsvcs.dsp: Adapted chages to the directory rearrangement. * orbsvcs/orbsvcs/Runtime_Scheduler.h: * orbsvcs/orbsvcs/Scheduler_Utilities.h: * orbsvcs/orbsvcs/Event/BCU.h: * orbsvcs/orbsvcs/Event/Dispatching_Modules.h: * orbsvcs/orbsvcs/Event/Event_Channel.h: * orbsvcs/orbsvcs/Event/Memory_Pools.h: * orbsvcs/orbsvcs/Event/RT_Task.h: * orbsvcs/orbsvcs/Event/ReactorTask.h: * orbsvcs/orbsvcs/Event/Task_Manager.h: * orbsvcs/orbsvcs/Naming/CosNaming_i.h: * orbsvcs/orbsvcs/Naming/Entries.h: * orbsvcs/orbsvcs/Sched/Config_Scheduler.h: * orbsvcs/orbsvcs/Sched/Scheduler.h: * orbsvcs/orbsvcs/Sched/Scheduler_Generic.h: Added TAO_ORBSVCS_Export flags. Sat Feb 21 08:08:55 1998 David L. Levine * rules.tao.GNU: added -Wno-used to CCFLAGS, with g++ only. * tao/align.h,corbacom.h,orbconf.h,orbobj.cpp: use ACE Basic_Types instead of local SIZEOF_* macros. * tao/debug.cpp: null f{,un}lockfile with ACE_HAS_DCE_DRAFT4_THREADS (LynxOS). * tao/any.cpp (operator<<=): initialized local "tc" to avoid compiler warnings. * tests/POA/On_Demand_Activation/Servant_Activator.cpp (etherealize), Servant_Locator.cpp (preinvoke,postinvoke): added some ACE_UNUSED_ARG's. * TAO_IDL/Makefile,tao/Makefile: use CROSS-COMPILE flag instead of CHORUS, LYNXOS, and VXWORKS. This allows us to add new cross- compile platforms without having to modify the TAO Makefiles. The new platform need only set the CROSS-COMPILE flag. Sat Feb 21 00:31:20 1998 Chris Cleeland * tao/connect.* (send_request): Modified to take an extra arg which specifies whether or not the request is a twoway, i.e., whether or not it should enter a sub-event loop looking for a reply. * tao/giop.cpp (invoke): Changed to match signature of send_request. * tests/NestedUpcall/Reactor.idl: Added a oneway method to test nested upcalls with oneways. * tests/NestedUpcall/reactor_i.*: Added the oneway implementation. * tests/NestedUpcall/client.cpp: Made oneway invocation to test a problem that the nested upcall allowing ORB exhibited. Thanks to Carlos for reporting this! Fri Feb 20 14:40:28 1998 Chris Cleeland * tao/connect.*: Extended TAO_Client_Connection_Handler to be run a sub-event loop while sending a request in order to handle nested upcalls. A really cool side-effect of this is that if your application start out being a client but has servants too, it's really easy to get that up and running. An example of this is shown in the new test, NestedUpcall. * tao/giop.cpp (invoke): Changed to call send_request on the client connection handler rather than TAO_GIOP. This new send_request will handle nested upcalls (see above). * tao/giop.* (send_request): Changed signature so that the TAO_SVC_HANDLER* wasn't passed by reference. This was totally unnecessary. * tao/{iioporb,orbobj}.* (string_to_object): Removed unnecessary 'const' preceding CORBA::String. Fri Feb 20 08:29:35 1998 David L. Levine * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp (svc): added .in () dereference to several objref uses. * orbsvcs/orbsvcs/Event/Memory_Pools.cpp: updated the ACE_TSS > template instantiation to use the ACE_LOCAL_MEMORY_POOL macro. * orbsvcs/orbsvcs/Event/Event_Channel.{h,cpp} (ACE_ES_{Con,Dis}junction_Group): added virtual destructors. Thu Feb 19 12:54:50 1998 Alexander Babu Arulanthu * orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp (create_initial_propertysetdef): Assigned dummy return values in order to avoid Warnings. * orbsvcs/orbsvcs/Property/CosProeprtyService.idl file removed from here. It is supposed to be there in ./.. Thu Feb 19 12:49:49 1998 David L. Levine * Makefile: build orbsvcs before tests. * tao/Makefile: set fakesvcconf on LynxOS. * TAO_IDL/Makefile: don't build the IDL compiler for Chorus, LynxOS, or VxWorks. * tao/orbobj.cpp: enhanced some printouts. * tao/tao_util.cpp (orb): added .in () dereference to orb_ argument. Thu Feb 19 10:15:00 1998 Michael Kircher * orbsvcs/test/Simulator: Set the file permissions right. Thu Feb 19 10:15:00 1998 Michael Kircher * orbsvcs/test/Simulator: Intruduced new demo, using the Event Service as transport media for monitoring events. See orbsvcs/test/Simulator/README for more information in orbsvcs/tests/Simulator: NavWeap.idl - IDL definition of the Navigation and Weapons struct ss - restart services script in orbsvcs/tests/Simulator/Event_Supplier: Event_Sup.cpp - Event Supplier Event_Sup.h - Event Supplier class definition Makefile - Event Supplier Makefile (Event_Con.cpp, Event_Con.h - Event Consumer for testing) svc.conf - helper file in orbsvcs/tests/Simulator/Sim_Display: Display.java - Simulation Display_Client.java - Main Entry point of the Simulation Display_Consumer.java - Event Consumer Display_Object.java - Interface for an Display_Object Display_Weapons.java - Implementation of an Display_Object Display_Art_Horizon.java - Implementation of an Display_Object Display_Object_Factory.java - Factory Object for Display_Objects Graph.java - Simulation Graph_Panel.java - Simulation NS_Resolve.java - Resolving the inital reference to the Naming Service Queue.java - Simulation Sim_Panel.java - Simulation Border_Panel.java - Simulation Wed Feb 18 22:15:06 1998 Sumedh Mungee * tao/tao_util.cpp,h: Updated class to include a constructor so user can supply his own orb, poa or manager. Wed Feb 18 21:40:24 1998 * docs/orbsvcs.html: Updated the description of orbsvcs directory hierarchy. Wed Feb 18 19:45:57 1998 Alexander Babu Arulanthu * Added the idl file for the CosPropertyService , i.e. orbsvcs/orbsvcs/Property/CosPropertyService.idl Wed Feb 18 17:56:54 1998 Carlos O'Ryan * orbsvcs: Moved all the implementations to the orbsvcs libraries, this is the first step to give the user control over object collocation. Please note that this version is only known to compile on Solaris/CC, it will *not* compile on NT (some "export" macros are missing); since this change is very disruptive (because it moves files around) it was thought that holding it for a long time will result in more harm than good. A top-level make onTAO_ROOT/orbsvcs works OK. Wed Feb 18 17:10:23 1998 Sumedh Mungee * tao/tao_util.cpp (init): The ORB_Manager class does not create it's own POA, but uses the default root POA instead. Wed Feb 18 16:02:34 1998 Alexander Babu Arulanthu * Commented and indented the follwing files in orbsvcs/orbsvcs/ CosPropertyService.idl CosPropertyService_i.h CosPropertyService_i.cpp Wed Feb 18 12:28:58 1998 Carlos O'Ryan * tests/Thruput/TAO/tmplinst.cpp: The templates should be instantiated over the CORBA:: typedefs, otherwise they fail in weird platforms. Wed Feb 18 11:57:24 1998 Chris Cleeland * tests/Cubit/TAO/MT_Cubit/Makefile (LDLIBS): Removed -lposix4 from the LDLIBS. Thanks to Bob Olson for reporting this. Wed Feb 18 02:58:40 1998 Nanbor Wang * orbsvcs/Naming_Service/Naming_Service.cpp (IOR_Multicast): Make sure that response_addr_ is properly initialized before it is used to initialize response_, which is an ACE_SOCK_Dgram. Tue Feb 17 20:20:35 1998 Douglas C. Schmidt * tao/giop.cpp: Removed an extra explicit template instantiation of TAO_Unbounded_Sequence. Thanks to Ben Eng for reporting this! * tests/Thruput/TAO/Makefile: Removed the "clean" macro since it was conflicting with the TAO default. Tue Feb 17 21:47:41 1998 Nagarajan Surendran * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp (shutdown): Renamed please_exit method to shutdown. * tests/Cubit/TAO/IDL_Cubit/cubit.idl: Renamed please_exit operation to shutdown. Tue Feb 17 17:22:47 1998 Chris Cleeland * TAO version 0.1.4, released Tue Feb 17 17:22:47 1998. Tue Feb 17 16:50:20 1998 Chris Cleeland * tao/orbobj.cpp (open): Modified so that if it's been called multiple times it returns '1' rather than '-1', thus not appearing to calling code as an error. Tue Feb 17 16:05:55 1998 Nanbor Wang * orbsvcs/orbsvcs/orbsvcs.dsp: Chris G. updated the file list of this project. * orbsvcs/orbsvcs/Time_Utilities.h: * orbsvcs/orbsvcs/Event_Utilities.h: Added MS keayword, TAO_ORBSVCS_Export. * tests/Cubit/TAO/IDL_Cubit/client.dsp: * tests/Cubit/TAO/IDL_Cubit/server.dsp: Updated project setting to take the advantage of TAO naming service. * orbsvcs/tests/Event_Latency/Event_Latency.dsp: Updated project setting to use DLL version of orbsvcs. Tue Feb 17 15:39:49 1998 Sergio Flores * tests/Cubit/TAO/MT_Cubit/Makefile: * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp: * tests/Cubit/TAO/MT_Cubit/Task_Client.h:: * tests/Cubit/TAO/MT_Cubit/client.cpp: * tests/Cubit/TAO/MT_Cubit/cubit.idl: * tests/Cubit/TAO/MT_Cubit/cubit_i.cpp: * tests/Cubit/TAO/MT_Cubit/cubit_i.h: * tests/Cubit/TAO/MT_Cubit/server.cpp: * tests/Cubit/TAO/MT_Cubit/server.h: Made a bunch of changes to correctly support the POA. In addition, MT_Cubit now uses the Name Service to bind the Cubit objects. In case the Name Service doesn't exist, there is still the "cut&paste" ior method that uses a cubit factory to give the client a reference to the cubit objects. Tue Feb 17 13:25:52 1998 Nanbor Wang * TAO-INSTALL.html: Added instructions on using the CPP_LOCATION environment variable in NT's section. You can also use it on UNIX but NT is the only platform which depends on it. Tue Feb 17 11:30:53 1998 David L. Levine * tao/orbconf.h: set TAO_ALIGNMENT_MAGIC_NUMBER to 128 if ACE_SIZEOF_LONG > 4, e.g., on 64-bit CPUs. * tao/except.cpp (make_standard_typecode): replaced unsigned long/ long with CORBA::ULong/CORBA::Long. * TAO_IDL/ast/ast_array.cpp,ast_operation.cpp,ast_sequence.cpp, ast_string.cpp, TAO_IDL/util/utl_decllist.cpp,utl_exceptlist.cpp,utl_exprlist.cpp, utl_idlist.cpp,utl_labellist.cpp,utl_namelist.cpp,utl_strlist.cpp: moved base class initialization to beginning of initializer list. Tue Feb 17 10:43:45 1998 Carlos O'Ryan * orbsvcs/orbsvcs/CosTimeBase.idl: * orbsvcs/orbsvcs/Time_Utilities.cpp: * orbsvcs/orbsvcs/Time_Utilities.h: * orbsvcs/orbsvcs/Time_Utilities.i: Added the standard CORBA types for time, also added some helper routines to convert between BasicTime::TimeT and the common representations of time in ACE (ACE_Time_Value and ACE_hrtime_t) * orbsvcs/orbsvcs/RtecEventComm.idl: * orbsvcs/orbsvcs/RtecScheduler.idl: * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: * orbsvcs/tests/Event_Latency/Event_Latency.cpp: * orbsvcs/Event_Service/ReactorTask.cpp: * orbsvcs/Event_Service/Task_Manager.cpp: * orbsvcs/Scheduling_Service/Config_Scheduler.cpp: * orbsvcs/Scheduling_Service/Config_Scheduler.h: * orbsvcs/Scheduling_Service/Scheduler.cpp: * orbsvcs/orbsvcs/Channel_Clients_T.i: * orbsvcs/orbsvcs/Event_Service_Constants.h: * orbsvcs/orbsvcs/Event_Utilities.i: * orbsvcs/orbsvcs/Runtime_Scheduler.cpp: * orbsvcs/orbsvcs/Runtime_Scheduler.h: * orbsvcs/Event_Service/Dispatching_Modules.cpp: * orbsvcs/Event_Service/Event_Channel.cpp: Adapted all the code to use the new time structures. * orbsvcs/orbsvcs/Makefile: * orbsvcs/tests/EC_Multiple/Makefile: * orbsvcs/tests/Event_Latency/Makefile: * orbsvcs/tests/Logger/Makefile: * orbsvcs/tests/Simple_Naming/Makefile: * orbsvcs/Event_Service/Makefile: * orbsvcs/Naming_Service/Makefile: * orbsvcs/Scheduling_Service/Makefile: * orbsvcs/Dump_Schedule/Makefile: Updated dependencies. * docs/releasenotes/ec.html: Updated documentation for this release. Tue Feb 17 07:40:49 1998 Douglas C. Schmidt * tao/any.cpp: Added a "return *this" to operator= to stop certain compilers from complaining. Thanks to Andy for fixing this. Tue Feb 17 04:08:11 1998 Nanbor Wang * TAO_IDL/driver/drv_preproc.cpp (DRV_cpp_init): Setting the CPP_PATH has been causing a lot of nasty trouble on NT. I changed this function to allow overwriting the internal c++ compiler location at run time using CPP_LOCATION. If someone forgets to set the CPP_PATH when compiling tao_idl, one can make tao_idl work by defining this environment variable to something like: set CPP_LOCATION="C:/Program Files/DevStudio/VC/BIN/CL.exe" Notice that CPP_LOCATION _must_ be a full pathname of the c++ compiler. Tue Feb 17 00:56:08 1998 Alexander Babu Arulanthu * orbsvcs/tests/CosPropertyService/main.cpp (main): Added some more testing for Any in and out of Hash Table. Mon Feb 16 18:01:23 1998 Chris Cleeland * TAO version 0.1.3, released Mon Feb 16 18:01:23 1998. Mon Feb 16 18:00:15 1998 Chris Cleeland * release.pl: Changed C++ comment leaders to Perl comment leaders. Mon Feb 16 17:51:15 1998 Nagarajan Surendran * tests/Cubit/TAO/IDL_Cubit/svr.cpp : Added -s option to use the NamingService. Default doesn't use NamingService. Mon Feb 16 17:38:15 1998 Chris Cleeland * tao/iioporb.cpp: Made sure to count separators when allocating space for the IOR. This corrected ABW errors in purify. * tao/connect.cpp: Explicitly set the buffer when being purified to avoid complaints. Mon Feb 16 17:22:15 1998 Nagarajan Surendran * tests/Cubit/TAO/IDL_Cubit/Makefile: Changed LDFLAGS to link orbsvcs library.Now uses the Naming service. * tests/Cubit/TAO/IDL_Cubit/svr.cpp: Added code to register IDL_Cubit/cubit_factory name with the naming service. * tests/Cubit/TAO/IDL_Cubit/clnt.cpp: Added a -s flag to use the NamingService to resolve the cubit_factory flag. It still has the commandline IOR and -f ior_file options. Mon Feb 16 13:29:31 1998 Brian Mendel * tao/poa.cpp: Added SCE_HAS_TEMPLATE_TYPEDEFS_CHAR guards around ACE_OS:strlen calls for WChar(s). * tao/default.bld, tao.bld: Update VxWorks GHS Build files. Mon Feb 16 12:24:04 1998 Chris Cleeland * tests/Cubit/TAO/IDL_Cubit/clnt.h (needed.): Added missing member variable. Things now compile. Mon Feb 16 10:18:25 1998 David L. Levine * tao/poa.cpp (decode_string_to_sequence): moved declaration of local "i" outside of loop because it is used after the loop. * orbsvcs/Event_Service/RT_Task.cpp (synch_threads): try two fallback strategies if the task activiation fails: ACE_SCHED_OTHER scheduling class with requested priority, then ACE_SCHED_OTHER scheduling class with minimum thread priority. Thanks to Bob Olson for reporting the problem in Irix, which doesn't have a thread priority of 0 with ACE_SCHED_OTHER. * tao/corbacom.h (CORBA_SEQUENCE): replaced CORBA::B_FALSE with 0 because some compilers, such as egcs, can't handle its use before definition below in class CORBA. Thanks to Todd Pack for reporting this. * tao/giop.cpp (TAO_GIOP_message_name): cast quotient of sizeof's to int to avoid signed/unsigned comparison. * tao/interp.cpp (calc_nested_size_and_alignment,private_size, private_alignment): qualified TC_KIND_COUNT with CORBA::, so that the file-scope TC_KIND_COUNT isn't used in the comparison. Mon Feb 16 10:14:34 1998 Carlos O'Ryan * TAO_IDL/be/be_array.cpp: The _free method was emitted in the .i file, but it was not declared inline. Thanks to Michael Kircher (mk1@cs.wustl.edu) for reporting this one. Mon Feb 16 02:34:24 1998 Alexander Babu Arulanthu * orbsvcs/orbsvcs/CosPropertyService_i.cpp: Defined some of the functions for the TAO_PropertySet class. * orbsvcs/orbsvcs/CosPropertyService_i.h: Defined the classes for implementing the CosPropertyService for TAO. * orbsvcs/tests/CosPropertyService/Makefile: Added this Makefile ( Makefile for making test program for the PropertyService ) * orbsvcs/orbsvcs/CosProperty_Hash.cpp: Added this file. * orbsvcs/orbsvcs/CosProperty_Hash.h (Table): Added this file. This contains the classes for maintaining Hash Table for storing the PropertySets. * orbsvcs/tests/CosPropertyService/main.cpp (main): Added this test file for CosPropertyService Sun Feb 15 20:12:00 1998 Chris Cleeland * tao/poa.{h,cpp}: Heavily modified several routines to correct problems with the notion of what, exactly, an object key really is. Some were treating it as simply an octet sequence, others as a zero-terminated string (C-style), while others as a sequence of octets which must be terminated by a zero. Object keys and IDs are now stored canonically as opaque octet sequences, and two new conversion routines (encode_sequence_to_string and decode_string_to_sequence) have been created to convert between these octet sequences and C-style strings. * tao/iioporb.cpp (object_to_string): Modified to utilize the new encoding routines to convert from octet sequences to printable strings. * tao/{tao_internals,orbobj}.cpp: Added explicit inclusion of Object_Manager.h. Sun Feb 15 16:15:49 1998 Nagarajan Surendran * tests/Param_Test/options.cpp (parse_args): Changed the -f option to read the servant-IOR from a file. * tests/Cubit/TAO/IDL_Cubit/clnt.cpp: Changed the -f to -f . Reads the ior from that file. * tests/Cubit/TAO/IDL_Cubit/svr.cpp : Added -o option to output the cubit factory ior to a file. Sat Feb 14 22:39:46 1998 Sergio Flores * orbsvcs/tests/Logger/clnt.cpp (init): Added negative test case of name not found when calling the naming service' resolve() method. Fri Feb 13 19:37:01 1998 Douglas C. Schmidt * tao/orbobj.cpp (resolve_name_service): Changed char buf[BUFSIZ] to char buf[ACE_MAX_DGRAM_SIZE] to make sure we don't overflow the buffer! Fri Feb 13 18:18:54 1998 Sergio Flores * tests/Makefile: * tests/Thruput/TAO/client.cpp: * tests/Thruput/TAO/Makefile: * tests/Thruput/TAO/server.cpp: * tests/Thruput/TAO/ttcp_i.cpp: * tests/Thruput/TAO/ttcp_i.h: * tests/Thruput/TAO/utils.cpp: Made changes to use the new POA. Fri Feb 13 12:56:01 1998 David L. Levine * release.pl: fixed typo, missing comma between chmod args. Fri Feb 13 12:46:26 1998 David L. Levine * TAO version 0.1.2, released Fri Feb 13 12:46:26 1998. Thu Feb 12 21:09:22 1998 Sumedh Mungee * orbsvcs/orbsvcs/AVStreams_i.{h,cpp}: Updated MMDevice and StreamCtrl Thu Feb 12 20:55:48 1998 Sumedh Mungee * tests/AVStreams/client,server: Updated to use the new StreamCtrl, MMDevice etc.. Thu Feb 12 11:06:48 1998 Chris Cleeland * tao/poaC.i (PortableServer): Moved POA::_nil() definition above many uses. Thu Feb 12 10:21:47 1998 David L. Levine * tests/TAO/Cubit/TAO/MT_Cubit/Task_Client.cpp (svc): added .in () to objref and cb so that it will compile with g++. * tao/Makefile,xdr.{h,cpp},t-xdr.cpp,corba.h: removed xdr files because they're no longer used. * tao/encode.cpp,poa.{h,cpp},poaC.{h,cpp}: replaced wchar_t with CORBA::WChar. * TAO_IDL/ast/ast_generator.cpp,TAO_IDL/be/be_generator.cpp (create_wstring): use short instead of wchar_t if ACE_HAS_WCHAR_TYPEDEFS_CHAR. * TAO_IDL/be/be_array.cpp (tao_name): changed type of loop index "i" to unsigned int to avoid signed/unsigned comparison. * TAO_IDL/be/be_state_exception.cpp,be_state_structure.cpp (gen_code): added default case to switch statement, which sets "os" to 0, to avoid compiler warning about possible unitialized use. * tests/POA/Default_Servant/File_i.cpp (lseek): changed type of "result" to CORBA::Long to avoid signed/unsigned comparison with -1. Cast it to CORBA::ULong on return. Also, added a couple of ACE_UNUSED_ARG (env)'s. * tests/Param_Test/server.cpp (main): initialize local "param_test" to 0 to avoid warning about unitialized use. * orbsvcs/Scheduling_Service (compute_scheduling): added cast of impl->tasks () to RtecScheduler::handle_t to avoid signed/ unsigned comparison. Also, added a bunch of ACE_UNUSED_ARG (env)'s. * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp (EC_Proxy::push, Test_ECP::push): changed type of loop index "i" to u_int to avoid signed/unsigned comparison. Also, added an ACE_UNUSED_ARG (env). Wed Feb 11 11:20:34 1998 David L. Levine * tao/iiopobj.h,stub.h (operator =): added return type to avoid compiler warning, and wrapped in ACE_UNIMPLEMENTED_FUNC. * tao/corbacom.h: rearranged LongLong typedefs so that they work with ACE_LACKS_LONGLONG_T. * tao/Timeprobe.cpp (print_times): divide by 1000u instead of 1000 to allow overload resolution of ACE_U_LongLong::operator /. * tao/orb_core.cpp: removed break's after return's to avoid compiler warnings. * tao/typecode.cpp: wrapped some break and return statements with ACE_NOTREACHED to avoid compiler warnings. * tao/debug.cpp (use_debug_stream_to_get_rid_of_warning): changed to return debug_stream instead of (not) using it. ghs warned that "controlling expression is constant" the way things were. * TAO_IDL/Makefile: added default_vxworks target to prevent make warning. Tue Feb 10 17:39:13 1998 Chris Gill * orbsvcs/Scheduling_Service/SchedEntry.cpp orbsvcs/Scheduling_Service/DynSched.{cpp,h} orbsvcs/Scheduling_Service/Strategy_Scheduler.{cpp,h} : fixes to priority assignment, timeline generation methods (fourth cut - timelines being generated) Tue Feb 10 11:19:20 1998 Carlos O'Ryan * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: Fixed several problems detected by SGI/C++ compiler. Mon Feb 9 20:00:55 1998 Chris Gill * orbsvcs/Scheduling_Service/SchedEntry.{cpp,h,i} orbsvcs/Scheduling_Service/DynSched.{cpp,h,i} orbsvcs/Scheduling_Service/Strategy_Scheduler.{cpp,h} : finished timeline coding, got a clean source compile (third cut - still a work in progress) Mon Feb 9 12:59:29 1998 Carlos O'Ryan * orbsvcs/orbsvcs/RtecEventComm.idl: * orbsvcs/Event_Service/Event_Channel.cpp: * orbsvcs/Event_Service/Event_Channel.i: * orbsvcs/orbsvcs/Event_Utilities.cpp: * orbsvcs/orbsvcs/Event_Utilities.i: * orbsvcs/tests/Event_Latency/Event_Latency.cpp: Added comments to the EventComm module and a new field (ttl_: Time-to-Live) to the event data structure. * orbsvcs/orbsvcs/Channel_Clients_T.cpp: * orbsvcs/orbsvcs/Channel_Clients_T.h: * orbsvcs/orbsvcs/Channel_Clients_T.i: I finally needed the TIE classes for PushConsumers and PushSupplier, they work OK now. * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: * orbsvcs/tests/EC_Multiple/EC_Multiple.h: * orbsvcs/tests/EC_Multiple/README: * orbsvcs/tests/EC_Multiple/Makefile: * orbsvcs/tests/Makefile: Added a simple example on how to connect multiple event channels. * orbsvcs/Event_Service/Event_Service.cpp: * orbsvcs/Naming_Service/CosNaming_i.cpp: Added and/or fixed some debug messages. * orbsvcs/Scheduling_Service/Config_Scheduler.cpp: Reduce default output level. * tao/corba.h: Fixed TAO_RETHROW_RETURN macro. * docs/releasenotes/ec.html: * docs/releasenotes/index.html: Split the Event Channel release notes to a separate file, the index.html was growing without control. Mon Feb 9 09:15:08 1998 Carlos O'Ryan * docs/releasenotes/orbcore.html: Fixed reference to TAO-Install.html, thanks to Sreedharani for reporting this one. Sun Feb 08 21:41:24 1998 David L. Levine * tao_util.cpp (run): added return 0 statement at end. Sun Feb 8 19:48:33 1998 Chris Gill * orbsvcs/Scheduling_Service/SchedEntry.{cpp,h,i} : Moved the Classes for the various scheduling entries out of the ACE_Scheduler class and into a separate set of files (first cut - still a work in progress) * orbsvcs/Scheduling_Service/DynSched.{cpp,h,i} : Completed merges of dispatches, and a thorough review of priority assignment (second cut - still a work in progress) * orbsvcs/Scheduling_Service/Strategy_Scheduler.{cpp,h} : Completed merges of dispatches, and a thorough review of the modified strategies (second cut - still a work in progress) Fri Feb 6 15:31:17 1998 Carlos O'Ryan * TAO_IDL/be/be_array.cpp: Fixed several problems with the array code generation, including: + The name for the array TypeCode and its alias TypeCode were clashing. + Several inconsistencies in the declaration and definition of operations for _var, _out and _forany parameters. Thanks to James Mason for reporting this. * TAO_IDL/be/be_type.cpp: Increased the buffer size for some names to the "standard" NAMEBUFSIZE. * docs/releasenotes/orbcore.html: The "Last Updated" field is set by CVS now. * tao/interp.cpp: * tao/encode.cpp: Removed obsolete comments. Wed Feb 4 12:30:43 1998 Chris Cleeland * tao/objkeyC.h: Modified so that the namespace mapping for the TAO module uses the alternative "underbar" mapping, i.e., rather than TAO::ObjectKey, it's now TAO_ObjectKey. The scoping operation is now performed in tao.h. * tao/tao.h: This now contains a class (used as a namespace) in which components which *should* be in the TAO:: namespace are typedef'd. * tao/tao_util.*: Moved TAO_ORB_Manager into here. * tao/stub.h: * tao/servant_base.cpp: * tao/poa.h: * tao/poa.cpp: * tao/orbobj.h: * tao/orbobj.cpp: * tao/orb_core.h: * tao/orb_core.cpp: * tao/object.h: * tao/object.cpp: * tao/iiopobj.h: * tao/iiopobj.cpp: * tao/corba.h: Changed references of TAO::ObjectKey to TAO_ObjectKey. * tao/Makefile: Adjusted build tao_util.so rather than tao.so. Mon Feb 2 22:51:03 1998 Nanbor Wang * rules.tao.GNU (TAO_IDLFLAGS): * orbsvcs/orbsvcs/Makefile (TAO_IDLFLAGS): Changed IDLFLAGS to TAO_IDLFLAGS to avoid naming conflict with IDLFLAGS for other IDL compilers. Mon Feb 2 21:41:32 1998 Nanbor Wang * orbsvcs/orbsvcs/Makefile: Added Win32 IDL flags for portability. Mon Feb 02 18:50:19 1998 Nanbor Wang * orbsvcs/orbsvcs/Scheduler_Factory.h: Added the TAO_ORBSVCS_Export directive to class Scheduler_Factory. * TAO_IDL/GenExportH.BAT: New Windows batch file which generate an header file with approriate exporting flags defined. See this file for details. * orbsvcs/orbsvcs_export.h: New file that defines the Export directives for Win32. Generated by GenExportH.BAT in TAO_IDL/. * orbsvcs/orbsvcs/orbsvcs.dsw: Added new project file for DLL version of orbsvcs library. * orbsvcs/orbsvcs/orbsvcs.dsp: New project file for DLL version of orbsvcs library. * orbsvcs/orbsvcs/orbsvcs_lib.dsp: Changed the tao_idl custom build commands so it builds files for both LIB and DLL libraries. * orbsvcs/orbsvcs.dsw: * orbsvcs/Dump_Schedule/Dump_Schedule.dsp: * orbsvcs/Event_Service/Event_Service.dsp: * orbsvcs/Naming_Service/Naming_Service.dsp: * orbsvcs/Scheduling_Service/Scheduling_Service.dsp: Changed to use DLL version of orbsvcs library. Mon Feb 2 18:08:21 1998 Carlos O'Ryan * tao/sequence_T.cpp: Fixed problems in memory reallocation for TAO_Unbounded_Sequence::operator=(). Mon Feb 2 13:47:23 1998 Sumedh Mungee * tao/Makefile: Renamed tao_util to tao. Ditto for the .h and .cpp files. Also renamed the TAO_Util::ORB_Manager class to TAO_ORB_Manager. Mon Feb 2 13:47:01 1998 Carlos O'Ryan * TAO_IDL/be/be_visitor_args.cpp: Fixed the mapping for strings as INOUT parameters. Mon Feb 02 08:59:57 1998 David L. Levine * tao/tao_util.cpp (init): added .in () to poa_object in call to _narrow, so that it will compile with g++. * orbsvcs/tests/Logger/Makefile, orbsvcs/orbsvcs/Makefile, tests/POA/FindPOA/Makefile, tests/POA/{Default,Generic}_Servant/Makefile, tests/POA/NewPOA/Makefile, tests/Cubit/TAO/{IDL,MT}_Cubit/Makefile, tests/Param_Test/Makefile, tests/Thruput/TAO/Makefile: inserted (or moved) TAO_ROOT definition to top of file. Sat Jan 31 01:08:19 1998 Carlos O'Ryan * docs/releasenotes/index.html: The IDL compiler has support for NT DLLs already, I moved the tiem from the "issues" to the "new features" list. * docs/index.html: * docs/compiler.html: Added documentation for TAO IDL compiler behavior and options. * TAO_IDL/be/be_init.cpp: Print a reasonable version for the compiler back-end, it is no longer the Sun example BE and the version is (around 0.1.0). Fri Jan 30 16:27:47 1998 Douglas C. Schmidt * TAO version 0.1.1, released Fri Jan 30 16:27:47 1998. Fri Jan 30 15:35:06 1998 Carlos O'Ryan * TAO_IDL/be/be_args.cpp: * TAO_IDL/be/be_array.cpp: * TAO_IDL/be/be_codegen.cpp: * TAO_IDL/be/be_enum.cpp: * TAO_IDL/be/be_exception.cpp: * TAO_IDL/be/be_interface.cpp: * TAO_IDL/be/be_interface_fwd.cpp: * TAO_IDL/be/be_module.cpp: * TAO_IDL/be/be_sequence.cpp: * TAO_IDL/be/be_structure.cpp: * TAO_IDL/be/be_typedef.cpp: * TAO_IDL/be/be_union.cpp: * TAO_IDL/be/be_visitor_interface.cpp: * TAO_IDL/be/be_visitor_sequence.cpp: * TAO_IDL/include/idl_global.h: * TAO_IDL/util/utl_global.cpp: Added support for export macros and a user defined include file, this was needed to support DLL's in NT. * tests/Cubit/TAO/IDL_Cubit/Makefile: Removed a broken test target; thanks to Michael Kircher Fri Jan 30 15:30:30 1998 Chris Gill * orbsvcs/Scheduling_Service/DynSched.{cpp,h,i} : The Dynamic Scheduler Implementation (first cut - still a work in progress) * orbsvcs/Scheduling_Service/Strategy_Scheduler.{cpp,h,i} : The strategized scheduler subclass and the corresponding strategies (first cut - still a work in progress) Fri Jan 30 15:10:01 1998 Douglas C. Schmidt * README: Updated the documentation to reflect the latest changes to TAO. Thanks to Hans Rohnert for noticing this. Fri Jan 30 14:38:30 1998 Sumedh Mungee * orbsvcs/orbsvcs/util.cpp : Added TAO_ORB_Manager, a simple helper class that does simple ORB and POA initialization and object activation etc. * orbsvcs/orbsvcs/util.h : Added file Fri Jan 30 13:15:10 1998 Chris Cleeland * Makefile (RELEASE_FILES): Added rules.tao.GNU and taoconfig.mk to this...missing in release 0.1.0. Thanks to Mark Boriack of SAIC for reporting this. Fri Jan 30 11:55:38 1998 Nanbor Wang * orbsvcs/orbsvcs/orbsvcs_lib.dsp: Logging service was somehow missing from the library. * orbsvcs/tests/Logger/Logger.dsw: * orbsvcs/tests/Logger/{server,client}.dsp: Added new project file. * orbsvcs/tests/Logger/svr.cpp: * orbsvcs/tests/Logger/clnt.cpp: * orbsvcs/tests/Logger/logger_i.h: * orbsvcs/tests/Logger/logger_i.cpp: Changed to "ace/streams.h". We should always use "ace/streams.h". Fri Jan 30 11:42:10 1998 Chris Cleeland * docs/releasenotes/orbcore.html: Updated to reflect characteristics of the latest release as well as what we have to look forwrd to. * announcement: Added this boilerplate for release announcement. Actually, it's a sciprt which can be piped to something like 'mailx'. Fri Jan 30 01:55:59 1998 Sergio Flores * tests/Cubit/COOL/IDL_Cubit/README: * tests/Cubit/COOL/IDL_Cubit/Makefile: * tests/Cubit/COOL/IDL_Cubit/client.cpp: * tests/Cubit/COOL/IDL_Cubit/client.h: * tests/Cubit/COOL/IDL_Cubit/cubit.idl: * tests/Cubit/COOL/IDL_Cubit/cubit_i.cpp: * tests/Cubit/COOL/IDL_Cubit/cubit_i.h: * tests/Cubit/COOL/IDL_Cubit/server.cpp: * tests/Cubit/COOL/IDL_Cubit/tmplinst.cpp: Added test code for Chorus COOL ORB, for the IDL Cubit example. * tests/Thruput/COOL/README: * tests/Thruput/COOL/Makefile: * tests/Thruput/COOL/client.cpp: * tests/Thruput/COOL/server.cpp: * tests/Thruput/COOL/ttcp.idl: * tests/Thruput/COOL/ttcp_decl.h: * tests/Thruput/COOL/ttcp_i.cpp: * tests/Thruput/COOL/ttcp_i.h: * tests/Thruput/COOL/utils.cpp: Added test code for Chorus COOL ORB, for the Thruput example. * tests/Thruput/TAO/ttcp_decl.h: Make declarations of variables consistent with definition. Changed srcDataSize from CORBA::ULong to unsigned long. * tests/Thruput/TAO/Makefile: Updated to use rules.tao.GNU. and taoconfig.mk. This was suggested by a change Carlos O'Ryan did to the long lost Thruput_test directory. Thu Jan 29 23:10:05 1998 Douglas C. Schmidt * orbsvcs/tests/Simple_Naming/clnt.cpp (CosNaming_Client): Reordered the constructor initializations to match the class definition. Thu Jan 29 20:10:33 1998 Chris Cleeland * TAO version 0.1.0, released Thu Jan 29 20:10:33 1998. Thu Jan 29 15:58:01 1998 Chris Cleeland * tests/Param_Test/run_test: Allowed specification of the invocation style (sii vs. dii) using a shaell variable. * docs/releasenotes/{index,orbcore}.html: Updated to include some details regarding this release. These files are behind the release, but I'm opting to get the release out and update these files ex post facto. * release.pl: Updated this script so that it can update different levels of the release version number based on the setting of the RELEASE_TYPE environment variable. * Makefile: Added release.chk to the list of files going into the release. This file is our checklist for things that have been tested and work leading up to a release. Check in here for details on how a test has worked on a platform. * tests/POA/FindPOA/FindPOA.cpp (main): Added missing double-quote in ACE_DEBUG(). Thu Jan 29 15:55:25 1998 Carlos O'Ryan * orbsvcs/tests/Logger/clnt.h: * orbsvcs/tests/Logger/clnt.cpp: We need to keep a reference to the ORB is some place. Thu Jan 29 14:59:01 1998 Chris Cleeland * tests/POA/On_Demand_Activation/server.cpp: * tests/POA/Generic_Servant/MyFooServant.cpp: * tests/POA/Explicit_Activation/server.cpp: * tests/POA/Default_Servant/server.cpp: * tests/Cubit/TAO/MT_Cubit/server.cpp: _var's passed as pointers need to use the .in() method. * tests/Param_Test/run_test: Added a longer delay, changed port #, and made all output be prefaced by either "SERVER: " or "CLIENT(): ". * tao/poa.cpp: Re-ordered member initializers to de-warn g++. * orbsvcs/Dump_Schedule/Dump_Schedule.cpp: _narrow needs to be passed a .in() from _vars (you get a lollipop if you understand that comment). * docs/poa_migration.html: Added this file to start the ball rolling. Right now it's poorly-formatted and a rehash of some emails, but it will be refined and grow over time. Thu Jan 29 12:33:30 1998 Carlos O'Ryan * orbsvcs/tests/Simple_Naming/clnt.cpp: * orbsvcs/tests/Simple_Naming/clnt.h: Simple Naming simply tries to locate the Naming Service, it is useful to test the TAO facilities (multicast, environment, command line) for that purpose. * orbsvcs/tests/Logger/clnt.cpp: * orbsvcs/tests/Logger/clnt.h: We do not attempt to use nested context unless requested by the user, the reason is that it is failing consistently right now. Thu Jan 29 10:34:08 1998 Aniruddha Gokhale * TAO_IDL/be/be_operation.cpp: Some bug fixes made in the pre-POA TAO version were accidentally overwritten during the POA to main branch merge. This has been fixed. * tao/{encode, decode}.cpp: Fixed the terrible alignment problems that we were having on VxWorks for marshaling structures. At this time, the fix has been made only to "structs". These problems were being caused because the C++ compiler on NT/VxWorks was laying out structures on a 4 byte aligned address. If a "double" is the very first field, it will allocate the double at the 4 byte aligned address even if a double is 8 byte aligned. The fix is to make sure that when we align, we must take into account the start address of the structure as well as the address at which the field is laid out. Thu Jan 29 10:29:14 1998 Carlos O'Ryan * Makefile: Compile before , if the first one fails the second will sure fail also. * tests/Cubit/TAO/MT_Cubit/Makefile: Updated comments and reformated some unreadable things. Wed Jan 28 15:35:37 1998 Carlos O'Ryan * tests/Makefile: * tests/Cubit/Makefile: Fixed Makefiles so we can invoke the top level Makefile safely. Wed Jan 28 13:45:16 1998 Nanbor Wang * tests/POA/Default_Server/{client,server}.dsp: Updated project files. * tests/Cubit/TAO/MT_Cubit/client.dsp: Added CubitS.cpp to client.dsp. * tests/POA/Generic_Servant/{client,server}.dsp: Added idl compilation rules. * tests/Parem_Test/{client,server}.dsp: Updated idl file compilation rules. Added Parem_TestS.cpp to client project. Wed Jan 28 14:25:29 1998 Chris Cleeland * tests/Param_Test/run_test: Updated to utilized the new '-o' option on the server side and for the clients to get the IOR from that file. * tests/Param_Test/server.cpp: Added '-o' option to specify the name of a file in which the server can deposit the IOR which the client should use. * tests/Param_Test/options.cpp: Updated the options string (forgot it last time through). Wed Jan 28 13:56:07 1998 Carlos O'Ryan * tests/POA/Makefile: * tests/POA/Default_Servant/Default_Servant.dsw: * tests/POA/Default_Servant/File.idl: * tests/POA/Default_Servant/File_i.cpp: * tests/POA/Default_Servant/File_i.h: * tests/POA/Default_Servant/Makefile: * tests/POA/Default_Servant/client.cpp: * tests/POA/Default_Servant/client.dsp: * tests/POA/Default_Servant/server.cpp: * tests/POA/Default_Servant/server.dsp: * tests/POA/Default_Servant/svc.conf: Added some missing tests that were in the POA branch. Wed Jan 28 13:35:11 1998 Chris Cleeland * tests/Param_Test/server.cpp: Changed so that the IOR is printed ALL the time. * tests/Param_Test/options.*: Updated to work with POA. Got rid of host and port arguments and added an IOR argument. * tests/Param_Test/driver.*: Updated to work with POA. * tests/Cubit/TAO/IDL_Cubit/clnt.h: Added emacs mode setting at beginning. * tao/optable.h: Cleaned up some formatting in header file. Wed Jan 28 13:19:55 1998 Carlos O'Ryan * tests/Cubit/TAO/IDL_Cubit/README: Update README on how to run the test. * tests/Cubit/TAO/IDL_Cubit/svr.cpp: Print the IOR always, it is neded to run properly. * tests/Cubit/TAO/MT_Cubit/tmplinst.cpp: * tests/Cubit/TAO/IDL_Cubit/tmplinst.cpp: Instantiate on CORBA::Long instead of a plain long. * orbsvcs/tests/Logger/svr.cpp: Cosmetic changes on debug messages. Wed Jan 28 11:20:38 1998 Carlos O'Ryan * orbsvcs/orbsvcs/Makefile: * orbsvcs/orbsvcs/Logger.idl: * orbsvcs/tests/Logger/Makefile: * orbsvcs/tests/Logger/logger.idl: Moved a prototype logger.idl to the orbsvcs library, eventually this will become a full blown service in the TAO architecture. * orbsvcs/tests/Logger/clnt.cpp: * orbsvcs/tests/Logger/clnt.h: * orbsvcs/tests/Logger/logger_i.cpp: * orbsvcs/tests/Logger/logger_i.h: * orbsvcs/tests/Logger/svr.cpp: Ported the experimental logging server to POA. * orbsvcs/Event_Service/Event_Service.cpp: * orbsvcs/Scheduling_Service/Scheduling_Service.cpp: Fixed minor problem with call using a _var as input parameter Wed Jan 28 09:14:30 1998 Carlos O'Ryan * tests/POA/Makefile: Fixed order in the DIRS variable, Generic_Servant goes first since it builds a library needed in some of the other tests. * tests/POA/On_Demand_Activation/Makefile: * tests/POA/Explicit_Activation/Makefile: Fixed order for libraries, -lserver uses -lTAO so it must go first. * orbsvcs/orbsvcs/Makefile: Another case of misplaced includes. Tue Jan 27 17:29:11 1998 Carlos O'Ryan * tests/Cubit/TAO/IDL_Cubit/Makefile: Reorder includes to avoid evil definition for the IDL compiler. Tue Jan 27 16:16:11 1998 Chris Cleeland * tests/Param_Test/server.cpp: Added ACE_UNUSED_ARG() inside the TAO_CATCH() macro scope to de-warn on g++. * tests/Param_Test/param_test_i.cpp (Param_Test_i::CTOR): Removed argument name to de-warn on g++. * tests/Cubit/TAO/IDL_Cubit/{svr,clnt}.cpp: Use in() method on _var class to explicitly get an _ptr. * tao/objtable.cpp (find): Changed conditional expression to not rely on implicit conversion from _var to _ptr type. * tao/giop.cpp: Updated "illegal message" error message to actually print out the type of the offending message. This also caused the addition of a helper function--TAO_GIOP_message_name(). Tue Jan 27 15:06:28 1998 Carlos O'Ryan * TAO_IDL/Makefile: * TAO_IDL/be/Makefile: * orbsvcs/Dump_Schedule/Makefile: * orbsvcs/Event_Service/Makefile: * orbsvcs/Naming_Service/Makefile: * orbsvcs/Scheduling_Service/Makefile: * orbsvcs/orbsvcs/Makefile: * orbsvcs/tests/Event_Latency/Makefile: * orbsvcs/tests/Logger/Makefile: * orbsvcs/tests/Simple_Naming/Makefile: * tao/Makefile: * tests/Cubit/TAO/IDL_Cubit/Makefile: * tests/Cubit/TAO/MT_Cubit/Makefile: * tests/POA/Explicit_Activation/Makefile: * tests/POA/FindPOA/Makefile: * tests/POA/Generic_Servant/Makefile: * tests/POA/NewPOA/Makefile: * tests/POA/On_Demand_Activation/Makefile: * tests/POA/RootPOA/Makefile: * tests/Param_Test/Makefile: Updated dependencies, apparently they were not properly generated last time; they worked for Solaris/CC, but not in many other platforms. * orbsvcs/orbsvcs/Makefile: * orbsvcs/orbsvcs/tmplinst.cpp: * orbsvcs/orbsvcs/TAO_IDL_templates.cpp: It seems that tmplinst.cpp is becoming our standard for template instantiation files. * tao/poa.h: No need to include poa_T.h, it is not used in any place (yet), and it produces many warnings on IRIX machines. * orbsvcs/Dump_Schedule/Dump_Schedule.cpp: Use a _var for the output sequence of RT_Infos. * orbsvcs/tests/Event_Latency/Event_Latency.cpp: Fixed some misuses of _var, thanks to Chris Cleeland for bringing those to my attention. * release.pl: Added CVS id. 1998-01-27 Nagarajan Surendran * tests/POA/FindPOA:Added comments to all files * tests/POA/On_Demand_Activation: Added comments to all files * tests/POA/Generic_Servant: Added comments to all files Mon Jan 26 21:29:24 1998 David L. Levine * tao/compat/objbase.h: don't #define NOERROR on DIGITAL_UNIX, or on any other platform that already has it #defined. Thanks to Oliver Kellogg for reporting this. * tao/corbacom.h: use ACE_INT32, etc., for defining Long, etc. Mon Jan 26 16:15:18 1998 Chris Cleeland * tao/giop.cpp (read_buffer): Modified this to detect ECONNRESET and report is as a normal EOF occurrence. This will hopefully eliminate a disturbing (but innocuous) message on NT. Thanks to Frank H. at SAIC for reporting this. * tests/Param_Test/run_test: Added this script to run the server and client with all arguments. Mon Jan 26 16:02:51 1998 Carlos O'Ryan * tests/Cubit/TAO/MT_Cubit/Makefile: * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp: * tests/Cubit/TAO/MT_Cubit/cubit_i.cpp: * tests/Cubit/TAO/MT_Cubit/cubit_i.h: * tests/Cubit/TAO/MT_Cubit/server.cpp: * tests/Cubit/TAO/MT_Cubit/server.h: It compiles now, but it won't run. Mon Jan 26 15:29:37 1998 Sumedh Mungee * orbsvcs/tests/AVStreams/ (main): Added simple client/server to test AVStreams Mon Jan 26 15:23:54 1998 Sumedh Mungee * orbsvcs/orbsvcs/AVStreams_i.cpp: Added dummy implementation for VDev, MMDevice, and StreamEndPoint classes Mon Jan 26 15:01:49 1998 Alexander Babu Arulanthu * tests/POA/RootPOA.cpp: Added Comments Mon Jan 26 14:31:46 1998 Sumedh Mungee * tests/POA/FindPOA.cpp: Added CVS ID Mon Jan 26 00:57:56 1998 Douglas C. Schmidt * tao/connect.cpp (open): Conditionally compile the code for TCP_NODELAY only if this macro is present. Thanks to Edgar Villanueva for reporting this. Sun Jan 25 14:30:04 1998 Nanbor Wang * tests/Cubit/TAO/IDL_Cubit/client.dsp: Added a missing source. * tests/Cubit/TAO/IDL_Cubit/clnt.cpp (Cubit_Client): Changed to initialize Cubit_Client.cubit_key_ from heap. It should use memory either from stack or heap, but never both. Sat Jan 24 21:55:55 1998 Sumedh Mungee * orbsvcs/orbsvcs/{AVStreams_i.h, AVStreams_i.cpp}: Made changes for new POA Sat Jan 24 21:46:23 1998 Sumedh Mungee * orbsvcs/orbsvcs/AVStreams.idl: Changed type key to be a string, rather than a sequence, which breaks tao_idl! Sat Jan 24 21:01:00 1998 * orbsvcs/Dump_Schedule/Dump_Schedule.cpp: * orbsvcs/Event_Service/Event_Service.cpp: * orbsvcs/Naming_Service/Naming_Service.cpp: * orbsvcs/Scheduling_Service/Scheduling_Service.cpp: * orbsvcs/tests/Event_Latency/Event_Latency.cpp: Fixed several minor error and sources of non-complaince. * TAO_IDL/tao_idl.dsp: * tao/TAO.dsp: CVS does not merge binary files properly. Sat Jan 24 15:51:41 1998 Carlos O'Ryan * tao/objtable.cpp: Another merge problem. Sat Jan 24 11:20:42 1998 Carlos O'Ryan * Added latest changes by Irfan. Sat Jan 24 03:04:51 1998 Irfan Pyarali * tao/poa.cpp (id_to_reference): Reimplemented this method so that it does not use id_to_servant and servant_to_reference combo. This is necessary since id_to_reference may be used in a MULTI_ID mode. * tao/poaS: Added explicit copy and destroy to all collocated policies. This will help avoid the inheritance via dominance warnings. Sat Jan 24 11:08:28 1998 Carlos O'Ryan * TAO_IDL/be_include/be_visitor.h: The forward declaration of TAO_OutStream was missing; I guess it was some slopiness in the merge. Sat Jan 24 10:30:40 1998 Carlos O'Ryan * The POA branch is merged back into the main trunk. For the record we reproduce the ChangeLog in the branch. * ============ * ============ Start of POA branch changes. * ============ Fri Jan 23 17:13:14 1998 Carlos O'Ryan * Merged changes from main_to_poa_merge_11 up to main_to_poa_merge_12 Fri Jan 23 17:08:45 1998 Carlos O'Ryan * orbsvcs/Event_Service/Event_Channel.h: * orbsvcs/Event_Service/Event_Channel.i: Fixed problem with Event Channel, it was using _this unproperly. Fri Jan 23 16:49:19 1998 Chris Cleeland * tests/Param_Test/{server.cpp,param_test_i.h,param_test_i.cpp}: Updated to compile with new POA. * tests/Param_Test/Makefile: Moved LDFLAGS up, included the rules.tao.GNU, and removed the dependencies which were causing me no end of grief. * tests/Cubit/TAO/IDL_Cubit/svr.cpp (main): Changed the check on return value from resolve_initial_references() to use the CORBA::is_nil() check. Fri Jan 23 16:43:12 1998 Carlos O'Ryan * orbsvcs/Dump_Schedule/Dump_Schedule.cpp: * orbsvcs/Event_Service/Event_Channel.cpp: * orbsvcs/Event_Service/Event_Channel.i: * orbsvcs/Event_Service/Event_Service.cpp: * orbsvcs/Naming_Service/CosNaming_i.cpp: * orbsvcs/Naming_Service/CosNaming_i.h: * orbsvcs/Naming_Service/Naming_Service.cpp: * orbsvcs/Scheduling_Service/Config_Scheduler.cpp: * orbsvcs/Scheduling_Service/Scheduling_Service.cpp: * orbsvcs/orbsvcs/Runtime_Scheduler.cpp: * orbsvcs/orbsvcs/Scheduler_Factory.cpp: * orbsvcs/tests/Event_Latency/Event_Latency.cpp: * orbsvcs/tests/Event_Latency/Event_Latency.h: "Ported" the orbsvcs and the Event_Latency test to POA, with little success though, things will compile and it seems that the Naming_Service and Scheduling_Services run properly, but Event_Service does not. We use a nested POA with "PERSISTENT" lifespan policy because it is easier to set an enviroment variable or command line to the NameService IOR. * tests/Cubit/TAO/IDL_Cubit/svr.cpp: Removed some extra (and unwanted) code. Fri Jan 23 14:47:18 1998 Chris Cleeland * tests/POA/{FindPOA,RootPOA,NewPOA}/Makefile: Added -L$(TAO_ROOT)/tao to LDFLAGS. * tests/POA/NewPOA/NewPOA.cpp: * tests/POA/RootPOA/RootPOA.cpp: * tests/POA/FindPOA/FindPOA.cpp: Used the ::in() method as first argument to _narrow() calls. * tests/{Makefile,README}: Updated for new tests. * tao/poa.cpp: Added explicit template instantiations. Fri Jan 23 14:30:19 1998 Carlos O'Ryan * tao/poa.h: * tao/poa.cpp: * tao/servant_base.cpp: _this() was using the object id for the current servant in *all* objects, now it only does so for the servant invoked. * tests/Cubit/TAO/IDL_Cubit/Makefile: * tests/Cubit/TAO/IDL_Cubit/clnt.cpp: * tests/Cubit/TAO/IDL_Cubit/clnt.h: * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp: * tests/Cubit/TAO/IDL_Cubit/cubit_i.h: * tests/Cubit/TAO/IDL_Cubit/svr.cpp: Ported the Cubit test to POA, including some funky persistent policies to simplify its use. Sat Jan 24 01:24:24 1998 Irfan Pyarali * tao/poa.cpp (destroy_i): Changed etherealize objects to correct report remaining_activations. Fri Jan 23 10:55:40 1998 Carlos O'Ryan * tao/objtable.cpp: Linear object tables were not using the initial size to pre-allocate a buffer. * TAO_IDL/be/be_interface.cpp: * TAO_IDL/be/be_state_argument.cpp: Fixed the mapping for native as OUT or INOUT parameters, also fixed the name for the _dispatch() method. Fri Jan 23 01:12:28 1998 Irfan Pyarali * tao/poaS.cpp: Added ACE_NESTED_CLASS macro to constructors. Thu Jan 22 23:57:31 1998 Chris Cleeland * tao/poa.cpp (wstring_to_ObjectId): Stuck the CORBA::WChar type in parens for sizeof...g++ likes it better that way. Fri Jan 23 00:14:03 1998 Irfan Pyarali * tao/poa: - Added support for transient and persistent POAs by changing the ObjectKey. From now on, each key will contain an identifier that will indicate whether the key came from a persistent or transient POA. That way the dispatch method can decide the value of the activate_it flag while finding the POA. If the key is from a persistent POA, the activate_it flag will be true, else the flag will be set to false. - All operations on the parent POA will check for a valid parent before executing the call. Remember that the RootPOA does not have a parent POA. - Temporarily added export macros to the POA implementation classes, so that the implementations can directly be debugged (rather than going through the stubs/skeletons). These should be removed once the debugging process is over. - Moved the registeration of the POA with its manager from the create_POA method to the POA constructor. This is to insure that the registration of the RootPOA is not "missed" since the RootPOA is not created via the create_POA call. Similarly, moved the removal of the POA from its manager from the destroy method to the POA destructor. - TAO_POA::delete_child and TAO_POA_Manager::remove_poa were changed such that when the object is closing down, we are currently iterating over our poa collection and there is not need to remove the item from our collection. - Changed use of substr from starting_at/ending_at to starting_at/now_many. - Methods that return duplicated values/objects, must first be assigned to a _var variable before being used. This will avoid memory leaks. - For find methods, always use != -1 for success. - Added code to create_POA_i and find_POA_i_optimized to check when topmost_poa_name == this->name_. - Added the concept of creation time to a POA. This way when a transient POA gets a object key from a previous incarnation, the OBJECT_NOT_EXISTS exception can be thrown. - Added a locator cookie field to TAO_POA_Current to keep track of the cookie produced by the servant locator. - Made all methods virtual. - Renamed active_object_table to active_object_map. - Added pre_invoke and post_invoke methods to setup the necessary state before doing the upcall to the servant. - Changed locate_servant to return 0 for success and -1 for failure instead of trying to return a servant. This change is necessary since there may not be a servant available but there may be default servants or servant managers that could fill in for the servant. Currently the locate_servant method takes an optimistic approach to return TRUE when the servant was not found but a default servant or servant manager was registered with the POA, hoping the default servant or servant manager will be able to fill in when the real request arrives. - Add a validity checks for POA policies. - Added support for servant managers (both servant locators and servant activators), default servants and DSI. * tao/poaC.h: Added DynamicImplementation class to the PortableServer. * tao/poaS: Changed dispatch to _dispatch. * tao/servant_base: - Added TAO_DynamicImplementation class (a.k.a. PortableServer::DynamicImplementation). Users will inherit from this to implement DSI. - Added prefix _ to all methods names in the ServantBase class to avoid potential crashes with user specified method names. - Made TAO_POA a friend of ServantBase. * tao/connect.cpp (handle_locate): Changed to use latest version of TAO_POA::locate_servant. * tao/servant_base.cpp (_default_POA): Changed to use TAO_ORB_Core_instance()->root_poa() instead of TAO_ORB_Core_instance()->orb()->resolve_initial_references("RootPOA"). * tao/poaC: Added string_to_ObjectId and ObjectId_to_string methods to PortableServer. * tao/poa.cpp (TAO_Adapter_Activator::unknown_adapter): Changed the implementation of this object so that it does not depend on being friends with the POA and the POAManager. Initially, this was done to avoid recursive locks. However, since user may want to write their own implementations, recursive locks were deemed necessary. * tao/default_server.cpp (create_poa_lock): Changed implementation to produce ACE_Recursive_Thread_Mutex instead of ACE_Thread_Mutex. * tests/POA/RootPOA/RootPOA.cpp (main) and tests/POA/NewPOA/NewPOA.cpp (main): Added code to destroy the rootPOA. I am not sure this is the responsibility of the user to destroy the rootPOA since they never really created it. The responsibility probably lies with the ORB, but since the spec seems neutral about this, it is ok for now. * tao/object.i (CORBA_Object::Release): We must delete the object when the parent_ refcount goes to zero. Thu Jan 22 16:56:32 1998 Carlos O'Ryan * TAO_IDL/be_include/be_interface.h: * TAO_IDL/be/be_interface.cpp: * TAO_IDL/be/be_visitor_interface.cpp: Fixed some relative name problems for the server header file. * TAO_IDL/be/be_visitor_sequence.cpp: * TAO_IDL/be/be_visitor_root.cpp: * TAO_IDL/be/be_visitor_args.cpp: Get rid of some "unused arg" warnings. Thu Jan 22 15:26:55 1998 Chris Cleeland * tao/object.i: CORBA::Object --> CORBA_Object for internal stuff. * tao/object.i (CORBA_Object): Re-ordered member initialization to match declaration order. Thu Jan 22 14:40:01 1998 Carlos O'Ryan * tao/corbacom.h: Fixed multiple definitions of ORB_var and ORB_out due to a simplistic merge. * TAO_IDL/be/be_interface.cpp: Generate _find() to locate operations; using just find() is not complaint. Thu Jan 22 10:40:13 1998 Carlos O'Ryan * Merged changes from main_to_poa_merge_10 up to main_to_poa_merge_11 Wed Jan 21 17:35:20 1998 Carlos O'Ryan * TAO_IDL/be/be_visitor_interface.cpp: Generate CORBA_Object instead of CORBA::Object to keep NT happy. * TAO_IDL/be/be_visitor_args.cpp: Fixed mapping for strings as arguments, they should always be char*. Mon Jan 19 22:03:38 1998 * tao/sequence_T.i: Object_Manager constructor was calling _duplicate(). That is not the right semantics, and produces a crash when working on an unitialized buffer. * tests/POA/NewPOA/NewPOA.cpp: * tests/POA/NewPOA/NewPOA.dsp: Fixed signed/unsigned warning. * tests/POA/NewPOA/NewPOA.dsp: Fixed missing options to find ACE. Mon Jan 19 16:36:22 1998 Carlos O'Ryan * tao/iiopobj.h: * tao/iiopobj.cpp: Added a missed in action key() method to IIOP_Object. * tao/stub.h: * tao/objkeyC.h: * tao/object.h: * tao/object.cpp: Removed the non-complaint ObjectKey_ptr type. Mon Jan 19 16:19:28 1998 Carlos O'Ryan * tao/deep_free.cpp: A reinterpret cast was dropping constness also, thanks to Irfan for pointing this one out. Mon Jan 19 15:36:10 1998 Carlos O'Ryan * tao/sequence_T.i: * tao/sequence_T.cpp: The last merge was too smart, it kept some changes on this branch that should have gone away. Mon Jan 19 13:58:01 1998 Carlos O'Ryan * TAO_IDL/be/be_visitor_interface.cpp: * TAO_IDL/be/be_interface.cpp: Fixed operation table initialization, also called proper constructor for CORBA::Object in collocated classes. * tao/corba.h: More include reordering. * tao/servant_base.h: The operation table was not properly initialized. Mon Jan 19 11:28:47 1998 Carlos O'Ryan * Merged changes from main_to_poa_merge_9 up to main_to_poa_merge_10. Sun Jan 18 01:04:22 1998 * TAO_IDL/be/be_attribute.cpp: * TAO_IDL/be/be_codegen.cpp: * TAO_IDL/be/be_interface.cpp: * TAO_IDL/be_include/be_interface.h: * tao/servant_base.h: Added support for collocation in the _narrow method, this required a complete implementation of _downcast() for each skeleton. Sat Jan 17 20:54:26 1998 * TAO_IDL/be/be_attribute.cpp: * TAO_IDL/be/be_interface.cpp: * TAO_IDL/be/be_sequence.cpp: * TAO_IDL/be/be_visitor_interface.cpp: * TAO_IDL/be/be_visitor_sequence.cpp: More bug fixes in code generation for sequences, attributes, etc. Most of them were minor inconsitencies. Also fixed constructors for collocated classes on NT (working around MSVC++ bug). * tao/servant_base.cpp: * tao/servant_base.h: Added default implementation for _downcast(), it just works if downcasting to "Object". * tao/sequence_T.cpp: * tao/sequence_T.h: * tao/sequence_T.i: Fixed some problems with managed sequences. Sat Jan 17 19:27:12 1998 * tao/servant_base.h: * tao/servant_base.cpp: Added the new _is_a() method on TAO_ServantBase. * TAO_IDL/tao_idl.dsp: * TAO_IDL/be/be_interface.cpp: * TAO_IDL/be/be_string.cpp: * TAO_IDL/be/be_visitor_args.cpp: * TAO_IDL/be/be_visitor_interface.cpp: * TAO_IDL/be/be_visitor_sequence.cpp: * TAO_IDL/be_include/be_visitor.h: * TAO_IDL/be_include/be_visitor_args.h: * TAO_IDL/be_include/be_visitor_interface.h: Added a new _is_a to the generated servants, also implemented the _is_a method on the collocated classes by invoking that _is_a(). Added support for attributes in collocated classes, thanks to Irfan for noticing this. Sat Jan 17 15:44:43 1998 * tao/corba.h: * tao/iiopobj.cpp: Fixed undetected inconsistencies in the last merge. * tao/objkeyC.cpp: * tao/objkeyC.h: * tao/objkeyC.i: I regenrated from the IDL file to use the new sequences. Sat Jan 17 11:49:15 1998 * Merged changes from main_to_poa_merge_8 to main_to_poa_merge_9. Sat Jan 17 00:45:59 1998 Irfan Pyarali * tests/POA: Added new tests: Explicit_Activation_POA_Ids and NewPOA. * tao/servant_base.h (TAO_ServantBase): Added a _downcast method that gets the servant with the correct vtable. Also added a new class TAO_Local_ServantBase that overwrites _create_stub. TAO_Local_ServantBase::_create_stub uses a fake key and does not registration with the default POA. * tao/poaS.*: Added _downcast to the generated code. Also added attribute accessor methods. Also updated constructors to explicitly initialize the virtual base class (CORBA::Object). * tao/poaC.h: Added TAO_Local_ServantBase to the PortableServer namespace as PortableServer::LocalServantBase. * tao/poaC.cpp (_narrow): Changed the implementation of _narrow to produce a collocated class when appropriate. * tao/poa.cpp (TAO_POA::create_*_policy): Made sure these methods return collocated classes and not implementation classes. * tao/poa.h (class TAO_POA_Policies): Added set methods to TAO_POA_Policies. * tao/orbobj.cpp (resolve_poa): Made sure that the RootPOA is created with the PortableServer::IMPLICIT_ACTIVATION policy. * tao/object: Added servant pointer and a collocated flag to object class. Fri Jan 16 03:27:30 1998 Irfan Pyarali * tao: BOA begone: CORBA::POA and all BOA related code has been removed from TAO. POA: Today the PortableServer and the POA were born in TAO. * tao/connect (handle_request): Changed handle_request to accept the TAO_GIOP_RequestHeader parameter by reference rather than by value. * tao/corba.h: Rearranged header to accommodate the new POA. * tao/corbacom.h (CORBA): Added typedefs for Object_var Object_out in the CORBA class. * tao/current: Absorbed all the POACurrent code into the poa.* files. * tao/iiopobj.cpp (operator==): Added comparison operator for TAO::ObjectKey. * tao/orbobj.cpp (resolve_poa_current and resolve_poa): Made sure that we return the colocated class and not the implementation class. * tao/orbobj.h (objref.): POA_init was deprecated. Please use orb->resolve_initial_references ("RootPOA") instead. * tao/objtable.cpp (find): Change the use of auto_ptr(s) to deal correctly with explicit constructors. Thu Jan 15 17:27:26 1998 Chris Cleeland * tao/orb_core.{h,i}: Added the poa_current() method and internal structure so that state is available to the POA and to the upcall. * tao/orbobj.{h,cpp}: Added resolve_poa_current() in order to return the POACurrent state context. Added the "POACurrent" to one of the things for which resolve_initial_references() works. Changed resolve_poa() so that things can compile; the impl isn't correct but when the POA stuff gets committed, this will be changed accordingly. Tue Jan 13 12:15:54 1998 Carlos O'Ryan * TAO_IDL/be_include/be_operation.h: * TAO_IDL/be/be_operation.cpp: * TAO_IDL/be/be_state_operation.cpp: The stubs and skeletons for operations that have a "native" argument or return value simply "throw" a CORBA::MARSHAL exception; those methods cannot be called for remote objects. I also had to return something when an exception is raised and the return type is a "native", we choose to return 0 for lack of a better choice. Tue Jan 13 10:49:48 1998 Chris Cleeland * tao/current.{i,cpp}: Added a first cut at implementations for the POA Current impl. Mon Jan 12 19:47:42 1998 Carlos O'Ryan * tao/poa.h: * tao/poa.cpp: Added a _get_stub() method that encapsulates code common to all _this implementations. * TAO_IDL/be/be_interface.cpp: * TAO_IDL/be/be_visitor_interface.cpp: The _this() method implementation was changed to use the new _get_stub finally adding full support for the standard poa, some changes were required in the _tao_collocated classes and their constructors. * TAO_IDL/be_include/be_helper.h: * TAO_IDL/be/be_helper.cpp: Added "manipulators" to increase and decrement indentation level. Mon Jan 12 14:55:53 1998 Chris Cleeland * tao/current.h (class TAO_POA_Current_Impl): Added this as the beginning of the implementation for the POA Current. More to come... * tao/default_server.*: Added implementations of create_poa_lock() and create_poa_mgr_lock() to obtain their values from -ORBpoalock and -ORBpoamgrlock options, respectively, to the Default Server Strategy Factory specified in svc.conf. Values for these are either "thread" or "null", which specify an ACE_Thread_Mutex or ACE_NULL_Mutex, respectively. * tao/server_factory.*: Added create_poa_lock() and create_poa_mgr_lock() to obtain locks for use in POA and POA Manager instances. Mon Jan 12 12:10:58 1998 Carlos O'Ryan * tao/objtable.cpp: Fixed some problems with misused auto_ptr and dynamic cast that was taking away constness at the same time. Mon Jan 12 11:55:53 1998 Chris Cleeland * tao/orbobj.cpp (resolve_poa): Added skeletal code to create root POAs using the resolve_initial_references() interface. Irfan will fill in the correct code for actually creating the POA. Sun Jan 11 14:09:48 1998 * orbsvcs/Dump_Schedule/Dump_Schedule.dsp: * orbsvcs/Event_Service/CORBA_Utils_T.cpp: * orbsvcs/Event_Service/Dispatching_Modules.cpp: * orbsvcs/Event_Service/Event_Channel.cpp: * orbsvcs/Event_Service/Event_Service.cpp: * orbsvcs/tests/Event_Latency/Event_Latency.cpp: Adapted so they compile with the new POA mapping. Sun Jan 11 11:33:36 1998 * tao/connect.cpp: On this branch the find() method for POA's require a PortableServer::Servant parameter. * orbsvcs/Scheduling_Service/Scheduling_Service.cpp: * orbsvcs/Naming_Service/Naming_Service.cpp: * orbsvcs/Naming_Service/CosNaming_i.cpp: Modified to use the new POA mapping for servers. * TAO_IDL/tao_idl.dsp: Replaced the old drv_main.cpp with tao_idl.cpp. * orbsvcs/orbsvcs/orbsvcs_lib.dsp: The final library is not generated inside Debug and its name is orbsvcs.lib, not orbsvcs_lib.lib Sun Jan 11 10:55:04 CST 1998 Carlos O'Ryan * Merged changes from tag main_to_poa_merge_5 and main_to_poa_merge_6. This late merge is risky, needs complete validation before public release. Sat Jan 10 22:11:47 1998 * TAO_IDL/be_include/be_interface.h: * TAO_IDL/be/be_interface.cpp: * TAO_IDL/be/be_visitor_interface.cpp: Work around bug in MSVC++ 5.0 wrt inheritance from nested classes and the constructor invocation. Sat Jan 10 19:21:18 1998 * TAO_IDL/tao_idl.dsp: * TAO_IDL/be/be_interface.cpp: * TAO_IDL/be_include/be_interface.h: * tao/orb_core.cpp: Fixed some problems in the latest merges. Sat Jan 10 18:06:24 1998 * Merged changes from tag main_to_poa_merge_7 and main_to_poa_merge_8. Resolved many conflicts in TAO_IDL due to similar changes in both branches. Sat Jan 10 16:57:42 1998 * Merged changes from tag main_to_poa_merge_6 and main_to_poa_merge_7. Fri Jan 9 17:58:43 1998 Carlos O'Ryan * TAO_IDL/be/be_array.cpp: * TAO_IDL/be/be_decl.cpp: * TAO_IDL/be/be_enum.cpp: * TAO_IDL/be/be_enum_val.cpp: * TAO_IDL/be/be_exception.cpp: * TAO_IDL/be/be_expression.cpp: * TAO_IDL/be/be_interface.cpp: * TAO_IDL/be/be_interface_fwd.cpp: * TAO_IDL/be/be_module.cpp: * TAO_IDL/be/be_predefined_type.cpp: * TAO_IDL/be/be_root.cpp: * TAO_IDL/be/be_scope.cpp: * TAO_IDL/be/be_sequence.cpp: * TAO_IDL/be/be_string.cpp: * TAO_IDL/be/be_structure.cpp: * TAO_IDL/be/be_type.cpp: * TAO_IDL/be/be_typedef.cpp: Minor cosmetic changes to make the main trunk changes identic to the ones on this branch. Thu Jan 8 15:50:59 1998 Carlos O'Ryan * TAO_IDL/be/be_state_operation.cpp: Added support for native as return type. Thu Jan 8 13:20:11 1998 Carlos O'Ryan * TAO_IDL/ast/Makefile: * TAO_IDL/be/Makefile: Added ast_native and be_native to the list of files. * TAO_IDL/be_include/be_native.h: * TAO_IDL/be/be_native.cpp: * TAO_IDL/be_include/be_visitor.h: * TAO_IDL/be/be_visitor.cpp: Added support for visiting be_native. * TAO_IDL/be_include/be_visitor_args.h: * TAO_IDL/be/be_visitor_args.cpp: Added support for native and improved the implementation. * TAO_IDL/fe/y.tab.cpp: Removed some includes and pragmas that cause trouble on NT. * TAO_IDL/be/be_type.cpp: Print an error if the default implementation for write_as_return is called. Thu Jan 8 12:53:28 1998 Chris Cleeland * tao/corbacom.i (wstring_dup): Added this, which simply calls wstring_copy(). Of course, I can't find any mention of EITHER of these functions in the 2.0 or 2.1 spec, but what good are wstrings if you can't make copies? Plus, Irfan really wanted it. Wed Jan 7 15:09:47 1998 Carlos O'Ryan * TAO_IDL/fe/y.tab.cpp: This is the actual file generated from idl.yy, thanks to the "clone" scheme for building ACE it was lost in the previous commits. Wed Jan 7 14:17:14 1998 Chris Cleeland * tao/orbobj.{h,cpp} (key_to_object): Changed signature so that it's more in line with what we really need. This is okay because this method is not in the standard, so we can choose whatever we damn well please! Wed Jan 7 14:08:41 1998 Carlos O'Ryan * Merged changes from version main_to_poa_merge_4 and main_to_poa_merge_5. Tue Jan 6 17:35:44 1998 Carlos O'Ryan * TAO_IDL/be/be_visitor_interface.cpp: Added several fixes for mutiple inheritance, but still needs some work. Tue Jan 6 15:20:13 1998 Carlos O'Ryan * tao/object.h: * tao/object.cpp: Removed obsolete methods, they were there to support upcalls on the server side, but now this is done on PortableServer::ServantBase. Tue Jan 6 14:46:27 1998 Carlos O'Ryan * tao/poa.h: * TAO_IDL/be/be_interface.cpp: * TAO_IDL/be/be_visitor_interface.cpp: Added a _get_servant () method to the collocated classes, to obtain access to the underlying skeleton. Tue Jan 6 13:31:20 1998 Carlos O'Ryan * tao/objtable.h: * tao/objtable.cpp: Fixed some problems with the PortableServer::ObjectId and PortableServer::Servant changes. * tao/poa.h: * TAO_IDL/be/be_interface.cpp: Added a method to get the interface repository name for a skeleton. * tao/encode.cpp: Fixed problem on object reference enconding. Mon Jan 05 23:41:59 1998 * tao/objkeyC.cpp: The code for memory reallocation was missing, I added it back. * tao/iiopobj.cpp: Fixed bug in object key generation. * tao/poa.cpp: More debug messages when an object is missing. Mon Jan 05 17:46:00 1998 * tao/connect.cpp: * tao/corba.h: * tao/corbacom.h: * tao/default_server.cpp: * tao/default_server.h: * tao/iiopobj.cpp: * tao/iiopobj.i: * tao/iioporb.cpp: * tao/orbobj.cpp: * tao/params.h: * tao/params.i: * tao/poa.cpp: * tao/poa.h: * tao/server_factory.cpp: * tao/server_factory.h: The ObjectId changes were "accepted for revision" by the POA committe, hence I'll commit them, they check them and then I'll have to make the changes they require ;-) The current scheme uses TAO::ObjectKey as a representation for sequence, this class is generated by the IDL compiler. The ORB core uses a typedef (TAO_opaque) for all its internal object keys; the current (and deprecated) POA uses ObjectId (another typedef on the same thing) as object identifiers. Mon Jan 5 13:06:19 1998 Carlos O'Ryan * Merged changes from revision main_to_poa_merge_3 up to revision main_to_poa_merge_4. Mon Jan 05 00:11:45 1998 * tao/objtable.h: * tao/objtable.cpp: New Object Table interface, in preparation for the POA needs. Sat Jan 03 11:37:21 1998 * TAO_IDL/be/be_visitor_args.cpp: Typedefs and predefined types where unproperly handled. Fri Jan 2 14:09:49 1998 Carlos O'Ryan * tests/Cubit/TAO/IDL_Cubit/clnt.cpp: Sequences work on Solaris, even Purify gives its "Houston it's a go", so I'm reinstating them. * tests/Cubit/TAO/IDL_Cubit/svr.cpp: Minor cosmetic changes. Fri Jan 02 08:31:32 1998 * Merged changes from revision main_to_poa_merge_2 up to revision main_to_poa_merge_3. Had to disable sequence test from IDL_Cubit. Thu Jan 01 15:43:43 1998 * TAO_IDL/be/be_interface.cpp: * TAO_IDL/be/be_visitor_interface.cpp: Generated code for collocations setup the "parent_" field properly. * tao/objkeyC.h: * tao/corbacom.h: Added export macros. * tao/objtable.cpp: * tao/objtable.h: * tao/poa.cpp: * tao/poa.h: Object table is based on servants now. * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp: * tests/Cubit/TAO/IDL_Cubit/server.dsp: * tests/Cubit/TAO/IDL_Cubit/svr.cpp: Fixed to use the new POA mapping. * TAO_IDL/tao_idl.dsp: * tao/TAO.dsp: Added the new files to the MSVC++ project. Tue Dec 30 16:38:42 1997 Carlos O'Ryan * More advances in code generation, it compiles and links now, but won't run. * TAO_IDL/be/be_array.cpp: * TAO_IDL/be/be_enum.cpp: * TAO_IDL/be/be_exception.cpp: * TAO_IDL/be/be_interface.cpp: * TAO_IDL/be/be_interface_fwd.cpp: * TAO_IDL/be/be_predefined_type.cpp: * TAO_IDL/be/be_sequence.cpp: * TAO_IDL/be/be_string.cpp: * TAO_IDL/be/be_structure.cpp: * TAO_IDL/be/be_type.cpp: * TAO_IDL/be/be_typedef.cpp: * TAO_IDL/be/be_union.cpp: * TAO_IDL/be/be_visitor_args.cpp: * TAO_IDL/be_include/be_array.h: * TAO_IDL/be_include/be_enum.h: * TAO_IDL/be_include/be_exception.h: * TAO_IDL/be_include/be_interface.h: * TAO_IDL/be_include/be_interface_fwd.h: * TAO_IDL/be_include/be_predefined_type.h: * TAO_IDL/be_include/be_sequence.h: * TAO_IDL/be_include/be_string.h: * TAO_IDL/be_include/be_structure.h: * TAO_IDL/be_include/be_type.h: * TAO_IDL/be_include/be_typedef.h: * TAO_IDL/be_include/be_union.h: Added methods to be_type to generate the return types; this time without any switches, just visitors and virtual dispatching. * tao/poa.cpp: * tao/poa.h: Added the methods to lookup operations, this are TAO specific and should have complaint names, but currently I just kept the old names to avoid a major breakdown. * TAO_IDL/ast/Makefile: * TAO_IDL/be/Makefile: * TAO_IDL/driver/Makefile: * TAO_IDL/fe/Makefile: * TAO_IDL/narrow/Makefile: * TAO_IDL/util/Makefile: Updated dependencies. * TAO_IDL/be/be_visitor_interface.cpp: * TAO_IDL/be_include/be_visitor_interface.h: * TAO_IDL/be/be_interface.cpp: Reverted some changes (code moved from be_interface.cpp into visitors) to avoid massive conflicts with Andy's changes. Tue Dec 30 11:07:06 1997 Chris Cleeland * tao/orb_core.h (TAO_Resource_Factory): Corrected my "fat-finger" mistake for the return type of get_allocator (). Mon Dec 29 16:26:24 1997 Chris Cleeland * tao/orb_core.{h,cpp}: Added methods for the orb core allocator to the resource factory. Mon Dec 29 13:18:49 1997 Carlos O'Ryan * TAO_IDL/be/Makefile: * TAO_IDL/be/be_visitor.cpp: * TAO_IDL/be/be_visitor_args.cpp: * TAO_IDL/be/be_visitor_interface.cpp: * TAO_IDL/be_include/be_visitor.h: * TAO_IDL/be_include/be_visitor_args.h: * TAO_IDL/be_include/be_visitor_interface.h: Started implementation of the collocated class code generation, using the visitor pattern; hence the new be_visitor class and some examples of its use. * TAO_IDL/be_include/be_type.h: * TAO_IDL/be_include/be_typedef.h: * TAO_IDL/be/be_type.cpp: * TAO_IDL/be/be_typedef.cpp: Added method to obtain the node type for the most "unaliased" type though a typedef chain. This is needed in several points for code generation. * TAO_IDL/be/be_interface.cpp: Implemented the collocated class generation using visitors, ditto for (part of) the main class. * TAO_IDL/util/utl_identifier.cpp: Fixed memory deallocation problem. The string was copied using ACE_OS::strdup(), but deleted using operator delete[]. * TAO_IDL/be/be_argument.cpp: * TAO_IDL/be/be_array.cpp: * TAO_IDL/be/be_attribute.cpp: * TAO_IDL/be/be_constant.cpp: * TAO_IDL/be/be_decl.cpp: * TAO_IDL/be/be_enum.cpp: * TAO_IDL/be/be_enum_val.cpp: * TAO_IDL/be/be_exception.cpp: * TAO_IDL/be/be_expression.cpp: * TAO_IDL/be/be_field.cpp: * TAO_IDL/be/be_interface.cpp: * TAO_IDL/be/be_interface_fwd.cpp: * TAO_IDL/be/be_module.cpp: * TAO_IDL/be/be_operation.cpp: * TAO_IDL/be/be_predefined_type.cpp: * TAO_IDL/be/be_root.cpp: * TAO_IDL/be/be_scope.cpp: * TAO_IDL/be/be_sequence.cpp: * TAO_IDL/be/be_string.cpp: * TAO_IDL/be/be_structure.cpp: * TAO_IDL/be/be_type.cpp: * TAO_IDL/be/be_typedef.cpp: * TAO_IDL/be/be_union.cpp: * TAO_IDL/be/be_union_branch.cpp: * TAO_IDL/be/be_union_label.cpp: * TAO_IDL/be_include/be.h: * TAO_IDL/be_include/be_argument.h: * TAO_IDL/be_include/be_array.h: * TAO_IDL/be_include/be_attribute.h: * TAO_IDL/be_include/be_constant.h: * TAO_IDL/be_include/be_decl.h: * TAO_IDL/be_include/be_enum.h: * TAO_IDL/be_include/be_enum_val.h: * TAO_IDL/be_include/be_exception.h: * TAO_IDL/be_include/be_expression.h: * TAO_IDL/be_include/be_field.h: * TAO_IDL/be_include/be_interface.h: * TAO_IDL/be_include/be_interface_fwd.h: * TAO_IDL/be_include/be_module.h: * TAO_IDL/be_include/be_operation.h: * TAO_IDL/be_include/be_predefined_type.h: * TAO_IDL/be_include/be_root.h: * TAO_IDL/be_include/be_scope.h: * TAO_IDL/be_include/be_sequence.h: * TAO_IDL/be_include/be_string.h: * TAO_IDL/be_include/be_structure.h: * TAO_IDL/be_include/be_type.h: * TAO_IDL/be_include/be_typedef.h: * TAO_IDL/be_include/be_union.h: * TAO_IDL/be_include/be_union_branch.h: * TAO_IDL/be_include/be_union_label.h: Added the accept() method for the vistor pattern implementation. Mon Dec 29 11:37:47 1997 Chris Cleeland * tests/Cubit/TAO/MT_Cubit/server/Makefile: Updated dependencies. Fri Dec 26 12:05:41 1997 Chris Cleeland * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp: Correctly modified the make_cubit() method to properly access the underlying object key. * tao/objkeyC.cpp: Added this crucial file that I somehow missed adding in the last round of changes. Wed Dec 24 15:50:38 1997 Chris Cleeland * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp: Removed non-standard reliance on underlying object key implementation. It relied on the buffer being publicly-accessible, which is wrong. However, I'm not sure that my interim fix is very "right" since it takes the address of operator[](0) to get to the underlying entire buffer. * tests/Cubit/TAO/{IDL_Cubit,MT_Cubit/{server,client}}/Makefile: Updated to use rules.tao.GNU. * tests/Thruput_test/Makefile: Updated to use rules.tao.GNU. * tao/orb.h: Removed unnecessary inclusions of object.h and corbacom.h from this file. * tao/objkeyC.{h,cpp}: Moved the inclusion of corba.h from the header to the implementation because of strange requirements of the orb core. This means that this file CANNOT be used as generated by the IDL compiler. * tao/{orbobj,stub,object,iiopobj}.cpp: Updated to use the proper TAO::ObjectKey_ptr type. * tao/Makefile: Updated this after the recent merge that accidentally overrote some changes I'd made. * taoconfig.mk: Moved the implicit rule into rules.tao.GNU. * rules.tao.GNU: Added this file where rules specific to TAO can be collected. Right now it just contains an implicit rule for executing the IDL compiler on .idl files. Tue Dec 23 12:00:38 1997 Carlos O'Ryan * TAO-INSTALL.html: * VERSION: * Benchmark/benchmark/Makefile: * TAO_IDL/be/be_array.cpp: * TAO_IDL/be/be_attribute.cpp: * TAO_IDL/be/be_codegen.cpp: * TAO_IDL/be/be_decl.cpp: * TAO_IDL/be/be_exception.cpp: * TAO_IDL/be/be_operation.cpp: * TAO_IDL/be/be_scope.cpp: * TAO_IDL/be/be_sequence.cpp: * TAO_IDL/be/be_state.cpp: * TAO_IDL/be/be_state_argument.cpp: * TAO_IDL/be/be_state_exception.cpp: * TAO_IDL/be/be_state_operation.cpp: * TAO_IDL/be/be_state_sequence.cpp: * TAO_IDL/be/be_state_structure.cpp: * TAO_IDL/be/be_state_typedef.cpp: * TAO_IDL/be/be_state_union.cpp: * TAO_IDL/be/be_type.cpp: * TAO_IDL/be/be_union.cpp: * TAO_IDL/be/be_union_branch.cpp: * TAO_IDL/be_include/be_array.h: * TAO_IDL/be_include/be_codegen.h: * TAO_IDL/be_include/be_decl.h: * TAO_IDL/be_include/be_scope.h: * TAO_IDL/be_include/be_sequence.h: * TAO_IDL/be_include/be_state.h: * TAO_IDL/narrow/narrow.cpp: * docs/Options.html: * docs/components.html: * docs/configurations.html: * docs/index.html: * docs/orbsvcs.html: * docs/releasenotes/index.html: * orbsvcs/README: * orbsvcs/Dump_Schedule/Dump_Schedule.cpp: * orbsvcs/Dump_Schedule/Makefile: * orbsvcs/Event_Service/Dispatching_Modules.cpp: * orbsvcs/Event_Service/Dispatching_Modules.i: * orbsvcs/Event_Service/Event_Channel.cpp: * orbsvcs/Event_Service/Event_Channel.i: * orbsvcs/Event_Service/Event_Service.cpp: * orbsvcs/Event_Service/Makefile: * orbsvcs/Event_Service/RT_Task.cpp: * orbsvcs/Event_Service/ReactorTask.cpp: * orbsvcs/Naming_Service/CosNaming_i.cpp: * orbsvcs/Naming_Service/Makefile: * orbsvcs/Scheduling_Service/Config_Scheduler.cpp: * orbsvcs/Scheduling_Service/Config_Scheduler.h: * orbsvcs/Scheduling_Service/Makefile: * orbsvcs/Scheduling_Service/Scheduling_Service.cpp: * orbsvcs/orbsvcs/Makefile: * orbsvcs/orbsvcs/RtecEventChannelAdmin.idl: * orbsvcs/orbsvcs/Runtime_Scheduler.cpp: * orbsvcs/orbsvcs/Runtime_Scheduler.h: * orbsvcs/orbsvcs/Scheduler_Factory.cpp: * orbsvcs/tests/Event_Latency/Event_Latency.cpp: * orbsvcs/tests/Event_Latency/Makefile: * orbsvcs/tests/Logger/Makefile: * orbsvcs/tests/Logger/clnt.cpp: * orbsvcs/tests/Simple_Naming/Makefile: * tao/Makefile: * tao/Timeprobe.cpp: * tao/corba.h: * tao/corbacom.cpp: * tao/deep_free.cpp: * tao/encode.cpp: * tao/except.cpp: * tao/except.h: * tao/giop.cpp: * tao/invoke.cpp: * tao/managed_types.cpp: * tao/managed_types.h: * tao/managed_types.i: * tao/object.i: * tao/orb_core.cpp: * tao/request.cpp: * tao/tao_internals.cpp: * tests/Cubit/TAO/IDL_Cubit/clnt.cpp: * tests/Cubit/TAO/IDL_Cubit/clnt.h: * tests/Cubit/TAO/MT_Cubit/client/Task_Client.cpp: * tests/Cubit/TAO/MT_Cubit/client/Task_Client.h: * tests/Cubit/TAO/MT_Cubit/client/client.cpp: * tests/Cubit/TAO/MT_Cubit/client/cubit.idl: * tests/Cubit/TAO/MT_Cubit/server/cubit.h: * tests/Cubit/TAO/MT_Cubit/server/cubit.idl: * tests/Cubit/TAO/MT_Cubit/server/cubit_i.cpp: * tests/Cubit/TAO/MT_Cubit/server/cubit_i.h: * tests/Cubit/TAO/MT_Cubit/server/method_db.i: * tests/Cubit/TAO/MT_Cubit/server/svr.cpp: Merged in the changes between revisions main_to_poa_merge_1 and main_to_poa_merge_2. The only conflicts were: + ChangeLog: removed all the main truck comments and added the one you are reading just now. + tests/Cubit/TAO/MT_Cubit/client/Makefile: + tests/Cubit/TAO/MT_Cubit/client/Makefile: Left the branch revision, it included the dependencies and had correct syntax. + tao/poa.cpp: CORBA_POA::handle_request was removed on the branch but modified on the main revision; keep it removed. Wed Dec 17 02:11:11 1997 Chris Cleeland * tao/poa.h: * tao/poa.cpp: * tao/orbobj.h: * tao/orbobj.cpp: * tao/objkeyC.i: * tao/objkeyC.h: * tao/object.h: * tao/iiopobj.h: * tao/iiopobj.cpp: * tao/decode.cpp: * tao/corbacom.h: * tao/corba.h: * tao/any.cpp: All affected by changes to support interfaces required by the new POA, specifically CORBA::Object::key() and CORBA::ORB::key_to_object(). It does not compile now, and seems as if it's simply an ordering problem of header files. Mon Dec 15 19:39:20 1997 Chris Cleeland * TAO_IDL/be/Makefile: * TAO_IDL/be/be_codegen.cpp: * TAO_IDL/be/be_exception.cpp: * TAO_IDL/be/be_interface.cpp: * TAO_IDL/be/be_state.cpp: * TAO_IDL/be/be_state_attribute.cpp: * TAO_IDL/be/be_state_exception.cpp: * TAO_IDL/be/be_union_branch.cpp: * TAO_IDL/be_include/be_state.h: * docs/releasenotes/orbcore.html: * docs/releasenotes/index.html: * orbsvcs/Naming_Service.cpp: * tao/iiopobj.h: * tao/except.h: * tao/except.cpp: Merged in changes from the main trunk. * tests/Thruput_test/Makefile: Updated to use taoconfig.mk. Sat Dec 13 22:06:25 1997 Chris Cleeland * tao/poa.* (get_key): Removed this method, since it's unnecessary. * tao/objkey.idl: Added this file, which is the idl for an object key. * tao/iiopobj.*: Added some '@@' comments for Irfan. * tao/Makefile: Reworked this monstrositry a bit. Fri Dec 12 12:09:42 1997 Chris Cleeland * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp: Changed to use CORBA::Object::key() rather than _get_name(). * tests/Cubit/TAO/{DII_Cubit,IDL_Cubit,MT_Cubit}/Makefile: Updated to use taoconfig.mk. * tao/orb_core.i: Removed stray printf. * taoconfig.mk: Added this file which contains common configuration stuff for applications. Thu Dec 11 21:28:09 1997 Chris Cleeland * tao/poa.{h,cpp}: Moved handle_request to TAO_Server_Connection_Handler and moved create to CORBA::ORB::key_to_object. * tao/orbobj.{h,cpp}: Added key_to_object as a method to create an object reference from an object key and type id. This code actually used to live in POA::create. * tao/object.h: Brief documentation twiddling, and renamed get_subclass to get_most_derived, which is hopefully more explicative. * tao/{object,iiopobj,stub}.{h,cpp}: Renamed _get_name to 'key' and have it return a TAO_ObjectKey_ptr rather than a const char*. * tao/corbacom.h: Added typedef for TAO_ObjectKey, which represents an object key in GIOP. * tao/connect.{h,cpp}: Moved handle_request from the POA into here, thereby helping confine IIOP-ness to the ORB Core and keeping the POA pristine. Thu Dec 11 22:18:52 1997 Aniruddha Gokhale * TAO_IDL/be/be_interface.cpp: Moved the code generation for the _var and _out classes before the actual class declaration, but after the forward declaration. This was necessary if any elements in the scope of the interface are defined to be of the same type as that interface. In such a situation those elements are defined to be of the _var type. Hence the declaration for _var and _out must precede the class declaration. Thu Dec 11 22:00:52 1997 Sergio Flores * orbsvcs/Naming_Service/Naming_Service.cpp (main): Fixed a bug related to returning an empty string as the ior in the reply from the multicast request. Thu Dec 11 14:06:50 1997 Aniruddha Gokhale * TAO_IDL/be/{be_exception,be_state_exception}.cpp: Support for exceptions added. Added a new file called "be_state_exception.cpp". * TAO_IDL/be_include/be_state.h: Added a new singleton for be_state_exception. * TAO_IDL/be/be_state.cpp: Template instantiations for be_state_exception. * TAO/docs/releasenotes/index.html: Updated to include exception support. * TAO/tao/except.{h,cpp}: Moved the TypeCode member from the private section to the protected section so that derived classes can set it. Also, changed the variable from _type to type_ to stick to the ACE design standards. * ============ * ============ End of POA branch changes. * ============ Fri Jan 23 10:29:17 1998 David L. Levine <@cs.wustl.edu> * tao/deep_free.cpp (TAO_Marshal_Sequence::deep_free): added ACE_UNUSED_ARGs of dest and env. * TAO_IDL/fe/{Makefile,y.tab.cpp,y.tab.cpp.diff}: added patch to fix up y.tab.cpp to compile cleanly with g++. * TAO_IDL/fe/{Makefile,lex.yy,cpp,lex.yy.cpp.diff}: added patch to fix up lex.yy.cpp to compile cleanly with g++. Thu Jan 22 18:18:07 1998 Nanbor Wang * orbsvcs/Event_Service/GPlot_File.{h,cpp}: Shuffled template instantiations and typedef's for ACE_Map_Manager around to eliminate compilation errors from g++. Thu Jan 22 16:32:56 1998 Chris Cleeland * tao/nvlist.cpp (is_nil): Fixed some return lines that were probably returning the wrong value by not enclosing a comparison in parens. Fortunately we weren't really checking the return value on these, I suspect ;-) Thanks to Frederic Andres for turning this in. Thu Jan 22 16:16:32 1998 Sumedh Mungee * orbsvcs/orbsvcs/CosPropertyService_i.cpp, CosPropertyService_i.h, AVStreams_i.cpp, AVStreams_i.h: Added empty implementation files for AVStreams and propertyservice implementations * orbsvcs/orbsvcs/Makefile: Fixed the Makefile so that it will compile the AV related stuff only when run as `make av=1`. Thu Jan 22 14:22:46 1998 Nanbor Wang * orbsvcs_lib.dsp: Changed to use multithreaded libraries. Thu Jan 22 14:20:13 1998 Nanbor Wang * tests/Param_Test/{server,client}.dsp: The project files somehow got messed up. * orbsvcs/orbsvcs_lib.dsp: Changed to use multithreaded libraries. * orbsvcs/Scheduling_Service/Scheduling_Service.dsp: Removed unnecessary link-time libraries. * orbsvcs/Dump_Schedule/Dump_Schedule.dsp: Changed to use multithreaded libraries. Wed Jan 21 20:49:51 1998 Chris Cleeland * TAO version 0.0.54, released Wed Jan 21 20:49:51 1998. Wed Jan 21 19:38:02 1998 Aniruddha Gokhale * tao/encode.cpp, decode.cpp: Fixed alignment problem. Done only in Marshal_Struct for the time being. Details of this fix will be inserted later. Wed Jan 21 16:27:58 1998 Chris Cleeland * Makefile: Updated this to use the new release.pl file below. * release.pl: Added new script to take over some of the release work rather than having it all inline in the Makefile. * tests/Cubit/TAO/MT_Cubit/README: Changed docs to reflect the new names and command line requirements. Wed Jan 21 15:38:52 1998 Carlos O'Ryan * orbsvcs/Event_Service/Makefile: Removed GPlot_File from the list, it does not compile on Solaris/g++, but it is not needed. Wed Jan 21 11:48:19 1998 Aniruddha Gokhale * tao/encode.cpp: Updated the ObjRef::encode routine to encode NUL object references * tests/Param_Test: Further improvements. * TAO_IDL/be/{be_state_attribute, be_attribute}.cpp: Solved the problem of return types. The stubs explicitly allocate the top level storage. A similar fix was made for "operations" mentioned in a previous ChangeLof entry. Wed Jan 21 12:23:29 1998 Carlos O'Ryan * tests/Cubit/TAO/MT_Cubit/Makefile: Fixed typo in object list for server and client. Wed Jan 21 11:25:36 1998 Carlos O'Ryan * tests/Param_Test/tmplinst.cpp: Removed extra ';' in instantiation pragma. Wed Jan 21 11:13:56 1998 Carlos O'Ryan * tests/Cubit/TAO/MT_Cubit/Makefile: * tests/Cubit/TAO/MT_Cubit/tmplinst.cpp: * tao/giop.cpp: Added missing template instantiations. * tao/sequence_T.h: * tao/sequence_T.i: No need to return const reference to pointer, a simple return by value (of the pointer) is OK. Wed Jan 21 10:38:22 1998 Chris Cleeland * tests/Cubit/TAO/IDL_Cubit/clnt.cpp: Added template instantiation for Env_Value. * tests/{Thruput/TAO,Param_Test,Cubit/TAO/IDL_Cubit}/Makefile: Added the appropriate tmplinst.* so that it gets built/linked. * tests/{Thruput/TAO,Param_Test,Cubit/TAO/IDL_Cubit}/tmplinst.cpp: Added this file, which contains explicit template instantiations for code generated by the IDL compiler. Ideally, this file (or something like it) would be generated by the compiler, but we're just not there yet. So, since it's not TOO much work, we do this. Wed Jan 21 09:40:27 1998 Carlos O'Ryan * tao/sequence.cpp: * tao/sequence_T.cpp: Fixed allocation problem for operator= in sequences, the new buffer should have size "rhs.maximum_", not "this->maximum_" Wed Jan 21 04:43:57 1998 Aniruddha Gokhale * tao/corbacom.h: Added Object_var and ORB_var to the CORBA class (i.e., to the namespace) * tao/sequence.cpp: Operator= for string sequence still had bugs where we were not allocating a larger buffer of the assigned quantity was larger than us. Similar bugs *might* be present in other sequence classes and I have not tested them yet. Wed Jan 21 01:34:07 1998 Nanbor Wang * tests/Cubit/TAO/MT_Cubit/{server,client}.cpp: Ifdef'ed out ACE_THR_PRIO_FIFO_DEF if it's not defined. * orbsvcs/Naming_Service/Naming_Service.cpp: We should use "ace/streams.h" to include iostream definition instead of using directly. It is not compatible with the new standard CPP libraries. * orbsvcs/Event_Service/Event_Service.dsp: * orbsvcs/Naming_Service/Naming_Service.dsp: * orbsvcs/Scheduling_Service/Scheduling_Service.dsp: It used the wrong libraries. Tue Jan 20 22:59:42 1998 Chris Cleeland * tao/sequence_T.cpp: Fixed more typos where it was referring to the argument as 'seq' rather than the real name 'rhs'. Tue Jan 20 22:38:10 1998 * tests/Param_Test/tests.cpp: No need to call CORBA::string_free() on opname_, since it is a String_var * tao/sequence_T.cpp: Fixed typo in object sequences. Tue Jan 20 21:53:52 1998 Carlos O'Ryan * orbsvcs/orbsvcs/Makefile: * orbsvcs/orbsvcs/TAO_IDL_templates.cpp: Added missing template instantiations, they go into their own file because I could not think of a "natural" place to put them. Tue Jan 20 20:25:41 1998 Carlos O'Ryan * tao/sequence.h: * tao/sequence.i: * tao/sequence.cpp: * tao/sequence_T.i: * tao/sequence_T.cpp: Another round of changes, this time fixing several bugs reported by Andy and Irfan. Tue Jan 20 20:23:57 1998 Carlos O'Ryan * tao/nvlist.h: * tao/nvlist.i: Fixed warnings for IRIX and follow the spec, use const methods but return non-const types! Tue Jan 20 17:00:15 1998 Chris Cleeland * tao/strategy_T.h: Added this file to contain template strategies such as TAO_Reactive_Strategy<>. * tao/default_server.*: Moved TAO_Reactive_Strategy<> into its own set of files. Thanks to Bryan Mendel for suggesting this fix! * tao/sequence_T.cpp (operator =): Corrected a problem where T** was being assigned to T*. * tao/orb_core.cpp (init): Moved setting of stuff in orb_params() to be post-service initialization. It needs to be this way because the ORB Parameters are now regulated by the resource factory settings, and that gets created during service initialization. * tao/giop.cpp: Changed the TAO_GIOP_LocateRequestHeader::init to be more efficient and not generate warnings on Irix. * tao/{giop,connect}.cpp: Update code that touches ORB-internal sequences to use the API of TAO_Unbounded_Sequence<> rather than the old crufty code. * tao/giop.h: Change ORB-internal sequences (such as the ServiceContextList) to use the new TAO_Unbounded_Sequence<> template rather than the deprecated CORBA_SEQUENCE<> hack. Tue Jan 20 09:18:31 1998 Aniruddha Gokhale * TAO/tao/interp.cpp: Used TAO_opaque to set the size of any generic sequence. * TAO_IDL/be/{be_operation,be_state_operation}.cpp: For return value of sequences, the stub now allocates the top level storage for the sequence class. Tue Jan 20 05:34:16 1998 Aniruddha Gokhale * TAO/tao/sequence.cpp: In the assignment operator for Unbounded string sequences, we had forgotten to update the max and length fields to that of the assigned sequence in the event of it being larger than ourselves. We had also forgottent o set our release flag to true as well as free the old buffer (if already our release flag was true). I have not checked if there are similar bugs in other "=" operators or not. But these will be evident as more tests are added to the Param_Test example. Mon Jan 19 23:35:45 1998 * tao/sequence_T.h: * tao/sequence_T.i: * tao/sequence_T.cpp: Finished suit of parametric classes for sequences, including bounded sequences of objects and strings. Fixed some more bugs in the Manager classes for sequences of objects. Mon Jan 19 17:33:45 1998 Chris Cleeland * orbsvcs/tests/Simple_Naming/clnt.cpp (init): Changed the marker name for the naming service to "NameService" and fixed a bunch of places in init() where "1" was being returned instead of "-1". * tests/Cubit/TAO/IDL_Cubit/README: Fixed portion that talks about the IOR to use the correct default IOR. Thanks to J Russell Noseworthy for catching this and submitting fixes! Mon Jan 19 15:41:53 1998 Nanbor Wang * tests/Cubit/TAO/MT_Cubit/server.cpp (create_servants): Added a final return statement to avoid warnings. (ACE_THR_PRI_FIFO_DEF): This macro is not defined on NT. I ifdef'ed the priority setting statement out temporarily until we figure out a way to map NT's thread priority values to pthread's priority values. * tests/Cubit/TAO/MT_Cubit/server.dsp: Updated project file. * tests/Cubit/TAO/IDL_Cubit/clnt.cpp (Cubit_Client): Changed the data type of to CORBA::UShort. * tests/Param_Test/options.{h,cpp} (portnum): Changed it to type CORBA::UShort. * tests/Param_Test/helper.cpp (gen_fixed_struct): Added parenthesis to avoid warnings. * tao/sequence.h (TAO_Unbounded_String_Sequence): Added TAO_Export to class TAO_Unbounded_String_Sequence. Mon Jan 19 11:24:43 1998 Carlos O'Ryan * tao/sequence_T.i: g++ does not like nested types in templates. * docs/releasenotes/index.html: Updated docs on services. Sun Jan 18 21:33:21 1998 * tao/sequence.h: * tao/sequence.i: * tao/sequence.cpp: * tao/sequence_T.h: * tao/sequence_T.i: * tao/sequence_T.cpp: Added new class for sequences of strings, the approach based on templates was not worth it. Also fixed a number of bugs in the unbounded object sequences. The following items are in the TODO list: + Bounded sequences of objects + Bounded sequences of strings. * TAO_IDL/be_include/be_helper.h: * TAO_IDL/be/be_helper.cpp: Addded small manipulators to indent and unindent an output stream. * TAO_IDL/be/be_visitor_sequence.cpp: Synch up with new classes for string and objects. * tests/Param_Test/tests.cpp: Fixed some problems with the test for sequences of variable sized structures. * orbsvcs/Event_Service/CORBA_Utils_T.cpp: Fixed unsigned/signed comparison. Sun Jan 18 18:30:16 1998 Nanbor Wang * TAO/tests/Cubit/TAO/MT_Cubit/*.{dsp.MAK}: * TAO/tests/Param_Test/*.{dsp,MAK}: Played with exported makefiles some more. It's ultimately funny that when a project file has some customed build commands in it, the exported makefile sometime won't work correctly. Sat Jan 17 23:41:33 1998 Nanbor Wang * Added more MSVC makefiles in some test directories. * tests/Param_Test/{client,server}.dsp: Correct idl generated files' dependency. Sat Jan 17 22:40:29 1998 Aniruddha Gokhale * TAO/tao/orbobj.{h,i}: Added _var and _out for CORBA_ORB Sat Jan 17 21:28:05 1998 * tao/corba.h: * tao/corbacom.h: Moved the definition of TAO_opaque from corbacom.h to corba.h so it appears after the "sequence.h" file. * tao/sequence.h: * tao/sequence.cpp: Reorder includes to avoid "inline called before declared so" warning in g++. * tests/Cubit/TAO/MT_Cubit/server.cpp: The OA uses TAO_opaque instead of CORBA::OctetSeq. Sat Jan 17 16:07:51 1998 Carlos O'Ryan * TAO_IDL/be/be_visitor_args.cpp: * TAO_IDL/be/be_visitor_interface.cpp: * TAO_IDL/be_include/be_visitor_args.h: * TAO_IDL/be_include/be_visitor_interface.h: New visitors to generate collocated classes (only used on the POA branch) and the arguments declaration. Fri Jan 16 23:38:38 1998 * tao/decode.cpp: * tao/deep_free.cpp: * tao/giop.h: * tao/iiopobj.cpp: * tao/sequence.h: * tao/sequence_T.h: * tao/sequence_T.cpp: Fixed some memory *deallocation* problems with sequences, they needed a _deallocate_buffer() method, not to implement the base class destructor, but to implement deep_free. Fri Jan 16 18:01:03 1998 Carlos O'Ryan * The Event Service works on Solaris/SunCC again. * tao/poa.h: * tao/poa.cpp: * tao/objtable.h: * tao/objtable.cpp: * tao/connect.cpp: The object table, and POA use a real TAO_Unbounded_Sequence, removing some nasty casts. * tao/sequence_T.i: * tao/sequence_T.cpp: Fixed some memory allocation problems in operator= * TAO_IDL/be/be_interface.cpp: No need to cast the object key when calling POA::bind(), it takes a TAO_opaque now. Thu Jan 15 17:15:29 1998 Carlos O'Ryan * TAO/TAO_IDL/be/be_interface.cpp: * TAO/tao/connect.cpp: * TAO/tao/corba.h: * TAO/tao/corbacom.cpp: * TAO/tao/corbacom.h: * TAO/tao/decode.cpp: * TAO/tao/encode.cpp: * TAO/tao/iiopobj.cpp: * TAO/tao/iiopobj.i: * TAO/tao/iioporb.cpp: * TAO/tao/poa.cpp: Now TAO_opaque is implemented using the new TAO_*_Sequence classes, this is needed because the demarshaller expects that class. There are some other sequences in the ORB core that need the same change, but currently that is not so urgent. The object table expects a CORBA_SEQUENCE so some casting is still done among those classes and the new templates. The POS branch already solved this, so I will wait until the merge to fix it. * TAO/tao/sequence_T.h: * TAO/tao/sequence_T.i: * TAO/tao/sequence_T.cpp: Now we include sequence_T.i in sequence_T.h, this is needed for template instantiation. The ACE_ASSERT for indices was comparing to the value of length_, it must compare with maximum_, it is possible that the user creates the sequence with enough space (thus maximum_ is properly set, but length_ is 0), then inserts some data and finally sets the length, with the previous asserts that would fail. * TAO/tao/Makefile: * TAO/TAO_IDL/*/Makefile: * TAO/orbsvcs/*/Makefile: * TAO/tests/Cubit/TAO/*/Makefile: Dependencies regenerated. Wed Jan 14 23:10:13 1998 * sequence.h: * sequence.i: * sequence.cpp: * sequence_T.h: * sequence_T.i: More generated and parametric code reduced, also fixed some problems detected by MSVC++. * tao/TAO.dsp: * TAO_DL/tao_idl.dsp: Updated projects to include new files. Wed Jan 14 21:03:18 1998 Carlos O'Ryan * sequence.h: * sequence.i: * sequence.cpp: Removed unused TAO_Unbounded_String class, it has been superseeded by TAO_Unbounded_Managed_String. * sequence_T.h: * sequence_T.i: Managed sequences only need the const version of operator[], because they return a Manager by value. Wed Jan 14 20:32:47 1998 * tao/sequence_T.h: Fixed typo in base class for ACE_Bounded_Managed_Sequence. Wed Jan 14 17:54:31 1998 Carlos O'Ryan * TAO_IDL/be_include/be_visitor_sequence.h: * TAO_IDL/be/be_visitor_sequence.cpp: * TAO_IDL/be/be_interpretive.cpp: * TAO_IDL/be/be_sequence.cpp: The compiler generates code using the new managed sequence parametric classes. Also handled typedefs correctly while generating sequence code specially template arguments and return types for operator[] in _var and _out classes. Simplified code generation for sequences of sequences: the generated typedefs can be used to instantiate the templates. Finally made some of the visitors more generic, so less knowledge on the stream files gets distributed. * tao/sequence.h: * tao/sequence.cpp: * tao/sequence_T.h: * tao/sequence_T.i: * tao/sequence_T.cpp: Re-implemented the Managed_Sequence classes using the "Manager" as a parameter instead of a nested type. Still requires some work because the sequences need privileged access (friend) to the Managers. Tue Jan 13 15:55:32 1998 Chris Cleeland * Makefile (INSTALL): Added a rule to build the INSTALL file from TAO-INSTALL.html. Also added both TAO-INSTALL.html and INSTALL to the list of files included in the release. TAO-INSTALL.html had not been included at all. * TAO-INSTALL.html: Updated some of the text in the Unix portion to be explicit regarding the need for GNU Make. * INSTALL: Added this file, which is the output of 'lynx -dump TAO-INSTALL.html'. Mon Jan 12 20:04:32 1998 Sumedh Mungee * tests/Cubit/TAO/MT_Cubit/server.cpp: Added comments Mon Jan 12 17:29:44 1998 Aniruddha Gokhale * TAO_IDL/be/be_codegen.cpp: Added initialization for an abstract visitor factory in the constructor and deletion in the destructor. Added code for the "make_visitor" factory method. * TAO_IDL/be/be_factory.cpp: Added destructor and constructor for abstract factory (*note* it is not pure abstract). * TAO_IDL/be/be_produce.cpp: We use the different visitors for the root to start code generation. At this time, we instantiate the visitor factory with the concrete factory of visitors which will generate stubs/skeletons using TAO's interpretive marshaling engine. * TAO_IDL/be_be_sequence.cpp: Commented out a large part of code to enable visitors for sequences to take over code generation. * TAO_IDL/be/be_visitor.cpp: Abstract factory of visitors. * TAO_IDL/be/{be_visitor_root, be_visitor_sequence}.cpp: visitors for Root and Sequences respectively. be_visitor_sequence.cpp is a new file. * TAO_IDL/be_include/{be_codegen, be_visitor, be_visitor_root, be_visitor_sequence, be_factory, be_sequence}.h: Files affected due to introduction of visitors and visitor factory. Added a boolean "unbounded ()" method on sequences. * TAO/tao/{decode, encode}.cpp: Uses TAO_Base_Sequence instead of the hack of using CORBA_SEQUENCE. * TAO/tao/{sequence, sequence_T}.{h,i,cpp}: Added large amount of code for bounded and unbounded sequences as well as the special cases for sequences of object references and strings, along with their managed types. * TAO/tests/Param_Test: Added tests for object references and sequence of variable structs. There are some problems with the generated code. Sun Jan 11 11:15:35 1998 David L. Levine * tao/sequence.i (TAO_Base_Sequence): reordered initializers to match declaration order. * tao/nvlist.h: changed AddRef and Release declarations to return CORBA::ULong instead of ULONG, to match their definitions. Sat Jan 10 14:08:09 1998 * TAO_IDL/be/be_array.cpp: * TAO_IDL/be/be_exception.cpp: * TAO_IDL/be/be_interface.cpp: We no longer generate names with CORBA_1 or CORBA_3 macros, but sometimes we cannot use the typedefs in CORBA:: because some weird MSVC++ features (bugs?). Fri Jan 09 21:37:39 1998 * TAO_IDL/be/be_typedef.cpp: Added missing accept() method for visitors. * orbsvcs/orbsvcs/Runtime_Scheduler.cpp: Fixed signed/unsigned warning. * orbsvcs/Naming_Service/CosNaming_i.cpp: Yet another fix for the namespace warnings. * orbsvcs/Dump_Schedule/Dump_Schedule.dsp: * orbsvcs/Event_Service/Event_Service.dsp: * orbsvcs/Naming_Service/Naming_Service.dsp: * orbsvcs/Scheduling_Service/Scheduling_Service.dsp: * orbsvcs/tests/Event_Latency/Event_Latency.dsp: Executables are not generated into the Debug subdirectory. Fri Jan 9 20:49:41 1998 Sergio Flores * orbsvcs/Naming_Service/CosNaming_i.cpp: Fixed some code dealing with Warning (Anachronism) messages. Fri Jan 9 19:04:10 1998 Nanbor Wang * tao/orbobj.cpp: Moved template instantiation codes around to eliminate compilation errors. Fri Jan 9 17:49:55 1998 Carlos O'Ryan * tao/Makefile: * tao/corba.h: * tao/corbacom.h: * tao/sequence.cpp: * tao/sequence.h: * tao/sequence.i: * tao/sequence_T.cpp: * tao/sequence_T.h: * tao/sequence_T.i: Added the new TAO_Base_Sequence class and its parametric children (TAO_Bounded_Sequence and TAO_Unbounded_Sequence). This classes will be used in the implementation of all the IDL sequences, thus providing the interpreter with a base class to manipulate them. * orbsvcs/Scheduling_Service/Scheduler.cpp: Fixed some instantiation problems. * TAO_IDL/be/Makefile: * TAO_IDL/be/be_argument.cpp: * TAO_IDL/be/be_array.cpp: * TAO_IDL/be/be_attribute.cpp: * TAO_IDL/be/be_constant.cpp: * TAO_IDL/be/be_decl.cpp: * TAO_IDL/be/be_enum.cpp: * TAO_IDL/be/be_enum_val.cpp: * TAO_IDL/be/be_exception.cpp: * TAO_IDL/be/be_expression.cpp: * TAO_IDL/be/be_field.cpp: * TAO_IDL/be/be_interface.cpp: * TAO_IDL/be/be_interface_fwd.cpp: * TAO_IDL/be/be_module.cpp: * TAO_IDL/be/be_native.cpp: * TAO_IDL/be/be_operation.cpp: * TAO_IDL/be/be_predefined_type.cpp: * TAO_IDL/be/be_root.cpp: * TAO_IDL/be/be_scope.cpp: * TAO_IDL/be/be_sequence.cpp: * TAO_IDL/be/be_string.cpp: * TAO_IDL/be/be_structure.cpp: * TAO_IDL/be/be_type.cpp: * TAO_IDL/be/be_union.cpp: * TAO_IDL/be/be_union_branch.cpp: * TAO_IDL/be/be_union_label.cpp: * TAO_IDL/be/be_visitor.cpp: * TAO_IDL/be/be_visitor_root.cpp: * TAO_IDL/be_include/be.h: * TAO_IDL/be_include/be_argument.h: * TAO_IDL/be_include/be_array.h: * TAO_IDL/be_include/be_attribute.h: * TAO_IDL/be_include/be_constant.h: * TAO_IDL/be_include/be_decl.h: * TAO_IDL/be_include/be_enum.h: * TAO_IDL/be_include/be_enum_val.h: * TAO_IDL/be_include/be_exception.h: * TAO_IDL/be_include/be_expression.h: * TAO_IDL/be_include/be_field.h: * TAO_IDL/be_include/be_interface.h: * TAO_IDL/be_include/be_interface_fwd.h: * TAO_IDL/be_include/be_module.h: * TAO_IDL/be_include/be_native.h: * TAO_IDL/be_include/be_operation.h: * TAO_IDL/be_include/be_predefined_type.h: * TAO_IDL/be_include/be_root.h: * TAO_IDL/be_include/be_scope.h: * TAO_IDL/be_include/be_sequence.h: * TAO_IDL/be_include/be_string.h: * TAO_IDL/be_include/be_structure.h: * TAO_IDL/be_include/be_type.h: * TAO_IDL/be_include/be_typedef.h: * TAO_IDL/be_include/be_union.h: * TAO_IDL/be_include/be_union_branch.h: * TAO_IDL/be_include/be_union_label.h: * TAO_IDL/be_include/be_visitor.h: * TAO_IDL/be_include/be_visitor_root.h: Added visitors from the poa branch into the main trunk. Fri Jan 9 16:17:37 1998 Chris Cleeland * tao/orb_core.*: Changed ORB parameters, OA parameters, and the endpoint address to be switchable btw. global and tss resources. I also cleaned up the redundant accessor methods by using macros to define them. Thanks to Keith Nicewarner for his bug reports which led to this solution. * tao/orbobj.cpp (run,perform_work): Added code to set the Reactor's owner to the current thread prior to calling handle_events(). Thanks to Keith Nicewarner for his bug reports which led to this solution. Fri Jan 9 16:00:21 1998 Aniruddha Gokhale * TAO_IDL/be/be_interface.cpp: Removed a Release statement that was getting generated in the _narrow method * TAO_IDL/be/{be_state_argument, be_state_operation}.cpp: All typedefed strings are handled as if they are strings. Fri Jan 09 12:29:55 1998 * tao/default_server.cpp: Fixed missing initialization for object_lookup_strategy_ Fri Jan 9 12:17:02 1998 Carlos O'Ryan * orbsvcs/Event_Service/Dispatching_Modules.cpp: * orbsvcs/Event_Service/Event_Channel.cpp: * orbsvcs/Event_Service/GPlot_File.cpp: * orbsvcs/Event_Service/Memory_Pools.cpp: * orbsvcs/Event_Service/Task_Manager.cpp: * orbsvcs/Scheduling_Service/Scheduler.cpp: * orbsvcs/Scheduling_Service/Scheduler_Generic.cpp: Added missing instantiation for platforms with ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA (IRIX) * orbsvcs/Event_Service/CORBA_Utils_T.h: Added missing member to ACE_ES_Array_Iterator. * orbsvcs/Scheduling_Service/Scheduler.h: Use ACE_SYNCH_MUTEX instead of ACE_HAS_THREADS and ACE_Null_Mutex vs ACE_Thread_Mutex. * orbsvcs/orbsvcs/Makefile: The IDL generated files are .PRECIOUS Thu Jan 8 21:58:18 1998 Aniruddha Gokhale * TAO_IDL/be/be_interface.cpp: be_interface::relative_skel_name () was producing incorrect results because we were overwriting an internal string with '\0' * TAO/tao/deep_free.cpp: Marshal_Struct::deep_free. Commented out the call to String::deep_free if a member is a string because that free should happen automatically as the member is a String_var type. In addition, String::deep_free was setting the pointer to 0. * TAO/tao/marshal.i: In string::deep_free, commente dout the line that sets the pointer to 0. * TAO/tests/Param_Test: Added a string member field to the var_struct. Also some modifications. Needs more improvement. Thu Jan 08 17:48:49 1998 * Naming_Service/NS_CosNaming.cpp: * orbsvcs/Naming_Service/CosNaming_i.cpp: ACE_NESTED is only needed in the generated code. * Scheduling_Service/Scheduling_Service.cpp: MSVC++ 5.0 seems to have a bug: if the implementation for the scheduling service is stored into a RtecScheduler::Scheduler_ptr then the server crashes; this is OK in other platforms and looks OK since the pointers are in fact compatible. * tests/Event_Latency/Event_Latency.cpp: Removed some warnings by using "CORBA::ULong" instead of "int" in comparisons against sequence<>::length. * Dump_Schedule/Dump_Schedule.dsp: * orbsvcs/orbsvcs_lib.dsp: Fixed some names and missing options. Thu Jan 08 15:55:21 1998 Nanbor Wang * tao/objtable.cpp: * tao/optable.cpp: * tao/orbobj.cpp: * orbsvcs/Naming_Service/CosNaming_i.cpp: Added missing template instantiation codes. Thu Jan 8 12:53:28 1998 Chris Cleeland * tao/corbacom.i (wstring_dup): Added this, which simply calls wstring_copy(). Of course, I can't find any mention of EITHER of these functions in the 2.0 or 2.1 spec, but what good are wstrings if you can't make copies? Plus, Irfan really wanted it. Thu Jan 8 11:36:38 1998 Aniruddha Gokhale * TAO_IDL/be_include/be_interface.h, TAO_IDL/be/be_interface.cpp: Added a method called "relative_skel_name" to be used for generating names of inherited interfaces in the keleton class name. * TAO_IDL/be/be_state_argument.cpp: Generation of space was missing after the "native" type in a parameter list declaration. * TAO_IDL/fe/{y.tab.*, lex.yy.cpp}: Due to changes in the idl.ll and idl.yy files, these had to be regenerated. Thu Jan 08 00:14:56 1998 * orbsvcs/orbsvcs.dsw: * orbsvcs/Dump_Schedule/Dump_Schedule.dsp: * orbsvcs/Dump_Schedule/Dump_Schedule.dsw: * orbsvcs/Event_Service/Event_Service.dsp: * orbsvcs/Event_Service/Event_Service.dsw: * orbsvcs/Naming_Service/Naming_Service.dsp: * orbsvcs/Naming_Service/Naming_Service.dsw: * orbsvcs/Scheduling_Service/Scheduling_Service.dsp: * orbsvcs/Scheduling_Service/Scheduling_Service.dsw: * orbsvcs/tests/Event_Latency/Event_Latency.dsp: * orbsvcs/tests/Event_Latency/Event_Latency.dsw: Added preliminar (untested) versions of the project files for MSVC++ 5.0. Wed Jan 7 22:41:41 1998 Carlos O'Ryan * tao/corba.h: Removed varout.h from the list of included files; it is no used and would abort compilation on IRIX. * tests/Cubit/TAO/IDL_Cubit/clnt.cpp: * tao/orbobj.cpp: Added missing template instantiations. * tao/varout.h: Some fixes, but actually the changes were aborted, Andy informed me that the file wasn't really used. Wed Jan 07 21:52:20 1998 * TAO_IDL/tao_idl.dsp: Added the new native_* functions to the project file. Also use the new tao_idl.cpp file in the top level directory. Wed Jan 7 20:20:56 1998 Sergio Flores * orbsvcs/Naming_Service/NS_CosNaming.cpp: * orbsvcs/Naming_Service/CosNaming_i.cpp: Use the correct _duplicate function. Also changed the code to use exceptions already supported by TAO. Wed Jan 7 18:00:08 1998 Carlos O'Ryan * TAO_IDL/Makefile: * TAO_IDL/tao_idl.cpp: * TAO_IDL/driver/Makefile: * TAO_IDL/driver/drv_main.cpp: Moved the main() routine to the topmost directory, this is needed for platforms like SGI that will not link a group of shared libraries without any object files. It also seems more reasonable (IMHO). Wed Jan 7 13:55:26 1998 Chris Cleeland * tests/Cubit/TAO/IDL_Cubit/clnt.cpp: Changed the assignment of default port number to fetch the value from the environment similar to what is done in orb_core.cpp. * tao/poa.{h,cpp} (handle_request): Moved functionality to TAO_Server_Connection_Handler in connect.*. * tao/orb_core.cpp: Added the ability to specify the default server port via an environment variable using the ACE_Env_Value template. The name of the environment variable is the same as the preprocessor #define: TAO_DEFAULT_SERVER_PORT. * tao/giop.* (TAO_GIOP_LocateRequest): Added a CTOR and init method similar to TAO_GIOP_Request. * tao/connect.{h,cpp} (handle_locate): Added to handle the LocateRequest CORBA request. Also moved handle_request() method from the poa to here. * tao/Makefile: Added "fakesvcconf" variable check so that if somebody wants to build with faked svc config entries on a platform, they can simply do "make fakesvcconf=1". The CHORUS and VXWORKS sections now override the value of this variable to be 1. Wed Jan 7 12:00:14 1998 Aniruddha Gokhale * TAO/tao/corbacom.h: Added forward declarations for CORBA_Object_var and CORBA_Object_out * TAO/tao/varout.h: some improvements. However, this file is not used currently. * TAO_IDL/include/ast_native.h: New file that defines the "native" type defined by the POA spec. * TAO_IDL/include/{ast, ast_interface, ast_module, ast_decl, idl_fwd, idl_global, utl_scope}: Added the create_native and fe_add_native methods for the newly added "native" type. Added a enum value for native in AST_Decl.h. Added an enum value for the current parse state in idl_global.h. Added forward declarations in idl_fwd.h. Added the "add_native" method in utl_scope.h * TAO_IDL/ast/{ast_generator, ast_interface, ast_module}.cpp: Added the create_native and fe_add_native methods for the newly added "native" type. * TAO_IDL/ast/ast_native.cpp: New file for native type * TAO_IDL/fe/idl.ll: Added a rule to recognize the "native" keyword. * TAO_IDL/fe/idl.yy: Added a grammar rule for the "native" type. * TAO_IDL/util/utl_scope.cpp: Added add_native and fe_add_native methods. * TAO_IDL/be_include/be_native.h: New file for the backend for "native" type. * TAO_IDL/be/be_native.cpp: New file for backend implementation of "native". * TAO_IDL/be/be_attribute.cpp: For the "set" method, we were setting the paramdata structure of the get method. This has been fixed. * TAO_IDL/be/be_generator.cpp: Added create_native method. * TAO_IDL/be/be_interface.cpp: For a special case of a deeply nested inheritance graph and one specific way of inheritance in which a node that was already visited, but is not present in the queue, gets inserted at the tail. This sitation arises when a node multiply inherits from two or more interfaces in which the first parent is higher up in the tree than the second parent. In addition, if the second parent turns out to be a child of the first. Thanks to Carlos O'Ryan for reporting the error. In addition, we use the nested_type_name for the inherited classes in the class definition. * TAO_IDL/be/be_type.cpp: We generate relative paths instead of the ACE_NESTED_CLASS macro. However, I am going to make this an IDL option at a later point. * TAO_IDL: Did "make depend" on all the Makefiles. * TAO/tests/Param_Test: Added tests for testing object references. This is still incomplete. Tue Jan 6 19:48:45 1998 Sumedh Mungee * TAO/tests/Cubit/TAO/MT_Cubit/README: Updated README to explain the latest generalization of the MT_Cubit tests. Tue Jan 6 17:25:57 1998 Nanbor Wang * MT_Cubit.dsw,client.dsp,server.dsp: Update workspace and project files to reflect the change in directory structure. Mon Jan 05 23:54:13 1998 * Added project files for a static orbsvcs library. Mon Jan 5 16:37:14 1998 Sumedh Mungee * Makefile: Merged client and server rules * server.dsp, svc.conf, svr.cpp, client.dsp, cubit.idl, cubit_i.cpp, cubit_i.h, Task_Client.cpp, Task_Client.h, Util_Thread.cpp, Util_Thread.h, client.cpp, Makefile: Merged client/server code into one directory. Mon Jan 5 11:50:00 1998 Aniruddha Gokhale * TAO_IDL/be/be_attribute.cpp: Code generated for setting the attribute value (in the server skeleton) had some undefined symbol errors as well as the create_list parameter was wrong. * TAO/tao/object.{h.i}: Added code for Object_var and Object_out Mon Jan 05 09:53:51 1998 David L. Levine * tao/corbacom.{h,cpp},encode.cpp: replaced defined (VXWORKS) && defined (ghs) with defined (ACE_HAS_WCHAR_TYPEDEFS_CHAR). * tao/Makefile: add -DTAO_PLATFORM_SVC_CONF_FILE_NOTSUP to CPPFLAGS on VxWorks. * tests/Cubit/TAO/MT_Cubit/Util_Thread.{h,cpp} (Util_Thread ctor): rearranged initializers to match declaration order. Sun Jan 04 17:19:34 1998 Douglas C. Schmidt * TAO version 0.0.53, released Sun Jan 04 17:19:34 1998. Sun Jan 4 13:49:21 1998 Aniruddha Gokhale * TAO/tao/nvlist.cpp: NamedValue::Release was calling delete, but this was not correct since NamedValues are allocated using calloc. So now we exclusively call the destructor and free the memory using "free". * TAO/tests/Param_Test/{client.cpp, tests.cpp}: Since we do not pass the OUT_LIST_MEMORY flag to create_request, we cannot own the return, inout, and out parameters and hence cannot free them. Sun Jan 4 13:41:41 1998 Sumedh Mungee * tests/Cubit/TAO/IDL_Cubit/svr.cpp: Fixed prev_priority to previous_priority Sun Jan 04 07:47:52 1998 Douglas C. Schmidt * TAO version 0.0.52, released Sun Jan 04 07:47:52 1998. Sun Jan 04 07:37:31 1998 David L. Levine * tao/orb_core.i: Changed ! ACE_LACKS_TEMPLATE_SPECIALIZATION to ACE_HAS_TEMPLATE_SPECIALIZATION, to be consistent with ACE config files. Sun Jan 4 06:06:28 1998 Aniruddha Gokhale * TAO/tao/typecode.*: Some modifications in the destruction strategy to eliminate fatal errors such as FNH (freeing non-heap memory) or FMW (freed memory write). Most of these errors were occuring because we were trying to delete our private typecode stuff that was not allocated from heap. For example, in case of sequences of strings the private member tc_content_type used to point to a statically preallocated "tc_string" typecode. Also, preliminary support for checking for typecode equality and the "member_name" method added. Looking at the current private_* methods, it looks like a lot of stuff can be abstracted into a few methods. So the next attempt will be to eliminate as many of the private_* methods (that do repititive work) and replace them with a couple of helper methods. In addition, we may not need all those tc_*_known_ boolean variables. Only one may suffice. All this will be done in the next pass. * TAO/tao/{except.h, except.cpp, giop.cpp, object.cpp}: Removed the TAO_CONST CORBA::String insanity and replaced by const char*. This is also in accordance with the mapping as well as eliminates strange compiler warnings about assigning const char* to char*. * TAO_IDL/be/be_sequence.cpp: We now generate #if defined (..) macros for sequences and their managed types to avoid multiple declaration/definition errors. Sat Jan 3 14:58:21 1998 Sumedh Mungee * Task_Client.h, Util_Thread.cpp, Util_Thread.h, client.cpp, Task_Client.cpp, Makefile: The Util_Thread class basically computes CPU usage. Integrated this class with the MT_Cubit test, so that the Util_Thread performs computation in the background while the test is running. Also extended the test to use `n' clients talking to `n' servants. Sat Jan 03 09:04:28 1998 David L. Levine * tao/invoke.cpp (ACE_Synchronous_Cancellation_Required): disabled on VxWorks to avoid runtime warnings with ACE_NOTSUP_VERBOSE, because thr_setcanceltype isn't supported there. * tao/corba.h: g++/VxWorks doesn't like backslashes at the end of comment lines, so replaced a commenting of a #define with #if 0. Fri Jan 02 18:42:31 1998 Douglas C. Schmidt * TAO version 0.0.51, released Fri Jan 02 18:42:31 1998. Fri Jan 2 16:29:20 1998 Nanbor Wang * orbsvcs/Event_Service/GPlot_File.cpp: * orbsvcs/Event_Service/Event_Channel.cpp: * orbsvcs/Scheduling_Service/Scheduler.cpp: * tao/connect.cpp: Added missing explicit template instantiations. Fri Jan 02 10:24:21 1998 Nanbor Wang * tests/Param_Test/driver.cpp (main): Added a trailing return in main() to prevent MSVC from complaining. * tests/Param_Test/helper.cpp (gen_fixed_struct): Changed to use ACE_OS::rand () * 1.0 instead of drand48 (). * tao/connect.cpp: * orbsvcs/Scheduling_Service/Scheduler.cpp: * orbsvcs/Event_service/Gplot_File.cpp: * orbsvcs/Event_Service/Event_Channel.cpp: Added explicit template instantiation for ACE_Map_Iterator_Base. Fri Jan 2 10:39:02 1998 Aniruddha Gokhale * TAO_IDL/be/be_type.cpp: Completely reimplemented the way ACE_NESTED_CLASS macro gets generated. * TAO_IDL/be/be_state_sequence.cpp: Fixed an error where the reference operator "&" was getting generated at the wrong place.