diff options
Diffstat (limited to 'TAO/ChangeLog-97')
-rw-r--r-- | TAO/ChangeLog-97 | 6672 |
1 files changed, 6672 insertions, 0 deletions
diff --git a/TAO/ChangeLog-97 b/TAO/ChangeLog-97 new file mode 100644 index 00000000000..4c6b6143a1d --- /dev/null +++ b/TAO/ChangeLog-97 @@ -0,0 +1,6672 @@ +Wed Dec 31 23:29:59 1997 Nanbor Wang <nw1@cs.wustl.edu> + + * tao/nvlist.cpp (add_value_consume): Added a space between * and + /* to avoid warning messages on NT. + +Thu Jan 01 14:22:34 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * TAO version 0.0.50, released Thu Jan 01 14:22:34 1998. + +Thu Jan 1 13:31:55 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * TAO_IDL/be/{be_sequence, be_state_sequence}.cpp: An unwanted + reference operator "&" was getting generated for sequences whose + element types were not special managed types. This was because the + case for handling the managed types somehow got mixed with the + normal ccase. Thanks to Nanbor Wang (nw1@cs.wustl.edu) for + pointing this out. + +Wed Dec 31 18:29:57 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * TAO_IDL/be/{be_sequence, be_state_sequence}.cpp: Changed the way + we use managed types. Instead of allocating an array, we now + instantiate the + managed type on the fly i.e., when the operator [] is invoked. The + reasons for doing this are: (1) no need for dynamic memory + allocation for maintaining the array of managers (2) It was + causing all kinds of problems while decoding because the sizeof + such sequence classes was bigger than those without managed + types. However, due to this scheme, we can no longer define the [] + operator to return a reference because that would mean that a + reference to a local variable/temporary will be returned. Hence + changes were necessary in files. + + TypeCode generation was also erroneous. This is fixed. We were + generating wrong encapsulation length. + + * TAO_IDL/be/be_string.cpp: Indentation in typecode generation. + + * TAO_IDL/be/be_type.cpp: nested_type_name - improved to + eliminate one more strange error message getting generated by the + MSVC++ compiler. Still needs testing. + + * TAO/tao/{invoke, decode}.cpp: Reversed the changes which were + made to account for sequencese with managed types. We no longer + need these changes because sequences with managed types no longer + keep an extra data member. Thus the size of all sequences (top + level) is the same (so is the layout). + + * TAO/tao/nvlist.cpp: commneted out unused variables, parameters. + + * TAO/tests/Param_Test: Included tests for string sequences, + variable sized structs as well as nested structs. + +Tue Dec 30 13:46:44 1997 Nanbor Wang <nw1@cs.wustl.edu> + + * tests/Cubit/TAO/IDL_Cubit/clnt.h (portnum_): Changed its data + type from CORBA::ULong to CORBA::UShort to kill warning + messages. + + * tao/orbobj.cpp (create_list): Changed data type of the loop + counter to CORBA::Long. This caused a warning message on VC. + + * doc/releasenotes/index.html: Added documentation for adding IDL + files into Visual C++'s projects. + + * tests/Param_Test/Param_Test.dsw: + * tests/Param_Test/client.dsp: + * tests/Param_Test/server.dsp: New workspace and projects were added. + +Tue Dec 30 10:15:11 1997 Irfan Pyarali <irfan@cs.wustl.edu> + + * orbsvcs/Event_Service/Fast_Reactor.h (ACE_ES_Fast_Reactor): + Added the other version of handle_events to stop the compiler + from being cranky. + +Tue Dec 30 10:06:45 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * TAO_IDL/be/{be_state_argument, be_state_operation, + be_state_attribute}.cpp - Unnecessary call on "init_mgr" for + sequences that do not have any managed types was getting + generated. This is fixed. In addition, MSVC++ compiler was + producing an error saying "ambiguous assignment" when an "_out" + variable was assigned to a pointer type. Solaris platform (CC and + g++) did not give any such errors since they were (most probably) + using the operator *() on the _out class, but MSVC++ did not. + + * TAO/tests/Cubit/IDL_Cubit/clnt.cpp: The same "ambiguous + assignment" error described above has been fixed here too. + + * TAO/tests/Param_Test: Added a method called "reset_parameters" + so that we do not change the "in" parameter for every + iteration. Previuosly we were settingthe in parameter differently + for every new iteration. However, for performance comparison + purposes, this was not correct (e.g., in the case of string + sequences or unbounded strings where everytime we were sending a + different lenght string and hence the performance numbers were + different for each run and couldn't be compared.) + +Mon Dec 29 21:51:38 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * TAO_IDL/be/be_sequence.cpp: get_name was returning a local + variable. In addition, added generationof a method called + "init_mgr" that must be used to initialize the sequence's + underlying mgr_ vector. + + There was some problem with bounded/unbounded sequence code + generation (an error in an if stmt). + + * TAO_IDL/be/{be_state_argument, be_state_attribute, + be_state_operation}.cpp - added code to generate the call to + init_mgr for sequences after the do_call is made. + + * TAO_IDL/be_include/be_sequence.h : gen_name returns char* rather + than const char* because we now allocate a new string and return + it. + + * TAO/tao/Makefile: applied make depend to incorporate nvlist.i + + * TAO/tao/corbacom.h: Added a "boolean release" field to + CORBA_SEQUNECE so that its layout is similar to the generated code + for sequences. + + * TAO/tao/decode.cpp: In sequence decode, we also set the release + flag to 1. In addition, for sequences of strings and objrefs, we + zero out additional 4 bytes that are used to store a pointer to + the manager array. + + * TAO/tao/deep_free.cpp: some indentation. Also passed the correct + parameter to string/wstring::decode + + * TAO/tao/invoke.cpp: In do_dynamic_call, for sequences of strings + (inclusing typedefed sequences of strings that themselves can be + typedefed), we must allocate size+4 bytes for demarshaling the + sequences. The extra 4 bytes are for the manager array pointer. + + * TAO/tao/nvlist.cpp: I the method item, the loop should have run + from o to max_ rather than upto len_. + + * TAO/tao/orbobj.cpp: Used placement new of NamedValue in the + create_list method. + + * TAO/tests/Param_Test: Added new tests for Fixed_Struct and + string sequence. Added a README file. + + * TAO/doc/releasenotes/index.html: updated with latest success stories. + +Thu Dec 25 20:36:58 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * TAO version 0.0.49, released Thu Dec 25 20:36:58 1997. + +Thu Dec 25 18:43:03 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * TAO_IDL/be/{be_state_attribute, be_state_argument}.cpp: Handled + teh remaining cases (except Arrays) that use the newly added + methiods to class NVList. The Param_Test test suite is being + developed to track any memory leaks. + + * TAO/tests/Cubit/TAO/IDL_Cubit/clnt.cpp: Used sequence_var in + the cube_sequence function to avoid memory leaks. However, there + still are leaks. + +Wed Dec 24 18:44:47 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * TAO version 0.0.48, released Wed Dec 24 18:44:47 1997. + +Wed Dec 24 18:44:02 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * tao: Added the nvlist.i file to the tao/ directory. + +Wed Dec 24 18:11:08 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * TAO_IDL/be/{be_operation, be_state_argument}.cpp: Added + "argument_count" method to be_operation which is helpful in + creating an NVList of the appropriate size. Previously we were + creating an empty list and adding parameters one by one. This was + causing a lot of reallocations which were wasteful. + + At this time, we have code base that can successfully send/receive + primitive data types as well as strings. + + * TAO_IDL/be_include/be_operation.h : Added a new method called + "argument_count" to give us the total number of parameters we + have. + + * TAO/tao/{any.cpp, connect.cpp, corbacom.i, decode.cpp, + iioporb.cpp, marshal.i, objtable.cpp, optable.cpp, request.cpp}: + In all these files, after a call to CORBA::string_free, we made + the pointer point to 0. Otherwise, purify was giving us "Free + Memory read" errors. Also, this was (by fluke) causing some + applications to run successfully. + + * TAO/tao/{nvlist.h, nvlist.cpp, nvlist.i, corba.h}: Added + unimplemented methods to NamedValue and NVList. Created a nvlist.i + file and updated corba.h + + * TAO/tao/corbacom.cpp: In an assignment operator for Sting_out, + we were not checking if the assignment was from ourselves. Also a + array was incorrectly being deleted as "delete ..." rather than + "delete [] ...". + + * TAO/tao/invoke.cpp: Inside do_call, we were not deleting memory + for the "in" part of the inout parameters. Right now we have fixed + this problem only for strings. Others will be added as new tests + are built. Do_dynamic_call also needs such a fix. NOT DONE in this release. + + * TAO/tao/orb_core.h, orb_core.cpp: ORB_init takes "const char*" + orb name as the argument instead of just char*. + + * TAO/tests/Param_Test: Successful in testing + "test_unbounded_string". removed a few memory leaks where we were + not deleting the client objects. + +Tue Dec 23 19:34:40 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * TAO version 0.0.47, released Tue Dec 23 19:34:40 1997. + +Tue Dec 23 13:36:50 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * TAO_IDL/be/be_state_sequence.cpp: ACE_NESTED_CLASS must be + generated for seq elements that are scoped. We were generating + this macor only when seq elements were typedefs. However, seq + elements can also be structs or any other types that have an + enclosing scope. Thanks to Chris Gill <cdgill@cs.wustl.edu> for + the bug report. + + * TAO_IDL/be/be_state_operation.cpp: Similar problem as above for + return types of operations. Bug reported by Chris Gill. + + * TAO_IDL/be/be_exception.cpp: Whenever a _narrow fails, we were + trying to do a ACE_dynamic_cast to a 0. Instead, we now return a + 0. Again thanks to Chris Gill <cdgill@cs.wustl.edu> for + the bug report. + + * TAO_IDL/be/be_state_argument.cpp: We were ot generating a char + *& for inout string parameters. Instead only a char * was getting + generated. Fixed. + +Tue Dec 23 11:45:03 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> + + * docs/releasenotes/index.html: + There is no need to set config=1 when compiling + TAO_ROOT/orbsvcs. + +Mon Dec 22 22:02:49 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * TAO version 0.0.46, released Mon Dec 22 22:02:49 1997. + +Mon Dec 22 19:08:55 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> + + * tao/corba.h: + * tao/except.cpp: + * tao/except.h: + The TAO_TRY macros use the _narrow methods for exceptions; + making the TAO_CATCH() macro fully functional. + + * orbsvcs/Dump_Schedule/Dump_Schedule.cpp: + * 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/RT_Task.cpp: + * orbsvcs/Event_Service/ReactorTask.cpp: + * orbsvcs/Scheduling_Service/Config_Scheduler.cpp: + * orbsvcs/Scheduling_Service/Config_Scheduler.h: + * orbsvcs/Scheduling_Service/Scheduling_Service.cpp: + * orbsvcs/orbsvcs/Runtime_Scheduler.cpp: + * orbsvcs/orbsvcs/Runtime_Scheduler.h: + * orbsvcs/orbsvcs/Scheduler_Factory.cpp: + * orbsvcs/tests/Event_Latency/Event_Latency.cpp: + Changed the ACE_TRY (and friends) macros to TAO_TRY. + + * orbsvcs/orbsvcs/RtecEventChannelAdmin.idl: + Cleaned up some exceptions definitions. + + * orbsvcs/tests/Event_Latency/Makefile: + Since the schedule is not distributed (yet) by default we + compile the config run, hopefully this will cause less + confusion. + +Sun Dec 21 23:41:05 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * TAO version 0.0.45, released Sun Dec 21 23:41:05 1997. + +Sun Dec 21 20:29:33 1997 <nw1@JIG> + + * tests/Cubit/TAO/MT_Cubit/client/client.dsp: * + tests/Cubit/TAO/MT_Cubit/server/server.dsp: Corrected erroneous + library pathes in Release version of project files. + +Sun Dec 21 18:30:41 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * TAO_IDL/be/be_codegen.cpp: The macro used in the #if !defined + (..) clause in the header files was incorrectly generated when IDL + file names had characters other than letters in it. Fixed. + + * TAO/tests/Param_Test: A new test suite to test all the parameter + passing modes - return, in, inout, and out for a large number of + IDL data types. The purpose of this test suite is to verify the + correctness of the stubs/skeletons generated by TAO IDL compiler, + eliminate any existing errors in the marshaling engine, track down + any memory leaks, and finally to measure the performance and fine + tune the code if required. In the first version of the test, we + only test "shorts". We will be adding other tests as soon as we + can. + +Sat Dec 20 00:34:45 1997 Sergio Flores <sergio@tango.cs.wustl.edu> + + * tests/Cubit/CORBAplus/MT_Cubit/client/client.cpp (main): + * tests/Cubit/CORBAplus/MT_Cubit/client/Makefile: + * tests/Cubit/CORBAplus/MT_Cubit/client/Task_Client.cpp: + * tests/Cubit/CORBAplus/MT_Cubit/client/Task_Client.h: + * tests/Cubit/CORBAplus/MT_Cubit/client/client.cpp: + * tests/Cubit/CORBAplus/MT_Cubit/client/cubit.idl: + * tests/Cubit/CORBAplus/MT_Cubit/server/Makefile: + * tests/Cubit/CORBAplus/MT_Cubit/server/cubit.idl: + * tests/Cubit/CORBAplus/MT_Cubit/server/cubit_i.cpp: + * tests/Cubit/CORBAplus/MT_Cubit/server/cubit_i.h: + * tests/Cubit/CORBAplus/MT_Cubit/server/svr.cpp: + Ported the MT_Cubit example to CORBAplus. + +Fri Dec 19 11:33:51 1997 Sergio Flores <sergio@tango.cs.wustl.edu> + + + * tests/Thruput/CORBAplus/Makefile: + * tests/Thruput/CORBAplus/README: + * tests/Thruput/CORBAplus/client.cpp: + * tests/Thruput/CORBAplus/extract: + * tests/Thruput/CORBAplus/run: + * tests/Thruput/CORBAplus/run_client: + * tests/Thruput/CORBAplus/run_server: + * tests/Thruput/CORBAplus/run_test: + * tests/Thruput/CORBAplus/run_tests: + * tests/Thruput/CORBAplus/server.cpp: + * tests/Thruput/CORBAplus/ttcp.idl: + * tests/Thruput/CORBAplus/ttcp_decl.h: + * tests/Thruput/CORBAplus/ttcp_i.cpp: + * tests/Thruput/CORBAplus/ttcp_i.h: + * tests/Thruput/CORBAplus/utils.cpp: Ported the Thruput example to + CORBAplus for C++ by Expersoft. Try running the "run_tests" + script for the client side. + + * tests/Thruput/Orbix/Client.cpp: + * tests/Thruput/Orbix/Makefile: + * tests/Thruput/Orbix/README: + * tests/Thruput/Orbix/Srv_Main.cpp: + * tests/Thruput/Orbix/extract: + * tests/Thruput/Orbix/loop64: + * tests/Thruput/Orbix/orbixsol2s4.mk: + * tests/Thruput/Orbix/run: + * tests/Thruput/Orbix/run_client: + * tests/Thruput/Orbix/run_server: + * tests/Thruput/Orbix/run_test: + * tests/Thruput/Orbix/run_tests: + * tests/Thruput/Orbix/ttcp.idl: + * tests/Thruput/Orbix/ttcp_decl.h: + * tests/Thruput/Orbix/ttcp_i.cpp: + * tests/Thruput/Orbix/ttcp_i.h: + * tests/Thruput/Orbix/utils.cpp: Included the Thruput example for + IONAs Orbix ORB in the tests directory. + + * tests/Thruput/TAO/Makefile: + * tests/Thruput/TAO/README: + * tests/Thruput/TAO/client.cpp: + * tests/Thruput/TAO/run: + * tests/Thruput/TAO/run_client: + * tests/Thruput/TAO/run_server: + * tests/Thruput/TAO/run_test: + * tests/Thruput/TAO/server.cpp: + * tests/Thruput/TAO/svc.conf: + * tests/Thruput/TAO/ttcp.idl: + * tests/Thruput/TAO/ttcp_decl.h: + * tests/Thruput/TAO/ttcp_i.cpp: + * tests/Thruput/TAO/ttcp_i.h: + * tests/Thruput/TAO/utils.cpp: Moved the TAO version of the + Thruput example to a "TAO" directory in the Thruput directory. + + * tests/Thruput_test: Renamed this directory to Thruput. + +Fri Dec 19 00:28:24 1997 <nw1@JIG> + + * tests/Cubit/TAO/MT_Cubit/server/svr.cpp (main): Removed some + random codes. + + * tao/tao_internals.cpp (close_services): Disabled closing down + the ACE_Service_Config when reference count drops to 0. + +Thu Dec 18 20:36:28 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * TAO version 0.0.44, released Thu Dec 18 20:36:28 1997. + +Thu Dec 18 19:35:28 1997 Sergio Flores <sergio@tango.cs.wustl.edu> + + * orbsvcs/tests/Logger/clnt.cpp (init): + * orbsvcs/Naming_Service/CosNaming_i.cpp (bind_new_context): Fixed + a bug in the Naming Service and the Logger test program + implementation. Thanks to Marina Spivak <marina@cs.wustl.edu> for + debugging this. + +Thu Dec 18 16:18:01 1997 <nw1@JIG> + + * TAO_IDL/be/be_sequence.cpp (gen_name): Removed a local variable + <seq>. It is no longer used. + + * TAO_IDL/be/be_union.cpp (gen_client_stubs): Removed local + variables <bt> and <s>. They are not longer used. + +Thu Dec 18 15:50:01 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> + + * orbsvcs/orbsvcs/Makefile: + realclean was not removing all the IDL compiler generated + files. + +Thu Dec 18 15:06:23 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + Thanks to Keith Nicewarner <knicewar@sanders.com>, Tom Richards + <tomr@mcmenterprise.com>, and Carlos O'Ryan <coryan@cs.wustl.edu> + for reporting bugs which led to some of the changes below. + + * TAO_IDL/be/be_array.cpp: Preliminary support for arrays. Not + complete. + + * TAO_IDL/be/{be_operation, be_attribute}.cpp: The ParamData + structure *must* hold the "size" of the outermost level of the + return values and out parameters because the ORB has to allocate + memory for it and hence needs to know the size. We had a 0 in it + which crashed any return types that were variable in size. + + * TAO_IDL/be/be_codegen.cpp: Added a new state for + unions. Corresponding change to the *.h file. + + * TAO_IDL/be/be_decl.cpp: Added a method called "scope" that + returns the corresponding scope defined by this node (if one + exists). Added method to the *.h file also. + + * TAO_IDL/be/be_scope.cpp: Added a method called "decl" that + returns the be_decl method corresponding to this scope. The header + file was also updated. + + * TAO_IDL/be/{be_exception, be_state_exception}.cpp: I was making + the most stupid mistake of generating constructors per member + rather than one constructor that takes all the members as a + parameter. + + * TAO_IDL/be/{be_sequence, be_state_sequence}.cpp: Changed the + naming scheme for anonymous sequences to avoid code bloat. + + * TAO_IDL/be/be_state.cpp: Added template instantiation for + additional state to deal with code generation of members of + unions. + + * TAO_IDL/be/be_state_structure.cpp: Made some changes so that + spurious code for array members doesn't get generated. + + * TAO_IDL/be/{be_union, be_state_union}.cpp: Added a new state + because we were not generating code for union members that were + sequences or structs. + + * TAO_IDL/be/be_type.cpp: Modified netsed_type_name to use the new + methods on class be_decl/be_scope. + + * TAO_IDL/be/be_union_branch.cpp: gen_client_stubs uses the same + strategy as the other gen_client methods. + + * TAO/tao/deep_free.cpp: In deep_free of structures, instead of + passing the address of a string member to be freed, we were simply + passing the string that led to a segmentation fault. A careful + code review is necessary. + + * TAO/tao/orb_core.cpp: Made "use_ior" as default as ooposed to + using the URL based scheme for IORs. This was necessary to have + interoperability with other ORBs. + + * TAO/tao/poa.cpp: The server request was being released + immediately after returning from the dispatch method. This should + be done after all return/inout/out parameters are marshaled. + +Tue Dec 17 12:53:01 1997 Brian Mendel <brian.r.mendel@boeing.com> + + * tao/encode.cpp: Additional changes for wchar's + +Tue Dec 17 10:37:45 1997 Brian Mendel <brian.r.mendel@boeing.com> + + * tao/TAO.dsp: Removed obsolete files from the VC++ project. + Changed name of folder from Include Files to Inline Files. + Inserted new header files for classview. + + * TAO_IDL/tao_idl.dsp: Added missing be_state_exception.cpp to the + the project to eliminate link error. + + * tao/corbacom.cpp: Inserted wslen and wscpy back to handle wchar + problems with VxWOrks and GHS. + + * tao/encode.cpp: Inserted wslen and wscpy back to handle wchar + problems with VxWOrks and GHS. + +Tue Dec 16 18:29:42 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> + + * orbsvcs/README: + * docs/orbsvcs.html: + Started up the documentation for TAO services, at this point + only the directory hierarchy is explained. + +Tue Dec 16 08:49:11 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * TAO_IDL/be_include/be_codegen.h: Added three more states for + return types to be generated for operator [] of sequences of + strings and object references. + + * TAO_IDL/be_include/be_sequence.h: Added enum constants to + indicate what kind of managed type is handled by the sequence. For + sequences other than that of strings and objrefs, this enum const + is MNG_NONE. Added a new method that returns the managed type. + + * TAO_IDL/be/{be_sequence, be_state_sequence.cpp}: Added code to + generate sequences of strings and objrefs. This requires + generating special "managed" objects. In addition, for + be_state_sequence.cpp, we were not handling the case where base + types of sequences were not having any scope which resulted in + segmentation faults. + + * TAO_IDL/be/{be_state_argument, be_state_operation}.cpp: Some + small bugs fixed. These included lack of a whitespace in the + generated code as well as spurious extra level of indirection + getting generated. + + * TAO_IDL/be/be_type.cpp: "nested_type_name" now checks if the + scope with which are comparing is NUL or not before proceeding + further. Such a situation may arise for sequences whose base types + are anonymous (e.g., strings) and have no enclosing scope. + + * TAO/tao/managed_types.{h,cpp,i}: Removed. No more needed as teh + code is generated by the IDL compiler. Accordingly modified + corb.h and did a "make depend" on the Makefile. + + * TAO/docs/releasenotes/index.html: Updated to reflect new changes + as well as TO-DO stuff such as adding support for TIEs. + +Mon Dec 15 22:31:50 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * TAO version 0.0.43, released Mon Dec 15 22:31:50 1997. + +Mon Dec 15 19:13:51 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> + + * tao/Timeprobe.cpp: + Removed Solaris specific code, somehow it survived from some + debugging session. Thanks to Arturo Montes + <mitosys@colomsat.net.co> for pointing out this bug. + +Mon Dec 15 16:52:58 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * TAO-INSTALL.html: Added some explanations for setting CPP_PATH + on NT. + +Mon Dec 15 16:49:58 1997 David L. Levine <levine@cs.wustl.edu> + + * tests/Cubit/TAO/IDL_Cubit/clnt.cpp (cube_sequence): declare + local variables "l" and "j" as u_int instead of int, to avoid + signed/unsigned comparison. + +Thu Dec 11 16:44:26 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> + + * orbsvcs/Scheduling_Service/Config_Scheduler.cpp: + Fixed typo missed on the previous release. + +Thu Dec 11 22:18:52 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * 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 <sergio@tango.cs.wustl.edu> + + * 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 <gokhale@mambo.cs.wustl.edu> + + * 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. + +Thu Dec 11 00:01:41 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * TAO version 0.0.42, released Thu Dec 11 00:01:41 1997. + +Wed Dec 10 23:04:04 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> + + * orbsvcs/Scheduling_Service/Config_Scheduler.cpp: + Still struggling with g++, it seems to use the wrong cast for + IDL generated T_out classes. + + * orbsvcs/tests/Logger/Makefile: + * orbsvcs/tests/Logger/clnt.cpp: + * orbsvcs/tests/Logger/clnt.h: + * orbsvcs/tests/Logger/svr.cpp: + These files were missed in the orbsvcs hierarchy + reorganization. + +Wed Dec 10 22:38:08 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * TAO/tests/Cubit/TAO/DII_Cubit: Fixed the hand-crafted code to + make use of the many changes that were made to the dispatching + scheme as well as changes made to the signature of the skeletons + for operations of interfaces. + +Wed Dec 10 21:41:48 1997 Sergio Flores <sergio@tango.cs.wustl.edu> + + * docs/releasenotes/index.html: Updated the release notes on the + Naming Service. + +Wed Dec 10 20:13:57 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> + + * Makefile: + Added orbsvcs to the hierarchy. + + * The orbsvcs directory was completely reorganized, in preparation + for its official release. The new hierarchy is: + - orbsvcs/orbsvcs: Contains a library with: + + The client stubs for the services. + + Common utility classes to access the services. + + The server skeletons, but not their implementation. + - orbsvcs/Naming_Service: the COSS Naming Service. + - orbsvcs/Scheduling_Service: TAO Real-Time Scheduling Service. + - orbsvcs/Event_Service: TAO Real-Time Event Service. + - orbsvcs/tests: test programs and examples. + + * docs/releasenotes/index.html: + Updated documentation on the Event Service and its friends. + +Wed Dec 10 19:57:07 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp (Cubit_i::cube_sequence): + Changed to explicitly use the vector_out::ptr() method to get a + ptr. It seems that g++ wanted to interpret this expression + (output == 0) differently from Sun's C++, and this made both + interpret it in the desired way. + +Wed Dec 10 14:23:24 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> + + * TAO_IDL/be/be_state_structure.cpp: + Fixed a bug when handling typedefs. + It was generating code for imported types, we protected the + generation with a !imported(), thank to Andy Gokhale + <gokhale@cs.wustl.edu> for helping me on this. + + * tao/connect.cpp: + Set the TCP_NODELAY option by default, otherwise oneway calls + are considerably slower. It should have no effect for twoway + calls. Anyway an option should be added to control this + behavior. + +Wed Dec 10 13:15:11 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * TAO_IDL/be_include/{be_array, be_decl, be_field, be_module, + be_operation, be_predefined_type, be_structure, be_typedef}.h: + Added a protected function called "compute_size_type" which is + invoked if the size type of a data structure is not known in + advance. This happens for structs, unions, arrays, and typedefs + whose size type depends on their base types. + + * TAO_IDL/be/{be_array, be_decl, be_field, be_module, + be_operation, be_predefined_type, be_structure, be_typedef}.cpp: + Implementation of the "compute_size_type". + + * TAO_IDL/be/be_decl.cpp: Changed code that sets "size_type" so + that we first see if we are unknown in which case we set our size + type. However, once we are VARIABLE, no body can reset us to + fixed. Similarly, the overloaded size_type method that return the + size type first checks if our size is still unknown in which case + it calls for "compute_size_type". This is very essential for data + types defined in an imported (included) *.idl file. Thanks to Tom + Richards (tomr@mcmenterprise.com) for reporting the bug with + included file which resulted in this change. + + * TAO_IDL/be/be_state_attribute.cpp: Included a case for + IN_PARAM_TYPE_CH for strings (had previously forgotten to do so). + + * TAO_IDL/be/{be_state_structure, be_structure, be_field}.cpp: + Revamped so that we use the same switch based technique in + be_state_structure.cpp to generate code. For fields that are + sequences or structures or unions, we also generate their code. + + * TAO_IDL/be/be_state_argument.cpp: Thanks to Tom Richards and + Carlos O'Ryan for noticing a bug when we use out sequences. There + used to be a seg fault in deep_free.cpp because a NUL pointer was + being owned by an Any and getting freed. In the server skeleton, + for out params we now generate code after the upcall is made so + that for out parameter value is inserted in the NVList that is + marshaled by the server. + + * TAO_IDL/be/be_interface.cpp: In the generated call to _is_a, we + were calling CORBA::Object::_is_a if a remote call is + necessary. However, MSVC++ cannot handle a call of the form + CORBA::Object::_is_a. So we have to generate code that uses + ACE_CORBA_3 so as to be portable. Thanks to Nanbor Wang + (nw1@cs.wustl.edu). + + * TAO/test/Cubit/TAO/IDL_Cubit/clnt.cpp: Changed the type of the + variable that was passed as the out parameter to cube_sequence. + +Wed Dec 10 01:02:36 1997 Chris Cleeland <cleeland@tango.cs.wustl.edu> + + * tao/iiopobj.cpp (set): Added a special case to IIOP Profile::set + so that if the address is INADDR_ANY, it uses the host name, but + otherwise uses the IP address. This eliminates the cryptic + appearance of the address "0.0.0.0" in a server's IOR. + +Tue Dec 9 21:48:52 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> + + * tests/Cubit/TAO/IDL_Cubit/clnt.cpp: + The sequence test is not running right now, I'm commenting it + out until we can make it work properly. + +Tue Dec 9 18:02:43 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * tao/orb_core.cpp: The moral of this changelog entry is to be + VERY careful when cutting and pasting code...the + resource_factory() accessor should not be setting the + client_factory_ member at all! + +Tue Dec 9 11:55:50 1997 Chris Cleeland <cleeland@tango.cs.wustl.edu> + + * tao/compat/objbase.h: Added NOERROR as #define if we're not on + WIN32 so that IDL-generated code would continue to work. + + * tao/tao_internals.cpp: Changed faked Resource Factory resource + source specifier to "tss" rather than "global". + + * tao/orb_core.*: Added resource_factory() accessor to + TAO_ORB_Core. This will create a default instance if it can't + locate one in the Service Repository, which will allow + applications to not encounter a hard failure when a svc.conf file + is missing. A warning message is emitted stating that a default + is being used. Applications should not rely on the default + settings, as it is very likely that the applicat might require + alternate settings for proper desired operation. + + * tao/default_server.*: Added TAO_Reactive_Strategy template + class to use in place of the ACE_Reactive_Strategy. It's only + difference from ACE_Reactive_Strategy is that instead of using the + reactor provided in the open method, it always uses that found + through the TAO_ORB_Core_instance(). This fix was motivated by a + general problem which was only observable on VxWorks with a + special pseudo-network transport. + + * tao/connect.cpp: Added code to fail gracefully if socket buffer + size changes are not supported. + +Mon Dec 8 13:11:46 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> + + * docs/releasenotes/index.html: + Added more information on how the Event Channel and friends are + going. + + * orbsvcs/bin/Naming_Service/svc.conf: + Removed some foreign ^M from the file. + + * tao/Makefile: + * tao/connect.cpp: + * tao/giop.cpp: + * tao/orbobj.cpp: + * tao/Timeprobe.i: + * tao/Timeprobe.h: + * tao/Timeprobe.cpp: + Added a instrumentation class to measure time interval, also + instrumented some code, as part of the ongoing effort to + optimize the EC, unfortunately the problems are not in TAO ;-) + The code is only instrumented if compiled using probe=1, no + overhead is introduced in normal compiles. + + * tests/Cubit/TAO/IDL_Cubit/cubit.idl: + * 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: + Addded code to test sequences (as input and output parameters) + they don't work (yet). + + * orbsvcs/lib/Makefile: + * orbsvcs/lib/Timeprobe.h: + * orbsvcs/lib/Timeprobe.i: + * orbsvcs/lib/Timeprobe.cpp: + The file was moved toTAO_ROOT/tao. + + * orbsvcs/lib/Scheduler_Factory.cpp: + Fixed default dump file, it was using stdout! + +Sat Dec 06 15:42:25 1997 <nw1@DINGO> + + * tests/Cubit/TAO/IDL_Cubit/{server,client}.dsp: Updated link time + library names. + + * tao/any.cpp: + * tao/any.h: + * tao/corba.h: + * tao/corbacom.h: + * tao/decode.cpp: + * tao/encode.cpp: + * tao/except.cpp: + * tao/except.h: + * tao/giop.cpp: + * tao/iiopobj.cpp: + * tao/iiopobj.h: + * tao/iioporb.cpp: + * tao/iioporb.h: + * tao/nvlist.cpp: + * tao/nvlist.h: + * tao/object.cpp: + * tao/object.h: + * tao/object.i: + * tao/orbobj.cpp: + * tao/orbobj.h: + * tao/orbobj.i: + * tao/poa.cpp: + * tao/poa.h: + * tao/principa.cpp: + * tao/principa.h: + * tao/request.cpp: + * tao/request.h: + * tao/stub.h: + * tao/svrrqst.cpp: + * tao/svrrqst.h: + * tao/typecode.cpp: + * tao/typecode.h: + * tao/compat/initguid.h: + * tao/compat/objbase.h: Removed dependencies on Microsoft's DCOM + files. Below is a list of names that got changed. + + HRESULT -> TAO_HRESULT + IID -> TAO_IID + IUnknown -> TAO_IUnknown + IID_IUnknown -> IID_TAO_IUnknown + SCODE -> TAO_SCODE + NOERROR -> TAO_NOERROR + E_NOINTERFACE -> TAO_E_NOINTERFACE + VARTYPE -> TAO_VARTYPE + VARENUM -> TAO_VARENUM + CY -> TAO_CY + VARIANT -> TAO_VARIANT + DATE -> TAO_DATE + +Fri Dec 5 11:42:25 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * tao/iiopobj.cpp (set): Changed the IIOP::Profile::set() methods + which take an ACE_INET_Addr to retrieve the host IP address rather + than host name for storage in the profile. This is motivated by + the following situation: machine has 3 interfaces (not including + loopback), and it is desired that clients and servers communicate + across only one interface. + + When our IDL_Cubit example's factory created new Cubit instances, + the set() method would set the host name for that IIOP::Profile to + whatever ACE_INET_Addr::get_host_name() returned. In this case, + the IP addr for interface 3 (which is not the primary interface) + would return a *LIST* of names in which the first name was that of + the primary interface. Thus, the IP address used by the client + would be wrong. + + * tao/object.h: Minor corrections to header comments. + + * tao/{orb_core,orbobj}.{h,cpp}: Moved server_factory and + client_factory ptr storage from CORBA_ORB to TAO_ORB_Core. It + really didn't belong there in the first place. + + * tao/poa.cpp: CTOR now fetches server factory ptr from the + TAO_ORB_Core rather than from the ORB. + +Thu Dec 4 18:20:55 1997 Chris Gill <cdgill@cs.wustl.edu> + + * TAO_IDL/tao_idl.dsp: Changed hard coded path for cl.exe to CPP_PATH + environment variable + +Thu Dec 4 11:23:55 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * TAO_IDL/include/{idl,ast,utl_idlist, utl_identifier}.h: removed + #include "ace/stdcpp.h" since this file was removed from + ACE. Instead we now include "ace/streams.h" in idl.h + + Also made make depend on all the Makefiles. + +Wed Dec 3 16:08:34 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> + + * orbsvcs/lib/Event_Utilities.cpp: + * orbsvcs/lib/Event_Utilities.i: + * orbsvcs/lib/RtecEventComm.idl: + Added some more time-stamps to the events to track and measure + the delays as they move on the EC. + + * orbsvcs/lib/RtecEventChannelAdminC.cpp: + * orbsvcs/lib/RtecEventChannelAdminC.h: + * orbsvcs/lib/RtecEventChannelAdminC.i: + * orbsvcs/lib/RtecEventChannelAdminS.cpp: + * orbsvcs/lib/RtecEventChannelAdminS.h: + * orbsvcs/lib/RtecEventChannelAdminS.i: + * orbsvcs/lib/RtecEventCommC.cpp: + * orbsvcs/lib/RtecEventCommC.h: + * orbsvcs/lib/RtecEventCommC.i: + * orbsvcs/lib/RtecEventCommS.cpp: + * orbsvcs/lib/RtecEventCommS.h: + * orbsvcs/lib/RtecEventCommS.i: + * orbsvcs/lib/RtecSchedulerC.cpp: + * orbsvcs/lib/RtecSchedulerC.h: + * orbsvcs/lib/RtecSchedulerC.i: + * orbsvcs/lib/RtecSchedulerS.cpp: + * orbsvcs/lib/RtecSchedulerS.h: + * orbsvcs/lib/RtecSchedulerS.i: + Thanks to Andy Gokhale efforst the IDL compiler is able to emit + proper code for the EC&friends, hence I'm removing the + hand-crafted files. + +Wed Dec 3 11:12:48 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * TAO_IDL/be/be_interface.cpp: Had forgotten to emit code that + adds one more cast to the base POA_* class in the generated *S.i + file. + +Wed Dec 03 09:40:36 1997 David L. Levine <levine@cs.wustl.edu> + + * tao/Makefile: added TAO_PLATFORM_SVC_CONF_FILE_NOTSUP to + CPPFLAGS on CHORUS. Thanks to Wei Chiang for this change. + +Tue Dec 2 15:47:09 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * TAO_IDL/be/be_interface.h: Added some helper methods to generate + additional code in the form of larger operation tables, and + skeletons. This situation arises when we have single/multiple + inheritance of interfaces. + + * TAO_IDL/be_include/be.h: Included ace/Containers.h for the + ACE_Unbounded_Queue that uses the breadth-first strategy used in + be_interface.cpp + + * TAO_IDL/be/{be_interface,be_operation,be_attribute}.cpp: Added code + to generate a new "virtual void dispatch" method on the skeleton + classes. The dispatch method enables us to access the most derived + type when invoking the skeleton for a method. The skeletons + instead of taking a CORBA::Object_ptr, now take void*. The + skeletons themselves cast this void* to the appropriate POA_* + type. + + In addition to the above, for the case of inheritance of + interfaces, it is not appropriate to pass a pointer to the most + derived class as a void* to the skeleton of a base class and cast + that to the POA_* of the base class. So we generate inlined code + for skeletons of methods in the most derived class even if those + methods were defined in the base classes. These inlined skeletons + simply cast the object pointer to the right type and invoke the + corresponding skeleton of the base class method. + + be_interface.cpp defines a template method to traverse the entire + inheritance graph. This traversal is done using a breadth-first + traversal. This traverse method takes a pointer to one of the + static helper methods defined on class be_interface. Each helper + achieves a different purpose such as generation of extended + operation tables, providing comparisons of repositoryIDs of base + classes in the _is_a methods of derived classes. + + The client-side class now defines a virtual CORBA::Boolean _is_a + method. This uses local knowledge of repository ids thereby + preventing the expensive remote call in most cases. All changes + made in be_interface.cpp + + * TAO/tao/corbacom.h: Changed the signature of TAO_Skeleton so that + it uses void*obj and a void *context. + + * TAO/tao/object.h: Added a virtual dispatch method as explained + above. + + * TAO/tao/orb.h: Redefinition of TAO_Skeleton removed. + + * TAO/tao/poa.cpp: Changed the demultiplexing code to reflect the + change made with the dispatch method. The poa on finding the right + object corresponding to the key, now invokes the dispatch method + on that object which by dynamic binding invokes the dispatch + method of the POA_* class. + +Tue Dec 02 15:29:41 1997 <nw1@CHA-CHA> + + * tao/{connect,orb_core}.h: Moved Win32 specific template + specialization declaration from connect.h to orb_core.h because + the definition had moved to orb_core.i. + + * tao/object.cpp: Removed conditional directives around + DEFINE_GUID for IID_IUnknown. This is now defined for Win32 + also. + + * tao/TAO.dsp: Removed macro definition __IIOP_BUILD. It was not + used anywhere. + +Tue Dec 2 10:25:47 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> + + * tao/corba.h: + Fixed some problems with the ACE_RETHROW macros. + + * orbsvcs/lib/Makefile: + * orbsvcs/lib/Timeprobe.h: + * orbsvcs/lib/Timeprobe.i: + * orbsvcs/lib/Timeprobe.cpp: + Added a high resolution timer facility, to measure the delays in + the Event Channel and in its client. + + * orbsvcs/lib/RtecEventComm.idl: + Changed the time_ field of Event to a double. It should be an + structure or a long long, but double is big enough to store + + * orbsvcs/lib/RtecEventChannelAdminC.cpp: + * orbsvcs/lib/RtecEventChannelAdminS.cpp: + * orbsvcs/lib/RtecEventCommC.cpp: + * orbsvcs/lib/RtecEventCommC.h: + * orbsvcs/lib/RtecEventCommS.cpp: + * orbsvcs/lib/RtecSchedulerC.cpp: + * orbsvcs/lib/RtecSchedulerC.h: + * orbsvcs/lib/RtecSchedulerC.i: + * orbsvcs/lib/RtecSchedulerS.cpp: + * orbsvcs/lib/RtecSchedulerS.h: + Regenerated the files using the newest IDL compiler; still some + hand crafting due to inherited classes. + +Tue Dec 2 03:12:50 1997 Sergio Flores <sergio@tango.cs.wustl.edu> + + * tao/orbobj.cpp (resolve_name_service): Check for errors when + resolving using the "NameService" environment variable. + + * orbsvcs/bin/Naming_Service/CosNaming_i.cpp (NS_NamingContext): + * orbsvcs/bin/Naming_Service/CosNaming_i.h (NS_NamingContext): + - Added constructor that takes a key to initialize the object, + instead of using the default name generation. + - Enabled some exceptions that are already supported. + + * orbsvcs/bin/Naming_Service/svr.cpp (main): Create first naming + context with key "NamingContext". And minor changes. + + * tests/Cubit/CORBAplus/IDL_Cubit/Makefile: + * tests/Cubit/CORBAplus/IDL_Cubit/README: + * tests/Cubit/CORBAplus/IDL_Cubit/clnt.cpp: + * tests/Cubit/CORBAplus/IDL_Cubit/clnt.h: + * tests/Cubit/CORBAplus/IDL_Cubit/cubit.idl: + * tests/Cubit/CORBAplus/IDL_Cubit/cubit_i.cpp: + * tests/Cubit/CORBAplus/IDL_Cubit/cubit_i.h: + * tests/Cubit/CORBAplus/IDL_Cubit/svr.cpp: Ported the IDL cubit + example to CORBAplus. Currently, the calls using DII are not + ported, so only the "cube average" and the "cube_union_stub" stats + are printed. + +Mon Dec 1 16:51:08 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * tao/except.{h,cpp}: Changed semantics of CORBA::Exception so + that the mere creation of them does not take a reference. + Instead, the user of the exception is expected to call AddRef(). + CORBA::Environment has been modified (and even documented!) to + reflect that as well. + +Sun Nov 30 17:08:56 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> + + * orbsvcs/lib/RtecSchedulerC.cpp: + Added missed parameter in do_call() for + RtecScheduler::Scheduler::set(). + +Sat Nov 29 13:34:58 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> + + * tao/stub.i (STUB_Object): + No need to release type_id, since it is a String_var now. Thanks + to Wei Chiang <chiang@tele.nokia.fi> for pointing this out. + + * giop.cpp: + If things go wrong TAO_GIOP::send_request will close the + handler and set it to zero, but only a temporary was + affected, I decided to set the original value to zero also; + based on the return value. + +Wed Nov 26 23:24:57 1997 <cleeland@cs.wustl.edu> + + * TAO version 0.0.41, released Wed Nov 26 23:24:57 1997. + +Wed Nov 26 16:40:29 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * tests/Cubit/TAO/IDL_Cubit/clnt.cpp: Changed release calls to use + the CORBA standard version rather than the non-standard TAO + Release() method. Also moved the client's parse_args() AFTER the + ORB_init() so that -ORB parameters were parsed correctly. + + * tao/params.*: Added storage for send and receive socket buffer + size to be used for all newly created sockets. These sizes are + initialized to ACE_DEFAULT_MAX_SOCKET_BUFSIZ, and can be changed + by the user by using -ORBsndsock and -ORBrcvsock. + + * tao/orbobj.h: Added documentation. + + * tao/orb_core.i: Changed system-specific conditional compilation + to use the more general ACE_LACKS_TEMPLATE_SPECIALIZATION. + + * tao/orb_core.cpp: Added code to make -ORBsndsock and -ORBrcvsock + options actually work. Added -ORBpreconnect option to implement + pre-cached connections. + + * tao/giop.cpp: Removed the old static inline version of + start_message(). Also changed to use send_n() to guarantee + correct blocking nature on Win32 with the WFMO Reactor. + + * tao/connect.cpp: Changed set_option() calls to use the socket + buffer sizes stored in the TAO_ORB_Parameters instance. Also + added a correct environment-clearing call before initializing a + request. + + * tao/client_factory.h: Removed extraneous code. + + * tao/{connect,any,giop,iiopobj,marshal,nvlist,objtable,optable, + orb_core,poa,principa,stub,svrrqst,typecode}.h: + Addressed or assigned some '@@' comments. + + * docs/releasenotes/orbcore.html: Added information regarding new + options, known bugs, etc. + + * docs/Options.html: Added documentation for new -ORBpreconnect + option. + + * TAO_IDL/be/Makefile: Added an explicit PIC=-fPIC for when g++ is + being used as the compiler. This fixes the linker complaints. + +Sat Dec 20 14:57:30 1997 <nw1@CHA-CHA> + + * All MSVC 5.0 project files: Removed unnecessary library + inclusions. Most of them are not necessary. + +Tue Nov 25 20:49:24 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> + + * tao/orbobj.h: + * tao/orbobj.cpp: + * tao/orb_core.cpp: + * tao/params.h: + * tao/params.cpp: + Removed the parameters to specify the event service and schedule + service IOR, the naming service is working now so it can be + used. And the support in "resolve_initial_references". + + * tao/corbacom.i: + * tao/decode.cpp: + Reverted the previous change, but this time added proper + comments: the spec says that a Naming_var taking a <char*> is + *not* supposed to copy it. Hence the ObjRef decoder cannot + release the string it just read. + +Mon Nov 24 20:40:47 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> + + * tao/corbacom.i: + Fixed string allocation problem for String_var(char*): if it + does not copy the string we run into problems with the + demarshalling code. + + * orbsvcs/lib/Event_Utilities.cpp: + * orbsvcs/lib/Event_Utilities.h: + * orbsvcs/lib/Event_Utilities.i: + * orbsvcs/lib/RtecEventChannelAdmin.idl: + * orbsvcs/lib/RtecEventChannelAdminC.cpp: + * orbsvcs/lib/RtecEventChannelAdminC.h: + Removed the unused forward_event parameter in the ConsumerQoS. + + * orbsvcs/lib/RtecSchedulerC.h: + * orbsvcs/lib/RtecSchedulerC.i: + Hand crafted the T_out constructors to take a "const T_out&" + instead of just "T_out&". + +Sat Nov 22 18:21:10 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * TAO_IDL/be_include/be_codegen.h, be/be_codegen.cpp: Added a + number of states to handle attributes + + * TAO_IDL/be/{be_attribute,be_state_attribute}.cpp: Code added to + handle attributes. This code is a mix of code that is used to + handle operations as well as arguments because for attributes we + have 2 methods, one to set the value and one which returns the + value. For a readonly attribute, there is only the get method. + + A special note: Due to the large switch statement, I had to use + -fPIC for g++. We are working on abstracting all the commin + functionality once we have the basic IDL compiler working. + + * TAO_IDL/be/be_interface.cpp: Operation table now also includes + methods to set and get the attributes if they are present. In + addition, the variable name for the operation tables is now the + full flattened name to avoid conflicts. + + * TAO_IDL/be/be_sequence.cpp: In the length method, the index of + lookp variable "i" is changed from "int" to CORBA::ULong as g++ + was issuing a warning. + + * TAO_IDL/be/be_string.cpp, be_state_argument,cpp: Proper handling + of in, inout, and out strings that are either anonymous or are + typedefed. + +Fri Nov 21 13:22:39 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * TAO version 0.0.40, released Fri Nov 21 13:22:39 1997. + +Thu Nov 20 10:31:24 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * tao/orbconf.h (SIZEOF_LONG_DOUBLE): Made sure this is defined + properly for Chorus. Thanks to Wei Chiang <chiang@tele.nokia.fi> + for submitting these! + + * tao/orb_core.cpp (init): Added some changes for Chorus. Thanks + to Wei Chiang <chiang@tele.nokia.fi> for submitting these! + + * tao/object.cpp (_is_a): Explicitly specify which conversion + operator to use when comparing type_id to 0. + +Thu Nov 20 00:10:52 1997 Sergio Flores <sergio@cs.wustl.edu> + + * orbsvcs/tests/Logger/clnt.h : + * orbsvcs/tests/Logger/clnt.cpp (Logger_Client): Fixed a bug + dealing with using "_bind" when the naming service is not + available. + +Thu Nov 20 00:06:03 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * TAO version 0.0.39, released Thu Nov 20 00:06:03 1997. + +Thu Nov 20 00:01:06 1997 Douglas C. Schmidt <schmidt@merengue.cs.wustl.edu> + + * tao/Makefile: Reordered the files so they are built in + alphabetic order (within each grouping of targets). This makes it + easier to see how the compilation process is doing ;-). + +Wed Nov 19 22:59:18 1997 Sergio Flores <sergio@cs.wustl.edu> + + * tao/orbobj.cpp (resolve_name_service): Minor change to output + debug statement. + +Wed Nov 19 23:01:46 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * TAO_IDL/be/be_state_operation.cpp: Fixed the problem with + strings as return values. Thanks to Mark L Boriack + <mark@vtcibm4a> for reporting this. + +Wed Nov 19 20:48:01 1997 James C Hu <jxh@cs.wustl.edu> + + * tests/Thruput_test/server.cpp: Commented out some unreachable + code at the bottom of main. + +Wed Nov 19 19:04:53 1997 Sergio Flores <sergio@tango.cs.wustl.edu> + + * tao/decode.cpp (decode): Added a cast so that compiler would + know which operator to call. + + * orbsvcs/bin/Naming_Service/svr.cpp (handle_input): Change port + number received to host byte order. Minor changes. + + * tao/orbobj.cpp (resolve_name_service): Send port number in + network byte order. + +Wed Nov 19 17:45:52 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * tests/Cubit/TAO/IDL_Cubit/clnt.cpp: Put in proper release of + resources after _narrow operation. + + * tao/stub.h: Used CORBA::String_var as the underlying type for + 'type_id' in STUB_Object. In the long run this may be a bad idea + for performance considerations, but we may be able to improve that + by improving the implementation of String_var. + + * tao/orbobj.cpp: Removed unreachable ACE_NOTSUP_RETURN. + + * tao/decode.cpp: Made allocation and free semantics of + 'type_hint' consistent with its type of CORBA::String. + +Wed Nov 19 17:33:42 1997 Sumedh Mungee <sumedh@lindy.cs.wustl.edu> + + * Task_Client.cpp: Fixed error_count.. Thanks to James Hu. + +Wed Nov 19 17:20:45 1997 James C Hu <jxh@cs.wustl.edu> + + * TAO_IDL/be/be_operation.cpp: Removed an unreachable return + statement. There was already a return above it. + + * TAO_IDL/ast/ast_expression.cpp: Added casts to comparisons of + char variables to 0, since chars are unsigned by default in + SGI. + + * tests/Cubit/TAO/MT_Cubit/client/Task_Client.cpp: Removed a + couple of unreachable return statements. There are still + unreachable statements remaining. Need help with them. + + * tests/Cubit/TAO/IDL_Cubit/clnt.cpp: + * tests/Cubit/TAO/DII_Cubit/clnt.cpp: + Meaningless type qualifier (const ...) removed. + + Some functions were returning `retval' before it was set. I had + these functions return a passed in paramenter instead. + +Wed Nov 19 13:50:36 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * TAO version 0.0.38, released Wed Nov 19 13:50:36 1997. + +Wed Nov 19 13:11:53 1997 David L. Levine <levine@cs.wustl.edu> + + * orbsvcs/lib/Scheduler_Factory.cpp (dump_schedule): changed loop + index from int to u_int to avoid signed/unsigned comparison. + (use_runtime): return 0. + + * orbsvcs/lib/Event_Utilities.cpp (debug): changed loop + index from int to u_int to avoid signed/unsigned comparison. + +Wed Nov 19 12:22:50 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * tao/orbobj.cpp (resolve_name_service): Reverted some of the + minor changes below, specifically the use of ACE_ERROR_RETURN + rather than ACE_ERROR/return. ACE_ERROR_RETURN cannot be used + as-is because the 2nd parameter is used as an 'int' to specify the + operational status, and the return value of this function is NOT + an int. Also had to add a missing semi-colon which caused none of + the code to compile. + +Wed Nov 19 12:07:42 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * TAO version 0.0.37, released Wed Nov 19 12:07:42 1997. + +Wed Nov 19 10:37:19 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> + + * orbsvcs/lib/Scheduler_Factory.cpp: + The type declared for the rt_info array was wrong. + +Wed Nov 19 09:18:30 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * TAO version 0.0.36, released Wed Nov 19 09:18:30 1997. + +Wed Nov 19 09:15:15 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * tao/orbobj.cpp (resolve_name_service): Made a bunch of minor + Changes for resolving the Naming service. + +Wed Nov 19 08:44:12 1997 Brian Mendel <brian.r.mendel@boeing.com> + + * tests/Cubit/TAO/DII_Cubit/default.bld: + * tests/Cubit/TAO/DII_Cubit/clnt.bld: + * tests/Cubit/TAO/DII_Cubit/svr.bld: + * tests/Cubit/TAO/IDL_Cubit/default.bld: + * tests/Cubit/TAO/IDL_Cubit/clnt.bld: + * tests/Cubit/TAO/IDL_Cubit/svr.bld: + * tests/Cubit/TAO/MT_Cubit/default.bld: + * tests/Cubit/TAO/MT_Cubit/clnt.bld: + * tests/Cubit/TAO/MT_Cubit/svr.bld: Added build files in the new + test structure for VxWorks using the GHS compiler. + + * tests/Cubit/Build: Removed the obsolete build directory for vxWorks. + +Wed Nov 19 07:47:13 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * TAO version 0.0.35, released Wed Nov 19 07:47:13 1997. + +Wed Nov 19 05:53:42 1997 Sergio Flores <sergio@tango.cs.wustl.edu> + + * tests/Cubit/TAO/DII_Cubit/clnt.cpp: + * tests/Cubit/TAO/DII_Cubit/clnt.h: + * tests/Cubit/TAO/IDL_Cubit/clnt.cpp: + * tests/Cubit/TAO/IDL_Cubit/clnt.h: Changed code to add loop + around all cube calls, and make output more consistent. + + * orbsvcs/tests/Logger/Makefile: + * orbsvcs/tests/Logger/ior_multicast.cpp: + * orbsvcs/tests/Logger/ior_multicast.h: Removed unneeded + ior_multicast.* source files from the logger example. It now uses + the resolve_initial_references() to use the naming service for its + advertisement. + + * orbsvcs/lib/Makefile (realclean): Updated with realclean & clean + rules to delete CosNamingS.* and CosNamingC.* + + * docs/releasenotes/index.html: Updated status of the naming + service to working implementation. + + * orbsvcs/lib/CosNamingS.cpp: + * orbsvcs/lib/CosNamingS.i: + * orbsvcs/lib/CosNamingS.h: + * orbsvcs/lib/CosNamingC.cpp: + * orbsvcs/lib/CosNamingC.i: + * orbsvcs/lib/CosNamingC.h: Removed these files from the + repository, since the IDL compiler generates these correctly. + + * orbsvcs/bin/Naming_Service/CosNaming_i.cpp (list): Remove + warning for unused variable. + + * orbsvcs/bin/Naming_Service/svr.h: Constructor of event handler + for multicast doesn't need reply port anymore. + + * orbsvcs/bin/Naming_Service/svr.cpp (handle_input): Now receives + the port number in the multicast request. Suggested by Doug + Schmidt. + + * tao/orbobj.cpp (resolve_name_service): changed return value + variable to be signed. Added code to send the port number in the + multicast resolution mechanism as a CORBA::Short. + + * orbsvcs/bin/Naming_Service/NS_CosNaming.cpp (NS_ExtId): + Reordered initializers in the constructor. + + * tests/Cubit/TAO/IDL_Cubit/clnt.h: + * tests/Cubit/TAO/IDL_Cubit/clnt.cpp (run): Added a loop around + all cube calls and added calls/sec stats for them. + + * tao/corba.h: Changed order of inclusion of marshal.i, due to + warnings of the declaration of the inline function + make_marshal_object(). + + * tao/orbobj.i: reorder the declaration of inline + CORBA_OBJ::Add_Ref(), to remove a warning. + + * tests/Cubit/TAO/MT_Cubit/server/svr.cpp (main): + removed return statement that was causing a warning. + +Wed Nov 19 04:22:48 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * TAO version 0.0.34, released Wed Nov 19 04:22:48 1997. + +Tue Nov 18 01:29:00 1997 <nw1@COYOTE> + + * tao/TAO.dsp: Added Arg_Shifter.cpp into project file. + +Tue Nov 18 18:53:57 1997 Sergio Flores <sergio@polka.cs.wustl.edu> + + * TAO_IDL/be/be_state_typedef.cpp (gen_code): + * TAO_IDL/be/be_state_structure.cpp (gen_code): + * TAO_IDL/be/be_state_sequence.cpp (gen_code): + * TAO_IDL/be/be_state_operation.cpp (gen_code): + * TAO_IDL/be/be_state_array.cpp (gen_code): Comment out + unreachable break statements. + + * TAO_IDL/ast/ast_array.cpp (n_dims): + * TAO_IDL/include/ast_array.h (AST_Array::n_dims): + * TAO_IDL/ast/ast_attribute.cpp (readonly): + * TAO_IDL/include/ast_attribute.h (AST_Attribute::readonly): + * TAO_IDL/ast/ast_argument.cpp (direction): + * TAO_IDL/include/ast_argument.h (AST_Argument::direction): + * tao/nvlist.h (CORBA_NamedValue::name): + * TAO_IDL/include/utl_scope.h (UTL_Scope::scope_node_type): + * TAO_IDL/ast/ast_predefined_type.cpp (pt): + * TAO_IDL/include/ast_predefined_type.h (AST_PredefinedType::pt): + removed const from declarations that it didn't have a meaning for. + Also from return statements. These changes were suggested by + James Hu and the SGI compiler. + +Tue Nov 18 18:34:16 1997 Sumedh Mungee <sumedh@lindy.cs.wustl.edu> + + * tests/Cubit/COOL/client.cpp: ORB_init is now called in + Task_Client.cpp instead of the main program, to insure that its + called in the right thread. + + * tests/Cubit/COOL/Task_Client.{h,cpp}: Used the COOL_Activity to + create threads instead of ACE_Task. + + * tests/Cubit/COOL/server.cpp: Used the createActivity stuff to + create threads. The server now creates two servants, one for high + and the other for low priority clients. + +Tue Nov 18 17:44:02 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * tao/corbacom.h: Added special case for CORBA::WChar to be a + short on VxWorks/GreenHills. + + * TAO_IDL/be/be_state.cpp: Added template instantiations for SGI. + + * tao/deep_free.cpp (deep_free): Removed unused 'alignment' + variable. + + * tao/deep_copy.cpp (deep_copy): Removed unused 'alignment' + variable. + + * tao/encode.cpp (encode): Removed unused 'continue_encoding' + variable. + + * tao/orbobj.cpp (POA_init): Removed options which were no longer + supported/necessary, as well as their corresponding variables. + +Tue Nov 18 17:33:20 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> + + * orbsvcs/lib/RtecEventChannelAdmin.idl: + * orbsvcs/lib/RtecEventComm.idl: + Changed several operations to "oneway" to avoid dead-locks in + the Event Channel tests. + + * orbsvcs/lib/Runtime_Scheduler.h: + * orbsvcs/lib/Runtime_Scheduler.cpp: + This class is a servant, event though it is only used + collocated, so it must inherit from the POA class. + + * orbsvcs/lib/Scheduler_Factory.cpp: + Care must be exercised to create the Runtime_Scheduler instance + only once the ORB is up and running. + + * orbsvcs/lib/CosNamingC.cpp: + * orbsvcs/lib/CosNamingC.h: + * orbsvcs/lib/CosNamingS.cpp: + * orbsvcs/lib/CosNamingS.h: + * orbsvcs/lib/RtecEventChannelAdminC.cpp: + * orbsvcs/lib/RtecEventChannelAdminC.h: + * orbsvcs/lib/RtecEventChannelAdminS.cpp: + * orbsvcs/lib/RtecEventChannelAdminS.h: + * orbsvcs/lib/RtecEventCommC.cpp: + * orbsvcs/lib/RtecEventCommC.h: + * orbsvcs/lib/RtecEventCommS.cpp: + * orbsvcs/lib/RtecEventCommS.h: + * orbsvcs/lib/RtecSchedulerC.cpp: + * orbsvcs/lib/RtecSchedulerC.h: + * orbsvcs/lib/RtecSchedulerS.cpp: + * orbsvcs/lib/RtecSchedulerS.h: + Regenerated all the stubs and skeletons using the latest IDL + compiler, but still some hand crafting is required, namely for + operations in base classes. + +Tue Nov 18 14:27:02 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * tao/cdr.cpp (CDR): Changed TAO_PURIFY to ACE_PURIFY. + + * tests/Cubit/TAO/MT_Cubit/serdatever/svr.cpp: Added code to put use a + kinder, gentler high priority value on VxWorks. This makes it + easier for the machine to remain running. :-\ + + * tao/corbacom.h: Added CVS id keyword. + + * tao/{corba.h,tao_internals.h,tao_internals.cpp}: Backed out + tao_internals.h, which is not intended to be publicly visible. + corba.h should contain only headers/inlines for things which + should be externally visible. + +Tue Nov 18 04:00:46 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> + + * tao/poa.cpp: + An operation lookup on the dispatching code will cause an error + message and the CORBA::BAD_OPERATION exception to be raised. + + * tao/orb_core.cpp: + Somehow the options for setting the Event Service and the + Scheduling Service IOR were lost. Eventually they must be + removed, but we are still testing the Naming Service. + +Tue Nov 18 02:17:24 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * TAO version 0.0.33, released Tue Nov 18 02:17:24 1997. + +Tue Nov 18 02:03:22 1997 Sergio Flores <sergio@tango.cs.wustl.edu> + + * orbsvcs/tests/Logger/svr.cpp: + * orbsvcs/tests/Logger/clnt.cpp: This test example now uses the + naming service in the server and client. Also changed the code to + have a default use in case the naming service is not available. + + * tao/orbobj.cpp (resolve_name_service): Fixed a bug, dealing with + closing the endpoint of communication for the response of the + multicast mechanism. + +Tue Nov 18 01:37:42 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * TAO_IDL/be/{be_operation.cpp,be_state_operation}.cpp: We now + properly handle the declaration and assigning to the return value. + + * TAO_IDL/be/be_state_argument.cpp: Removed a spurious () + appearing after a function call. + + * TAO_IDL/be/{be_structure,be_union}.cpp: Carlos had removed the + if !imported check in the member counting function, but it had + crept in again, maybe due to me. So this is fixed again. + + * test/Cubit/TAO/IDL/svr.cpp: Removed the hack which was + separating command line arguments starting with O. We leave this + task to the newly added Arg_Shifter. + + * tao.orbobj.cpp: In ORB_init, the call to + TAO_ORb_Core_instance->init needed a char ** argv and we were + passing a char * const* argv. So we cast this. g++ was giving this + error. + + * TAO_IDL/be_include/be_codegen.h, TAO_IDL/be/be_codegen.cpp: + Added 5 new states for code generation. All of these for + operations and arguments. + + * TAO_IDL/be/be_argument.cpp: Made all methods uniform so that the + state will be set by the corresponding be_operation method. Thus + the be_operation method will vary the state but still invoke the + same be_argument method. + + * TAO_IDL/be/be_enum.cpp, be_structure.cpp, be_union.cpp, be_field.cpp, + be_sequence.cpp: Some reformatting, removed unused variables. + + * TAO_IDL/be/be_scope.cpp: Changes include adding ACE_ERROR_RETURN + with file name, line number capability. In addition, we were not + testing for return status of the various gen methods called. + + * Most important changes in these files: + + TAO_IDL/be/{be_operation,be_state_argument,be_state_operation}.cpp: + + Large scale changes that include a uniform way to invoke methods + of the be_argument class from the be_operation methods. Added the + 5 new states. Added proper handling of _out parameters in stubs + and skeletons. + +Mon Nov 17 20:05:40 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * tests/Cubit/TAO/IDL_Cubit/clnt.cpp: Cleaned up lots of places + where the allocated stuff wasn't being deallocated. + + * tao/request.cpp: Insured that the CTOR adds a reference for the + dynamically-allocated NamedValue. + + * tao/orb_core.cpp: Freed the faked service configurator argv. + + * tao/iiopobj.h: Removed anachronistic comments. + + * tao/iiopobj.{i,cpp}: Changed allocation of IIOP::Profile.host to use + new/delete rather than strdup/free b/c the decoder, which is + generic, must use new to allocate the space. Thus, the strdup had + to go. Purify now happier. + + * tao/cdr.cpp: Added call to memset bracketed by #if + defined(TAO_PURIFY) in order to appease the purify gods. + +Mon Nov 17 20:05:16 1997 Seth Benjamin Widoff <sbw1@waltz.cs.wustl.edu> + + * arg_shifter.cpp: + fixed a bug where in new, gcc used the address of an integer + reference rather than its value. weird. + + * tao/orb_core.cpp: + Modified the init routine to "consume" command line arguments it + recognizes by placing them in the rear of argv, and adjusting + argc. It uses the Arg_Shifter class to accomplish this. + + * tao/arg_shifter.h: + * tao/arg_shifter.cpp: + The Arg_Shifter class is an iterator that, as it iterates over + argv, places consumed arguments at the end of the vector, + ignored ones in their original order at the beginning of the + vector, and adjusts argc to hide the consumed arguments. + +Mon Nov 17 18:40:49 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> + + * tao/orb_core.i: + Some data was not initialized when used from a thread different + than the one doing ORB_init (even though we choose a global ORB + in the svc.conf file). Chris found a fix for this. The affected + methods are reactor(), thr_mgr(), connector() and acceptor(). + + * TAO_IDL/be/be_sequence.cpp: + length was not working if the value was <= than the maximum. + + * orbsvcs/lib/CosNamingC.cpp: + * orbsvcs/lib/RtecEventChannelAdminC.cpp: + * orbsvcs/lib/RtecEventCommC.cpp: + * orbsvcs/lib/RtecSchedulerC.cpp: + * orbsvcs/lib/RtecSchedulerS.cpp: + Fixed the length() problem by hand, even though the new IDL + compiler should do it right. + +Mon Nov 17 11:52:54 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * TAO_IDL/be/be_codegen.cpp (server_header), + TAO_IDL/util/utl_global.cpp (be_change_idl_file_extension): + Updated several methods to ensure const correctness for the + updated ACE_OS::str*() methods. Thanks to David Levine for + reporting this. + +Mon Nov 17 02:40:14 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * TAO version 0.0.32, released Mon Nov 17 02:40:14 1997. + +Mon Nov 17 01:48:17 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> + + * TAO_IDL/be/be_scope.cpp: + TypeCode generation was failing for imported members. + + * TAO_IDL/be/be_structure.cpp: + Member count must include all members, imported or not. + + * TAO_IDL/be/be_typedef.cpp: + Added missing decr_indent() in the typecode generation which was + making the generated code completely unreadable. + + * orbsvcs/lib/RtecEventChannelAdmin.idl: + * orbsvcs/lib/RtecEventComm.idl: + Removed the PullConsumer and PullSupplier classes, they are not + supported. + + * orbsvcs/lib/CosNamingC.cpp: + * orbsvcs/lib/CosNamingS.cpp: + * orbsvcs/lib/RtecEventChannelAdminC.cpp: + * orbsvcs/lib/RtecEventChannelAdminC.h: + * orbsvcs/lib/RtecEventChannelAdminC.i: + * orbsvcs/lib/RtecEventChannelAdminS.cpp: + * orbsvcs/lib/RtecEventChannelAdminS.h: + * orbsvcs/lib/RtecEventChannelAdminS.i: + * orbsvcs/lib/RtecEventCommC.cpp: + * orbsvcs/lib/RtecEventCommC.h: + * orbsvcs/lib/RtecEventCommC.i: + * orbsvcs/lib/RtecEventCommS.cpp: + * orbsvcs/lib/RtecEventCommS.h: + * orbsvcs/lib/RtecEventCommS.i: + * orbsvcs/lib/RtecSchedulerC.cpp: + * orbsvcs/lib/RtecSchedulerS.cpp: + New version of the generated files, this last version is almost + making in it, but still needs hand crafting. + + * TAO_IDL/be/be_array.cpp: + * TAO_IDL/be/be_sequence.cpp: + * TAO_IDL/be/be_typedef.cpp: + Fixed buggy TypeCode lenght computation, it was only taking into + account the tc_encap_len() for the base type but it should use + the full tc_size(). + + * tao/encode.cpp: + Object references *must* be passed a pointer to Object_ptr in + the marshalling code. + + * TAO_IDL/be/be_operation.cpp: + * TAO_IDL/be/be_state_operation.cpp: + Fixed generated code for Object references as return values. It + allocates the Object_ptr in the heap, stores the result there + and creates an Any for it. + +Sun Nov 16 23:30:26 1997 Sergio Flores <sergio@tango.cs.wustl.edu> + + * orbsvcs/tests/Logger/svr.cpp (main): + Changed the code to use the resolve_initial_references () + interface to get the object refrence to the naming service. + + * orbsvcs/tests/Logger/clnt.cpp (main): Now uses the + resolve_initial_references() to get the naming service object + reference, to get the logger factory object reference. + + * orbsvcs/bin/Naming_Service/svr.cpp (main): + * orbsvcs/bin/Naming_Service/svr.h: + Added code to respond to multicast requests for the IOR. + + Added code to respond to multicast requests for the IOR. + + * tests/Cubit/TAO/IDL_Cubit/clnt.cpp: Fixed some formatting + problems dealing with the precision of the output. + +Sun Nov 16 14:48:00 1997 <nw1@COYOTE> + + * test/Cubit/TAO/IDL_Cubit/{server,client}.dsp: Updated library + path for release version. + + * TAO_IDL/TAO_IDL.mak: + * TAO_IDL/tao_idl.dsp: Added new files (be_state_*.cpp) into + project file. + +Sun Nov 16 12:56:24 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * TAO_IDL/be/be_interface.cpp: The _is_a_skel method's signature + had an Object_ptr obj parameter which was unused. Instead of + generating the ACE_UNUSED_ARG (obj) line of code, we use /* obj */ + in the signature. + +Sun Nov 16 05:51:38 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * TAO version 0.0.31, released Sun Nov 16 05:51:38 1997. + +Sun Nov 16 00:22:04 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> + + * tests/Cubit/TAO/IDL_Cubit/clnt.cpp: + Fixed output for structs and union test. + + * tao/iiopobj.cpp: + If the user provides no key for an object we generate one, based + on the object address. + + * TAO_IDL/be/be_sequence.cpp: + The length() method should get the maximum if reallocation + occurs. + + * tao/orb_core.cpp: + * tao/orbobj.cpp: + * tao/orbobj.h: + * tao/params.cpp: + * tao/params.h: + Added new options to the ORB (-ORBeventserviceior, + -ORBscheduleserviceior), this should go away once the Naming + Service works properly, but are needed now to locate this + services. + + * orbsvcs/lib/Makefile: + Added several small classes that help when using the Scheduling + and/or the Event Service. + + * orbsvcs/lib/Scheduler_Factory.cpp: + * orbsvcs/lib/Scheduler_Factory.h: + * orbsvcs/lib/Scheduler_Factory.i: + Encapsulate the construction and configuration of the Scheduling + Service. + + * orbsvcs/lib/Runtime_Scheduler.cpp: + * orbsvcs/lib/Runtime_Scheduler.h: + * orbsvcs/lib/Runtime_Scheduler.i: + Implement a simple, but fast, Scheduling Service based on a + precomputed scheduling. + + * orbsvcs/lib/Event_Utilities.cpp: + * orbsvcs/lib/Event_Utilities.h: + * orbsvcs/lib/Event_Utilities.i: + Simplify the creation of QoS structures for the Event Service. + + * orbsvcs/lib/Scheduler_Utilities.cpp: + * orbsvcs/lib/Scheduler_Utilities.h: + * orbsvcs/lib/Scheduler_Utilities.i: + Simplify manipulation of the RT_Infos for the Scheduling + Service. + + * orbsvcs/lib/Channel_Clients.cpp: + * orbsvcs/lib/Channel_Clients.h: + * orbsvcs/lib/Channel_Clients_T.cpp: + * orbsvcs/lib/Channel_Clients_T.h: + Helpers to adapt PushSuppliers and PushConsumers. + + * orbsvcs/lib/CosNamingC.cpp: + * orbsvcs/lib/CosNamingC.h: + * orbsvcs/lib/CosNamingC.i: + * orbsvcs/lib/CosNamingS.cpp: + * orbsvcs/lib/RtecEventChannelAdminC.cpp: + * orbsvcs/lib/RtecEventChannelAdminC.h: + * orbsvcs/lib/RtecEventChannelAdminC.i: + * orbsvcs/lib/RtecEventChannelAdminS.cpp: + * orbsvcs/lib/RtecEventChannelAdminS.h: + * orbsvcs/lib/RtecEventComm.idl: + * orbsvcs/lib/RtecEventCommC.cpp: + * orbsvcs/lib/RtecEventCommC.h: + * orbsvcs/lib/RtecEventCommC.i: + * orbsvcs/lib/RtecEventCommS.cpp: + * orbsvcs/lib/RtecSchedulerC.cpp: + * orbsvcs/lib/RtecSchedulerC.h: + * orbsvcs/lib/RtecSchedulerC.i: + * orbsvcs/lib/RtecSchedulerS.cpp: + This files were generated by the IDL compiler and don't need any + hand crafting (so far). I still maintain them in CVS because the + compiler is not stable enough. + + * orbsvcs/bin/Naming_Service/Makefile: + Removed spurious call to rm. + + * orbsvcs/lib/RtecEventComm.idl: + Removed the (already commented out) include of "orb.idl". + +Sat Nov 15 21:38:48 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> + + * TAO_IDL/be/be_sequence.cpp: + The generated length() method will reallocate the sequences + now. + + * TAO_IDL/be/be_constant.cpp: + It was initializing nested constants in the client header file, + Andy told me how to fix it. + + * TAO_IDL/be/be_operation.cpp: + Fixed typo in generated code: + s/_tao_enviroment/_tao_environment/ + + * TAO_IDL/be/be_field.cpp: + Only generate the inline members of the field type if the type + is not imported. + + * TAO_IDL/driver/drv_fork.cpp: + * TAO_IDL/driver/drv_preproc.cpp: + Removed old code to support plain fork (without ACE). + Also removed temporary files *unless* we are on Win32, were + removing the file and keeping it open fails. + + * TAO_IDL/include/idl_global.h: + * TAO_IDL/util/utl_global.cpp: + Added routines to obtain the generated names of any IDL file, + not only the one we are processing. + + * TAO_IDL/be/be_codegen.cpp: + The compiler now generate all the required include directives + when the IDL file contains some. + + * tao/params.cpp: + Initialize name_service_port_ to zero in the constructor. + +Sat Nov 15 21:20:01 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * TAO_IDL/be/be_string.cpp: The typecode info was getting + generated in a wrong file because of setting the worng file to + generate it in. + + * TAO_IDL/be/be_typedef.cpp: Some extra indentation was getting + generated for typecodes. This is fixed. + + * TAO_IDL/be/be_state_argument.cpp: For parameters of type + ObjRefs, we were not passing the address of the object_ptr to the + Any constructor. This would have caused seg faults when + decoding. This is now fixed. + + * TAO_IDL/be: Split be_state.cpp into a number of files based on + the IDL types, e.g., be_state_struct.cpp, be_state_union.cpp, ... + + * TAO_IDL/be/be_sequence.cpp: Name creation now uses a uniform + strategy rather than typedefed sequences assuming the name of the + typedef and anonymous sequences getting a generated name. This was + required to eliminate a number of multiple declarations errors. + + * TAO_IDL/be/be_state_union.cpp: Since C++ does not allow + instances of classes to appear inside a union declaration, the + private data members for data members of type objref, strings, + sequences, and anys must be pointers. This changes code in the + accessor methods defined in the generated *.i files for the union. + + * TAO_IDL/be/be_operation.cpp: There were some instances of the + incorrectly spelled _tao_enviroment remaining which have been + corrected. + + * TAO/tao/managed_types.{h,i,cpp}: Added these 3 files that define + the self managed data type similar to a String_var. These self + managed data types are required for struct/union members that are + strings or obj references, as well as for element types of + sequences. + + * TAO_IDL/be/be_typedef.cpp: Added code to generate the typecode + structure for typedefs. These use the tk_alias kind field. + + * TAO_IDL/be/{be_union,be_state}.cpp: Improvements to union with + string members. However, this is still incomplete and will be + done by the next couple of commits. + + * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp: Removed the ACE_DEBUG + stmt for printing object keys. + +Sat Nov 15 18:03:39 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp (make_cubit): We don't + need to free up the object key since it's no longer allocated + dynamically. + + * tao/object: Changed the _get_name() method to return const char + * to be consistent with the iiopobj change below. + + * tao/iiopobj: Fixed _get_name() so that it doesn't allocate + memory by having it return const char * and just return the + pointer. This should fix some subtle problems. + +Sat Nov 15 12:19:55 1997 Nanbor Wang <nw1@merengue.cs.wustl.edu> + + * TAO_IDL/be/be_codegen.cpp: Changed two loop counters from type + int to type size_t. + +Sat Nov 15 01:33:08 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * TAO version 0.0.30, released Sat Nov 15 01:33:08 1997. + +Fri Nov 14 19:45:01 1997 Sergio Flores <sergio@polka.cs.wustl.edu> + + * tests/Cubit/TAO/DII_Cubit/clnt.cpp : + * tests/Cubit/TAO/DII_Cubit/clnt.h : + * tests/Cubit/TAO/IDL_Cubit/clnt.cpp : + - Fixed the difference in latency problem from DII and IDL. + - Changed the DII_Cubit client interface to be similar to IDL, now + you can specify hostname and port number, instead of the IOR. + +Fri Nov 14 17:48:14 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> + + * orbsvcs/bin/Naming_Service/CosNaming_i.cpp: + Fixed problem with the new Environment parameter for _narrow (). + + * orbsvcs/bin/Naming_Service/Makefile: + No need to include rules.bin.GNU. + +Fri Nov 14 17:08:20 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * tao/iiopobj.cpp: Make sure that host is set to 0 in all the + constructors. + + * tao/iiopobj.cpp (Profile): Modified the code to consistently + store a NUL at the end of each object key string. + +Fri Nov 14 17:10:20 1997 Sumedh Mungee <sumedh@lindy.cs.wustl.edu> + + * cubit_i.cpp: Changed &d to %d in ACE_ERROR + +Fri Nov 14 16:42:21 1997 Chris Cleeland <cleeland@tango.cs.wustl.edu> + + * tao/tao_internals.cpp (fake_service_entries_i): Made sure that + the resource factory faked entry had the proper number of + arguments specified. + +Fri Nov 14 14:11:47 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> + + * orbsvcs/lib/Makefile: + Added new library that contains the stubs and skeletons for the + TAO services. + + * orbsvcs/Makefile: + * orbsvcs/bin/Makefile: + * orbsvcs/tests/Makefile: + Added top level Makefiles. + + * orbsvcs/bin/Naming_Service/Makefile: + * orbsvcs/bin/Naming_Service/svr.cpp: + * orbsvcs/bin/Naming_Service/svc.conf: + * orbsvcs/bin/Naming_Service/NS_CosNaming.h: + * orbsvcs/bin/Naming_Service/NS_CosNaming.cpp: + * orbsvcs/bin/Naming_Service/CosNaming_i.h: + * orbsvcs/bin/Naming_Service/CosNaming_i.cpp: + Moved the naming service implementation from the TAO + subdirectory to this place. + + * orbsvcs/tests/Simple_Naming/Makefile: + * orbsvcs/tests/Simple_Naming/svc.conf: + * orbsvcs/tests/Simple_Naming/clnt.h: + * orbsvcs/tests/Simple_Naming/clnt.cpp: + A simple test program for the naming service, it simply tries to + locate it and connect to it. + + * orbsvcs/bin/Naming_Service/Orbix/Client.cpp: + * orbsvcs/bin/Naming_Service/Orbix/CosNaming.idl: + * orbsvcs/bin/Naming_Service/Orbix/Makefile: + * orbsvcs/bin/Naming_Service/Orbix/NS_CosNaming.cpp: + * orbsvcs/bin/Naming_Service/Orbix/NS_CosNaming.h: + * orbsvcs/bin/Naming_Service/Orbix/logger-main.cpp: + * orbsvcs/bin/Naming_Service/Orbix/logger.idl: + * orbsvcs/bin/Naming_Service/Orbix/logger_tie.cpp: + * orbsvcs/bin/Naming_Service/Orbix/logger_tie.h: + * orbsvcs/bin/Naming_Service/Orbix/server-main.cpp: + * orbsvcs/bin/Naming_Service/TAO/CosNaming.idl: + * orbsvcs/bin/Naming_Service/TAO/CosNaming_i.cpp: + * orbsvcs/bin/Naming_Service/TAO/CosNaming_i.h: + * orbsvcs/bin/Naming_Service/TAO/Makefile: + * orbsvcs/bin/Naming_Service/TAO/NS_CosNaming.cpp: + * orbsvcs/bin/Naming_Service/TAO/NS_CosNaming.h: + * orbsvcs/bin/Naming_Service/TAO/clnt.cpp: + * orbsvcs/bin/Naming_Service/TAO/clnt.h: + * orbsvcs/bin/Naming_Service/TAO/svc.conf: + * orbsvcs/bin/Naming_Service/TAO/svr.cpp: + We will only maintain the TAO version for the naming service, no + need to keep this subdirectories. + + * orbsvcs/lib/RtecScheduler.idl: + The Real Time Scheduling Service. This module declares the QoS + structures (RT_Info) and the interface for the global scheduler. + + * orbsvcs/lib/RtecEventComm.idl: + Part of the Real Time Event Services interface, this file + contains the Event type, the basic interfaces for consumers and + suppliers and some exceptions. + + * orbsvcs/lib/RtecEventChannelAdmin.idl: + Part of the Real Time Event Services interface, in particular + this module defines the event channel, the proxy interfaces and + the QoS aware subscription and registration interfaces. + + * orbsvcs/lib/Event_Service_Constants.h: + The Event Service implementation and the Scheduling Service + implementation require this file, which defines some constants + and static limits. For lack of a better place I putted it here. + + * orbsvcs/lib/CosNaming.idl: + Moved the IDL file to the library, otherwise it cannot be used + by clients. + + * tao/corba.h: + Added some macros that support portable exception handling, + either through C++ exceptions or the CORBA::Enviroment + parameter. + + * orbsvcs/lib/RtecEventCommC.h: + * orbsvcs/lib/RtecEventCommC.i: + * orbsvcs/lib/RtecEventCommC.cpp: + * orbsvcs/lib/RtecEventCommS.h: + * orbsvcs/lib/RtecEventCommS.i: + * orbsvcs/lib/RtecEventCommS.cpp: + * orbsvcs/lib/RtecEventChannelAdminS.h: + * orbsvcs/lib/RtecEventChannelAdminS.i: + * orbsvcs/lib/RtecEventChannelAdminS.cpp: + * orbsvcs/lib/RtecEventChannelAdminC.h: + * orbsvcs/lib/RtecEventChannelAdminC.i: + * orbsvcs/lib/RtecEventChannelAdminC.cpp: + * orbsvcs/lib/CosNamingC.h: + * orbsvcs/lib/CosNamingC.i: + * orbsvcs/lib/CosNamingC.cpp: + * orbsvcs/lib/CosNamingS.h: + * orbsvcs/lib/CosNamingS.i: + * orbsvcs/lib/CosNamingS.cpp: + I had to modify the IDL compiler generated files, I will keep + the files in CVS until we no longer need to modify it. + +Fri Nov 14 13:02:52 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * tao/decode.cpp: TAO_Marshal_Objref::decode line 615 which tried + to set the underlying object_addr was invoking an incorrect inline + function because of lack of passing an argument to the object_addr + () method. Specifically, due to the lask of argment, the + "retrieve" method was getting called whereas we wanted the "set" + method. All we do is pass a 0 (NUL) argument. This suffices + because we have already decoded the host and port number. So all + information is with us to set the server address. + +Fri Nov 14 00:29:09 1997 David L. Levine <levine@cs.wustl.edu> + + * TAO_IDL/fe/lex.yy.cpp: set RCS -ko option so that the Id keyword + won't get expanded on checkout. That was causing CVS to think + that a merge was needed. + +Thu Nov 13 19:11:36 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * tao/giop.cpp (start): Updated the code to use the new + object_addr() style. + + * tao/iiopobj: Added many fixes to the Profile code to fix nasty + bugs. Also, renamed {get|set}_object_addr() to simply + object_addr(), which is the correct style. + + * tao/iiopobj.h: Replaced the use of "localhost" with + ACE_DEFAULT_SERVER_HOST. This is necessary to support broken + platforms like MVS that don't support "localhost"... + + * TAO/tests/Cubit/TAO/IDL_Cubit/svr.cpp (parse_args): Assume for + the moment that any arguments starting with `-O' are `-ORB' or + `-OA'. This should be fixed by having the ORB_init() and + POA_init() methods consume their argv/argc's. + +Thu Nov 13 16:18:32 1997 <nw1@CHA-CHA> + + * tao/orb_core.h: + * tao/default_client.h: + * tao/default_server.h: Changed ACE_SVC_FACTORY_DECLARE to + ACE_FACTORY_DECLARE. + + * tao/orb_core.cpp: + * tao/default_client.cpp: + * tao/default_server.cpp: Changed ACE_SVC_FACTORY_DEFINE to + ACE_FACTORY_DEFINE. + + * tao/corba.h: Added include "tao/tao_internals.h". + + * tao/tao_internals.h: Disable header file inclusions. I've put + this file into corba.h. + + * tao/tao_internals.cpp: Changed to use "tao/corba.h". + + * tao/TAO.mak: + * tao/TAO.dsp: Replaced ACE_BUILD_SVC_DLL with TAO_BUILD_DLL. + + * tao/corba.h: Added TAO_Export definition. + + * tao/*.h: Replaced ACE_Svc_Export with TAO_Export. Added + default definition to build TAO DLL on Win32. + +Thu Nov 13 01:47:02 1997 Chris Cleeland <cleeland@macarena.cs.wustl.edu> + + * tao/iiopobj.cpp (IIOP_Object): Removed the duplicate CTORs that + I'd accidentally included here during the prior merge/commit + phase. + +Wed Nov 12 23:59:29 1997 <nw1@COYOTE> + + * TAO/TAO_IDL/tao_idl.dsp: Changed to generate multithreaded codes + on NT. + + * TAO/TAO_IDL/be/be_scope.cpp: + * TAO/TAO_IDL/fe/idl.ll: + * TAO/TAO_IDL/fe/lex.yy.cpp: + * TAO/TAO_IDL/fe/y.tab.cpp: + * TAO/TAO_IDL/include/ast_decl.h: + * TAO/TAO_IDL/include/idl.h: + * TAO/TAO_IDL/include/utl_identifier.h: + * TAO/TAO_IDL/include/utl_idlist.h: + * TAO/TAO_IDL/include/utl_tmpl/utl_decllist.h: + * TAO/TAO_IDL/include/utl_tmpl/utl_exceptlist.h: + * TAO/TAO_IDL/include/utl_tmpl/utl_exprlist.h: + * TAO/TAO_IDL/include/utl_tmpl/utl_idlist.h: + * TAO/TAO_IDL/include/utl_tmpl/utl_labellist.h: + * TAO/TAO_IDL/include/utl_tmpl/utl_namelist.h: + * TAO/TAO_IDL/include/utl_tmpl/utl_strlist.h: Changed to use + "ace/stdcpp.h" and removed inclusion of header files that + conflict with standard C++ library. + +Wed Nov 12 18:59:20 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * tao/iioporb.cpp: Added call to set object address in Profile. + + * tao/iiopobj.cpp: Corrected code in the copy CTOR where the host + was being copied over the old host. This could prove bad if the + amount of space allocated previously was too small for the + hostname we're copying in. Ideally we'd use something smarter + than this, but hopefully (if you read the comment below) this will + go away soon. + + * tao/iiopobj.*: Added an ACE_INET_Addr to IIOP::Profile so that + we only need to do a gethostbyname() once. After that we can used + the cached information. I'd really like to remove the host/port + as explicit public data members, but for now we take one step at a + time. + + * tao/giop.cpp: Use the IIOP::Profile object address when making a + connection. + + * tao/decode.cpp: Added code to set the object address in the + Profile when an object ref is decoded. + + * tao/debug.h: Removed old questions in comments. + + * tao/connect.h: Added some documentation. + +Wed Nov 12 17:41:02 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * tao/iiopobj.cpp: I had forgotten to update the return type of + _get_name in iiopobj.cpp to "char *" instead of "const char *". + +Wed Nov 12 14:28:48 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * TAO_IDL/ast/ast_union.cpp: Fixed a problem where the front end + would not give any error if there were duplicate case labels. This + was happening since an overloaded == operator taking an + AST_Expression* was not getting called. Instead a simple + comparison of addresses was taking place. We now use the "compare" + method defined on the AST_Expression class to fix this problem. + + * TAO_IDL/be/be_interface.cpp: Removed some code under #if 0. The + noteworthy change, however, has to do with code that gets + generated for the "_is_a_skel". Some compilers were issuing a + warning saying "unused argument obj". Since we cannot change the + signature of the generated "_is_a_skel", we use the trick of + generatung ACE_UNUSED_ARG (obj); in the code. Some other + formatting changes made. + + * TAO_IDL/be/be_operation.cpp: Some very minor changes so that the + generated code is properly indented. + + * tao/{iiopobj,object,stub}.h, iiopobj.cpp: Changed the return + type of _get_name to return a heap-allocated "char *". In the + earlier case we were erroneously returning a pointer to local + array. This was a change I made a couple of days back to deal with + the fact that object keys are octet arrays and are not null + terminated. Now we take the object key and make a NULL terminated + copy in a heap allocated string. It is the caller's responsibility + to free this. + + * tao/tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp: Used string_free to + free the string returned by _get_name. + + * tao/tests/Thruput/client.cpp: _narrow now uses the additional + env parameter. + +Wed Nov 12 09:22:47 1997 David L. Levine <levine@cs.wustl.edu> + + * tao/tao_internals.cpp (open_services): added ACE_UNUSED_ARGs + for argc and argv if TAO_PLATFORM_SVC_CONF_FILE_NOTSUP. + + * TAO_IDL/Makefile: disabled clean and realclean targets on VxWorks, + so that they don't remove tao_idl from the host build tree. + +Tue Nov 11 23:50:06 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * TAO version 0.0.29, released Tue Nov 11 23:50:06 1997. + +Tue Nov 11 20:45:26 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> + + * tao/default_server.cpp (parse_args): Replaced NULL with 0. + + * tao/corbacom.h: Fixed the macro for TAO_SYSTEM_EXCEPTION so + compilers don't whine about extra semi-colons. + + * tao/iioporb.cpp (iiop_string_to_object): Added a cast of (char + *) 0 to disambiguate one of the methods. + + * tao/iiopobj.cpp: Moved the constructors and destructors of + IIOP_Object from the *.i file to the *.cpp file and made them + non-inline. + +Tue Nov 11 18:19:16 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * tao/iiopobj.{h,cpp}: Added two new constructors one of which is + useful for the _bind call generated by the IDL compiler. This + constructor takes the host name, port number, and key value + thereby avoiding the costly string2object call inside the _bind + method. The second constructor is used to reduce the amount of + code that gets generated to set a IIOP_Object in the constructor + of the skeleton class. + + Additionally, these constructors use the REENTRANT get_host_name + method of the INET_Addr class to retrieve the host name. + + * tao/iiopobj.h,stub.h: Modified the signature of _get_name to + return a const char*. So users will have to copy this value. + + * tao/iiopobj.cpp: The method _get_name uses an internal character + array in which the object key is copied. This is necessary so that + we can NULL terminate the opaque key and return it to the user. + + * tao/orbconf.h,cdr.h: Commented (and will eventually remove) the + defintion of MY_BYTE_SEX from cdr.h. Instead, we now use the macro + TAO_ENCAP_BYTE_ORDER which gets defined in orbconf.h. The files + affected due to this renaming are: + + tao/{iioporb.cpp, giop.cpp, except.cpp, cdr.cpp, encode.cpp, + interp.cpp, tc_const.cpp} + + The following files in the IDL compiler source were affected since + they had to generate TAO_ENCAP_BYTE_ORDER instead of MY_BYTE_SEX. + TAO_IDL/be/{be_array,be_enum,be_interface,be_sequence,be_structure, + be_union}.cpp + + * tao/{typecode,decode}.cpp: some reformatting, indentation. + + * TAO_IDL/be/be_interface.cpp: code generated for _bind uses the + newly added constructor to class IIOP_Object. + + * TAO_IDL/be/{be_interface.be_state}.cpp: Code generated for + _narrow now takes an additional CORBA::Environment parameter. + + * tests/Cubit/TAO/IDL_Cubit: cubit_i.cpp - in the method + make_cubit, we make a copy of the string returned by _get_name and + then free that memory. + + clnt.cpp: The tests for unions have been uncommented. The reason + they were not working and resulting in seg fault was that methods + of the cubit interface were being invoked on the factory object. + +Tue Nov 11 10:07:04 1997 David L. Levine <levine@cs.wustl.edu> + + * tests/Cubit/TAO/DII_Cubit/Makefile: added missing before (VAR) + in VBIN definition. + + * tao/orbconf.h: added __i386 to TAO_WORDS_BIGENDIAN check, + because that's what g++/VxWorks uses. Also added __alpha + to little endian CPUs. + + * tao/orb_core.i: fixed preprocessor test for using the + ACE_Hash_Addr<ACE_INET_Addr>::hash_i specialization. + +Tue Nov 11 04:22:44 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * TAO version 0.0.28, released Tue Nov 11 04:22:44 1997. + +Tue Nov 11 01:16:07 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * tao/orbobj.cpp (resolve_name_service): Reformatted the + multicast Name Service locator just a bit. + + * tao/orbconf.h: Started putting a more sane way of automatically + determining the size of various datatypes into TAO. + +Tue Nov 11 00:36:39 1997 Sergio Flores <sergio@macarena.cs.wustl.edu> + + * orbsvcs/bin/Logger/ior_multicast.h: + * orbsvcs/bin/Logger/ior_multicast.cpp: + * orbsvcs/bin/Logger/clnt.cpp: + * orbsvcs/bin/Logger/clnt.cpp: + * orbsvcs/bin/Logger/svr.cpp: + * orbsvcs/bin/Logger/Makefile: + Added multicast resolution of the logger service example. + +Tue Nov 11 00:36:39 1997 Sergio Flores <sergio@macarena.cs.wustl.edu> + + * tao/orbobj.cpp (resolve_name_service): changed macro for default + multicast port. + - Added support for multicast mechanism to resolve the name + service. + + * tao/orbconf.h: Added some definitions for TAO's default + multicast and reply port, and the default timeout value. + +Tue Nov 11 00:00:25 1997 David L. Levine <levine@cs.wustl.edu> + + * tests/Cubit/TAO/IDL_Cubit/Makefile: removed MUNCHED because + it's no longer needed for g++/VxWorks. + +Mon Nov 10 22:02:42 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> + + * tao/interp.cpp (declare_entry): Moved TAO_ALIGNMENT_MAGIC_NUMBER + to orbconf.h instead of burying it in interp.cpp. + + * tao/corbacom.h: Rather than trying to guess what the size of + wchar_t, let's just use what's in ACE. + +Mon Nov 10 19:26:03 1997 Sumedh Mungee <sumedh@lindy.cs.wustl.edu> + + * tao/orbconf.h (SIZEOF_INT): FreeBSD and NetBSD have 4 byte + ints. Thanks to Nanbor for pointing this out. + + * tao/orbobj.cpp: Added template instantiation for ACE_Atomic_Op. + + * tao/orbconf.h: NetBSD has a long double of size 12, as does + FreeBSD. Fixed SIZEOF_LONG_DOUBLE to fix this. + + * tests/Cubit/TAO/MT_Cubit/server/svr.cpp (main): Removed cerr's + and replaced them with ACE_ERROR_RETURN's and the like. + +Mon Nov 10 01:25:19 1997 <nw1@COYOTE> + + * tao/giop.h: Added ACE_Svc_Export to classes + (TAO_GIOP_Request_Header, TAO_GIOP_Invocation, TAO_GIOP.) Some + of them may not be necessary. + +Mon Nov 10 00:09:24 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * TAO version 0.0.27, released Mon Nov 10 00:09:24 1997. + +Sun Nov 09 23:43:04 1997 <irfan@TWOSTEP> + + * tao/corba.h: Reordered the inclusion of poa.i, giop.i, + iioporb.i, and iiopobj.i + + * tao/tao_internals.cpp (close_services): Fixed typo. + +Sun Nov 09 23:32:58 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * TAO version 0.0.26, released Sun Nov 09 23:32:58 1997. + +Sun Nov 09 22:04:12 1997 <irfan@TWOSTEP> + + * tao/orbobj.cpp (ORB_init): + * tao/tao_internals.cpp (close_services): + + Changed ACE_Recursive_Thread_Mutex to ACE_SYNCH_RECURSIVE_MUTEX. + +Sun Nov 9 16:05:56 1997 Sergio Flores <sergio@macarena.cs.wustl.edu> + + * tests/Cubit/TAO/DII_Cubit/clnt.cpp: * + tests/Cubit/TAO/DII_Cubit/clnt.h: Added clnt.h and restructured + the code so it is similar to the IDL_Cubit example. It doesn't, + however, have the same options because the DII example uses an ior + as input. + + * tao/debug.cpp: Added dummy function to get rid of + "'debug_stream' defined but not used" warning. + +Sun Nov 9 13:03:37 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> + + * tao: Removed the svc.conf.eg file since it was out of date. + + * tao/svrrqst: Removed the #include for svrrqst.i since we don't + need any inline functions now. + + * tao/tao_internals: Removed the #include for tao_internals.i + since we don't need any inline functions now. + + * tao/varout.h: Cleaned up the programming style. + + * tao: Continued to replace all fields with names _foo to foo_. + + * tao/iioporb.cpp: Move the hex routines into ACE since they are + more general. + + * tao/iioporb.cpp: Removed the inclusion of iioporb.i since it is + already included in corba.h. + + * tao: Replaced all uses of ACE_Thread_Mutex with ACE_SYNCH_MUTEX + since this is portable... + + * tao/iiopobj.cpp: Removed the inclusion of iiopobj.i since it is + already included in corba.h. + + * tao/giop.cpp: Moved several large inlined methods into the *.cpp + file. + + * tao/giop: Removed the enormous (and unused) incoming_message() + method. + + * tao/giop.cpp: Removed the inclusion of giop.i since that is + handled in corba.h. + + * tao: Removed the factories.i and factories.cpp files since they + don't seem to be used by anything. + + * tao/{corbacom,except}.*: Changed SYSEX to the more politically + correct TAO_SYSTEM_EXCEPTION. + + * tao: Replaced all uses of wslen() and wscpy() with the + corresponding ACE_OS wide string functions. + + * tao/orbconf.h: Removed all the HAVE_WIDEC_H stuff. This should + be handed by ACE. + + * tao/connect.i: Removed the template instantiations since they + were commented out and didn't appear to be used. + + * tao/connect.cpp: connect.i was already being included in corba.h, + so don't include it again. + + * tao/client_factory.cpp: Moved inlined constructor/destructor + from the *.i file into the *.cpp file. + + * tao/cdr.cpp (CDR): Moved a bunch of absurdly long inlined methods + from the *.i file into the *.cpp file. + + * tao/any.cpp (CORBA_Any): refcount_ has previously been + uninitialized. I gave it a value of 1. + + * tao/any.cpp (CORBA_Any): Moved the initialization into the + base/member section, where it belongs. + + * tao/any.h: Corrected a spelling mistake in an enumeral and + upper-cased the minor codes for exceptional returns. Are these + actually used anywhere? + + * tao: Removed all the unnecessary #if 0 ... #endif header files. + I don't know why there were still there. + + * tao/except.h: Moved the #ifdef for minor and major into + orbconf.h, where they belong. + + * tao/orbconf.h: Removed all the DECLARED_* macros since they + no longer made sense once we've got ACE. + + * tao/orbconf.h: Moved the TAO_DEFAULT* macros from ace/OS.h + here, which is more where they belong. + + * tao/default_server.cpp (TAO_Default_Server_Strategy_Factory): + + * tao/{debug.h,orbconf.h}: Removed the DECLARED_STRERROR macro + since ACE handles this. + +Sun Nov 09 10:18:06 1997 David L. Levine <levine@cs.wustl.edu> + + * tao/connect.cpp: fixed RCS keyword (Id instead of id). + +Sat Nov 08 23:23:41 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * TAO version 0.0.25, released Sat Nov 08 23:23:41 1997. + +Sat Nov 8 21:27:34 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> + + * tao/orb_core.cpp (init): Removed the code that always binded us + to our hostname. This is unnecessary and makes it hard to use + other interfaces on the same host (such as localhost or some ATM + interface, etc.). With this change (and the corresponding + changes to ACE_INET_Addr::get_host_name()), we can now bind to + INADDR_ANY. + + * docs/releasenotes: Added Marina's documentation for the Trader + and cleaned up all the other entries to make them consistent. + + * tao: Changed ProfileBody to Profile, TaggedProfile to + Tagged_Profile, ProfileSeq to Profile_Sequence, and ProfileId to + Profile_ID. + + * tao/iiopobj.cpp (ProfileBody): For some god knows why reason, + the CORBA::String and CORBA::UShort parameters to ProfileBody + where being passed as references. This is silly, so I changed + them to non-references. + + * tao/connect.cpp (open), + tao/poa.cpp (create): Replaced a use of + ACE_INET_Addr::get_host_name(void) with + ACE_INET_Addr::get_host_name (char *, size_t), which is + reentrant. + + * tao/Makefile: Removed the DCFLAGS, OCFLAGS, and the TAO_ORB_CORE + target macros from the Makefile since they were unnecessary. + Thanks to Arturo for reporting this. + + * tao/except.cpp (print_exception): Fixed a strange format code in + print_exception that was causing a seg fault. What the heck + does %#lx mean? Thanks to Mark L Boriack <mark@vtcibm4a> for + reporting this. + +Fri Nov 07 21:23:35 1997 Carlos O'Ryan <coryan@MILONGA> + + * tao/orb_core.h: + * tao/marshal.h: + * tao/corbacom.h: + Added ACE_Svc_Export to some classes. + + * tao/any.cpp: + Removed delete after DEEP_FREE call, it crashes on NT and it + should be unneeded. + + * TAO_IDL/be/be_state.cpp (gen_code): + When generating arguments for the server header don't use nested + types. The fully qualified type name is needed, even on NT. + + * TAO_IDL/be/be_exception.cpp: + Added code to generate a default constructor. + +Fri Nov 07 17:26:49 1997 <nw1@CHA-CHA> + + * tao/TAO.dsp: + * tests/Cubit/TAO/DII_Cubit/{client,server}.dsp: + * tests/Cubit/TAO/IDL_Cubit/{client,server}.dsp: + * tests/Cubit/TAO/MT_Cubit/client/client.dsp: Removed + ACE_HAS_TSS_ORB_CORE flag. + + * tests/Cubit/TAO/MT_Cubit/client/client.cpp (main): Added a + return statement to satisfy MSVC. + +Fri Nov 7 18:20:46 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * tests/Cubit/TAO/MT_Cubit/{client,server}/svc.conf: Updated to + reflect the proper combination of options to achieve the + thread-per-ORB-per-rate concurrency model. + + * docs/components.html: Updated to refer to seminal documentation + referred to below. + + * docs/configurations.html: Started some new documentation. It's + got a ways to go right now. :-) + +Fri Nov 07 15:42:45 1997 David L. Levine <levine@cs.wustl.edu> + + * tao/default_server.cpp (parse_args): check for 0 argv[curarg] + before calling strcmp on it. + + * tests/Cubit/TAO/IDL_Cubit/Makefile: added MUNCHED for + VxWorks/g++. + +Fri Nov 7 10:30:59 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * tao/tao_internals.cpp (fake_service_entries_i): Updated faked + service entries to include new Resource Factory. This is the + fallback for VxWorks. + + * tao/orb_core.h (TAO_Resource_Factory): Added much comments. + +Fri Nov 07 02:45:56 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * TAO version 0.0.24, released Fri Nov 07 02:45:56 1997. + +Fri Nov 7 01:58:30 1997 Nanbor Wang <nw1@coyote.wolfpack.cs.wustl.edu> + + * TAO_IDL/driver/drv_preproc.cpp: + * TAO_IDL/driver/drv_fork.cpp: Added the (__FreeBSD__) flag to + correctly include wait.h file. + + * tao/orb_core.cpp: Replaced ACE_NETBSD with ACE_HAS_THREADS in + template instantiation segment. + + * tao/orbconf.h: Added the (__FreeBSD__) flag to exclude inclusion of + widec.h. + + * tao/orbobj.cpp (Release): Wrapped ACE_GUARD with ACE_MT macro. + +Fri Nov 07 01:46:04 1997 <irfan@TWOSTEP> + + * tests/Cubit/TAO/DII_Cubit/(cubitC.cpp, cubit.cpp): Byte order + changed from 1 to MY_BYTE_SEX. + +Thu Nov 6 23:59:45 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> + + * tao/params.cpp: Moved all the inlined methods out of the header + file and put them in the *.cpp file. I hope this doesn't cause + problems for GCC on VxWorks. + + * tests/Thruput_test/client.cpp: Fixed a mistake with how + the long string constant was defined. The scheme being + used wasn't portable. + +Thu Nov 06 20:58:52 1997 <irfan@TWOSTEP> + + * tao/connect.cpp: Made sure that TAO_Server_Connection_Handler + and TAO_Client_Connection_Handler have a zero Reactor pointer. + If this is not the case, they will try to deregister from a + sometimes non-existent Reactor. + +Thu Nov 6 19:06:59 1997 Sergio Flores <sergio@polka.cs.wustl.edu> + + * docs/releasenotes/index.html: Updated status of Naming Service + port to TAO. + + * TAO_IDL/be/be_exception.cpp (gen_client_header): + removed warning for unused variable. + +Thu Nov 6 17:07:58 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * tao/tao_internals.i: Added missing #include file. + + * tao/tao_internals.i: Change lock used as monitor for service + count to use ACE_Static_Object_Lock::instance(). This pleases + VxWorks (but makes me nauseous). + + * tao/tao_internals.h: Removed static instances of locks to please + VxWorks. + + * tao/orbobj.cpp (ORB_init): Changed lock used for the monitor + here to be ACE_Static_Object_Lock::instance(). This pleases + VxWorks (but makes me nauseous). + + * tao/orb_core.cpp (init): Merged in changes for new Naming + Service-related options that got accidentally overwritten last + night. + + * docs/Options.html: Added documentation for new Naming + Service-related options in. + + * tao/orbobj.h: Added documentation for a few static methods. + + * tao/params.h: Changed LOCAL_INLINE macro to TAO_LOCAL_INLINE to + avoid possible collisions with application macros. + +Thu Nov 6 14:51:22 1997 Sumedh Mungee <sumedh@lindy.cs.wustl.edu> + + * TAO_IDL/Makefile: Renamed libutil to libtao_idl_util. libutil is + a system library on NetBSD. Updated TAO_IDL/util/Makefile to be + compatible with this. + + * TAO_IDL/be/be_codegen.cpp (server_header): Changed ::toupper to + be toupper, since toupper is a macro on some platforms (like + netbsd). + + * TAO_IDL/driver/{drv_preproc.cpp, drv_fork.cpp}: NetBSD has + sys/wait.h, instead of wait.h. Added #define to fix it. + +Thu Nov 6 01:40:29 1997 Sumedh Mungee <sumedh@macarena.cs.wustl.edu> + + * tao/tao_internals.h: #defined ACE_Thread_Mutex to be + ACE_Null_Mutex for NetBSD. + + * tao/orbconf.h: Added NetBSD to the #define around HAVE_WIDEC_H. + + * tao/orb_core.cpp: #defined around some thread-specific template + instantiations which are not needed on NetBSD. + + * tao/except.h: Undefined "minor" and "major, since these are + defined in NetBSD. + +Thu Nov 06 14:47:15 1997 David L. Levine <levine@cs.wustl.edu> + + * tao/params.[hi]: inlined some functions in the class declaration + because g++ for VxWorks couldn't deal with them in the .i file. + + * tao/tao_internals.*,orbobj.cpp: fixed replacement of orbinit_lock_ + and service_lock_ with ACE_Static_Object_Lock::instance (). + +Thu Nov 06 02:17:02 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * TAO version 0.0.23, released Thu Nov 06 02:17:02 1997. + +Wed Nov 5 23:44:42 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> + + * tao/{orbobj,iioporb}.h: Made the first parameter to + string_to_object() a const CORBA::String rather than just a + CORBA::String. + + * tao/params (addr): Fixed a bug where we should have been using + const ACE_INET_Addr & rather than just ACE_INET_Addr &. + + * tao/orbobj: Began adding the hooks for a multicast-based + implementation of resolve_initial_references(). + + * tao/params: Added a new set/get interface to optionally set/get + the IOR of the configured Naming Service. + + * tao/orb_core.cpp (init): Added a -ORBnameservice command-line + option. If this option is given, it indicates the IOR where the + Naming Service resides. + + * tao/params: Changed the signature of TAO_ORB_Parameters::addr() + to return a const ACE_INET_Addr & rather than an ACE_INET_Addr. + + * tao/params: Added new get/set name_service_port() methods to + get/set the name service multicast port. + +Wed Nov 5 22:38:08 1997 Sergio Flores <sergio@macarena.cs.wustl.edu> + + * tests/Thruput_test/client.cpp (main): + * tests/Thruput_test/server.cpp (main): Fixed missing declarations + and unused variables and labels. Fixed uninitialized and unused + variables. + + * tests/Thruput_test/ttcp_i.cpp (ttcp_sequence_i): + * tests/Thruput_test/ttcp_i.h (class ttcp_sequence_i): Change to + use POA. + + * tests/Cubit/TAO/DII_Cubit/README (server): Changed comment on + how to start the server to indicate the use of "-d" to see the + IOR. + + * tests/Cubit/TAO/IDL_Cubit/clnt.cpp (Cubit_Client): Reordered + member initializers to match declaration order + + * tests/Cubit/TAO/DII_Cubit/svr.cpp (main): Fixed comparison of + ">=" on an unsigned variable to compare only ">". + +Wed Nov 05 20:35:52 1997 <irfan@TWOSTEP> + + * tao/orb_core.cpp (fini): Close down the connector. Other + ORB_Core specific objects also need to be cleaned up (and + deleted). + + * tests: Made sure that the orb pointer returned by ORB::init() is + correctly freed up. Following files were updated: + + TAO/tests/Cubit/TAO/DII_Cubit/clnt.cpp + TAO/tests/Cubit/TAO/DII_Cubit/svr.cpp + TAO/tests/Cubit/TAO/IDL_Cubit/clnt.cpp + TAO/tests/Cubit/TAO/IDL_Cubit/clnt.h + TAO/tests/Cubit/TAO/IDL_Cubit/svr.cpp + TAO/tests/Cubit/TAO/MT_Cubit/client/Task_Client.cpp + TAO/tests/Cubit/TAO/MT_Cubit/server/svr.cpp + TAO/tests/Cubit/VisiBroker/base_server/server.cpp + +Wed Nov 5 19:37:25 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * TAO_IDL compiler: + + files be_array.cpp, be_interface.cpp, be_sequence.cpp, + be_structure.cpp, be_union.cpp, be_enum.cpp - Added MY_BYTE_SEX to + the typecode generation methods. + + be_operation.cpp, be_argument.cpp, be_state.cpp, be_codegen.* - + Modified to deal with _out parameters that are passed to the + actual upcalls in the server-side skeleton. + + Some minor changes involving removing commented-out code in the + constructors of some classes. + + * tests/Thruput_test: Some modifications. Still needs more work + get it to run. + +Wed Nov 05 19:26:44 1997 <nw1@COYOTE> + + * tests/Cubit/TAO/DII_Cubit/DII_Cubit.dsp: + * tests/Cubit/TAO/IDL_Cubit/IDL_Cubit.dsp: + * tests/Cubit/TAO/MT_Cubit/client/client.dsp: + * tests/Cubit/TAO/MT_Cubit/server/server.dsp: + * tao/TAO.dsp: Renamed debeg version of TAO library to TAO.dll for + NT. + +Wed Nov 05 13:39:19 1997 David L. Levine <levine@cs.wustl.edu> + + * TAO_IDL/Makefile: more hacks to not build the IDL compiler + on VxWorks. + +Wed Nov 05 12:53:53 1997 <irfan@TWOSTEP> + + * tao/interp.cpp: + + - Win32 does not use "fixed" byte alignment. Fixed the + setup_entry macro to take this into account. + + - (declare_entry) Seperated the declaration of the structs from + their use. This is necessary for the VC++4.2 compiler. + + * tests/Cubit/TAO/DII_Cubit/svr.cpp (main): Commented out debug + message, since obj is not declared. + +Wed Nov 05 01:41:34 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * TAO version 0.0.22, released Wed Nov 05 01:41:34 1997. + +Wed Nov 5 00:48:58 1997 Sergio Flores <sergio@macarena.cs.wustl.edu> + + * tests/Thruput_test/utils.cpp: Delete static definitions of + functions. + + * tests/Thruput_test/ttcpS.cpp: + * tests/Thruput_test/ttcpC.cpp (_duplicate): + * tests/Thruput_test/client.cpp (main): + * tests/Thruput_test/ttcp_i.cpp (sendStructSeq): + * tests/Cubit/TAO/DII_Cubit/clnt.cpp: + * tests/Cubit/TAO/DII_Cubit/svr.cpp: Removed a couple of warnings + of unused and uninitialized variables. Included "ace/ACE.h" to + be able to have the _REENTRANT flag. + +Wed Nov 5 00:18:17 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * TAO_IDL/be/be_sequence.cpp: Added code to generate the missing + operator [] for sequences. + +Tue Nov 4 23:38:54 1997 Sumedh Mungee <sumedh@macarena.cs.wustl.edu> + + * tests/Cubit/TAO/MT_Cubit/{server,client}/Makefile: Removed the + (evil) TAO_HAS_TSS_ORB_CORE flag. Now this functionality is + provided by svc.conf. + + * tests/Cubit/TAO/MT_Cubit/: Fixed the server code to use the new + IDL compiler generated code. + + * TAO/tests/Cubit/TAO/MT_Cubit/client/Task_Client.cpp: Changed the + order of the initializers to remove g++ warnings, and added some + ACE_UNUSED_ARGs. Also removed the hand-crafted stubs, to make way + for the idl-compiler generated files. + +Tue Nov 4 23:21:29 1997 Sergio Flores <sergio@macarena.cs.wustl.edu> + + * tests/Cubit/TAO/DII_Cubit/clnt.cpp (main): + * tests/Cubit/TAO/IDL_Cubit/clnt.cpp (run): Changed the format of the + output to be more readable. Also, fixed resolution of the time for + the cube_struct_dii() call. + +Tue Nov 4 21:12:48 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> + + * tao/except.h: Removed print_exception(). It seems unnecessary + and pollutes the global namespace. + +Tue Nov 4 16:58:12 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * {tests/Cubit/TAO/DII_Cubit,tests/Cubit/TAO/IDL_Cubit, + tests/Cubit/TAO/MT_Cubit,tests/Demux_Test, + tests/Thruput_test}/Makefile: Added an explicit definition for + VBIN so that VxWorks can build properly. + + * tao/orb_core.*: Modified TAO_Resource_Factory so that it divides + the information that it tracks between pre-allocated resources and + resources which are allocated by the application. Specifically, + the orb and root poa pointers are in here (though it's possible + that when we move to a full POA implementation that the root poa + can be pre-allocated as well). These pointers are initialized to + zero and are given values by the TAO_ORB_Core instance writing + through back to the TAO_Resource_Factory instance. + + Also, this implementation reduced the number of singletons/TSS + singletons utilized by the resource factory. The initial + "get-it-working" cut used a singleton/tss singleton pair for every + resource, which was quite wasteful in environments such as NT that + don't have many TSS slots available. Perhaps if we get even more + clever this can be reduced even further. + + * tao/except.*: Added print_exception() function for backwards + compatibility. It simply calls + CORBA::Environment::print_exception(). + +Tue Nov 04 10:45:07 1997 <nw1@CHA-CHA> + + * TAO_IDL/fe/y.tab.cpp: Enclosed a #pragma ident with #if !defined + ACE_WIN32. Compilers other than SunCC might also need this. + +Tue Nov 4 13:47:26 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * TAO/tests/Cubit/TAO/MT_Cubit: Modified the Makefiles in the + client and server directory so that they use the TAO IDL + compiler. Also added the clean and realclean targets. Updated the + server side cubit.idl because it was different from what the + client was using. + + * TAO_IDL compiler: Fixed the following problems + + (1) Removed the extra call to Release in the generated _narrow + method in be_interface.cpp + + (2) Used ACE_CORBA_1 (Object) instead of CORBA::Object in the + class declaration for interfaces - in be_interface.cpp + + (3) be_interface_fwd.cpp - var_impl had to be updated to generate + code that uses the ptr () method in the calls to _duplicate + + * TAO/tests/Cubit/TAO/IDL_Cubit: Fixed some outstanding issues and + made sure that it works. Updated the README file. + +Tue Nov 04 09:48:51 1997 David L. Levine <levine@cs.wustl.edu> + + * tao/orb_core.i: disabled the ACE_Hash_Addr<ACE_INET_Addr>::hash_i () + template specialization on g++/VxWorks because g++ + cygnus-2.7.2-960126 can't handle it. + + * tao/except.h (line 118): removed backslash at end of comment line. + Some compilers complain about that. + + * tao/except.cpp (CORBA_SystemException): reordered initializers to + match declaration order. + + * TAO_IDL/Makefile: don't build the IDL compiler on VxWorks. + +Tue Nov 04 06:26:14 1997 Carlos O'Ryan <coryan@MILONGA> + + * TAO_IDL/be/be_state.cpp: + It still generated fully qualified names for some sequences, + that will not work on NT. + +Tue Nov 04 05:32:44 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * TAO version 0.0.21, released Tue Nov 04 05:32:44 1997. + +Tue Nov 4 04:42:17 1997 Sergio Flores <sergio@macarena.cs.wustl.edu> + + * tests/Thruput_test/server.cpp: + * tests/Thruput_test/client.cpp: + * tests/Thruput_test/ttcpS.cpp: + Fixed "print_exception" errors and errors due to some changes in + the orb compiler. + + * tests/Cubit/TAO/MT_Cubit/server/svr.cpp (svc): Use unsigned + int for variable that is used for positive comparisons only. + +Tue Nov 04 01:00:51 1997 <nw1@COYOTE> + + * tests/Cubit/TAO/IDL_Cubit/IDL_Cubit.dsw: Renamed former test.dsw + to IDL_Cubit.dsw. + + * tests/Cubit/TAO/IDL_Cubit/{client,server}.dsp: Renamed + executables for debug version to client.exe and server.exe on + NT. + + * tests/Cubit/TAO/DII_Cubit/DII_Cubit.dsw: Renamed former test.dsw + to DII_Cubit.dsw. + + * tests/Cubit/TAO/DII_Cubit/{client,server}.dsp: Renamed + executables for debug version to client.exe and server.exe on + NT. + + * tests/Cubit/TAO/IDL_Cubit/Cubit.mak: Added cubit.idl into + makefile and its custom build settings. + + * tests/Cubit/TAO/MT_Cubit/MT_Cubit.dsw: Renamed former + MTCubit.dsw to MT_Cubit.dsw. + +Mon Nov 03 23:16:06 1997 <nw1@COYOTE> + + * TAO_IDL/ast/ast_expression.cpp (coerce_value): Added an explicit + cast (float) to avoid NT warnging messages. + + * tests/Cubit/TAO/MT_Cubit/server/svr.cpp (svc): Removed + declaration of function print_exception. It's now a member + function of CORBA_Environment. + + * TAO_IDL/fe/y.tab.cpp: Commented out include <values.h>. This + was causing compilation errors on NT. + + * tests/Cubit/TAO/DII_Cubit/svr.cpp: + * tests/Cubit/TAO/DII_Cubit/clnt.cpp: Changed to use the new + CORBA_Environment::print_exception. + + * tao/except.h (CORBA_Environment): Added ACE_Svc_Export to this + class. + + * tests/Cubit/TAO/MT_Cubit/MTCubit.dsw: + * tests/Cubit/TAO/MT_Cubit/client/client.dsp: + * tests/Cubit/TAO/MT_Cubit/server/server.dsp: + * tests/Cubit/TAO/IDL_Cubit/client.dsp: + * tests/Cubit/TAO/IDL_Cubit/server.dsp: + * tests/Cubit/TAO/IDL_Cubit/test.dsw: Added new workspace and + project files. + + * TAO_IDL/tao_idl.dsp: Moved the output executables to the usual + place. + + * TAO_IDL/be/be.h: Added #ifdef'ed pragma to diable warning 4250 + on NT. This is only temporary and should be fixed later. + + * TAO_IDL/be/be_union.cpp (gen_var_defn): + * TAO_IDL/be/be_structure.cpp (gen_var_defn): + * TAO_IDL/be/be_array.cpp (gen_var_defn): Removed unused local + variables declaration (s). + +Mon Nov 3 23:25:30 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * TAO_IDL Compiler: Files be_sequence.cpp, be_typedef.cpp, + be_state.cpp: Lots of improvements to get sequences to + work. Support for sequences of strings or obj references is + limited. But for all other cases, this seems to be working fine. + + There were some unnecessary lines of code in be_state.cpp that + were giving rise to multiple declarations errors. These are + removed. + +Mon Nov 3 18:30:09 1997 Sergio Flores <sergio@macarena.cs.wustl.edu> + + * tests/Cubit/TAO/IDL_Cubit/clnt.cpp (main): compare with + "!= 0" rather than "== -1" for errors. + + * tests/Cubit/TAO/IDL_Cubit/cubit.idl (enum discrim): Deleted + enumerations not used. + + * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp (please_exit): Fixed + unused variable. + + * tests/Cubit/TAO/IDL_Cubit/cubit_i.h (Cubit_Factory_i): + * tests/Cubit/TAO/IDL_Cubit/cubit_i.h (objrefs): Fixed invalid + comparison between a signed and unsigned variable. + + * tests/Cubit/TAO/IDL_Cubit/svr.cpp (main): Fixed comparison of + ">=" on an unsigned variable to compare only ">". + + * TAO_IDL/be/be_typedef.cpp (gen_client_stubs): Removed unused + variable warning. + + * TAO_IDL/fe/y.tab.cpp (yytoks): Added brackets to the array + of structures being initialized. + +Mon Nov 03 18:43:37 1997 Carlos O'Ryan <coryan@MILONGA> + + * TAO_IDL/be/be_operation.cpp: + "Fixed" skeleton generation code. Sometimes the formal parameter + names for the skeleton can clash with the user defined names for + the (IDL) method parameter names. + To minimize the chances of such a problem I choose very long + parameter names for the skeleton (things like <_tao_enviroment> + instead of just <env>), but the right solution is to ignore the + user defined parameter names and generate them using some + numbering scheme. + + * TAO_IDL/be/be_predefined_type.cpp: + Generate CORBA::_tc_Object as the TypeCode for all pseudo + object, this is a hack but works for the files we are using + right now (maybe it will fail for complex things, like the + interface repository). + + * TAO_IDL/be/be_sequence.cpp: + Fixed a number of minor problems: + Missing _ptr type for sequences. + The return type for T_var::operator-> was different in the + .h and .i file. + + * TAO_IDL/be/be_type.cpp: + tc_name_ and type_name_ were not initialized, producing some + segfaults under NT. + +Mon Nov 3 13:45:54 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * {tao,TAO_IDL/util,TAO_IDL/narrow,TAO_IDL/fe,TAO_IDL/driver, + TAO_IDL/be,TAO_IDL/ast,Benchmark/benchmark}/Makefile (SHLIB): + Fixed definition so that the extension was(SOEXT) rather than + hard-coded to "so". This makes things compile on VxWorks better. + Thanks to David Levine for pointing this out. + +Sun Nov 02 19:42:08 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * TAO version 0.0.20, released Sun Nov 02 19:42:08 1997. + +Sun Nov 2 19:20:57 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * TAO/tao/except.*: Made the "print_exception" utility function + as a method of class Environment. + + * TAO/tao/giop.cpp: In the TAO_GIOP_Invocation::start method, we + were previously not returning even if the connection establishment + phase was failing. A return statement is inserted. However, there + still are problems when the GIOP_Invocation variable called "call" + goes out of scope. + + * TAO_IDL Compiler: be_interface.cpp - The _bind call now + generates a "char IOR" instead of "static char IOR" since the + latter will be problematic with multiple threads. Thanks to + Arturo Montes <mitosys@colomsat.net.co> for pointing that out. + + * TAO/test/Cubit/TAO/IDL_Cubit : Improved the code so that it uses + the "print_exception" which is now defined on class + CORBA::Environment. The clnt still needs improvement in terms of + handling invalid parameters and gracefully exiting. + + * IDL_Compiler: The bug resulting out of encoding object + references has been fixed atleast on Solaris using g++ as well as + SunCC. Changes made to be_operation.cpp and be_state.cpp such that + the return value for object references is always of type + CORBA::Object_ptr rather than the real interface type. In + addition, keeping in perspective the change that Irfan made and + described below (in encode.cpp), the Any that holds the result + *does not* own the value. In contrast, for the rest of the cases + the result (of type Any) owns the result. + + * be_sequence.cpp: Additional work in progress. Full changelog + entry will be available in the next commit. + +Fri Oct 31 22:20:06 1997 <irfan@TWOSTEP> + + * tao/encode.cpp (encode): Changed cast of data from + *(CORBA::Object_ptr *) to (CORBA::Object_ptr). + + * tao/default_server.cpp (parse_args): Manipulation of curarg was + all messed up. Fixed it such that it was not incremented + unnecessarily. + +Fri Oct 31 13:46:04 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * docs/Options.html: Updated to specify new TAO_Resource_Factory + service and its options. + + * docs/releasenotes/orbcore.html: Updated to reflect recent work. + + * tao/orb_core.*: Added the acceptor and related members and + methods from CORBA_ORB. Made TAO_Resource_Factory a Service + Object so that it can be loaded via the Service Configurator. The + option to change its resources between global and thread-specific + is "-ORBresources global" and "-ORBresources tss", respectively. + + * tao/orbobj.*: Moved the acceptor and related members and methods + to TAO_ORB_Core. + + * tests/.../svc.conf: Added Resource Factory as a service. + + * tests/Cubit/TAO/{DII_Cubit,MT_Cubit}/cubitS.cpp, + tests/Thruput_test/ttcpS.cpp, tao/poa.cpp: Changed acceses that + used to go to CORBA_ORB::params() to go to TAO_ORB_Core::params(). + +Fri Oct 31 08:39:54 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * TAO_IDL Compiler - Intermediate commit of all improved features. + + * be/be_type.* : Improved the nested_type_name method such that it + now takes an additional parameter called suffix that has a default + value of NULL. Carlos, Sergio, and myself independently found an + extremely bad piece of code that was getting generated that looked + like the following: + ACE_NESTED_CLASS (XXXX, YYYY)_ptr + + The new convention is to pass the suffix such as "_ptr", or "_var" + or "_out" to this method so that it can generate valid code of the + form: + ACE_NESTED_CLASS (XXXX, YYYY_ptr) + + * be/be_decl.cpp : All the methods such as repoID (), flatname + (), etc now check if the corresponding data member was created or + not. If they are not, the corresponding private method e.g., + compute_repoID (), are invoked. This way we do not have to call + all these private methods in the constructors of all the derived + be classes. The one compelling reason to do it this way is because + the "names" for certain types are not available at construction + time, e.g., sequences. A name to a sequence is assigned from the + context it is in i.e., whether it was a named sequence in the form + of a "typedef" statement or it was an anonymous sequence. + + As of this commit, all calls to such compute_* methods in the + constructors of all the derived be classes are commented out and + will eventually disappear in the next commit. + + * be/be_decl.cpp : One more change in be_decl.cpp is to add the + case for "interface_fwd" in the generation of the _var and _out + definitions and implementations. + + * be/be_helper.* : Added two new methods called "gen_ifdef_macro" + and "gen_endif". These are required to generate the #if !defined + (...) <code> #endif macros. These are very essential if the IDL + has forward declarations of interfaces. Forward declarations of + interfaces must generate a forward class declaration. In addition, + it has to typedef the "_ptr" type and define the "_var" and "_out" + types. However, the real "be_interface" class does this too which + can result in "multiple declarations" errors from the C++ + compiler. Hence we use this scheme. As in the case of the + nested_type_name method mentioned above, this method also takes a + default "suffix" parameter (= 0). This is required for the "_var", + "_ptr", and "_out" suffixes. + + * be/be_interface.cpp + be/be_interface_fwd.cpp: + + Used the TAO_OutStream::gen_ifdef_macro () and gen_endif methods + for the definitions of the _ptr, _var, and _out classes and their + implementations. + + *be/be_sequence.* : Lot of modifications and change in the design + in terms of handling the base types that themselves could be + sequences. Although the AST_Sequence i.e., OMG IDL does not define + a "sequence" to be a scope producing construct like structs or + unions, we choose to make "be_sequence" to be a scope producing + construct. This is no way alters the OMG IDL language because the + front-end is still the same. "be_sequence" was made to inherit + from scope because the sequence mapping gives rise to a C++ class + which is a scoping construct. This way, base types that turn out + to be anonymous sequences can be assigned a parent scope and their + name generation will fall in line with other classes. + + There are certain features missing with sequences at this commit + time, but this should reduce tweaking the generated code to a + large extent. + + * be/be_state.cpp: Update the code for handling sequences and + typedefs. Typedefs should be handled properly now. + + * All other *.cpp files: Either commented out the compute_* calls + in the constructors or removed them. + +Fri Oct 31 03:00:09 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * tao/orb_core.cpp: Moved call to connector's open() into init(), + thus insuring that it gets called only AFTER all the resources are + available from the Resource Factory. + + * tao/orb_core.*: Changed data members to be associations rather + than containment. This allows decoupling of the + "thread-specificness" of these resources from the + thread-specificness of the general TAO_ORB_Core container. Also + added set accessors for those resources. + + Added TAO_Resource_Factory class from which the TAO_ORB_Core + container initializes itself. For now this remains a singleton + which is, at compile-time, determined to be either TSS or not. + But, soon, it will be loaded via the Service Configurator and its + TSS nature determined at runtime. + + * tao/giop.h: Updated to use the new ACE macro + ACE_CLASS_IS_NAMESPACE. + + * tao/default_server.*: Implemented the new open() method so that + it initializes the Reactive and Threaded strategies from the + information in TAO_ORB_Core. + + * tao/server_factory.*: Added open() method to be called after all + ORB resources are loaded up. This method can then be used by a + strategy factory to further initialize its contained strategies if + they require handles to resources to which the ORB might legislate + access. The default implementation does nothing. + +Fri Oct 31 01:03:05 1997 <irfan@TWOSTEP> + + * tests/Cubit/TAO/IDL_Cubit/svr.cpp (main): obj was not declared. + Commented out use of obj in dmsg1. + + * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp (Cubit_Factory_i): + numobjs_ was used before it was assigned. + + * TAO/TAO_IDL/TAO_IDL.{mak,mdp}: Added VC++4.2 make files. + + * TAO_IDL/ast/ast_expression.cpp (dump): Streaming the enum was + ambiguous. Therefore the enum was cast to an int. + +Thu Oct 30 22:50:44 1997 Carlos O'Ryan <coryan@MILONGA> + + * tao/corba.h: + Added a definition for ACE_NESTED_CLASS, maybe it is defined in + some place else, but I couldn't find it. + + * TAO_IDL/be/be_interface.cpp: + Fixed the definition for skeleton destructors. + + * TAO_IDL/be/be_helper.cpp: + Added a lot of redundant ACE_OS::fflush() calls. Apparently we + have two FILE* or file descriptors over the same file, bt the + fflush hides the problem. + + * TAO_IDL/be/be_decl.cpp: + Fixed inconsistency between operator-> declaration and + definition for _out classes. + +Thu Oct 30 14:06:54 1997 Sergio Flores <sergio@polka.cs.wustl.edu> + + * TAO_IDL/fe/Makefile: + Added an expression to the sed command in the rule to construct + lex.yy.cpp, that replaces ECHO with TAO_ECHO, because a + different ECHO macro is already defined in + /usr/include/sys/termios.h + + * TAO_IDL/fe/idl.ll: + Fixed some warnings about nested comments. + Changed the declaration of variable i to outside of + the 'for' initialization to avoid obsolete binding warnings. + + * TAO_IDL/be/be_interface_fwd.cpp (gen_client_header): + Added ACE_UNUSED_ARG macro to avoid unused variable warning, + for variable i. + + * TAO_IDL/be/be_constant.cpp (exprtype_to_string): + * TAO_IDL/util/utl_error.cpp (exprtype_to_string): + Added case statements to handle the rest of un-handled + enumerations from AST_Expression::ExprType. These will + handle a default value (i.e. NULL). Enumerations added are: + AST_Expression::EV_wstring + AST_Expression::EV_wchar + AST_Expression::EV_longdouble + AST_Expression::EV_ulonglong + AST_Expression::EV_longlong + +Thu Oct 30 09:56:41 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * tao/giop.h: Added comments to TAO_GIOP class explicitly pointing + out its use as a namespace. Concurrently, I also scoped the CTOR, + Copy CTOR, and DTOR as 'private' so nobody can mistakenly + instantiate one of these puppies. + +Thu Oct 30 03:40:26 1997 <nw1@COYOTE> + + * tests/Cubit/TAO/DII_Cubit/client.dsp: + * tests/Cubit/TAO/DII_Cubit/server.dsp: Updated include files + path and libarary path. + + * tao/giop.cpp (close_connection): Use ACE_HANDLE instead of int. + +Thu Oct 30 02:53:20 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * TAO version 0.0.19, released Thu Oct 30 02:53:20 1997. + +Thu Oct 30 02:20:21 1997 Sergio Flores <sergio@polka.cs.wustl.edu> + + * tests/IDL_Cubit: + Added more comments and changed the header to be ACE'ified. + Make output more consistent. + +Thu Oct 30 02:12:27 1997 Sumedh Mungee <sumedh@macarena.cs.wustl.edu> + + * tests/{TAO, Cubit}: Changed the directory heirarchy to the + following: tests/Cubit/TAO/ now contains all the Cubit examples, + i.e. IDL_Cubit, MT_Cubit and DII_Cubit, instead of tests/. Updated + the README and Makefiles to reflect this. DII_Cubit is the + handcrafted "original" Cubit example. + + * tests/Cubit/COOL: Added the COOL version of the Cubit test. The + COOL version is written for Chorus COOL version 4.1. + +Wed Oct 29 22:26:10 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * tests/IDL_Cubit/clnt.cpp (init): Fixed the error handling so we + exit correctly when things go wrong. + + * tao/connect.cpp (open): Revised the code to use the new + ACE_LACKS_SOCKET_BUFSIZ to detect when this feature isn't + supported. + + * tao/{giop,connect}: Added a nifty typedef called TAO_SVC_HANDLER + to remove the drudgery of expanding the template each time. + + * tao: Changed the name of TAO_OA_Connection_Handler to + TAO_Server_Connection_Handler to be compliant with the + TAO_Client_Connection_Handler. + +Wed Oct 29 20:47:47 1997 Sergio Flores <sergio@polka.cs.wustl.edu> + + * tests/IDL_Cubit/clnt.cpp: + * tests/IDL_Cubit/clnt.h: + Cleaned up the code. Added ACE_Profile_Timer to time the calls. + Changed copyright header. Added more comments. + +Wed Oct 29 18:55:57 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * tao/giop: Added "_"'s to the data members in + TAO_GIOP_Invocation. + + * tao/giop (send_request): Swaped the order of the parameters for + send_request() so that it would be consistent with recv_request. + + * tao/{connect,giop}: Changed read_message() to recv_request(), + and send_message() to send_request() since these things really + work on GIOP requests. + + * tao/{connect,giop}: Changed read_message() to recv_message(), + which is more like other parts of ACE. + + * tao/connect.cpp: Fixed the calls to read_message() and + send_message() so that they don't try to modify "this." + + * tao/giop: Changed the send_message() and read_message() in the + TAO_GIOP class to take ACE_Svc_Handler<ACE_SOCK_STREAM, + ACE_NULL_SYNCH> rather than TAO_Client_Connection_Handler. + +Wed Oct 29 17:53:12 1997 <irfan@CHA-CHA> + + * tao: Added TAO_HAS_TSS_ORB_CORE to tao and Cubit NT makefiles. + This probably needs to be added to the other NT makefiles. + + * tests/Cubit/TAO/svc.conf: Updated files to pass the correct + options to the factory. + +Wed Oct 29 16:07:20 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * tao/giop.*: Changed most methods that took ACE_SOCK_Stream& + parameters to take TAO_Client_Connection_Handler*& parameters. + This makes it easier to clean up properly after errors. Also + #ifdef'd out seemingly unused code (TAO_GIOP::incoming_message). + Fixed call to ACE_Svc_Handler::idle() to not contain an argument. + + * docs/Options.html: Updated the documentation to reflect recent + changes. + +Wed Oct 29 15:59:30 1997 Sergio Flores <sergio@polka.cs.wustl.edu> + + * tests/IDL_Cubit/clnt.cpp: OO'ified the code. Added class + Cubit_Client. + * tests/IDL_Cubit/clnt.h: added this file to contain the class + definition. + +Wed Oct 29 11:01:11 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * TAO_IDL compiler: be_type.cpp::nested_type_name: A quick commit + made that includes an improvement over the previous scheme of + generating ACE_NESTED_CLASS macros. We handle the problem of + generating fully scoped names for types that were defined in some + ancestor of the scope in which that type is being used. + + * Makefiles under TAO_IDL: Fixed a bug in the Makefiles under all + the subdirectories. This bug was reported by "ARTURO MONTES" + <mitosys@colomsat.net.co>. The bug was causing circular + dependencies on the libraru that was getting compiled. + +Wed Oct 29 06:17:36 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * tao/default_server.cpp (parse_args): Must increase the loop + counter. + +Wed Oct 29 02:11:43 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * TAO version 0.0.18, released Wed Oct 29 02:11:43 1997. + +Wed Oct 29 00:56:26 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * tests/Cubit/TAO/svc.conf: Updated documentation comments to + reflect factory option changes. + + * tao/orbobj.*: Wiped argvec_shift and all its bugs off the face + of the earth. Manojkumar Acharya <cvsf325.gpt.co.uk> should prove + to be very happy about this turn of events. :-) + + * tao/orbobj.cpp: Weeded out old, dead code here and there and + migrated much of what had been in ORB_init() into + TAO_ORB_Core::init(). + + * tao/orb_core.*: Added methods init() and fini() which perform + ORB Core-related initializations and cleanups, respectively. This + is all in anticipation of having a Unified Factory which provides + ORB Core as well as other information. Also began stubbing out + and migrating various data members and associated accessors so + that they are pointers rather than actual members. The next step + is to actually make them pointers and have everything get + initialized properly and deterministically and keep everything + working. + + * tao/{giop,orb_core}.cpp: Revised code due to recent changes in + ACE related to the Caching connector. + + * tao/default_server.{h,cpp} (parse_args): This method now uses + options of the style -ORBfoo rather than the previously-cryptic + single-letter options. This should allow us to eventually allow + this same routine to parse args from the command line as well as + inside the svc.conf file. The price we pay for consistency, + however, is verbosity to the point of insanity (e.g., + -ORBconcurrency...blech!) These options are briefly documented in + the method header as well as in subsequent svc.conf files. + + * tao/decode.cpp: Added some comments for arguments. + + * tao/connect.{h,cpp}: Moved Connector-related typedefs and + corresponding template instantiations into the proper + file--orb_core.*. + + * tao/orb_core.cpp (init): Moved much of what used to be + ORB_init() into here. Changed the manner in which objref style + was determined--it's no longer via a special ORB name but rather + by the -ORBobjrefstyle option which can have either the value + "IOR" or "URL" (default is URL). + +Tue Oct 28 21:15:36 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * build/SunOS5.5/TAO/tests/IDL_Cubit/clnt.cpp (main): Fixed the + code so that if you give incorrect parameters the program exits + cleanly, rather than segfaulting. + +Tue Oct 28 20:49:28 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * tao/giop.cpp (start): NT Access Violation error, AGAIN! Added + codes to reset this->handler_ so that + ACE_Cached_Connect_Strategy won't complain. + +Tue Oct 28 19:19:05 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * TAO_IDL/be/{be_state.cpp, be_union.cpp, be_struct.cpp}: Added code + that will generate the ACE_NESTED_CLASS macro + + *TAO_IDL/be/be_type.cpp: Implemented be_type::nexted_type_name + that will generate the ACE_NESTED_CLASS macro. However, this may + not be completely correct at this point because we want to see if + teh compiler fails for types defined in some ancestor and whose + fully scoped names are generated . + + * TAO_IDL/be/be_interface.cpp: Added code that will generate the + _bind call on the interface class. + + * TAO/tests/IDL_Cubit: Added the _bind call in clnt.cpp. Improved + the README file. + + *MAXNAMELEN : There was a clash with TAO_CodeGen::MAXNAMELEN. So + it has been substituted by NAMEBUFSIZE as a macro in be_codegen.h + +Mon Oct 27 22:22:22 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * TAO_IDL/be_decl.cpp: Added a ptr () function to the _var classes + hat returns the underlying ptr_ data member. This ptr () member + function is now used to pass a pointer type to constructor and + assignment operator from a T_var class. + + * TAO_IDL/be_state.cpp: Important changes related to generation of + return values of operations in the stubs. In addition, an & was + missing for passing string types. Some additional bugs arising out + of operations with void return type have been fixed. + + * ./tests/IDL_Cubit: This test has been modified to include a + factory interface that reads a key for the cubit object and + produces an obj reference for Cubit. In addition, a preliminary + version of the _bind call has been tested with IDL_Cubit. + + *MAXNAMELEN : Carlos informed me that MAXNAMELEN was a small + constant on some platforms. This has been changed to + TAO_CodeGen::MAXNAMELEN with a value of 100. + +Mon Oct 27 22:07:58 1997 Carlos O'Ryan <coryan@MILONGA> + + * TAO_IDL/be/be_array.cpp: + * TAO_IDL/be/be_helper.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: + Set this->cli_stub_gen_ to I_TRUE once the code has been + emitted. + +Mon Oct 27 19:34:08 1997 Carlos O'Ryan <coryan@MILONGA> + + * TAO_IDL/be/be_exception.cpp: + * TAO_IDL/be/be_enum.cpp: + Set this->cli_stub_gen_ to I_TRUE at the end. + + * TAO_IDL/be/be_typedef.cpp: + Set the state to TAO_CodeGen::TAO_TYPEDEF_CH instead of just + struct. + +Mon Oct 27 15:22:24 1997 Sergio Flores <sergio@polka.cs.wustl.edu> + + * TAO_IDL/be/be_state.cpp: + * TAO_IDL/be_include/be_codegen.h: + * TAO_IDL/be_include/be_factory.h: + * TAO_IDL/be_include/be_state.h: + * tao/iioporb.cpp: + * tao/marshal.cpp: + * tao/optable.cpp: + * tao/optable.h: + * tao/singletons.h: + The ACE_Singleton lock type needs to be changed from + ACE_SYNCH_MUTEX (or ACE_SYNCH_RW_MUTEX) ACE_SYNCH_RECURSIVE_MUTEX. + ACE handles those more efficiently for its singletons. Change + suggested by David Levine. + +Mon Oct 27 11:59:51 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * tao/orbconf.h: Made it so _FAR is defined all the time. Thanks + to Manojkumar Acharya <cvsf325.gpt.co.uk> for reporting this. + +Sun Oct 26 22:18:01 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * TAO version 0.0.17, released Sun Oct 26 22:18:01 1997. + +Sun Oct 26 17:53:25 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> + + * {tao,tests}/Makefile: Commented out the TAO_HAS_TSS_ORBCORE in + these Makefiles since it is going away anyhow and is confusing... + + * tests/IDL_Cubit/svc.conf, + tests/Cubit/TAO/svc.conf: + Changed the default concurrency policy to be reactive so that + things work correctly if TAO_HAS_TSS_ORBCORE. Thanks to Sumedh + for pointing this out. + + * tao/orbobj.cpp (ORB_init): Put the TAO_DEFAULT_SERVER_PORT into + ACE's OS.h file and used it in TAO. + +Sun Oct 26 15:07:18 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * tao/params.h: Eliminated forward decls of the now-defunct ROA + class. + + * tao/orb_core.h (TAO_DEFAULT_PORT): Added manifest constant for + default port. + + * tao/orbobj.cpp (ORB_init): Eliminated ugly anonymous constant + use for hbuf's size. Utilized manifest constant for default port. + + * tao/giop.cpp: Changed calls to + TAO_Client_Connection_Handler::in_use() to call the underlying + Svc_Handler::idle(). + + * tao/connect.{h,i}: Eliminated in_use() flags because they're no + longer needed with the new Strategy Connector. + + * tao/iioporb.cpp (string_to_object): Removed setting of the orb + in the underlying CORBA::Object because it's no longer there. + + * tao/object.{h,i} (CORBA_Object): Eliminated the pointer to an orb + within this object. This should help solve some problems in + passing object references across the wire. + + * tao/connect.cpp: Added template instantiations for + ACE_Hash_Map_Iterator to reflect Irfan's recent changes. + + * tests/IDL_Cubit/README: Updated documentation on the server to + reflect current reality. + +Sun Oct 26 01:01:32 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * tao/orbobj.cpp: Redid the template specialization of Hash_Addr + to account for the new changes. + +Sun Oct 26 01:05:36 1997 <nw1@COYOTE> + + * tao/corba.h: Changed from using Strategies_T.h to Strategies.h. + + * tao/connect.h: Removed a template argument form ACE_Hash_Addr. + Removed explicit instantiation of compare_i. + + * tao/connect.cpp: Removed a template argument from explicit + instantiation of ACE_Hash_Addr. + + * tests/Cubit/TAO/clnt.cpp (main): Added a simple class + ACE_Winsock_proper_shutdown here to shutdown winsock properly. + This class should be removed later once we figure out how to + close down winsock properly from ACE. + + * tests/Cubit/TAO/svc.conf: Changed the name of shared object from + libTAO to TAO. Added configuration lines for using debug + version of TAO library on NT. + +Sun Oct 26 01:47:04 1997 Sergio Flores <sergio@macarena.cs.wustl.edu> + + * TAO_IDL/be/be_codegen.cpp (upcase): + * TAO_IDL/util/utl_string.cpp (canonicalize): + * TAO_IDL/be/be_decl.cpp (tc_name2long): + Added "unsigned" to index variable "i" used in for() loop, + to avoid warning "comparison between unsigned and signed" + + * TAO_IDL/be/be_decl.cpp (compute_flatname): + * TAO_IDL/be/be_decl.cpp (compute_repoID): + * TAO_IDL/be/be_interface.cpp (compute_fullskelname): + Fixed error "second - I_FALSE;", should be "second = I_FALSE;" + + * TAO_IDL/be/be_operation.cpp (gen_server_skeletons): + * TAO_IDL/be/be_state.cpp (gen_code): + Initialized pointers to 0 + + * TAO_IDL/driver/drv_preproc.cpp (DRV_pre_proc): + * TAO_IDL/be/be_operation.cpp (gen_server_header): + * TAO_IDL/be/be_operation.cpp (gen_client_header): + * TAO_IDL/be/be_decl.cpp (gen_out_defn): + * TAO_IDL/be/be_decl.cpp (gen_var_defn): + * TAO_IDL/be/be_scope.cpp (gen_client_header): + * TAO_IDL/be/be_state.cpp (gen_code): + * TAO_IDL/be/be_helper.cpp (operator<<): + * TAO_IDL/be/be_union.cpp (tc_encap_len): + * TAO_IDL/be/be_typedef.cpp (gen_client_stubs): + * TAO_IDL/be/be_string.cpp (gen_client_header): + * TAO_IDL/be/be_root.cpp (gen_idl2cplusplus_mapping): + * TAO_IDL/be/be_predefined_type.cpp (gen_typecode): + * TAO_IDL/be/be_interface.cpp (gen_client_stubs): + * TAO_IDL/be/be_interface.cpp (gen_server_skeletons): + * TAO_IDL/be/be_interface.cpp (gen_operation_table): + * TAO_IDL/be/be_interface.cpp (gen_server_inline): + * TAO_IDL/be/be_interface.cpp (tc_encap_len): + * TAO_IDL/be/be_field.cpp (gen_encapsulation): + * TAO_IDL/be/be_field.cpp (tc_encap_len): + * TAO_IDL/be/be_enum_val.cpp (gen_encapsulation): + * TAO_IDL/be/be_enum.cpp (tc_encap_len): + * TAO_IDL/be/be_constant.cpp (gen_client_header): + * TAO_IDL/be/be_constant.cpp (gen_client_stubs): + * TAO_IDL/be/be_argument.cpp (gen_client_header): + * TAO_IDL/be/be_argument.cpp (gen_client_stubs): + * TAO_IDL/be/be_argument.cpp (gen_server_header): + * TAO_IDL/be/be_argument.cpp (gen_server_skeletons): + * TAO_IDL/be/be_array.cpp (be_array): + * TAO_IDL/be/be_array.cpp (gen_client_header): + * TAO_IDL/be/be_array.cpp (gen_client_inline): + * TAO_IDL/be/be_array.cpp (gen_forany_defn): + * TAO_IDL/be/be_array.cpp (gen_forany_impl): + * TAO_IDL/util/utl_stack.cpp (push): + Added ACE_UNUSED_ARG macro to avoid unused variable warning, + for variable slen. + + * TAO_IDL/be_include/be_helper.h (class TAO_OutStream): + Made destructor virtual; we have virtual member functions. + + * TAO_IDL/be/be_codegen.cpp (TAO_CodeGen): + * TAO_IDL/be/be_decl.cpp (be_decl): + * TAO_IDL/util/utl_stack.cpp (UTL_ScopeStack): + * TAO_IDL/util/utl_scope.cpp (UTL_ScopeActiveIterator): + Reordered member initializers to match declaration order to + satisfy the compiler. + + * TAO_IDL/util/utl_scope.cpp (lookup_primitive_type): + Added "default" case to switch to return NULL. + + * TAO_IDL/util/utl_scope.cpp (add_attribute): + * TAO_IDL/util/utl_scope.cpp (add_operation): + * TAO_IDL/util/utl_scope.cpp (add_argument): + * TAO_IDL/util/utl_scope.cpp (add_union_branch): + * TAO_IDL/util/utl_scope.cpp (add_field): + * TAO_IDL/util/utl_scope.cpp (add_typedef): + * TAO_IDL/util/utl_scope.cpp (add_sequence): + * TAO_IDL/util/utl_scope.cpp (add_array): + Use 0 instead of NULL to initialize pointers in the + member initialization list, again to avoid ANSI C++ forbids + implicit (void *) conversions warnings. + +Sun Oct 26 01:01:32 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * TAO version 0.0.16, released Sun Oct 26 01:01:32 1997. + +Sun Oct 26 00:32:29 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> + + * TAO/TAO_IDL/fe/idl.ll: Reverted a change that Carlos had + overwritten. I guess he's not getting enough sleep these + days... ;-) + +Sun Oct 26 00:31:38 1997 <irfan@TWOSTEP> + + * tao/orb_core.i (hash_i): Redid the specialization in view of the + new changes. + +Sat Oct 25 18:14:14 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> + + * TAO_IDL/be/be_interface.cpp (be_interface): Worked around a + nasty MSVC++ compiler bug that doesn't like CORBA::Object + (object_ptr). So we use an existing ACE macro for this. + + * TAO_IDL/be/be_interface.cpp (be_interface): Fixed yet another + round of uninitialized data members. It is clear that the + original authors of this code wouldn't pass my ugrad programming + course... + + * TAO_IDL/fe/idl.ll (idl_parse_line_and_file): Had to make a minor + change to skip over the #line directive from Microsoft. In + addition, had to add some code to put Microsoft-style pathnames + into a canonical form (i.e., replacing = '\\' with '\'). Thanks + to Darrell for helping with this. + + * TAO_IDL/fe/idl.ll: Added a new rule to handle the fact + that the Microsoft C++ preprocessor generates tags of the + form + + #line 1 "bar.idl" + + rather than + + #1 "bar.idl" + + which is what UNIX C++ compilers seem to do. + + * TAO_IDL/be/be_decl.cpp (compute_fullname, compute_flatname): + Fixed a nasty bug where the original author thought new always + returned 0'd memory... Sheesh! + + * TAO_IDL/driver/drv_preproc.cpp: Changed fd < 0 to fd == + ACE_INVALID_HANDLE to be more portable. + + * TAO_IDL/be/be_decl.cpp (be_decl): There were two fields, + flatname_ and repoID_, that weren't given initial values of 0. + Thanks to Purify for finding this! + + * TAO_IDL/fe/idl.{yy,ll}: Replaced all uses of type names <name> + (e.g., FLOAT) with IDL_<name> (e.g., IDL_FLOAT) so that the code + won't bomb on lame systems like NT that typedef basic types to all + capitals (e.g., typedef float FLOAT). + +Sat Oct 25 22:28:42 1997 Carlos O'Ryan <coryan@MILONGA> + + * TAO_IDL/fe/idl.ll: Since yytext may be an "unsigned char*" under + HP-UX they define an "alias" __yytext. This hack fails miserably + when using flex, since then the yytext thing can change on the + fly. I use an inline function instead. Added support for #line + preprocessor directives. + + * TAO_IDL/driver/drv_preproc.cpp: Documented some of my changes + for NT, namely the fact that unlinking the output file while + still open causes the parsing to fail on NT. + + * TAO_IDL/tao_idl.dsp: Added new folders for source files, header + files, template files, etc. I modelled this based on the ACE + project files. + +Sat Oct 25 22:05:43 1997 Sergio Flores <sergio@macarena.cs.wustl.edu> + + * TAO_IDL/ast/ast_constant.cpp (exprtype_to_string): + Added case statements to handle the rest of un-handled + enumerations from AST_Expression::ExprType. These will + handle a default value (i.e. the same case as + AST_Expression::EV_none). + + * TAO_IDL/ast/ast_expression.cpp (operator==): + * TAO_IDL/ast/ast_expression.cpp (compare): + Make the default return value I_FALSE instead of NULL which + was giving "lacks a cast" warning. + + * TAO_IDL/ast/ast_expression.cpp (fill_definition_details): + Use 0 instead of NULL to initialize pointers in the + member initialization list, again to avoid ANSI C++ forbids + implicit (void *) conversions warnings. + + * TAO_IDL/ast/ast_expression.cpp (eval_symbol): + Initialized pointers to 0. + +Sat Oct 25 17:45:17 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * TAO_IDL/driver/drv_preproc.cpp: Fixed the same bug that Sumedh + fixed. In addition, ACEified the calls to strcat and strcmp in + that file. + + * TAO_IDL/fe/idl.ll: Used %array in the defintion section so that + flex uses yytext as an array of characters rather than pointer to + char. The pointer case was resulting in a segmentation fault due + to lack of memory allocation for the yytext variable. However, we + choose to use the array approach to be compatile with "lex" + behavior. + +Sat Oct 25 1997 Sumedh Mungee <sumedh@lindy.cs.wustl.edu> + + * TAO_IDL/driver/drv_preproc.cpp: Fixed proper tmp filename + creation. + +Sat Oct 25 14:14:53 1997 Carlos O'Ryan <coryan@MILONGA> + + * TAO_IDL/tao_idl.dsw: + * TAO_IDL/tao_idl.dsp: + Added a MSVC++ project file for the IDL compiler, needs several + revisions byt the NT experts before shipping, but it has served + me well. + + * TAO_IDL/driver/drv_fork.cpp: + * TAO_IDL/driver/drv_preproc.cpp: + We use ACE components to fork&exec subprocesses, get the default + TMP directory and generate protable pathnames. + In one case the mapping to NT is not clear: the use case is fork + to get a "fresh" copy of the process and provide a unit of + protection for the parent; this feature is only used if more + than one IDL file is compiled at the same time. + + * TAO_IDL/be/be_decl.cpp: + Fixed minor bug, it said "second - I_FALSE;", it should be + "second = I_FALSE + + * TAO_IDL/ast/ast_argument.cpp: + * TAO_IDL/ast/ast_array.cpp: + * TAO_IDL/ast/ast_attribute.cpp: + * TAO_IDL/ast/ast_check.cpp: + * TAO_IDL/ast/ast_concrete_type.cpp: + * TAO_IDL/ast/ast_constant.cpp: + * TAO_IDL/ast/ast_decl.cpp: + * TAO_IDL/ast/ast_enum.cpp: + * TAO_IDL/ast/ast_enum_val.cpp: + * TAO_IDL/ast/ast_exception.cpp: + * TAO_IDL/ast/ast_expression.cpp: + * TAO_IDL/ast/ast_field.cpp: + * TAO_IDL/ast/ast_generator.cpp: + * TAO_IDL/ast/ast_interface.cpp: + * TAO_IDL/ast/ast_interface_fwd.cpp: + * TAO_IDL/ast/ast_module.cpp: + * TAO_IDL/ast/ast_operation.cpp: + * TAO_IDL/ast/ast_predefined_type.cpp: + * TAO_IDL/ast/ast_recursive.cpp: + * TAO_IDL/ast/ast_redef.cpp: + * TAO_IDL/ast/ast_root.cpp: + * TAO_IDL/ast/ast_sequence.cpp: + * TAO_IDL/ast/ast_string.cpp: + * TAO_IDL/ast/ast_structure.cpp: + * TAO_IDL/ast/ast_type.cpp: + * TAO_IDL/ast/ast_union.cpp: + * TAO_IDL/ast/ast_union_branch.cpp: + * TAO_IDL/ast/ast_union_label.cpp: + * TAO_IDL/be/be_args.cpp: + * TAO_IDL/be/be_constant.cpp: + * TAO_IDL/be/be_generator.cpp: + * TAO_IDL/be/be_init.cpp: + * TAO_IDL/be/be_produce.cpp: + * TAO_IDL/be_include/be.h: + * TAO_IDL/be_include/be_generator.h: + * TAO_IDL/driver/drv_args.cpp: + * TAO_IDL/driver/drv_fork.cpp: + * TAO_IDL/driver/drv_init.cpp: + * TAO_IDL/driver/drv_main.cpp: + * TAO_IDL/driver/drv_preproc.cpp: + * TAO_IDL/driver/drv_private.cpp: + * TAO_IDL/fe/fe_declarator.cpp: + * TAO_IDL/fe/fe_extern.cpp: + * TAO_IDL/fe/fe_init.cpp: + * TAO_IDL/fe/fe_interface_header.cpp: + * TAO_IDL/fe/fe_private.cpp: + * TAO_IDL/fe/lex.yy.cpp: + * TAO_IDL/fe/y.tab.cpp: + * TAO_IDL/include/ast.h: + * TAO_IDL/include/ast_argument.h: + * TAO_IDL/include/ast_array.h: + * TAO_IDL/include/ast_attribute.h: + * TAO_IDL/include/ast_concrete_type.h: + * TAO_IDL/include/ast_constant.h: + * TAO_IDL/include/ast_decl.h: + * TAO_IDL/include/ast_enum.h: + * TAO_IDL/include/ast_enum_val.h: + * TAO_IDL/include/ast_exception.h: + * TAO_IDL/include/ast_expression.h: + * TAO_IDL/include/ast_extern.h: + * TAO_IDL/include/ast_field.h: + * TAO_IDL/include/ast_generator.h: + * TAO_IDL/include/ast_interface.h: + * TAO_IDL/include/ast_interface_fwd.h: + * TAO_IDL/include/ast_module.h: + * TAO_IDL/include/ast_operation.h: + * TAO_IDL/include/ast_predefined_type.h: + * TAO_IDL/include/ast_root.h: + * TAO_IDL/include/ast_sequence.h: + * TAO_IDL/include/ast_string.h: + * TAO_IDL/include/ast_structure.h: + * TAO_IDL/include/ast_type.h: + * TAO_IDL/include/ast_typedef.h: + * TAO_IDL/include/ast_union.h: + * TAO_IDL/include/ast_union_branch.h: + * TAO_IDL/include/ast_union_label.h: + * TAO_IDL/include/be_extern.h: + * TAO_IDL/include/drv_extern.h: + * TAO_IDL/include/drv_private.h: + * TAO_IDL/include/fe_declarator.h: + * TAO_IDL/include/fe_extern.h: + * TAO_IDL/include/fe_interface_header.h: + * TAO_IDL/include/fe_private.h: + * TAO_IDL/include/global_extern.h: + * TAO_IDL/include/idl.h: + * TAO_IDL/include/idl_bool.h: + * TAO_IDL/include/idl_defines.h: + * TAO_IDL/include/idl_extern.h: + * TAO_IDL/include/idl_fwd.h: + * TAO_IDL/include/idl_global.h: + * TAO_IDL/include/idl_narrow.h: + * TAO_IDL/include/intlmacros.h: + * TAO_IDL/include/nr_extern.h: + * TAO_IDL/include/util.h: + * TAO_IDL/include/utl_decllist.h: + * TAO_IDL/include/utl_error.h: + * TAO_IDL/include/utl_exceptlist.h: + * TAO_IDL/include/utl_exprlist.h: + * TAO_IDL/include/utl_identifier.h: + * TAO_IDL/include/utl_idlist.h: + * TAO_IDL/include/utl_indenter.h: + * TAO_IDL/include/utl_labellist.h: + * TAO_IDL/include/utl_list.h: + * TAO_IDL/include/utl_namelist.h: + * TAO_IDL/include/utl_scope.h: + * TAO_IDL/include/utl_scoped_name.h: + * TAO_IDL/include/utl_stack.h: + * TAO_IDL/include/utl_string.h: + * TAO_IDL/include/utl_strlist.h: + * TAO_IDL/include/utl_tmpl/utl_decllist.h: + * TAO_IDL/include/utl_tmpl/utl_exceptlist.h: + * TAO_IDL/include/utl_tmpl/utl_exprlist.h: + * TAO_IDL/include/utl_tmpl/utl_idlist.h: + * TAO_IDL/include/utl_tmpl/utl_labellist.h: + * TAO_IDL/include/utl_tmpl/utl_list.h: + * TAO_IDL/include/utl_tmpl/utl_namelist.h: + * TAO_IDL/include/utl_tmpl/utl_strlist.h: + * TAO_IDL/narrow/narrow.cpp: + * TAO_IDL/util/utl_decllist.cpp: + * TAO_IDL/util/utl_error.cpp: + * TAO_IDL/util/utl_exceptlist.cpp: + * TAO_IDL/util/utl_exprlist.cpp: + * TAO_IDL/util/utl_global.cpp: + * TAO_IDL/util/utl_identifier.cpp: + * TAO_IDL/util/utl_idlist.cpp: + * TAO_IDL/util/utl_indenter.cpp: + * TAO_IDL/util/utl_labellist.cpp: + * TAO_IDL/util/utl_list.cpp: + * TAO_IDL/util/utl_namelist.cpp: + * TAO_IDL/util/utl_scope.cpp: + * TAO_IDL/util/utl_stack.cpp: + * TAO_IDL/util/utl_string.cpp: + * TAO_IDL/util/utl_strlist.cpp: + * TAO_IDL/util/utl_tmpl/utl_decllist.cpp: + * TAO_IDL/util/utl_tmpl/utl_exceptlist.cpp: + * TAO_IDL/util/utl_tmpl/utl_exprlist.cpp: + * TAO_IDL/util/utl_tmpl/utl_idlist.cpp: + * TAO_IDL/util/utl_tmpl/utl_labellist.cpp: + * TAO_IDL/util/utl_tmpl/utl_list.cpp: + * TAO_IDL/util/utl_tmpl/utl_namelist.cpp: + * TAO_IDL/util/utl_tmpl/utl_strlist.cpp: + Removed a *big* number of warnings, in an attempt to surface + real problems. The main one was "#pragma ident" and some unused + variables. + +Sat Oct 25 06:22:03 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * TAO_IDL/fe/idl.yy: I got errors parsing the idl.yy thru + bison. There were errors indicating "type clash on default action". + + This had to do with the fact that the non-terminal "type_dcl" did not + have any type defined for it, but it had "struct_type", "union_type" + and others on the right-hand side of the rules. The default action of + YACC is supposed to assign1 to. So the type for "struct_type" + that happened to be a AST_Decl node was getting assigned to the + non-terminal "type_dcl" who had no type. + + I am very surprised that the "yacc" on our Sparcs never ever gave this + error, but bison did. + + Hence I have modified idl.yy slightly so that I have {$$ = 0;} as the + default action. In addition, the non-terminal "type_dcl" is now + defined to be of type "ival" which is defined as long inside the + %union clause. + + Above all, the bison generated files required some prototypes. So I + had to add the following to idl.yy in the declarations section. + + int yylex (void); + void yyerror (char *); + extern "C" yywrap (void); + + Somehow, this yywrap had to be under extern "C". I don't know why the + others need not be under extern "C". + + +Sat Oct 25 00:05:05 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * TAO version 0.0.15, released Sat Oct 25 00:05:05 1997. + +Sat Oct 25 02:46:05 1997 Sergio Flores <sergio@macarena.cs.wustl.edu> + + * TAO_IDL/fe/Makefile: + Changed the YACC variable to use the bison compiler. + Added "-y" to YFLAGS to make bison generate output files like yacc. + Changed the LEX variable to use the flex parser instead of lex. + These programs generate code that has less warnings and is better + code in general. + Added "-D_REENTRANT" to CPPFLAGS, to be able to eliminate the warnings + in lex.yy.cpp. This could also be fixed if we include "ace/ACE.h" at + the beginning of lex.yy.cpp, but this file is generated with flex. + + * TAO_IDL/fe/idl.yy: + Added ACE_UNUSED_ARG macro to avoid unused variable warning, + for variable "AST_Decl *v". + + * TAO_IDL/fe/idl.ll (idl_atof): + Added ACE_UNUSED_ARG macro to avoid unused variable warning, + for variable f and h. + + * TAO_IDL/include/idl.h: + Added include file "ace/ACE.h". This was necessary to eliminate + warnings of implicit declarations, which were because the _REENTRANT + flag was not defined. + + * TAO_IDL/ast/ast_operation.cpp (AST_Operation): + Reordered member initializers to match declaration order to + eliminate warnings from the compiler. + + * TAO_IDL/ast/ast_operation.cpp (fe_add_exceptions): + Added ACE_UNUSED_ARG macro to avoid unused variable warning, + for variable fs. + + * TAO_IDL/ast/ast_interface.cpp (AST_Interface): + Reordered member initializers to match declaration order to + eliminate warnings from the compiler. + + * TAO_IDL/ast/ast_expression.cpp (operator==): + * TAO_IDL/ast/ast_expression.cpp (coerce): + * TAO_IDL/ast/ast_expression.cpp (coerce_value): + * TAO_IDL/ast/ast_expression.cpp (compare): + * TAO_IDL/ast/ast_expression.cpp (dump_expr_val): + Added case statements to handle the rest of un-handled + enumerations from AST_Expression::ExprType. These will + handle a default value (i.e. the same case as + AST_Expression::EV_none). Enumerations added are: + AST_Expression::EV_wstring + AST_Expression::EV_wchar + AST_Expression::EV_longdouble + AST_Expression::EV_ulonglong + AST_Expression::EV_longlong + + * TAO_IDL/ast/ast_expression.cpp (AST_Expression): + Reordered member initializers to match declaration order to + eliminate warnings from the compiler. + + * TAO_IDL/ast/ast_decl.cpp (AST_Decl): + Reordered member initializers to match declaration order to + eliminate warnings from the compiler. + Also, use 0 instead of NULL to initialize pointers in the + member initialization list, again to avoid ANSI C++ forbids + implicit (void *) conversions warnings. + + * TAO_IDL/ast/ast_array.cpp (dump): + Added "unsigned" to index variable "i" used in for() loop, + to avoid warning "comparison between unsigned and signed" + + * TAO_IDL/ast/ast_array.cpp (compute_dims): + Added "unsigned" to index variable "i" used in for() loop, + to avoid warning "comparison between unsigned and signed" + + * TAO_IDL/ast/ast_array.cpp (AST_Array): + Reordered member initializers to match declaration order to + eliminate warnings from the compiler. + + * TAO_IDL/fe/fe_declarator.cpp (FE_Declarator): + Reordered member initializers to match declaration order to + eliminate warnings from the compiler. + + * TAO_IDL/driver/drv_main.cpp (DRV_drive): + Added ACE_UNUSED_ARG macro to avoid unused variable warning. + + * TAO_IDL/ast/ast_recursive.cpp (AST_illegal_recursive_type): + Initialized pointer variables to avoid warnings. + +Fri Oct 24 19:18:22 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * tao: Changed remaining uses of BOA to POA. + + * cubit_i.cpp (please_exit): Replaced the call to + please_shutdown() on the POA (which no longer exists) with the + shutdown() call on the ORB. + + * tests/IDL_Cubit/svr.cpp: Removed + + oa_ptr->clean_shutdown (env); + + since this is no longer supported in TAO's POA. + + * tao/poa.h: Changed the get_boa() method to get_poa(). Even this + will probably go away soon. + +Fri Oct 24 18:25:00 1997 Aniruddha Gokhale <gokhale@flamenco.cs.wustl.edu> + + * TAO/tao/svrrqst.cpp: Method params was allocating memory even + when the Any's already had memory allocated for the IN and INOUT + parameters. Due to this the params would retrieve results in the + allocated storage whereas the stubs/skeletons would continue to + use variables that they had defined to hold the values. + +Fri Oct 24 17:33:21 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * tao/poa.*: #ifdef'd out the IIOP 1.4 references to shutdown. + I'm leaving them in there right now because they might be useful + as private member later when we need to figure out how to get OAs + to cooperate and shut themselves down in the face of an ORB + shutdown. + + * tao/orbobj.h (shutdown): Fixed up documentation. + + * tao/orbobj.i (shutdown): Provided appropriate arg default. + + * tests/Cubit/TAO/svr.cpp: Eliminated unnecessary Object Adapter + name from POA_init() invocation. + + * tests/Cubit/TAO/cubit_i.cpp (Cubit_please_exit): Revised to use + the new ORB::shutdown() method. + + * tests/Cubit/TAO/clnt.cpp: Got rid of IIOP 1.4-style debug + message calls. + + * tao/orbobj.cpp (CORBA_ORB::ORB_init): Corrected a heinous + problem in the option parsing loop where argvec_shift() would be + asked to shift two argv elements when there was only one. This + could cause problems if an option that required an argument didn't + include the argument. Thanks to Manojkumar Acharya + <cvsf325.gpt.co.uk> for sending in a bug report that lead to my + finding this! + +Fri Oct 24 14:08:12 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * Improved the compiler to make Unions work. The most subtle error + was the way the private section of the class for unions was being + generated. TAO's Typecode library expected the union members to be + inside of a C++ union declaration inside the private + section. Whereas the compiler was generating each member + separately. + + Another source of error was bad typecode tables getting + generated. This is now fixed. + + * TAO/tests/IDL_Cubit: The cubit_i.cpp for cube_union was doing + wrong calculations for structs. This was due to my copy-paste + tendency and not verifying if it was correct or not. This has been + fixed. The README file is updated to reflect the fact that this + directory contains code that uses the IDL compiler. + +Fri Oct 24 01:54:00 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * TAO version 0.0.14, released Fri Oct 24 01:54:00 1997. + +Fri Oct 24 01:02:01 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * clnt.cpp: Removed mysterious obsolete definitions of + cube_union_stub() and cube_union_dii(). + + * be_state.h: Added definitions for the methods in class + be_state_attribute. For some reason, they were missing. + + * TAO_IDL/be/be_state.cpp: Added the necessary template + specializations so that the TAO IDL compiler will work with GCC. + +Thu Oct 23 22:46:10 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * TAO IDL Compiler: More progress in terms of getting the Cubit + example to work with the IDL generated code. However, we are still + finding some problems with using the client-side cubit_union_dii + to work properly. + + Much of the improvements were to the server-side skeletons for + operations. In addition, code for union constructors, assignment + operator, and accessor for discriminant added. + + Some bugs in typecode generation are fixed. This had to do with + the encapsulation length for predefined types. It was returning -1 + as opposed to 0. + + * TAO/tests/IDL_Cubit: Added this directory with the cubit + example. Use this to test the IDL compiler. The makefile will + invoke the IDL compiler to create the required files. + +Thu Oct 23 18:34:02 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * tests/*/Makefile: Fixed the Makefiles so that it has the correct + files and dependencies. Thanks to Steven Wohlever + <wohlever@mitre.org> for reporting this. + +Wed Oct 22 20:02:39 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * README.sun: Added an explicit reminder at the top that the + information in this file is historical in nature and does not + necessarily apply to current reality. + + * tao/orbobj.* (shutdown): Added code to the run() event loop so + that it will terminate when it finds a flag set. This involved + adding the flag to the ORB's state and minimally implementing the + shutdown() method. The shutdown method still does not honor the + "wait for completion" flag which can be passed to it, though. + + * README: Updated the season from "summer" to "Fall" ;-) Also + added a note that warned people not to try to link TAO with a + version of ACE that's linked with another ORB library, e.g., + liborbix.so. Thanks to Steven Wohlever <wohlever@mitre.org> for + bringing this instructional omission to our attention. + + * tao/tao_internals.cpp (fake_service_entries_i): Made the body of + this function conditional on the TAO_PLATFORM_SVC_CONF_FILE_NOTSUP + preprocessor definition since it doesn't need to exist in + platforms that grok the Service Configurator. This will also + reduce the memory footprint :-). Thanks to David Miron + <dxm@crapper.dsto.defence.gov.au> for pointing this out! + + * tao/orb_core.cpp (TAO_ORB_Core): Removed explicit CTOR + initialization of reactor_ member. + +Wed Oct 22 19:37:22 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * TAO IDL Compiler: Improvements made so that the server-side + skeletons for operations now generate valid code. The code + generated for the Cubit.idl was compiling cleanly. It is under + test currently to see if it runs. + + * Some progress in handling forward declarations of interfaces. + +Wed Oct 22 12:55:19 1997 <nw1@CHA-CHA> + + * tao/poa.h: Added ACE_Svc_Export to class CORBA_POA. + + * tao/TAO.{mdp,mak}: Updated files in project file. + + * tao/TAO.dsp: Removed boa, Orb_Core and added poa, orb_core to + the project file. + +Tue Oct 21 17:21:51 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * docs/releasenotes/orbcore.html: Updated to reflect daily + progress. + + * tests/Cubit/TAO/Makefile: Updated dependencies. + + * tests/Cubit/TAO/svc.conf: Updated to eliminate empty quotes at + the end that tickled a deficiency in the Service Configurator's + grammar. + + * tests/multiCubit/svr.cpp: Updated to reflect POA_init change. + + * tests/Thruput_test/Makefile: Modified to reflect filename + changes. + + * tests/Thruput_test/server.cpp: Changed type of argv so that it + matched properly. + + * tao/boa.*: Renamed to tao/poa.*. + + * tao/Orb_Core.*: Renamed to tao/orb_core.*. + + * tao/{Makefile,corba.h,default_client.cpp,default_server.cpp,orb.h,orbobj.cpp,params.h}: + Modified to reflect filename changes. + +Tue Oct 21 13:23:48 1997 Brian Mendel <brian.r.mendel@boeing.com> + + * tao/connect.i: Moved hash_i and compare_i template + specialization to Orb_Core.i. Original code was left comment + out until this mod is checked on all platforms. + + * tao/Orb_Core.i: Added hash_i and compare_i code from connect.i. + +Tue Oct 21 03:23:29 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * tao/Orb_Core.cpp: Removed conditional inclusion of Orb_Core.i + since, according to corba.h, it is always included as an inline + function file. + +Tue Oct 21 02:24:14 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * TAO version 0.0.13, released Tue Oct 21 02:24:14 1997. + +Mon Oct 20 23:42:48 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * TAO/boa: Changed BOA_init() to POA_init() to be + more consistent... + + * TAO_IDL/be/be_interface.cpp, + tests/TAO/Thruput_test/server.cpp, + tests/TAO/Thruput_test/ttcpS.cpp, + tests/TAO/RT_test/Task_Client.cpp, + tests/TAO/RT_test/cubit_impl.cpp, + tests/TAO/multiCubit/cubitS.cpp, + tests/TAO/multiCubit/svr.cpp, + tests/TAO/Demux_Test/server.cpp, + tests/TAO/Demux_Test/CodeGen/skel.cpp, + tests/TAO/MT-Cubit/client/Task_Client.cpp, + tests/TAO/MT-Cubit/server/cubitS.cpp, + tests/TAO/MT-Cubit/server/svr.cpp, + tests/TAO/cubitS.cpp, + tests/TAO/svr.cpp, + tests/TAO/test1_svr.cpp: Changed BOA to POA to reflect the + new naming conventions. + + * tao/stub.i (STUB_Object): Removed a stray default value from the + STUB_Object constructor... Thanks to Carlos for noticing this. + +MOn Oct 20 10:14:09 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * Improved version of the TAO IDL compiler. The executable has + been renamed to tao_idl. There are a number of improvements as + well as shortcomings. These are explained in the + docs/releasenotes/index.html page, which can be viewed online at + http://www.cs.wustl.edu/~schmidt/ACE_wrappers/TAO/docs/releasenotes/. + +Mon Oct 20 16:30:29 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * tao/tao_internals.cpp (fake_service_entries_i): Based the + arguments to the faked server service entry for VxWorks on the + TAO_HAS_TSS_ORBCORE compilation flag. This should hopefully + eliminate the problems Boeing was seeing in the early rounds of + testing the most recent release of TAO. + + * tao/{iiopobj.*,giop.h}: Moved a lock that had been in + TAO_GIOP_Invocation (why? I don't know) into IIOP_Object. It + protects the fwd_profile_ pointer, which has now become private. + Also added accessors for the data member as well as the lock. + Accessors come in two flavors--thead-safe (fwd_profile()) and + non-thread-safe (fwd_profile_i()). The non-thread-safe variety + expect that the lock will be taken and held for the duration of + their usage, but no checking is performed in this respect. + + * tao/giop.cpp: Changed references to the IIOP_Object::fwd_profile + data member to go through the new accessors (see above). + + * tao/stub.i: Created new file with inline methods for + STUB_Object. + + * tao/stub.h: Moved inline method definitions into a new + file--stub.i. + + * tao/orbobj.cpp (BOA_init): Eliminated dead code and unused + variable. + + * tao/except.cpp (print_exception): Eliminated unused argument + warning detected by gcc. + + * tao/corba.h: Re-ordered inclusion of Orb_Core.i to eliminate + 'function used before declared inline' errors detected by gcc. + + * tao/{Orb_Core,boa,corbacom,orb,orbobj,svrrqst}.*: Renamed BOA to + POA. + + * docs/releasenotes*: Moved releasenotes.html into a directory + named "releasenotes" so that the various status pages can live + independently. Currently only the ORB Core's status page is + broken out, but the documentation should eventually turn into two + frames with the one at the top acting as the guide and the lower + frame being the actual status document. + +Fri Oct 17 17:42:27 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * docs/releasenotes.html: Updated to reflect current status. + + * tao/orbobj.*: Added some documentation for open() method. + + * tao/roa.*: Gone. Bye-bye. Removed. + +Fri Oct 17 15:43:04 1997 <nw1@CHA-CHA> + + * tao/connect.h: Added template instantiation supression directive + for Win32. VC was complaining about duplicate symbols definition. + +Fri Oct 17 06:25:23 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * tao/{boa,roa}.*: Merged class ROA into class + CORBA_BOA. Hopefully everything still works ;-) + + * docs/releasenotes.html: Quick update for new TODO list. Will be + updated within the next day or so with dates, too. + + * tao/{server_factory,orbobj,Orb_Core}.cpp: Corrected incorrect + explicit template instantiations and added missing ones. + +Thu Oct 16 23:48:04 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * TAO version 0.0.12, released Thu Oct 16 23:48:04 1997. + +Thu Oct 16 11:15:00 1997 Brian R. Mendel <brian.r.mendel@boeing.com> + + * tao/server_factory.cpp: Added instantiation pragma for VxWorks for + ACE_Acceptor. Added the template to the specialization section, also. + + * tao/orbobj.cpp: Added instantiation pragma for VxWorks for + ACE_Cached_Connect_Strategy and ACE_Hash_Map_Manager for + ACE_Null_Mutex instantiations. Also, added these to the template + specialization sections. + + * tests/Cubit/Build/default.bld: Added TAO_PLATFORM_SVC_CONF_FILE_NOTSUP + to defines section of GHS build file. + +Tue Oct 14 21:11:20 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * tao/xdr.h: Changed int _fd to ACE_HANDLE _fd to work on NT. + Thanks to Satheesh Kumar <satheesh@aspectdv.com> for reporting + this. + +Tue Oct 14 02:48:21 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * TAO version 0.0.11, released Tue Oct 14 02:48:21 1997. + +Mon Oct 13 23:30:16 1997 <irfan@TWOSTEP> + + * tao/connect.h: If we are using TSS, there is no reason to use + locking in the connector. Therefore, I added a new typedef that + defines the type of lock that should be used for the + cached_connect_strategy. It is ACE_SYNCH_RW_MUTEX in the + non-TSS case, and ACE_SYNCH_NULL_MUTEX in the TSS case. + +Mon Oct 13 21:34:00 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * tao/svrrqst.cpp (oa): Cleaned up the coding style a bit. + +Sun Oct 12 15:38:35 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * tao/client_factory: Gutted the client factory code related to + the Strategy_Connector so that it's either in the TAO_Orb_Core. + + * tao/default_client.h: Removed the connector() from the + Default_Client_Factory entirely since it's all been put into the + TAO_ORB_Core now. + + * tao/giop.cpp (start): Hacked up the code so that we extract our + connector from thread-specific storage if we're using the + thread-per-rate concurrency model. This needs to be integrated + more cleverly in the ORB. + + * tao/orbobj.h: Put an instance of the TAO_CONNECTOR into each + TAO_ORB_Core object so that we don't have to share these things + among all of the threads in a process, but instead can have them + be located in thread-specific storage. + + * tao/orbobj.cpp (perform_work): Updated the run() and + perform_work() methods to take optional ACE_Time_Value *'s (so + they can return from timeouts) and to return error flags if + things go wrong. + + * tao/orbobj.h (CORBA_ORB): Changed the set_up_for_listening() + call to open(), which is more consistent with other usage in + ACE/TAO. + + * tao/orbobj: Changed the name client_acceptor_ to peer_acceptor_ + to reflect the fact that the connection model is more generic + than the notion of client/server interactions (which really take + place as the result of particular communication roles). + + * tao/corba.h: Moved the order of #includes around so that + "connect.h" is included before "client_factory.h" + + * tao/connect.h: Moved the typedef of the ACE_Strategy_Connector<> + from the TAO_Client_Strategy_Factory into the global space and + renamed it TAO_CONNECTOR file so that it will be equivalent with + the TAO_ACCEPTOR. + +Thu Oct 9 23:17:37 1997 Douglas C. Schmidt <schmidt@merengue.cs.wustl.edu> + + * tao/giop.cpp (invoke): If an error occurs, make sure to mark the + handler_ as no longer being in use before we set it to 0. + + * tao/giop.cpp (TAO_GIOP_Invocation): We need to make sure that + handler_ isn't 0 before we mark it as no longer being in use. + +Thu Oct 9 11:33:46 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> + + * tao/giop.cpp: + There was a minor sintax error. + +Tue Oct 07 09:34:35 1997 <brian.r.mendel@boeing.com> + + * tao/Orb_Core.h{cpp}: Added ACE_Svc_Export label to global + TAO_ORB_Core_instance() method. Needed for DLL support on NT.i + + * default.bld, tao.bld: Modified VxWorks build files to add new files. + +Tue Oct 07 07:05:38 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * TAO version 0.0.10, released Tue Oct 07 07:05:38 1997. + +Mon Oct 06 22:11:40 1997 <nw1@CHA-CHA> + + * tests/Cubit/TAO/cubit_i.cpp (Cubit_please_exit): + * tests/Cubit/TAO/cubitS.cpp (_skel_Cubit): Changed to use the new + TAO_ORB_CORE_instance () global function. + +Mon Oct 6 20:06:05 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * tao/{boa.h,connect.cpp,giop.cpp,giop.h,roa.cpp,roa.h}: + Eliminated unused methods and code. + + * tao/Orb_Core.*: Created new global function called + TAO_ORB_Core_instance() which will return the correct instance of + the ORB Core state. This had previously been accessed using + TAO_ORB_CORE::instance(), but Win32s linking procedures made the + template for TAO_ORB_CORE expand in both the application and the + library/DLL, thus creating two singletons. Bad scene. The + function should force the expansion of the template to only be in + the DLL. + + * tao/{connect,default_client,default_server,orbobj,roa}.cpp: + Changed references to TAO_ORB_CORE::instance() to + TAO_ORB_Core_instance(). + + * tao/singletons.h: Removed definition of TAO_ORB_CORE. + +Sat Oct 4 20:08:57 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * tao/TAO.{dsp,dsw}: Added tao_internals.cpp into project file + list. + + * tao/tao_internals.h (TAO_Internal): Added ACE_Svc_Export and + I d. + + * tao/tao_internals.i (open_services): Added default return value + 0. + + * tao/tao_internals.cpp: Added #include "tao/tao_internals.h" and + the CVS I d field. Also, we should include inline (.i) file + for inline code. + +Fri Oct 3 09:29:05 1997 Chris Cleeland <cleeland@merengue.cs.wustl.edu> + + * tests/multiCubit/svr.cpp: Changed the key naming scheme back to + not be unique throughout the process. Process-unique code is + still there, but conditionally compiled mutually-exclusive to the + other scheme. + + * tao/server_factory.*: The object_lookup_strategy method is gone + and is replaced by the create_object_table factor method. See + more information below. + + * tao/default_server.*: The server factory no longer holds on to a + single pointer for the object lookup strategy. In previous + incarnations of TAO, this didn't cause problems, but the advent of + ORB-per-thread highlighted the inherent badness in this + implementation choice. Gone is the object_lookup_strategy method, + and in comes the create_object_table factory method, which creates + and returns (and doesn't hold onto) an object table in accordance + with parameters such as size and search algorithm. + + * tao/roa.cpp: Changed to use the create_object_table method. + +Thu Oct 2 13:48:31 1997 Chris Cleeland <cleeland@merengue.cs.wustl.edu> + + * tests/multiCubit/svr.cpp: Modified the key generation scheme to + include thread ID. This works around a current shortcoming in the + ORB Core in which the object table is shared throughout all object + adapters (yes, this is being fixed). + + * tao/tao_internals.*: Added new class to scope static operations + and data completely internal to the ORB. + + * tao/orbobj.{i,cpp}: Moved CORBA_ORB DTOR into cpp file. Finally + got rid of icky static mutex in ORB_init(). Moved service config + initialization into TAO_Internal method. + + * tao/Orb_Core.h: Added comments. + +Wed Oct 1 12:51:48 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * tao/corbacom.h: Removed CORBA:: name resolution from the class + String_out which is itself defined in class CORBA. MSVC doesn't + like that. + +Wed Oct 1 10:44:55 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * tao/varout.h: Fixed some template errors in class + TAO_Object_out. This was pointed to me by Carlos as he was + compiling TAO in SGI. + +Wed Oct 1 09:10:38 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> + + * docs/releasenotes.html: + Updated information on the Event Channel, the use of the Naming + Service is no longer a plan, it is done already. + +Tue Sep 30 20:14:29 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * TAO version 0.0.9, released Tue Sep 30 20:14:29 1997. + +Tue Sep 30 19:42:09 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * Makefile: Removed "docs" from DIRS so we don't try to run + make in this directory. + +Tue Sep 30 17:27:00 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * <RELEASE>: Tagged a release for limited consumption until the + Service Configurator bug is fixed. + + * tests/multiCubit/svr.cpp: Added code to properly release CORBA + objects. Delays between task activations simply aid in debugging + and are not necessary. + + * tao/singletons.h: Made TAO_ORB_Core's singleton type + compile-time selectable via the TAO_HAS_TSS_ORBCORE compiler flag. + + * tao/orbobj.cpp: Corrected an incorrect shift count, and the ORB + Core now defaults to using the host name of the local host. + + * tao/Orb_Core.[hi]: Added explicit CTOR. + + * tao/Orb_Core.cpp: Insured that the correct template type was + instantiated. + + * tao/Makefile: Added -DTAO_HAS_TSS_ORBCORE to CPPFLAGS. + +Tue Sep 30 16:43:12 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * docs/releasenotes.html: Added some notes on the ORB Core. + +Mon Sep 29 14:39:51 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * docs/{index,components,releasenotes}.html: Added additional + documentation. + +Mon Sep 29 13:50:34 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * TAO ORB changes: + + any.*: Added _var and _out classes. + + corbacom.{h,i} : Added _out types for primitive types, added _out and + updated _var classes for String. Added corbacom.i for implementing + the String's _var and _out classes + + sequence.{h,i}: Added a number of templates for _var and _out + classes. However, these are yet to be used and tested. + + * Alpha release of TAO IDL compiler added to this release. This is + an alpha release and we are currently putting it to rigorous + test. A large amount of code for the back end is added under the + TAO/TAO_IDL/be_include and TAO/TAO_IDL/be/ directories. + + In addition, some amount of ACEification done to methods belonging + to the TAO/TAO_IDL/utils/ classes. + + A few errors in the IDL grammar have been fixed in + fe/idl.yy. These had to do with the valid types for parameters and + operation return types. There are still some errors recognizing + unions which will be fixed later. The scanner (fe/idl.l) was + modified to recognize the OMG IDL data type "any". + + * The ChangeLog file under TAO/TAO_IDL is removed and its contents + are inserted appropriately in this ChangeLog file + +Sun Sep 28 17:01:27 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * tests/multiCubit: Added a multi-threaded version of Cubit. + + * tao/orbobj.cpp: At long last, Andy has his wish for not having + to provide a "-ORBhost <me>" argument to a server. It now uses + ACE_OS::hostname() to determine the canonical hostname, and + listens on that address. + + * tao/singletons.h: Changed the ORB Core singleton to be a TSS + singleton; this will eventually be conditionally compiled in + (before release). Also added comments and "safety defines". + + * tao/except.cpp: Changed some usage of fputs() in + print_exception() to use ACE_DEBUG. + +Sun Sep 28 03:18:24 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * tests/Cubit/TAO/cubitC.h (Object): Changed references of base + class from "CORBA::Object" to "CORBA_Object." MSVC doesn't + allow this. + + * tao/Orb_Core.h: Added ACE_Svc_Export to TAO_Orb_Core class. + + * tao/corbacom.h: Added ACE_Svc_Export to all IID constants. + Notice that we must put ACE_Svc_Export _after_ extern "C". + +Sat Sep 27 09:31:42 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * tao/Orb_Core.h: Fixed the friend declaration for + CORBA::ORB_init(). + + * tests/Cubit/TAO/svr.cpp: Modified to use ORB::run() for event + loop and eliminated code cruft. + + * tao/orbobj.*: Added stubs for 4 methods on the ORB from the + POA spec: work_pending, perform_work, run, and shutdown. Of all + of these, only run is reasonably implemented, and there not even + according to the spec (because the way the spec works isn't really + good for our purposes...need to work on that). See the docs for + information. + + Moved the initialization of the Acceptor into its own method, + set_up_for_listening (which is a one-shot style method), and + placed a call to this within the aforementioned run method. + + * tao/default_client.h: Miscellaneous comments added. + + * tao/connect.cpp: Corrected an errant ACE_DEBUG () call. + + * tao/Orb_Core.*: Added private methods to allow setting of the + orb and extended the laurel of friendship to CORBA::ORB_init(). + +Fri Sep 26 10:20:06 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * tao/orbobj.*: Added acceptor initialization code to CORBA_ORB + CTOR. (We still need to find a way to NOT do this on the client + side.) Moved CORBA_ORB CTOR into .cpp to avoid nasty + interdependencies caused when it was in the .i file. Moved the + specification of host and port to be ORB parameters rather than OA + parameters, i.e., -OAhost is now -ORBhost and -OAport is now + -ORBport. + + * tao/roa.*: Removed server-side connection endpoint + initialization (Acceptor stuff) and put it into the ORB. + + * tao/connect.h: Renamed ROA_Acceptor to TAO_Acceptor (since it's + not related to the OA any longer), and restored explicit inclusion + of ace headers to avoid having to include "corba.h". + + * tao/boa.h: Removed unneeded get_addr() method. + + * tests/Cubit/TAO/cubitS.cpp: Updates to support changes in ORB + Core. + +Thu Sep 25 12:28:02 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * tao/params.*: Added explicit CTOR & DTOR for + TAO_{OA,ORB}_Parameters classes that somehow got removed in the + previous round of attacks. Also specified all methods which go + into the .i file as "LOCAL_INLINE" within the header. This avoids + having to unravel ugly, complex order interdependencies. + +Thu Sep 25 03:48:02 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * docs/Options.html: Terse documentation on options available for + the abstract factories. + + * tao/Orb_Core.*: Added this class (TAO_ORB_Core) to hold the + "state" of an ORB. The intent is that as we move towards + different concurrency models, this can be thrown into + thread-specific storage and remain a singleton, essentially + allowing the running of an ORB-per-thread. + + * tao/singletons.h: Added this file to contain type definitions + for *ALL* ACE_Singleton<> types used within TAO. This was + motivated by a desire to eliminate the multitude of warnings + generated by g++ regarding methods being called before declared + inline, and the only way to eliminate this was to insure that all + inlined methods were seen by the compiler before the + ACE_Singleton<> definition. Thus, corba.h includes singleton.h as + the very last thing that it does. + + * tao/params.*: TAO_OA_Parameters is no longer a singleton, and + because of new recognition of associations in the object model for + an ORB, lots of data members and their methods have been shuffled + to other places or eliminated. addr() now belongs in + TAO_ORB_Parameters, and root_poa_ is in TAO_ORB_Core. The + using_threads_, thread_flags_, upcall_, and forwarder_ members + have been eliminated and their roles taken over by the Concurrency + Strategies and the new Dispatch call chain implemented in my last + round of changes. + + * tao/orbobj.cpp: Changed references to the ORB singleton to go + through TAO_ORB_CORE::instance(). Also eliminated an unnecessary + global function (_orb()). + + * tao/marshal.h: Moved all ACE_Singleton<> typedefs into + singleton.h. See comment on tao/corba.h for more information. + + * tao/iioporb.h: Removed unnecessary TAO_ORB singleton. This is + now assumed by TAO_ORB_Core instances. + + * tao/corbacom.h: Added CORBA::POA_ptr for upward compatibility. + + * tao/corba.h: Added Orb_Core.[hi] to the appropriate places. + Moved iiop{orb,obj}.i inclusions around and moved typedef'ing of + all ACE_Singletons into singletons.h, which must be #included + AFTER all the inline files. This eliminated all of the + used-before-declared-inline warnings. + + * tao/{connect,default_client,default_server,roa}.*: Updated + singleton usages to go through the TAO_ORB_CORE singleton. + + * tests/Cubit/TAO/{cubitS,cubit_i}.cpp: Updated singleton usages + to go through the TAO_ORB_CORE singleton. + +Wed Sep 17 12:26:56 1997 Nanbor Wang <nw1@CHA-CHA> + + * tao/TAO.dsp: Updated source file list. + +Mon Sep 15 16:52:28 1997 Chris Cleeland <cleeland@merengue.cs.wustl.edu> + + * tests/Cubit/TAO/{cubitS,cubit_i}.cpp: Updated references to oa() + to root_pos(). + + * tao/orbobj.cpp: Corrected some adjustments made for Service + Configurator rework. + + * tao/giop.h: Moved the def for TAO_GIOP_EndOfFile out of the + range of valid GIOP messages. + + * tao/connect.cpp: Added special case for TAO_GIOP_Reply to break + out, and distinguished TAO_GIOP_EndOfFile from other errors by + setting errno. + + * tao/boa.cpp: The complete reply header is now stuck into the + response stream...what a novel concept! + +Fri Sep 12 05:40:50 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * params.h: Renamed oa() method to be root_poa() in preparation + for the future. + + * orbobj.cpp: Adjusted the FAKE_SVC_ENTRY macro to catch up to + recent changes in ACE. + + * giop.*: Major surgery including elimination of GIOP as a giant + namespace (now only static methods are in it). Changed names of + things to TAO_*. + + * {encode,decode,iiopobj,invoke,roa}.*: Name changes resulting + from giop.cpp surgery. + + * corbacom.h: Moved TAO_opaque decl into here. + + * corba.h: Re-ordered the inline #includes so that the stuff that + is ALWAYS inlined is included prior to the stuff that's only + inlined when __ACE_INLINE__ is turned on. + + * connect.*: Modified handle_input() substantially. Added 3 + template methods: read_message, handle_message, and send_response. + + * {cdr,marshal,object,typecode}.h: Removed the old "always include + inlines" hackery. + + * boa.*: Added handle_request() method. + +Wed Sep 03 06:15:00 1997 Brian Mendel <brian.r.mendel@boeing.com> + + * tao/default_client.cpp: Added conditional sections around the code for setting the + socket options for VxWorks. VxWorks does not support a 64K buffer size. + +Tue Sep 02 18:32:12 1997 Brian Mendel <brian.r.mendel@boeing.com> + + * tao/orbobj.cpp: Added include for Service_Repository.h to orbobj.h + + * tao/debug.cpp: Removed the TAO_NEEDS_UNUSED_VARIABLES #defines + around the debug_stream declaration. debug_stream is used by + dmsg_filter in debug.cpp. Changed SYSTEM_EXCEPTION to + CORBA::SYSTEM_EXCEPTION. + + * tao/default_client.cpp: Removed extra parameter from + ACE_Hash_Map_Entry #pragma instantiate statement. + + * tao/objtable.cpp: Deleted pragmas for instantiating ACE_Guard, + ACE_Read_Guard, and ACE_Write_Guard to eliminate duplicate + instantiations. Also, removed the instantiations from + ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION for the same reason. + + * tao/orbobj.cpp: Added a typecast to void * in argvec_shift + method. + + * tao/default.bld - Modified VxWorks Build File to change template + instantiation modes. + + * tao/tao.bld - Added default_client.cpp, default_server.cpp, + client_factory.cpp, and server_factory.cpp to the VxWorks build + file. + + * tao/tao.dsp - Added default_client.cpp, default_server.cpp, + client_factory.cpp, and server_factory.cpp to the Win NT project + file. + +Tue Sep 2 07:31:45 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * tao/orbobj.cpp (ORB_init): VxWorks doesn't use + ACE_Service_Config for now; the default factories are used. The + Service Repository is still used, but the appropriate values are + "stuffed" in manually. + +Sat Aug 30 17:07:18 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * tests/Thruput: First attempt at ACEifying it and removing the + tremendous amount of unnecessary stuff that was in there. This + modified version still needs testing on other platforms. + +Fri Aug 29 10:59:34 1997 Chris Cleeland <cleeland@lambada.cs.wustl.edu> + + * tao/Makefile (TAO_ROOT): FINALLY corrected the default + definition of TAO_ROOT. + +Thu Aug 28 14:04:44 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * tao/orbobj.i (CORBA_ORB): Removed assertion that was incorrect + b/c our ORB object is a singleton and not dynamically allocated, + thus the refcount can only reach zero at the end of its life. + + * tao/typecode.cpp (TC_Private_State): Relocated the delete of + tc_discriminator_type_ to be after the deletion of the label list. + This is because the discriminator will be inside each of the + CORBA::Any instances within the label list, and deleting it before + deleting the label list results in extreme badness. + + * tao/typecode.* (operator delete): Added CORBA_TypeCode::operator + delete() to simplify deletion of both automatically and + dynamically allocated instances of CORBA_TypeCode. This fixes the + problem of freeing non-heap memory. + + * tao/nvlist.h (CORBA_NamedValue): Initialized refcount_ in the + CTOR. + +Mon Aug 18 16:39:40 1997 Carlos O'Ryan <coryan@mambo.cs.wustl.edu> + + * Makefile for TAO compiler: + (SOEXT) must be used instead of just .so, the former does not + work on all platforms, notably HP-UX. + +Mon Aug 18 16:39:29 1997 Carlos O'Ryan <coryan@mambo.cs.wustl.edu> + + * tao/Makefile: + * tests/Demux_Test/CodeGen/Makefile: + (SOEXT) must be used instead of just .so, the former does not + work on all platforms, notably HP-UX. + +Sun Aug 17 16:53:42 1997 Carlos O'Ryan <coryan@swarm.cs.wustl.edu> + + * IIOP/test/Orbeline/client/Profile_Timer.h: + * IIOP/tests/Cubit/VisiBroker/base_server/Profile_Timer.cpp: + * IIOP/tests/Cubit/VisiBroker/base_server/Profile_Timer.h: + * IIOP/tests/Cubit/VisiBroker/client/Profile_Timer.cpp: + * IIOP/tests/Cubit/VisiBroker/client/Profile_Timer.h: + * tests/Cubit/VisiBroker/base_server/Profile_Timer.cpp: + * tests/Cubit/VisiBroker/base_server/Profile_Timer.h: + * tests/Cubit/VisiBroker/client/Profile_Timer.cpp: + * tests/Cubit/VisiBroker/client/Profile_Timer.h: + We no longer use timestruct_t in ACE, it is a SYSVism; we use + timespec_t instead. + +Sat Aug 16 01:11:56 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * tests/Cubit/TAO/svc.conf: Added this as an example of an + application's service config configuration file. It also serves + as the documentation for various strategy factory options at the + moment. + + * tao/orbobj.cpp: Options parsed by the ORB are now + -ORBsvcconf <filename> specifies the service configurator + file to be used + -ORBdaemon turn this into a daemon + -ORBdebug turns debugging on in the service + configurator + + BOA_init() now sets the itself in the TAO_OA_Parameters singleton. + + * tao/orbobj.*: Changed client_factory(), server_factory(), and + params() to return pointers rather than references. + + * tao/{roa,giop}.cpp: Updated code that uses the + CORBA::ORB::client_factory() to deal with the fact that it now + returns a pointer rather than a reference. + + * tao/default_server.cpp (init): This method now properly + initializes the contained reactive and threaded strategies so that + they're actually usable! + + * tao/connect.cpp: Added #endif comments. + +Wed Aug 13 17:42:39 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * tests/Cubit/TAO/*: Converted to the CORBA:: namespace. + + * tao/default_server.h: Eliminated a few strategy accessors since + they aren't provided by this implementation. + + * tao/default_server.cpp: Made this compile. + + * tao/corbacom.h: Slight reformatting of code. More importantly, + added 'static' to the decl of ORB_init(). + + * tao/corba.h: Added fake comment to trigger C++ mode. + + * tao/any.h: Added #endif comments. + +Tue Aug 12 22:37:06 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * tao/{any,typecode,cdr}.h: Finished appeasing the compiler gods + so that we can remove the ACE_INLINE hack. Things now seem to be + in order. + + * tao/corba.h: Got all the frigging header *.i files #included in + the right order so that the GCC compiler stops complaining. + + * tao/giop.cpp: We had method definitions that were defined inline + within the giop.h file. This was causing problems for GCC, which + kept warning that methods in the cdi.i file were being used before + being inlined. I've fixed this by creating a giop.i file. + + * tao/corba.h: Add #include files should be prefixed by "tao/". + I've fixed this in the release. + +Tue Aug 12 16:23:17 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * tao/any.i: Added a missing replace() method used by overloaded + operators. + + * tao/{any,cdr}.h: Added conditional ACE_INLINE before the decl + for a few methods whose usage in other inlined methods appears + prior to their definition. + + * tao/default_client.cpp: Eliminated names of unused arguments to + stop the compiler from complaining. + + * tao/server_factory.cpp: Properly scoped return type names for + several methods. + + * tao/{typecode,decode,deep_copy,debug}.cpp: Bracketed unused + variables with #if defined(TAO_NEEDS_UNUSED_VARIABLES)/#endif; + this leaves them around for right now in case they're important. + + * tao/client_factory.i (connector): Properly scoped return type's + name. + + * tao/{client_factory,default_client}.cpp: Added necessary + template instantiations. + + * tao/{typecode,cdr}.h: Added conditional ACE_INLINE in front of + inlined methods to appease the compiler gods. + + * tao/boa.cpp (dispatch): Declared argument unused to get rid of + warnings. + + * tao/corbacom.h: Moved #include of sequence.h before the decl for + class CORBA. + +Sun Aug 10 10:58:21 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * tao/client_factory: Moved the template specializations from the + *.cpp file into the *.i file in order to get this stuff to link + without multiply defined symbols. Thanks to Brian Mendel for + giving me the idea to do this. + + * tao/client_factory.cpp: Added a template specialization for + ACE_Hash_Addr. + +Sun Aug 10 08:56:20 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * CORBA_ to CORBA:: transformation complete. All the files in the + TAO/tao distribution have been affected. The most notable changes + are: + (1) A file called "tao/corba.h" is now the master file. All *.cpp + files include *just* this file and nothing else. + + (2) "tao/corbacom.h" is the file that defines the CORBA namespace + i.e., class CORBA. Individual CORBA classes such as TypeCode, BOA, + etc are now defined inside the CORBA namespace. This will allow + users and developers to use CORBA::TypeCode as opposed to the + previous CORBA_TypeCode. Instead of nesting the classes, however, + we use typedefs to define individual CORBA classes inside class + CORBA e.g., typedef CORBA_TypeCode TypeCode; + + (3) All *.i files are included at the end of "tao/corba.h" and + nowhere else. However, if __ACE_INLINE__ isnot defined, then each + individual *.i file is not yet included in their corresponding + .cpp file. This will be done next. + + * TAO/tests/Demux_Test: Included code that tests various + demultiplexing strategies in TAO. At this point, however, the code + will not work because of changes in TAO. This will be done + next. A README file provides additional details. + + * TAO/Benchmark: A suite of benchmarking tests have been + included. This is still in the preliminary stages of + development. The idea is to compare various aspects of CORBA such + as marshaling overhead, demux costs, throughput, latency, and + others for a range of ORBs including TAO. Since there are + differences in programming different ORBs, this suite tries to + abstract out all the common features or atleast provide a uniform + interface so that minimal efforts are required to port an + application from one ORB to another. + + Benchmark/benchmark: This directory contains thecommon features + Benchmark/Marshal_Test: Tests marshaling overhead in 3 ORBs - + Orbix, VisiBroker, and TAO. More will be added. There are a few + problems getting DSI to work. The tech support at IONA and + VisiBroker have been contacted. + +Sat Aug 9 14:05:08 1997 Douglas C. Schmidt <schmidt@merengue.cs.wustl.edu> + + * tao: Continued to clean up all the code so that it is more + consistent with ACE programming style. + + * tao/orbconf.h: Cleaned up a lot of the unnecessary #defines. + + * tao/default_server.h: Make sure we inherit from + TAO_Server_Strategy_Factory, not TAO_Server_Factory. + + * tao/server_factory.cpp: Moved all the inline methods to be + non-inline since this code will always be dynamically bound. + + * tao/client_factory.cpp: Cleaned things up a bit. + +Sat Aug 9 12:37:05 1997 Brian Mendel <brian.r.mendel@boeing.com> + + * tao/corba.h: Deleted include for xdr.h from corba.h. xdr.h + is obsolete. + + * tao/objtable.cpp: Deleted pragmas for instantiating ACE_Guard, + ACE_Read_Guard, and ACE_Write_Guard to eliminate duplicate + instantiations. The templates are instantiated by ACE. Can these + templates also be removed from the + ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION section as well? + + * tao/default.bld: Added build file for VxWorks. + + * tao/tao.bld: Added build file for VxWorks. + +Fri Aug 8 14:25:20 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * tao/orbobj.*: Updated various methods to use the new + dynamically-linked strategy factories discussed below. + + * tao/default_client.*: This file now contains the default client + strategy factory which is (a) dynamically linkable by the service + configurator and (b) can be configured by flags passed in via + service configurator. + + * tao/client_factory.*: This file now contains the abstract base + class for the client strategy factory. + + * tao/default_server.*: This file now contains the default server + strategy factory which is (a) dynamically linkable by the service + configurator and (b) can be configured by flags passed in via + service configurator. + + * tao/server_factory.*: This file now contains the abstract base + class for the server strategy factory. + + * tao/params.*: Renamed DEMUX_STRATEGY enum to TAO_Demux_Strategy + and put it at global scope instead of within TAO_OA_Parameters. + + * tao/svc.conf.eg: Created this file to serve as an example of + various lines one might find in an application's svc.conf. + +Thu Aug 7 09:51:31 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * factories.cpp: Incorrect use of ACE_ASSERT in + TAO_Server_Factory::object_lookup_strategy removed. + + * objtable.cpp: The octet sequence object key was being cast into + a char* resulting in undefined behavior at times due to the lack + of a NULL character to terminate it. Changes were made in the bind + and find methods of TAO_Active_Demux_Table. + +Thu Aug 07 03:52:31 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * TAO version 0.0.8, released Thu Aug 07 03:52:31 1997. + +Thu Aug 7 00:43:14 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * tao/typecode.cpp: A couple of errors involving TAO_CONST crept + in when Brian checked in his code. I fixed these. + +Wed Aug 6 18:28:41 1997 Chris Cleeland <cleeland@swarm.cs.wustl.edu> + + * tests/Cubit/TAO/clnt.cpp (main): Corrected the format + specifications when timing was printing out from %ld to %d. For + some reason this never caused a problem on other platforms. + +Wed Aug 6 17:27:44 1997 Brian R. Mendel <brian.r.mendel@boeing.com> + + * tao/typecode.h: Removed qualified name in typecode.h to eliminate + compiler warnings by the GHS compiler. Line 297. + + * tao/decode.cpp: Changed wchar_t* to CORBA_WChar* to eliminate + compiler errors on GHS compiler. Lines 142, 216, 729, 1371, and 1475. + + * tao/typecode.cpp: Deleted unreachable break statements at lines + 429, and 477, 904, and 947. + +Wed Aug 6 16:31:29 1997 Chris Cleeland <cleeland@swarm.cs.wustl.edu> + + * tao/*: Changed 'const' to 'TAO_CONST' in contexts where the + const didn't make sense. For example, this occurred in situations + where methods declared their return type as 'const CORBA_String', + which does not translate to 'const char*' but rather 'char* + const'. + + * tao/corbacom.h: Added #define for TAO_CONST. See above for + explanation. + + * tao/{connect,factories,giop,iiopobj,marshal,objtable, + optable,orbobj,roa}.cpp: Removed errant trailing semi-colon on all + the #pragma instantiate directives. + +Wed Aug 6 13:56:40 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * tao/{connect,factories,giop,iiopobj,marshal,objtable, + optable,orbobj,roa}.cpp: Changed explicit template instantiations + to use the new ACE enabling macro as well as adding the #pragma + instantiate to placate Edison Design Group compilers. + + * tao/cdr.h: Changed default for CDR CTOR marshal factory to + reflect the new name of the default marshal factory variable. + + * tao/orbobj.cpp (CORBA_ORB_init): Inserted call to + TAO_Marshal::initialize(). + + * tao/marshal.*: Added TAO_Marshal class to scope static + initialization methods for the marshalling engine. + TAO_DEFAULT_MARSHAL_FACTORY has moved inside of this. + +Sun Aug 3 13:12:03 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * tests/Cubit/TAO: Continued to improve the formatting of these + tests. + +Sat Aug 2 13:55:40 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * tests/Cubit/TAO: Cleaned up some of the formatting so that + it is easier to read. + +Thu Jul 31 16:19:43 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * tao/corba.h: Removed incorrect #include "tao/corba.h" in this + file. Bad form. + +Thu Jul 31 15:19:43 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * tests/Cubit/TAO/*.{h,i,cpp}: Changed all #include of specific + header files to include the application-level "tao/corba.h". + + * tests/Cubit/TAO/Makefile (BIN): Removed test1_svr and test1_clnt + for now until we can get them working again. They stopped working + after the BOA API changed and the non-standard get_request() + method removed. + + * tao/any.h: Inserted #includes which insure that this header file + is not position-dependent on other header files. + + * tao/corba.h: Created this catch-all header file for APPLICATIONS + to use as a single entry point. Currently it just includes all + TAO header files, but will eventually be pared down to only those + headers which warrant public exposure. + +Wed Jul 30 16:55:02 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * tao/typecode.i (CORBA_TypeCode): Re-ordered member + initialization to correspond to declaration order. + + * tao/{typecode,orbobj,optable,decode,cdr}.cpp: Added explicit + typecast to CORBA_ULong/unsigned long to eliminate warnings about + comparisons btw. signed and unsigned entities. + + * tao/optable.cpp (bind): Put in explicit return type for + TAO_Active_Demux_OpTable::bind(). + +Wed Jul 30 14:18:02 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * tao/Makefile: Corrected automatic definition of TAO_ROOT and + fixed all dependencies on tao header/inline files. + + * tao/{typecode,object}.i: Moved a few methods to the beginning of the file + so that the compiler KNOWS that they are inlined when it hits the + first reference to them later in the file. + + * tao/object.cpp: Added an end-of-line to silence a very picky SGI + compiler. + +Wed Jul 30 10:05:38 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * tao/connect.cpp: Removed a number of explicit template + instantiations that are already included in ACE. + +Wed Jul 30 14:20:18 1997 Darrell Brunsch <brunsch@cs.wustl.edu> + + * tao/boa.{i,h,cpp}: Removed the #include of "tao/objtable.h" and + instead moved the methods that needed it from boa.i to boa.cpp + +Wed Jul 30 13:58:02 1997 Darrell Brunsch <brunsch@cs.wustl.edu> + + * tao/boa.h: Added #include of "tao/objtable.h" since it is needed + in boa.i (which is included here when inlining is turned on) + +Wed Jul 30 10:05:38 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * tao/boa.h: Removed the #include of "tao/objtable.h" which seems + to be unnecessary and may cause problems for template + specialization. + + * tao/iiopobj.i (IIOP_Object): Changed the second parameter to the + IIOP_Object constructor so that we can is a const + IIOP::ProfileBody &. This prevents a compiler warning. + + * tao/typecode.cpp (private_id): Removed unused variable status. + + * tao/objtable.cpp (bind): Removed the temp variable, which + was unused. + +Tue Jul 29 19:31:11 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * tao/boa.cpp (get_boa): Added casts of ACE_UINT32 so that we + don't have ambiguous calls to the constructor of ACE_INET_Addr. + + * tao/deep_copy.cpp (deep_copy): Removed an unreachable return + value. + +Mon Jul 21 15:08:36 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * TAO version 0.0.7, released Mon Jul 21 15:08:36 1997. + +Mon Jul 21 12:06:16 1997 Darrell Brunsch <brunsch@cs.wustl.edu> + + * tao/object.cpp: removed the #include of object.i since it will + always be #included in object.h + +Thu Jul 17 16:54:38 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * TAO version 0.0.6, released Thu Jul 17 16:54:38 1997. + +Thu Jul 17 16:43:23 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * tao/{optable,objtable}.cpp: Updated the explicit template + instantiations at the end of these files to reflect the changes + that Andy made. + +Thu Jul 17 10:08:45 1997 Aniruddha Gokhale <gokhale@merengue.cs.wustl.edu> + + * tao/align.h: A very subtle error in "align_binary" was corrected. I + was assuming that align_binary is always called by + "ptr_align_binary". In the original inline function versions of + align_binary and ptr_align_binary, the function align_binary would + subtract 1 from the specified alignment that ptr_align_binary + provided. Since I assumed that "align_binary" would always be + called by "ptr_align_binary", I subtracted the 1 in + ptr_align_binary and passed the result to "align_binary". This + caused all sorts of problems for application code that directly + called "align_binary". This error has been fixed. The macros for + align_binary and ptr_align_binary are now exactly as the original + inline functions. + + * tao/any.{h,cpp}: Added comments. In addition, in the code for + Any::replace, we check if "_value" exists before trying to + DEEP_FREE it. Otherwise this was resulting in a segmentation fault + violation. + + * tao/boa.{h,i}: Added comments and changed "release" to CORBA_release + + * tao/cdr.{h,cpp}: Added some comments and removed some stuff that was + under #if 0 .. #endif + + * tao/corbacom.h: Added lots of comments for the CORBA_String_var class + + * tao/decode.cpp: Made TAO_Marshal_Union::decode to work, added comments. + + * tao/encode.cpp: Made TAO_Marshal_Union::encode to work, added comments. + + * tao/factories.{h,cpp}: Added lots of comments. Removed "void + object_lookup_strategy" method since we do this in the parameters + class. Added code that will use a user defined lookup strategy if + the corresponding flag is set. This needs to be tested. + + * tao/iiopobj.{i,cpp}: In the allocation and deallocation of the buffer + for object key, we now use "new/delete" instead of "malloc/free". + + * tao/interp.cpp: commented out a line that decremented 4 from the + offset provided for indirected typecodes. I guess this was plain + hack to get some broken things to work. + + * tao/objtable.{h,cpp}: Added lots of comments. Added code that will use + template specialization for the dynamic hashing case. In addition, + improved the destructors of the classes since previously, these + were not releasing occupied memory. + + * tao/optable.{h,cpp}: Added lots of comments. Added template + specialization for dynamic hashing scheme. Made dynamic hashing + scheme the default. Added a new definition for "struct + TAO_operation_db_entry". The idea is that an IDL compiler will + generate a database of operations and their corresponding + skel_ptrs. Such a database is now passed to teh constructors of + the operation lookup tables. This way, only one instance of such + lookup tables can be shared by any number of objects implementing + the same interface. + + * tao/params.{h,i,cpp}: Made dynamic hashing the default. Added a hook + by which users can supply their lookup strategies. *Needs testing*. + + * tao/typecode.{h,i,cpp}: Added comments and many changes. The private + state's constructor now takes an argument that is a TCKind + representing the TypeCode kind of the object of which we are the + private state. Removed "child_free". Instead, we introduced a + destructor for the private state that frees all the + children. Another important change is to the constructor of the + TypeCode class. We pass a "parent" pointer, if any, to the + constructor. All children typecodes will share the octet buffer of + the parent. Only freestanding typecodes will allocate octet + buffers. We have a new data member called "non_aligned_buffer_" + because the buffer we allocate may not be aligned on a 4 byte + boundary. As a result, we may start using the buffer at a shifted + position to the right. However, we do not want to lose a handle to + the original buffer that was allocated because at the time of + freeing, this pointer needs to be freed. + + * tests/Cubit/TAO: Modified a few files (method_db.i, cubitS.cpp) + so that they use the modified optable and objtable classes. Added + a README file to indicate how to run the example. + + * tests/Thruput_test: Modified virtually all the files to make it + work with the latest TAO release and its include files. Also, + changes similar to Cubit were necessary due to changes in the + objtable and optable classes. + +Wed Jul 16 14:17:01 1997 Chris Cleeland <cleeland@merengue.cs.wustl.edu> + + * tao/params.*: Eliminated unnecessary + ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES checks from + TAO_OA_Parameters (unnecessary b/c it's not a template). Also + corrected the type of TAO_OA_Parameters::ace_singleton_lock_. + +Wed Jul 16 11:34:36 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * tao/boa.cpp: Removed some unused code. + + * tao/compat/objbase.h: Added explicit check for prior inclusion + of ace/OS.h, with an error being produced if it's not included. + This will help keep me honest and remember to always include OS.h + beforehand, since I do most of my development on non-WIN32 + platforms. + + * tao/*.{h,cpp}: Added #include "ace/OS.h" before every inclusion + of <objbase.h>. This is required on WIN32 platforms because + objbase.h eventually ends up including <winsock.h>, which is the + wrong version of winsock from what ACE requires. Thus, by + including OS.h prior to objbase.h, objbase.h ends up not trying to + include a winsock header. + + * tao/orbobj.cpp: Added missing #include for tao/debug.h. + +Wed Jul 16 10:55:55 1997 Darrell Brunsch <brunsch@cs.wustl.edu> + + * tao/PC_Install.bat: removed it since it isn't needed anymore + + * tao/TAO.dsp: Changed include path and removed calling of + PC_Install.bat + + * tests/Cubit/TAO/{client,server}.dsp: Changed include path + +Tue Jul 15 16:13:53 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * tests/Cubit/TAO/cubitC.cpp: Added missing calls to Release() + after QueryInterface() calls. The tip-off that this wasn't + happening was the fact that, upon client exit, there were upwards + of 15 references to the object references. Now it's only 5-7 + (more work to go). + + * tests/Cubit/TAO/*: Changed all #include paths to be "tao/...". + Also, changes to orb.h (see below) obviated additional header + inclusion in certain files. + + * tao/compat/*.h: Changed the guts of these files so that they + work more like their "real" counterparts in the VC++ 5.0. This + should encourage compatibility. Note that, unlike the previous + files, objbase.h MUST be included before initguid.h; this is + consistent with the model on WIN32. + + * tao/*.{h,cpp}: Changed all #include paths to be "tao/...". + Also, changes to orb.h (see below) obviated additional header + inclusion in certain files. + + * tao/giop.cpp: Removed get_request() crufty old code. + + * tao/iiopobj.cpp: Backed out many prior special-code additions + for defining IIDs. Hopefully the need for these is negated by + changes elsewhere in the "compat" files. + + * tao/object.cpp: Corrected the conditional compilation switch + used to determine if we define IID_IUnknown. This now happens + whenever WIN32 isn't defined, instead of before when it was only + on unix or vxworks platforms. + + * tao/Makefile: Eliminated the need to copy files into a "proto/" + directory; now, everything is built into and used from the "tao" + directory. + + There is also a new, optional, environment + variable--TAO_ROOT--which should be set to the ".../TAO" + directory. If it's not set, the Makefile will set it to + WRAPPER_ROOT/TAO. + + Lastly, libcorba.* has changed to libTAO.*. + + * tao/orb.h: Eliminated many header files which had been + explicitly included here and were causing all manner of problems + with circular includes. Library components must now be careful to + include appropriate headers for all components they use, and we + will likely have to create a corba.h file for clients to use. + +Fri Jul 11 12:12:40 1997 Darrell Brunsch <brunsch@cs.wustl.edu> + + * tao/TAO.dsp: changed to use ace-r.dll in the release + version + + * tests/Cubit/TAO/{client,server}.dsp: changed to use ace-r.dll + and tao-r.dll for the release versions. + +Thu Jul 10 15:47:24 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * docs/: Removed the following obsolete files: README.apm, + BUILDING, and TESTS. + + * tao/params.*: Moved the instance() methods into the .cpp from + the .i, as well as the declaration for the singleton locks. + Having the singleton locks declared in the .i file caused much + consternation when ACE inlining was turned on. + + * tao/iiopobj.cpp: #ifdef'd the IID_STUB_Object declaration added + a few days ago so that it happens one way on NT, and another in + the rest of the Universe. I would have preferred to find a more + general solution, but didn't find one quickly enough to satisfy my + current requirements. + + * tao/roa.*: Removed get_request() method. This should improve + our McCabe scores ;-) + + * tao/boa.h: Removed get_request() method. + +Wed Jul 9 14:44:31 1997 Darrell Brunsch <brunsch@cs.wustl.edu> + + * TAO-Install: Added installation instructions for NT + +Tue Jul 8 20:52:06 1997 Darrell Brunsch <brunsch@cs.wustl.edu> + + * tao/PC_Install.bat: Made it very quiet. + + * tao/params.{cpp,h,i}: Changed TAO_OA_PARAMS from a + ACE_Singleton to a plain singleton by just integrating the + ACE_Singleton code into the class. + +Tue Jul 8 14:27:47 1997 Darrell Brunsch <brunsch@cs.wustl.edu> + + * tao/except.h: added ACE_Svc_Export to SYSEX macro + + * tao/iiopobj.cpp: changed declaration of IID_STUB_Object + to include ACE_Svc_Export + + * tao/stub.h: added ACE_Svc_Export to IID_STUB_Object + +Tue Jul 8 12:44:14 1997 Darrell Brunsch <brunsch@cs.wustl.edu> + + * tao/orbobj.cpp: Put the "*" in before the comment since it is + supposed to be there. Put a space between it and the comment + to get rid of the warning which VC was giving originally. + +Tue Jul 8 10:21:27 1997 Darrell Brunsch <brunsch@cs.wustl.edu> + + * tao/typecode.cpp: Changed a few loop counters from int to + CORBA_ULong to get rid of unsigned/signed comparison warnings + + * tao/orbobj.cpp: Got rid of a "*" before a comment. Looked like + a typo + + * tao/PC_Install.bat: Replaced "#...." with "rem ...." + +Mon Jul 7 20:59:05 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * tests/Cubit/TAO/test1_{svr,clnt}.cpp (main): Added template + specialization code and updated the formatting. Thanks to Arturo + Montes <mitosys@colomsat.net.co> for reporting this. + + * tests/Cubit/TAO/test1_svr.cpp (main): Added the -i options to + getopt(). Thanks to Arturo Montes <mitosys@colomsat.net.co> for + reporting this. + + * TAO/tao/orbconf.h (SIZEOF_LONG_DOUBLE): Added a + #define for M_UNIX. Thanks to Arturo Montes + <mitosys@colomsat.net.co> for reporting this. + +Sun Jul 06 02:37:24 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * TAO version 0.0.5, released Sun Jul 06 02:37:24 1997. + +Sun Jul 6 00:10:28 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * tao: Fixed all the code so that we put ACE_MT around all the + ACE_GUARD_RETURN macros. + + * tao: Updated all of TAO to make sure we use [] when deleting + arrays in order to avoid memory leaks. This looks like lots of + sloppiness left over from the original SunSoft IIOP code. + +Sat Jul 5 16:12:31 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * tao/{any,iiopobj,nvlist,principa,request,roa,svrrqst,typecode}.cpp: + Fixed a double-deletion of a lock. + + * tao/typecode.i: Cleaned up lots of minor warnings with the code + that are only revealed when running GCC. The code should now + compile almost completely cleanly with -wall. + + * tao/typecode.{i,h}: Changed the name of TC_PRV_State to + TC_Private_State. + + * tao: Replaced ACE_Thread_Mutex with ACE_SYNCH_MUTEX so that the + code will compile on non-threaded and threaded platforms alike. + + * tao/marshal.cpp: Added template specializations for the Marshal + primitives. Thanks to Arturo Montes <mitosys@colomsat.net.co> for + reporting this. + + * tao/Makefile (LDLIBS): Replaced -lcorba with -lACE so that we no + longer have problems with circular link dependencies. Thanks to + Arturo Montes <mitosys@colomsat.net.co> for reporting this. + +Sat Jul 05 13:25:23 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * TAO version 0.0.4, released Sat Jul 05 13:25:23 1997. + +Sat Jul 5 12:39:57 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * tao: All throughout TAO I removed the direct use of system + include files in lieu of using ace/OS.h. + + * tao/{orbobj,typecode}.cpp: orb.h must be included before others + include files. Previous includes prevent correct use of ACE config + flags, therefore, I removed them. Thanks to Arturo Montes + <mitosys@colomsat.net.co> for reporting this. + + * tao/{debug,roa}.cpp: changed _POSIX_THREADS to ACE_HAS_PTHREADS. + Thanks to Arturo Montes <mitosys@colomsat.net.co> for reporting + this. + + * tao/decode.cpp (decode): The casting (CORBA_ULong) kind is + unnessary and wrong so I removed it. Thanks to Arturo Montes + <mitosys@colomsat.net.co> for reporting this. + + * tao/debug.cpp (emit_prefix): Changed line 99 from + + #define emit_prefix (stream) ... + + to + + #define emit_prefix(stream) ... + + The blank character prevent after macro name (emit_prefix) prevent + correct definition. Thanks to Arturo Montes + <mitosys@colomsat.net.co> for reporting this. + +Sat Jul 5 01:04:24 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * TAO/tao/xdr.cpp: Removed unistd.h and string.h from the xdr.cpp + file since those aren't necessary. Thanks to Arturo Montes + <mitosys@colomsat.net.co> for reporting this. + +Fri Jul 4 00:18:21 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * tao/roa.h: Removed derogatory COMments ;-). Thanks to Anton van + Straaten <anton@appsolutions.com> for reporting this. + +Thu Jul 3 16:16:14 1997 Darrell Brunsch <brunsch@cs.wustl.edu> + + * Added ACE_Svc_Export to a couple of declarations to make NT + happier + +Thu Jul 3 13:43:20 1997 Darrell Brunsch <brunsch@cs.wustl.edu> + + * Added Visual C++ 5.0 project and workspace files for the TAO + library and Cubit test + +Wed Jul 2 12:44:42 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * TAO/tests: Moved tests from TAO/IIOP/tests to TAO/tests + +Wed Jul 02 00:20:28 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * Compiled the first alpha release of TAO on Solaris just + to make sure it still works. So far, so good... hence, + the first alpha release is out the door! + +Tue Jul 1 23:35:53 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * VERSION: Added a VERSION file, starting at version 0.0.0... + +Tue Jul 1 23:00:15 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * Added a new tests directory with the Cubit and TTCP + examples. The older test directory will be deleted soon. + + In addition, the tc_constants in the tc_constants.cpp file are + declared with an ACE_Svc_Export to make the Win NT compiler + happy. Extern declarations in typecode.h had the same changes. + + * Updated the PC_install.bat file. In addition, there was one more + warning in typecode.cpp (Win NT compiler) that was fixed. Finally, + in the the tc_const.cpp file, the ACE_Svc_Export was used + accidently. This has been fixed. + + * A number of files were updated with ACE_Svc_Export so that + variables and classes do not remain unresolved for Win32 + platform. Similarly, Irfan had sent me a list of warnings that the + Win NT compiler was giving. These are fixed. + + * marshal.*: Changed the way make_marshal_object works. Instead of + having a switch statement, we index into a private table of + marshal objects using the TypeCode _kind field. MarshalFactory now + maintains this private table. + +Mon Jun 30 17:39:02 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * Added a new README file and a COPYING file that explains the + contents of TAO and clarifies its copyright status. + +Sun Jun 29 10:06:50 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * marshal.*: Added CORBA_Environment as a parameter to + make_marshal_object factory method. The reason for doing this was + to enable inlining of the CDR::encode and CDR::decode methods. + + * typecode.*: Changed the way typecodes get deleted. Constant + typecodes are now owned by the ORB and their private state freed + when the ORB dies. IDL generated typecodes are not owned by the + ORB and are the only ones whose refcount matters. Typecodes + belonging to the IDL generated typecodes are also not owned by the + ORB and there is no effect on their refcount. They get freed only + if the parent is destroying itself. + + In typecode.i, methods such as length and content_type were not + getting inlined due to presence of switch statements. Converted to + if/else. + + * interp.cpp: Bug fix: Had previously forgotten to update the + size/alignment of the private state of the typecode. + +Fri Jun 27 14:27:49 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * any.cpp: The deep_copy and deep_free optimizations applied. In + the previous release, I had forgotten to add these to the Any + constructor (that calls deep_copy) and Any destructor/replace + (that call deep_free). + + * connect.cp, factories.cpp: Added code that hardcodes the socket + buffer sizes to 64K. This is a hack for the time being. + +Thu Jun 26 10:02:47 1997 Aniruddha Gokhale <gokhale@merengue.cs.wustl.edu> + + * Some more progress on IDL compiler. Generates the client and + server side files without much contents in it. + +Thu Jun 26 09:49:38 1997 Aniruddha Gokhale <gokhale@merengue.cs.wustl.edu> + + * Added a full range of optimizations to the TAO IIOP interpretive + marshaling engine. The static methods encoder and decoder have + been removed from the CDR class. Instead, separate classes for + marshaling have been created for each individual data type. The + CDR stream maintains a factory that returns an appropriate + marshaling object depending on the data type to be + marshaled. Files added include marshal.h, marshal.i, encode.cpp, + decode.cpp, deep_free.cpp, and deep_copy.cpp. The marshal.h file + defines classes for an abstract MarshalObject. The factory is + responsible to return a concrete specialized instance of the + MarshalObject. + + * Updated the CORBA_TypeCode class so that it now provides all the + CORBA_2.0 compliant operations. These include length(), + content_type(), member_type(), member_label(), + discriminant_type(), id(), default_index(). The equal() operations + is still not implemented. In addition, precomputation + optimizations are applied to the TypeCode class. This includes + precomputing various parameters (if any) of a TypeCode. For + example, a struct TypeCode keeps track of the member count and + member types. As a result, it is not necessary to interpret the + CDR encapsulated stream to retrieve these parameters. + + * At this time, there are some problems getting the Unions to work. + +Thu Jun 12 15:45:49 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * IIOP/lib/objtable.cpp: Added explicit template instantiations + for ACE_Hash_Map_Manager<>. + + * IIOP/lib/giop.*: Finally got rid of all those methods that took + ACE_HANDLE as the argument. Now, all those operate on + ACE_SOCK_Streams. + +Thu Jun 5 10:15:21 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * IIOP/lib/giop.cpp: Corrected output format in error message. + +Thu Jun 5 10:09:01 1997 Chris Cleeland <cleeland@merengue.cs.wustl.edu> + + * IIOP/test/svr.cpp: Added a new class to catch SIGINT and + terminate. This was necessary to Quantify the server process. + + * IIOP/lib/orbobj.h: Added ACE_INLINE to forward decls of + CORBA_release() and CORBA_is_nil(). + +Wed May 23 14:39:01 1997 Brian Mendel <bmendel@mdc.com> + + * IIOP/lib/objtable.{h,cpp}: Added template specialization of + ACE_Hash_Map_Manager for char*'s. + + * IIOP/test/cubitS.cpp: Fixed type_id to be of type CORBA_String_var. + Also, added a debug msg to print the object address to show the + object for which the request is made. + + * IIOP/test/svr.cpp: Added capability to create multiple Cubit + objects via command line options. Added -n for number of objects and + -k for specifying a base name. For instance, -k Beevis -n 2 creates + Beevis1 and Beevis2 objects. The clnt can then specify a specific + object for the request as usual. + +Wed May 22 12:28:45 1997 Brian Mendel <bmendel@mdc.com> + + * IIOP/test/clnt.cpp: Deleted VxWorks specific sections. Command + line is now working for VxWorks. + * IIOP/test/svr.cpp: Deleted VxWOrks specific sections. Command line + is now working for VxWorks. + +Wed May 22 11:31:42 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * IIOP/test/svr.cpp: Added better error checking and messages, and + performed general re-formatting. + + * IIOP/test/method_db.i (initialize_method_db): Changed arg type + to use a pointer to the abstract class TAO_Operation_Table. + + * IIOP/test/cubitS.cpp (_skel_Cubit::_skel_Cubit): Added better + error checking and messages. Also defaulted to use the linear + object table implementation rather than the hashed to simplify + debugging. + + * IIOP/test/clnt.cpp: Moved some code around so that more of the + code is common is less is specific to VxWorks and other platforms. + Also did general re-formatting. + + * IIOP/lib/optable.cpp (TAO_Linear_OpTable::find): Initialization + of the loop variable makes the loop work properly. + + * IIOP/lib/objtable.cpp (TAO_Dynamic_Hash_ObjTable::find): + Explicitly specified length of object key in CTOR for ACE_CString + because object keys are not zero-terminated. + + * IIOP/lib/giop.cpp: Added newlines to the end of all ACE_DEBUG() + messages. + + * IIOP/lib/factories.cpp: Added template specializations for + ACE_Hash_Addr<ACE_INET_Addr, TAO_Client_Connection_Handler>. + +Tue May 22 09:32:41 1997 Brian Mendel <bmendel@mdc.com> + + * IIOP/lib/cdr.h: Deleted #define old_value ACE_INLINE and + #define ACE_INLINE old_value lines. Added #undefs for ACE_INLINE + prior to redefines. Changes required to compile on Windows NT. + +Tue May 20 14:47:46 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * IIOP/test/cubitS.h: Removed forward decl of + TAO_Active_Operation_Table. + + * IIOP/test/{cubitC,cubitS}.*: Changed include quoting characters + from [<>] to double-quotes. + + * IIOP/test/Makefile: Removed cubit.o from clnt and svr target + (this has been subsumed by cubit[CS]). + + * IIOP/lib/optable.h: Changed ACE_RW_Mutex to ACE_SYNCH_RW_MUTEX. + + * IIOP/lib/optable.cpp: Inserted explicit template instantiations. + + * IIOP/lib/Makefile: Added optable to the Makefile. + + * IIOP/lib/optable.cpp: Moved ~TAO_Operation_Table() into here. + + * IIOP/lib/object.i: Moved find() and bind() into the cpp file. + Moved ~TAO_Operation_Table() into optable.cpp. + +Tue May 20 14:39:00 1997 Brian Mendel <bmendel@mdc.com> + + * IIOP/test/*: Commited changes to Cubit Example as a current snapshot + of required changes. + + * IIOP/lib/*: Changes required for header file includes. Added + conditionals around _IIOP_BUILD_ + +Tue May 20 13:55:58 1997 Chris Cleeland <cleeland@merengue.cs.wustl.edu> + + * IIOP/test/*: Commited this stuff in-process so that Brian + M. doesn't have to duplicate effort. + +Tue May 20 13:04:00 1997 Brian Mendel <bmendel@mdc.com> + + * IIOP/lib/debug.cpp: Deleted spaces between flockfile (f) and + funlockfile (f). Changed instances of debug_filter to + TAO_debug_filter. Deleted space between emit_prefix (stream). + + * IIOP/lib/cdr.cpp Added undef(s) for ACE_INLINE and + do_undef_on_ACE_INLINE to eliminate redefinition problems. + + +Tue May 20 10:55:09 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * IIOP/lib/cdr.h: Fixed the automatic inclusion of cdr.i into + cdr.h by checking to see if __ACE_INLINE__ is not defined and, if + so, defining ACE_INLINE to be "inline" (we tidy up the namespace + immediately after the inclusion of cdr.i, too). See source for + comments regarding why this is done. + + * IIOP/lib/optable.cpp (TAO_Linear_OpTable_Entry): Removed setting + of opname and skel_ptr to zero in CTOR since the CTOR for those + already insures this. Moreover, NT's compiler was complaining + about ambiguous resolutions. + + * IIOP/lib/{orbobj,giop,debug,boa}.cpp: Fixed reference to + debug_level so it's TAO_debug_level. + + * IIOP/lib/object.h: Replaced inclusion of optable.h with forward + decl of TAO_Operation_Table. + + * IIOP/lib/optable.cpp: Fixed names of methods that were changed + in the header but never changed in the source. Amazing that + neither g++ nor Sun C++ caught these gaffs! (Finally, the NT + compiler wins). + + * IIOP/lib/{orbobj,object}.h: Changed the forward decls of + CORBA_release() and CORBA_is_nil() so that they are only in effect + when inlining is NOT being used. + + * IIOP/lib/giop.cpp: Fixed incorrect passing of an object to + ACE_DEBUG() where an int is expected. + +Mon May 19 17:16:34 1997 Chris Cleeland <cleeland@merengue.cs.wustl.edu> + + * IIOP/lib/roa.cpp: Explicit cast rids us of a warning. + + * IIOP/lib/params.h: Fixed CTOR name. Once again I'm surprised + G++ didn't catch this. + + * IIOP/lib/optable.h: Corrected erroneous method signature on + bind(). + + * IIOP/lib/objtable.cpp: Corrected erroneous method signature on + TAO_Linear_ObjTable::bind(). + + * IIOP/lib/{object,orbobj}.h: Forward declaration of + CORBA_release(CORBA_Object_ptr) and CORBA_is_nil(CORBA_Object_ptr) + were commented out. I think this will cause a problem when we + DON'T inline, but I'll cross that bridge later. + + * IIOP/lib/{orb,factories}.h: Made inclusion of some headers + conditional on the compilation phase (building the library or an + application). + + * IIOP/lib/cdr.i: Removed incorrect default arguments (g++ didn't + catch them). + + * IIOP/lib/Makefile: Removed thread from the header list. + +Mon May 19 10:07:00 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * IIOP/lib/optable.cpp: Changed implementation of the operation + table and the parameters repository so that they use the right + class names. + +Sat May 17 17:18:38 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * First pass at providing a backend to the SunSoft's CORBA IDL + compiler front end. + +Fri May 16 17:30:31 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * IIOP/lib/svrrqst.*: Corrected some comments, adjusted some + argument type names to reflect their new, namespace-sanitized + names, and moved short methods into a new inline file. + + * IIOP/lib/stub.h: Corrected some comments and adjusted some + argument type names to reflect their new, namespace-sanitized + names. + + * IIOP/lib/roa.cpp: Corrected syntax error and fixed up typedef. + + * IIOP/lib/params.*: Removed extraneous comments and fixed + argument type on demux_strategy(). + + * IIOP/lib/orbobj.*: Added comments, removed static pointer to + the ORB. + + * IIOP/lib/optable.h: Removed extraneous comments and fixed + typedefs. + + * IIOP/lib/objtable.cpp: Fixed some syntax errors introduced by + reformating. + + * IIOP/lib/object.cpp: Adjusted some argument type names to + reflect their new, namespace-sanitized names. + + * IIOP/lib/invoke.cpp: Removed crufty #includes and adjusted some + argument type names to reflect their new, namespace-sanitized + names. + + * IIOP/lib/iioporb.*: Moved short methods into inline file, added + IIOP_ORB_ptr typedef, and changed data member to conform to ace + standards. + + * IIOP/lib/iiopobj.*: Added the second CTOR that I forgot last + time and adjusted some argument type names to reflect their new, + namespace-sanitized names. + + * IIOP/lib/giop.h: Added comments for various enums and + structures. + + * IIOP/lib/giop.cpp: Switched various GIOP::Invocation methods to + use handler_->peer() for socket communication rather than going + through a file descriptor. Also began the arduous (no other word + could explain it!) process of converting the homegrown debugging + message macro uses into ACE_DEBUG() uses. + + * IIOP/lib/factories.*: Added explicit DTOR for TAO_Client_Factory + and completed all the darn explicit template instantiations. + Changed 'Svc_Handler' to 'TAO_Client_Connection_Handler', and + added the forgotton TAO_Client_Factory::connector() method. + + * IIOP/lib/debug.*: Added 'TAO_' prefix to global debug state + variables and removed crufty #includes. + + * IIOP/lib/connect.cpp: Change ROA_Handler to + TOA_OA_Connection_Handler (missed these the last time through). + + * IIOP/lib/cdr.cpp: Added responsive commentary. + + * IIOP/lib/boa.cpp: Added comments to the dispatching code. + + * IIOP/lib/{any,boa,request,typecode}.cpp: Removed references to + thread.h/connmgr.*. + +Thu May 15 19:08:16 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * Finished updating all the reformatting. + +Thu May 15 15:54:49 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * IIOP/lib/principa.h: Corrected syntax error which eliminated the + _refcount data member. + + * IIOP/lib/{params,roa}.*: Updated class names to reflect ROA --> + TOA_OA pseudo-namespace change. + + * IIOP/lib/orbobj.*: Updated CORBA_ORB_init() to return pointer to + new ORB singleton. + + * IIOP/lib/orb.h: Commented out some include files to eliminate + wierd circular dependencies. + + * IIOP/lib/optable.h: Moved TAP_Operation_Table into here. Put + OpTable* classes into the TAO_Operation_Table* pseudo-namespace. + + * IIOP/lib/objtable.*: Moved TAO_Object_Table into here. Moved + the Entry classes out of the scope of their respective concrete + operation tables, so they're now named <concrete_table>_Entry. + + * IIOP/lib/object.*: Moved TAO_Operation_Table into optable.*, and + added a data member which carries a pointer to the ORB with which + the object is associated. + + * IIOP/lib/iioporb.*: Added a singleton typedef for the ORB which + is what CORBA_ORB_init() will now return. Modified + string_to_object() so that it sets the ORB on the CORBA_Object + that it returns. + + * IIOP/lib/{iiopobj,nvlist}.h: Added some responsive commentary. + + * IIOP/lib/giop.cpp: Modified connection establishment code in + GIOP::Invocation::start() to utilize the client connection manager + in the ORB. + + * IIOP/lib/giop.h: Put a TAO_Client_Connection_Handler* into + GIOP::Invocation in place of the client_endpoint. + + * IIOP/lib/factories.*: Updated explicit template instantiations, + added TAO_Client_Connection_Handler. + + * IIOP/lib/connect.*: Renamed things--ROA_Parameters --> + TOA_OA_Parameters, ROA_Handler --> TOA_OA_Connection_Handler. + + * IIOP/lib/boa.h: Moved TAO_Object_Table into objtable.*, added + comments where appropriate. + + * IIOP/lib/{any,cdr,iioporb,invoke}.*: Re-formatting and creation + of inline method file. + +Tue May 13 21:51:22 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * Continued to update the format of the TAO source code so that it + will be consistent with the style used in ACE. + +Mon May 12 17:02:29 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * IIOP/lib/roa.*: Moved short method into an inline file. + Miscellaneous reformatting. Adjustment to new type names + (prefaced by TAO_ for namespace protection). + + * IIOP/lib/object.*: Moved short methods into an inline file. + Changed lookup()/register_op() to find()/bind() for consistency + with established ACE APIs. Miscellaneous reformatting. + + * IIOP/lib/iiopobj.*: Moved short methods into an inline file. + Added CTOR for IIOP::Version and IIOP::ProfileBody. Added + convenience CTOR for IIOP_Object where the profile can be + supplied. Miscellaneous reformatting. + + * IIOP/lib/boa.*: Moved short methods into an inline file. Changed + lookup()/register_obj() to find()/bind() for consistency with + established ACE APIs. + + * headers: Added comments to force C++ mode in emacs for header + files, and changed SCCS version tag info to RCS version tag info. + +Wed May 7 14:49:46 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * IIOP/lib/corbacom.cpp: Some bugs from the CORBA_String_var class + have been fixed. Thanks to Brian Mendel for noticing these. + + * IIOP/lib/boa.cpp: In CORBA_BOA::dispatch, the opname local + variable of type CORBA_String_var is changed to be of type + CORBA_String. This was because the String_var class would assume + ownership of the quantity assigned and delete it. Thanks again to + Brian Mendel for noticing this. + +Tue May 6 14:06:49 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * IIOP/lib/boa.hh: the register_obj's 2nd argument is changed from + CORBA_Object_ptr& to CORBA_Object_ptr + + * IIOP/lib/object.hh: the return type for register_op method on + CORBA_Object is changed from void to int to be consistent. + + Added a new method "get_subclass" to CORBA_Object that returns a + pointer to the subclass. Typeically, this would be pointer to an + object that implements an interface. + + * IIOP/lib/objtable.{hh,cpp}: @nd argument of register_obj changed + from CORBA_Object_ptr& to CORBA_Object_ptr. + + * IIOP/lib/orb.hh: the type signature of "skeleton" is changed to + take CORBA_Object_ptr rather than CORBA_Object_ptr& as its 2nd argument. + +Mon May 5 20:28:54 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * IIOP/lib/boa.cpp: commented out code that uses the "void + *context" field. It doesn't make any sense to have it. + + * IIOP/lib/boa.hh: Added 2 pure virtual methods (shutting_down and + clean_shutdown). + + In addition, the "register_obj" method was added. It was missing before. + + * IIOP/lib/corbacom.cpp: String_var's constructor bug is fixed. It + was trying to free storage that was never allocated. + + * IIOP/lib/iiopobj.{hh,cpp}: Added a method - "get_name" that + retrieves the object name. + + * IIOP/lib/object.{hh,cpp}: Added a method - "get_name" that + retrieves the object's name or key. This is for debugging purposes. + + * IIOP/lib/orbobj.cpp: There was an infinite loop in parsing the + options to BOA_init. Fixed. + + * IIOP/lib/stub.hh: Added the "get_name" virtual method. + +Sat May 3 22:45:23 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * IIOP/lib/boa.cpp: Added code temporarily that invokes the + skeleton that is looked up. We still need to add code that will + handle the case when no match is found on the operation names. + + * IIOP/lib/boa.hh: The register_obj method on TAO_Object_Table + now returns an integer indicating status of registering (-1 => + failure, 0 for success). + + * IIOP/lib/object.hh: The register_op method on + TAO_Operation_Table now returns an integer code (O for success, -1 + for failure). + + * IIOP/lib/objtable.{hh,cpp}: The register_obj method returns an + integer code representing either success or failure. + + * IIOP/lib/optable.{hh,cpp}: Added new files that implement + concrete strategies for operation name lookup. + +Fri May 2 08:48:29 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * IIOP/lib/object.hh: Modified the signature of register_op on + TAO_Operation_Table to take a second argument to be a pointer to + the actual skeleton. + + Thanks to Brian Mendel for reporting this. + +Thu May 1 16:46:11 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * IIOP/lib/object.{hh,cpp}: Added a method that can set the parent + pointer. + + * IIOP/lib/params.cpp: A hook has been provided in ROA_Factory to + enable the user to use a user-defined demux strategy. + +Wed Apr 30 22:00:51 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * IIOP/lib/objtable.{hh,cpp}: Added two new files that define + different object demultiplexing strategies. + + * IIOP/lib/Makefile: Added objtable as additional source file to compile. + + * IIOP/lib/boa.cpp: Provided the default destructor for the + TAO_Object_Table. + + * IIOP/lib/boa.cpp: Provided the default destructor for the + TAO_Operation_Table. + + * IIOP/lib/orbobj.cpp: Added support for the -OAtablesize option + in the call to CORBA_ORB::BOA_init method. + + * IIOP/lib/params.{hh,i,cpp}: Added support to ROA_Factory to return + a specific object lookup strategy. + + *IIOP/lib/roa.cpp: The ROA constructor initializes its "objtable_" + private data member with the object lookup strategy returned by + ROA factory. + +Tue Apr 29 11:52:48 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * IIOP/lib/any.hh: Moved CORBA_Any_ptr declaration to orb.hh. + + * IIOP/lib/boa.{hh,cpp}: Renamed BOA to CORBA_BOA. The CORBA_BOA class + maintains a pointer to an abstract TAO_ObjectTable class. Concrete + classes inheriting from TAO_ObjectTable will provide strategies + for lookup. + + Added virtual functions to do dispatch based on object key. In + addition, added a lookup method based on object key that delegates + the task of looking the object to the object table it maintains. + + Changed the signature of typedef CORBA_BOA::dsi_handler to be pointer to + member function of class CORBA_BOA. Eventually, this will point to + the dispatch method of class CORBA_BOA. + + Moved "struct Dispatch_Context" from roa.hh to boa.hh since we + want BOA to be a full fledged OA eventually and not remain an + abstract class as it is now. All other OA's such as ROA inherit + from BOA and only add extra functionality. + + * IIOP/lib/connect.cpp: There was a syntax error (missing comma) + in one of the ACE_DEBUG statements which has been fixed. + + * IIOP/lib/corbacom.{hh,cpp}: Added class CORBA_String_var as well + as the CORBA compliant CORBA_string_dup. + + * IIOP/lib/except.hh: Moved CORBA_Exception_ptr declaration to orb.hh. + + * IIOP/lib/object.hh: Added an abstract class + TAO_Operation_Table. CORBA_Object maintains a pointer to this + abstract class. The IDL compiler will eventually generate concrete + classes that employ different lookup strategies for operation name + lookup. + + * IIOP/lib/orb.hh: Added forward declarations to all CORBA_* + classes. In addition, moved all the CORBA_*_ptr declarations here. + + * IIOP/lib/orbobj.{hh,cpp}: Added the CORBA compliant BOA_init + method to class CORBA_ORB. Users can now pass arguments to + BOA_init. Eventually, we want to make this method return any of + the specialized OA's depending on the arguments. Right now, we get + a pointer to the ROA. + + * IIOP/lib/params.{hh,i}: Added some more methods and enum + declarations to the ROA_PARAMS singleton. + + * IIOP/lib/principa.hh: Moved the CORBA_Principal_ptr declaration + to orb.hh. + + * IIOP/lib/roa.{hh,cpp}: Moved some functionality to boa.hh. ROA + is now only a specialized form of BOA. + + * IIOP/lib/stub.hh: Moved the typedef for "skeleton" to orb.hh. + + * IIOP/lib/svrrqst.{hh,cpp}: Had to rename BOA to CORBA_BOA. + + * IIOP/lib/typecode.hh: Moved the CORBA_TypeCode_ptr declaration + to orb.hh. + +Tue Apr 22 23:30:19 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * IIOP/lib/connect.cpp (open): Added log message. + + * IIOP/lib/params.cpp (concurrency_strategy): Uses reactive + strategy when appropriate. + + * IIOP/lib/params.hh: Reactive strategy added. + +Tue Apr 22 21:03:15 1997 Chris Cleeland <cleeland@tango.cs.wustl.edu> + + * IIOP/lib/giop.cpp: Changed erroneous ACE_GUARD calls to ACE_GUARD_RETURN + calls. + +Tue Apr 22 16:15:52 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * IIOP/lib/roa.cpp: Removed more POSIX thread calls. + + * IIOP/lib/invoke.cpp: Changed ForceSynchronousCancellation to + ACE_Synchronous_Cancellation_Required and made it use the ACE_OS + calls. + + * IIOP/lib/{typecode,svrrqst,request,principa,orbobj,nvlist,iiopobj,giop,except,any}.*: + Removed all vestiges of pthread mutexes...they are now + ACE_Thread_Mutexes. This will likely have to change if we want to + compile something completely devoid of threads, but that's another + day. Also, the mutexes have moved from being globals to being + members on the respective classes. No files should be dependent + on thread.hh any longer. + + * IIOP/lib/connect.cpp (open): Removed code obsoleted by use of + the Strategy_Acceptor. + + * IIOP/lib/{roa.cpp,connect.cpp},IIOP/tests/svr.cpp: Changes to + use new singletons described below. + + * IIOP/lib/params.*: Changed ROA_Parameters and ROA_Factory to use + ACE_Singleton<>. The singleton types are now named ROA_PARAMS and + ROA_FACTORY. + +Mon Apr 21 23:44:34 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * IIOP/lib/roa.cpp (ROA): Changed spelling of clientAcceptor_ to + client_acceptor_ to be consistent with ACE style conventions. + +Mon Apr 21 10:52:42 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * IIOP/test/clnt.cpp: Moved call to CORBA_ORB_init() prior to the + parsing of the command line args. This got switched around during + porting to VxWorks. + + * IIOP/lib/roa.cpp: Changed calls using clientAcceptor_to use APIs + vended by ACE_Strategy_Acceptor. + + * IIOP/lib/roa.hh: Moved default thread flags into ROA_Factory. + + * IIOP/lib/params.*: Added ROA_Factory, a singleton which is the + beginning of an abstract factory dynamically producing runtime + strategies based on information found in ROA_Parameters. + + * IIOP/lib/connect.cpp: Added call to ROA_Handler's base class + CTOR in initializer list. + + * IIOP/lib/connect.hh: Changed ROA_Handler's CTOR so that it can + take an optional ACE_Thread_Manager* arg. This makes it + compatible with the CTORs for the base class. Also changed base + class for ROA_Acceptor to ACE_Strategy_Acceptor. + + * IIOP/lib/svrrqst.*: Changed references to BOA_ptr from TOA_ptr. + + * IIOP/lib/connect.*: ROA_Handler/ROA_Acceptor moved from roa.* + into here. + + * IIOP/lib/params.*: ROA_Parameters moved from roa.* into here. + + * IIOP/lib/boa.*: What used to be TOA is now BOA, and lives in + here. + + * IIOP/lib/roa.*: Major restructuring required removal of all + classes (see other log entries) from here. This file now houses + only the ROA class. + + * IIOP/lib/{tcpoa.*,toa.*}: Removed because of name changes from + TCP_OA->ROA and TOA->BOA. + +Fri Apr 18 08:09:19 1997 Brian Mendel <bmendel@mdc.com> + + * cdr.hh,corbacom.{hh,cpp},giop.cpp,marshall.cpp,typecode.cpp: + Changes required for WChar missed in earlier committed code. + + * connmgr.cpp: Changes required for select statement. + + * nvlist.cpp: Conditional include for memory.h added. VxWorks + does not have memory.h. + + * object.cpp: Added conditional for VXWORKS to define + IID_IUnknown. + + * orbconf.hh: Minor tuning of the configuration file. + + * tcpoa.{hh,cpp}: Added VXWORKS conditional includes. + + * toa.cpp: Added VXWORKS conditional includes. + + +Mon Apr 15 17:01:00 1997 Brian Mendel <bmendel@mdc.com> + + * roa.cpp: Added return statement to ROA_Handler::open(void*) + method. + + * giop.cpp: Modified giop::read_buffer to replace undefined fc + with peer.get_handle(). Modified giop::incoming_message method + parameter list to match function prototype exactly. + + * tcpoa.cpp: Replaced fd instances in debug messages with + peer.get_handle() calls. + +Mon Apr 14 13:45:54 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * roa.{hh,i,cpp},tcpoa.cpp,svr.cpp: Replaced ACE_ROA with + ROA_Parameters, which is a GoF-style singleton. + +Sun Apr 13 00:01:56 1997 Chris Cleeland <cleeland@tango.cs.wustl.edu> + + * roa.cpp: Fix continuation condition in ROA_Handler::svc()'s loop + so that it doesn't stop after one iteration. Also added some + debug messages. + + * giop.cpp: Fixed some returns being called with no value. This + should have been caught in the previous round of changes. + +Sat Apr 12 23:10:08 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * tcpoa.{hh,cpp}: TCP_OA::handle_message() now returns a value + indicating how a message was handled. + + * roa.cpp: ROA_Handler::handle_input() now returns a meaningful + value based on what TCP_OA::handle_message() returns. + + * giop.{hh,cpp}: Added end-of-file detection on socket + connections, and that is now propagated all the way back up + through GIOP::incoming_message(). I don't know if I violated + something in the spec by doing this, but it was necessary. I'll + look into it later. + +Thu Apr 10 11:49:44 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * giop.{hh,cpp}: Overloaded all methods dealing with connections + so that there are two, one taking a file descriptor as argument, + the other taking an ACE_SOCK_Stream. Right now, the *_Stream + version simply forwards to the fd-based one. I would have + preferred to get rid of the fd-based methods altogether, but we've + only converted the server runtime; the client is still using the + original sun code, which is effectively fd-based. In the course + of doing this, I also simplified the decls for incoming_message by + creating typedefs for some of the function pointers passed as + args. + + * orbconf.hh: Fixed the stupid auto-endian-ness detector + AGAIN...had my logic reversed! + + * roa.cpp: Adjusted code in accordance with changes to tcpoa.hh. + + * tcpoa.hh: Moved and renamed TCP_OA::dispatch_context to be + ::Dispatch_Context, and changed its endpoint member to be an + ACE_SOCK_Stream. + + * roa.hh: Fixed handle_input() to use the underlying peer() data + member for reading data, rather than using its argument. This is + so that when a different thread handles each connection, + handle_input() can simply be called repeatedly by svc(). + +Wed Apr 9 16:19:21 1997 Chris Cleeland <cleeland@tango.cs.wustl.edu> + + * tcpoa.cpp: Fixed a problem that G++ didn't notice regarding + changing the notion of endpoints in servers from server_endpoint + to an ACE_HANDLE. + +Wed Apr 9 15:43:37 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * svr.cpp: The -p option is gone, and -e takes its place and is + required. This requires the user to specify not only the port + number, but also the IP address of on which the server should + listen for requests. See ACE_INET_Addr documentation for valid + string formats for addresses. Also, the -t option sets the "use + threads" global. + + * orbconf.hh: Hopefully resolved the tension between MS and Unix + platforms in inferring endian-ness of the target platform based on + preprocessor defines. We now check for i386, _M_X86, and vax + (yeah, like we really worry about that, but it's easy to do). + + * roa.{hh,i,cpp}: Added support for spawning threads to handle + incoming requests. This involves a state flag for whether or not + to use threads, calling activate() in ROA_Handler::open() if that + flag is set, and creating ROA_Handler::svc() that simply loops + calling handle_input(). + +Tue Apr 8 11:14:57 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * IIOP/test/svr.cpp: Moved setting of upcall(), forwarder(), + context(), etc. into here rather than in TCP_OA::TCP_OA(), which + is where I mistakenly stuck them a few days ago (duh!). + + * IIOP/lib/tcpoa.cpp: Removed setting of ACE_ROA::upcall(), which belongs + in the server code. I got confused because the function names + were so similar: tcpoa.cpp contains ::tcp_oa_dispatcher(), and + svr.cpp contains ::tcpoa_dispatch(). + + * IIOP/lib/roa.{hh,i,cpp}: Added forwarding function to ACE_ROA global namespace + hack. + + * IIOP/lib/orbconf.hh: Fixed preprocessor checks that auto-detect + endian-ness of this processor. + +Mon Apr 7 21:08:24 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * IIOP/test/test1_{clnt,svr}.cpp: THESE HAVE NOT BEEN CONVERTED TO + USE ACE EVENT HANDLING!! This round of changes explicitly + instantiates templates where required. + + * IIOP/test/svr.cpp: Global function ::OA_listen() no longer + exists; its functionality is now fully contained within ::main(). + If USE_ACE_EVENT_HANDLING is defined, a Reactor-based event loop + is used. The original intent was to allow conditional compilation + to select btw. the original method and a Reactor-based method. + However, weaving that into the library proved far more difficult + than anticipated, so more than likely not defining + USE_ACE_EVENT_HANDLING will cause massive grief. + + * IIOP/lib/toa.cpp: Changed call to TCP_OA::init() to reflect new + ACE_INET_Addr argument type. + + * IIOP/lib/tcpoa.cpp (TCP_OA): All initialization methods were + changed, specifically the CTOR and TCP_OA::init, to reflect the + introduction of ACE_INET_Addr. Two side-effects of using + ACE_INET_Addr are that (1) a server can specify the address on + which it wants to listen and (2) best that I can tell, the server + MUST specify the address on which it wants to listen because + otherwise it won't be able to publish a rational IOR. The event + loop is now changed to simply loop on Reactor::handle_events(). + + * IIOP/lib/tcpoa.hh (TCP_OA): Removed vestiges of this component's + use of the original connection management scheme. Where + appropriate, hostnames and ports were replaces by ACE_INET_Addr, + endpoints by ACE_HANDLEs, etc. One particularly nasty thing done + was to declare ROA_Handler as a friend so that handle_message() + can be called from ROA_Handler::handle_input(), which to me + exposes a hole in the original architecture wherein input is + "pulled" rather than waited-for. We might need to re-think how + this is handled within TAO. + + * IIOP/lib/roa.{hh,i,cpp}: These files contain the required + components to support the new server-side ACE-based + connection/event substrate. The client side remains, as always, + using the connection mgmt scheme used by the original Sun IIOP + code. + + * IIOP/lib/giop.cpp: Added explicit template instantiation for + when this is needed. + + * IIOP/lib/corbacom.hh: Now protects itself from multiple + inclusion. + + * IIOP/lib/Makefile: Added roa.* where appropriate. + +Wed Mar 19 10:25:21 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * IIOP/docs/us/codecount/*.count: Added to repository. + + * Makefile: Added to repository. + + * IIOP/objbase.h: Moved to IIOP/compat. + + * IIOP/initguid.h: Moved to IIOP/compat. + +Thu Mar 13 14:06:28 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * ChangeLog: Added the ChangeLog. |