summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-01-11 16:56:04 +0000
committercoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-01-11 16:56:04 +0000
commitc7dda1d1fba745c731b9f174e6dbbf00a5eb9101 (patch)
treec694b0f619a770ebbed9d91dff77781f22d12514
parent2b178c43435569b98e71f8ddd35a56f8db301232 (diff)
downloadATCD-c7dda1d1fba745c731b9f174e6dbbf00a5eb9101.tar.gz
ChangeLogTag:Sun Jan 11 10:55:04 CST 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
-rw-r--r--TAO/ChangeLog-98c614
-rw-r--r--TAO/TAO-INSTALL.html6
-rw-r--r--TAO/TAO_IDL/Makefile69
-rw-r--r--TAO/TAO_IDL/be/be_interface.cpp11
-rw-r--r--TAO/TAO_IDL/be/be_state_argument.cpp2
-rw-r--r--TAO/TAO_IDL/driver/Makefile45
-rw-r--r--TAO/TAO_IDL/driver/drv_main.cpp256
-rw-r--r--TAO/TAO_IDL/fe/y.tab.cpp7
-rw-r--r--TAO/orbsvcs/Dump_Schedule/Dump_Schedule.dsp4
-rw-r--r--TAO/orbsvcs/Event_Service/Event_Service.dsp2
-rw-r--r--TAO/orbsvcs/Naming_Service/CosNaming_i.cpp222
-rw-r--r--TAO/orbsvcs/Naming_Service/NS_CosNaming.cpp23
-rw-r--r--TAO/orbsvcs/Naming_Service/Naming_Service.dsp2
-rw-r--r--TAO/orbsvcs/Scheduling_Service/Scheduling_Service.dsp2
-rw-r--r--TAO/orbsvcs/tests/Event_Latency/Event_Latency.dsp2
-rw-r--r--TAO/performance-tests/Cubit/TAO/MT_Cubit/Task_Client.cpp5
-rw-r--r--TAO/tao/Makefile6
-rw-r--r--TAO/tao/connect.h41
-rw-r--r--TAO/tao/corba.h2
-rw-r--r--TAO/tao/giop.cpp14
-rw-r--r--TAO/tao/giop.h6
-rw-r--r--TAO/tao/giop.i5
-rw-r--r--TAO/tao/orbobj.cpp1
-rw-r--r--TAO/tao/poa.h74
-rw-r--r--TAO/tao/varout.h4
-rw-r--r--TAO/tests/Cubit/TAO/IDL_Cubit/clnt.cpp14
-rw-r--r--TAO/tests/Cubit/TAO/MT_Cubit/Task_Client.cpp5
27 files changed, 644 insertions, 800 deletions
diff --git a/TAO/ChangeLog-98c b/TAO/ChangeLog-98c
index 08bbf6dc316..81b195e69f5 100644
--- a/TAO/ChangeLog-98c
+++ b/TAO/ChangeLog-98c
@@ -1,17 +1,23 @@
+Sun Jan 11 10:55:04 CST 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
+
+ * Merged changes from tag main_to_poa_merge_5 and
+ main_to_poa_merge_6. This late merge is risky, needs complete
+ validation before public release.
+
Sat Jan 10 22:11:47 1998 <coryan@MILONGA>
- * TAO_IDL/be_include/be_interface.h:
- * TAO_IDL/be/be_interface.cpp:
- * TAO_IDL/be/be_visitor_interface.cpp:
+ * TAO_IDL/be_include/be_interface.h:
+ * TAO_IDL/be/be_interface.cpp:
+ * TAO_IDL/be/be_visitor_interface.cpp:
Work around bug in MSVC++ 5.0 wrt inheritance from nested
classes and the constructor invocation.
Sat Jan 10 19:21:18 1998 <coryan@MILONGA>
- * TAO_IDL/tao_idl.dsp:
- * TAO_IDL/be/be_interface.cpp:
- * TAO_IDL/be_include/be_interface.h:
- * tao/orb_core.cpp:
+ * TAO_IDL/tao_idl.dsp:
+ * TAO_IDL/be/be_interface.cpp:
+ * TAO_IDL/be_include/be_interface.h:
+ * tao/orb_core.cpp:
Fixed some problems in the latest merges.
Sat Jan 10 18:06:24 1998 <coryan@MILONGA>
@@ -28,51 +34,51 @@ Sat Jan 10 16:57:42 1998 <coryan@MILONGA>
Fri Jan 9 17:58:43 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
- * TAO_IDL/be/be_array.cpp:
- * TAO_IDL/be/be_decl.cpp:
- * TAO_IDL/be/be_enum.cpp:
- * TAO_IDL/be/be_enum_val.cpp:
- * TAO_IDL/be/be_exception.cpp:
- * TAO_IDL/be/be_expression.cpp:
- * TAO_IDL/be/be_interface.cpp:
- * TAO_IDL/be/be_interface_fwd.cpp:
- * TAO_IDL/be/be_module.cpp:
- * TAO_IDL/be/be_predefined_type.cpp:
- * TAO_IDL/be/be_root.cpp:
- * TAO_IDL/be/be_scope.cpp:
- * TAO_IDL/be/be_sequence.cpp:
- * TAO_IDL/be/be_string.cpp:
- * TAO_IDL/be/be_structure.cpp:
- * TAO_IDL/be/be_type.cpp:
- * TAO_IDL/be/be_typedef.cpp:
+ * TAO_IDL/be/be_array.cpp:
+ * TAO_IDL/be/be_decl.cpp:
+ * TAO_IDL/be/be_enum.cpp:
+ * TAO_IDL/be/be_enum_val.cpp:
+ * TAO_IDL/be/be_exception.cpp:
+ * TAO_IDL/be/be_expression.cpp:
+ * TAO_IDL/be/be_interface.cpp:
+ * TAO_IDL/be/be_interface_fwd.cpp:
+ * TAO_IDL/be/be_module.cpp:
+ * TAO_IDL/be/be_predefined_type.cpp:
+ * TAO_IDL/be/be_root.cpp:
+ * TAO_IDL/be/be_scope.cpp:
+ * TAO_IDL/be/be_sequence.cpp:
+ * TAO_IDL/be/be_string.cpp:
+ * TAO_IDL/be/be_structure.cpp:
+ * TAO_IDL/be/be_type.cpp:
+ * TAO_IDL/be/be_typedef.cpp:
Minor cosmetic changes to make the main trunk changes identic to
the ones on this branch.
Thu Jan 8 15:50:59 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
- * TAO_IDL/be/be_state_operation.cpp:
+ * TAO_IDL/be/be_state_operation.cpp:
Added support for native as return type.
Thu Jan 8 13:20:11 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
- * TAO_IDL/ast/Makefile:
- * TAO_IDL/be/Makefile:
+ * TAO_IDL/ast/Makefile:
+ * TAO_IDL/be/Makefile:
Added ast_native and be_native to the list of files.
- * TAO_IDL/be_include/be_native.h:
- * TAO_IDL/be/be_native.cpp:
- * TAO_IDL/be_include/be_visitor.h:
- * TAO_IDL/be/be_visitor.cpp:
+ * TAO_IDL/be_include/be_native.h:
+ * TAO_IDL/be/be_native.cpp:
+ * TAO_IDL/be_include/be_visitor.h:
+ * TAO_IDL/be/be_visitor.cpp:
Added support for visiting be_native.
- * TAO_IDL/be_include/be_visitor_args.h:
- * TAO_IDL/be/be_visitor_args.cpp:
+ * TAO_IDL/be_include/be_visitor_args.h:
+ * TAO_IDL/be/be_visitor_args.cpp:
Added support for native and improved the implementation.
- * TAO_IDL/fe/y.tab.cpp:
+ * TAO_IDL/fe/y.tab.cpp:
Removed some includes and pragmas that cause trouble on NT.
- * TAO_IDL/be/be_type.cpp:
+ * TAO_IDL/be/be_type.cpp:
Print an error if the default implementation for write_as_return
is called.
@@ -85,7 +91,7 @@ Thu Jan 8 12:53:28 1998 Chris Cleeland <cleeland@cs.wustl.edu>
Wed Jan 7 15:09:47 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
- * TAO_IDL/fe/y.tab.cpp:
+ * TAO_IDL/fe/y.tab.cpp:
This is the actual file generated from idl.yy, thanks to the
"clone" scheme for building ACE it was lost in the previous
commits.
@@ -104,69 +110,69 @@ Wed Jan 7 14:08:41 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
Tue Jan 6 17:35:44 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
- * TAO_IDL/be/be_visitor_interface.cpp:
+ * TAO_IDL/be/be_visitor_interface.cpp:
Added several fixes for mutiple inheritance, but still needs
some work.
Tue Jan 6 15:20:13 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
- * tao/object.h:
- * tao/object.cpp:
+ * tao/object.h:
+ * tao/object.cpp:
Removed obsolete methods, they were there to support upcalls on
the server side, but now this is done on
PortableServer::ServantBase.
Tue Jan 6 14:46:27 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
- * tao/poa.h:
- * TAO_IDL/be/be_interface.cpp:
- * TAO_IDL/be/be_visitor_interface.cpp:
+ * tao/poa.h:
+ * TAO_IDL/be/be_interface.cpp:
+ * TAO_IDL/be/be_visitor_interface.cpp:
Added a _get_servant () method to the collocated classes, to
obtain access to the underlying skeleton.
Tue Jan 6 13:31:20 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
- * tao/objtable.h:
- * tao/objtable.cpp:
+ * tao/objtable.h:
+ * tao/objtable.cpp:
Fixed some problems with the PortableServer::ObjectId and
PortableServer::Servant changes.
- * tao/poa.h:
- * TAO_IDL/be/be_interface.cpp:
+ * tao/poa.h:
+ * TAO_IDL/be/be_interface.cpp:
Added a method to get the interface repository name for a
skeleton.
- * tao/encode.cpp:
+ * tao/encode.cpp:
Fixed problem on object reference enconding.
Mon Jan 05 23:41:59 1998 <coryan@MILONGA>
- * tao/objkeyC.cpp:
+ * tao/objkeyC.cpp:
The code for memory reallocation was missing, I added it back.
- * tao/iiopobj.cpp:
+ * tao/iiopobj.cpp:
Fixed bug in object key generation.
- * tao/poa.cpp:
+ * tao/poa.cpp:
More debug messages when an object is missing.
Mon Jan 05 17:46:00 1998 <coryan@MILONGA>
- * tao/connect.cpp:
- * tao/corba.h:
- * tao/corbacom.h:
- * tao/default_server.cpp:
- * tao/default_server.h:
- * tao/iiopobj.cpp:
- * tao/iiopobj.i:
- * tao/iioporb.cpp:
- * tao/orbobj.cpp:
- * tao/params.h:
- * tao/params.i:
- * tao/poa.cpp:
- * tao/poa.h:
- * tao/server_factory.cpp:
- * tao/server_factory.h:
+ * tao/connect.cpp:
+ * tao/corba.h:
+ * tao/corbacom.h:
+ * tao/default_server.cpp:
+ * tao/default_server.h:
+ * tao/iiopobj.cpp:
+ * tao/iiopobj.i:
+ * tao/iioporb.cpp:
+ * tao/orbobj.cpp:
+ * tao/params.h:
+ * tao/params.i:
+ * tao/poa.cpp:
+ * tao/poa.h:
+ * tao/server_factory.cpp:
+ * tao/server_factory.h:
The ObjectId changes were "accepted for revision" by the POA
committe, hence I'll commit them, they check them and then I'll
have to make the changes they require ;-)
@@ -183,22 +189,22 @@ Mon Jan 5 13:06:19 1998 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
Mon Jan 05 00:11:45 1998 <coryan@MILONGA>
- * tao/objtable.h:
- * tao/objtable.cpp:
+ * tao/objtable.h:
+ * tao/objtable.cpp:
New Object Table interface, in preparation for the POA needs.
Sat Jan 03 11:37:21 1998 <coryan@MILONGA>
- * TAO_IDL/be/be_visitor_args.cpp:
+ * TAO_IDL/be/be_visitor_args.cpp:
Typedefs and predefined types where unproperly handled.
Fri Jan 2 14:09:49 1998 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
- * tests/Cubit/TAO/IDL_Cubit/clnt.cpp:
+ * tests/Cubit/TAO/IDL_Cubit/clnt.cpp:
Sequences work on Solaris, even Purify gives its "Houston it's a
go", so I'm reinstating them.
- * tests/Cubit/TAO/IDL_Cubit/svr.cpp:
+ * tests/Cubit/TAO/IDL_Cubit/svr.cpp:
Minor cosmetic changes.
Fri Jan 02 08:31:32 1998 <coryan@MILONGA>
@@ -209,28 +215,28 @@ Fri Jan 02 08:31:32 1998 <coryan@MILONGA>
Thu Jan 01 15:43:43 1998 <coryan@MILONGA>
- * TAO_IDL/be/be_interface.cpp:
- * TAO_IDL/be/be_visitor_interface.cpp:
+ * TAO_IDL/be/be_interface.cpp:
+ * TAO_IDL/be/be_visitor_interface.cpp:
Generated code for collocations setup the "parent_" field
properly.
- * tao/objkeyC.h:
- * tao/corbacom.h:
+ * tao/objkeyC.h:
+ * tao/corbacom.h:
Added export macros.
- * tao/objtable.cpp:
- * tao/objtable.h:
- * tao/poa.cpp:
- * tao/poa.h:
+ * tao/objtable.cpp:
+ * tao/objtable.h:
+ * tao/poa.cpp:
+ * tao/poa.h:
Object table is based on servants now.
- * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp:
- * tests/Cubit/TAO/IDL_Cubit/server.dsp:
- * tests/Cubit/TAO/IDL_Cubit/svr.cpp:
+ * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp:
+ * tests/Cubit/TAO/IDL_Cubit/server.dsp:
+ * tests/Cubit/TAO/IDL_Cubit/svr.cpp:
Fixed to use the new POA mapping.
-
- * TAO_IDL/tao_idl.dsp:
- * tao/TAO.dsp:
+
+ * TAO_IDL/tao_idl.dsp:
+ * tao/TAO.dsp:
Added the new files to the MSVC++ project.
Tue Dec 30 16:38:42 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
@@ -238,52 +244,52 @@ Tue Dec 30 16:38:42 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
* More advances in code generation, it compiles and links now, but
won't run.
- * TAO_IDL/be/be_array.cpp:
- * TAO_IDL/be/be_enum.cpp:
- * TAO_IDL/be/be_exception.cpp:
- * TAO_IDL/be/be_interface.cpp:
- * TAO_IDL/be/be_interface_fwd.cpp:
- * TAO_IDL/be/be_predefined_type.cpp:
- * TAO_IDL/be/be_sequence.cpp:
- * TAO_IDL/be/be_string.cpp:
- * TAO_IDL/be/be_structure.cpp:
- * TAO_IDL/be/be_type.cpp:
- * TAO_IDL/be/be_typedef.cpp:
- * TAO_IDL/be/be_union.cpp:
- * TAO_IDL/be/be_visitor_args.cpp:
- * TAO_IDL/be_include/be_array.h:
- * TAO_IDL/be_include/be_enum.h:
- * TAO_IDL/be_include/be_exception.h:
- * TAO_IDL/be_include/be_interface.h:
- * TAO_IDL/be_include/be_interface_fwd.h:
- * TAO_IDL/be_include/be_predefined_type.h:
- * TAO_IDL/be_include/be_sequence.h:
- * TAO_IDL/be_include/be_string.h:
- * TAO_IDL/be_include/be_structure.h:
- * TAO_IDL/be_include/be_type.h:
- * TAO_IDL/be_include/be_typedef.h:
- * TAO_IDL/be_include/be_union.h:
+ * TAO_IDL/be/be_array.cpp:
+ * TAO_IDL/be/be_enum.cpp:
+ * TAO_IDL/be/be_exception.cpp:
+ * TAO_IDL/be/be_interface.cpp:
+ * TAO_IDL/be/be_interface_fwd.cpp:
+ * TAO_IDL/be/be_predefined_type.cpp:
+ * TAO_IDL/be/be_sequence.cpp:
+ * TAO_IDL/be/be_string.cpp:
+ * TAO_IDL/be/be_structure.cpp:
+ * TAO_IDL/be/be_type.cpp:
+ * TAO_IDL/be/be_typedef.cpp:
+ * TAO_IDL/be/be_union.cpp:
+ * TAO_IDL/be/be_visitor_args.cpp:
+ * TAO_IDL/be_include/be_array.h:
+ * TAO_IDL/be_include/be_enum.h:
+ * TAO_IDL/be_include/be_exception.h:
+ * TAO_IDL/be_include/be_interface.h:
+ * TAO_IDL/be_include/be_interface_fwd.h:
+ * TAO_IDL/be_include/be_predefined_type.h:
+ * TAO_IDL/be_include/be_sequence.h:
+ * TAO_IDL/be_include/be_string.h:
+ * TAO_IDL/be_include/be_structure.h:
+ * TAO_IDL/be_include/be_type.h:
+ * TAO_IDL/be_include/be_typedef.h:
+ * TAO_IDL/be_include/be_union.h:
Added methods to be_type to generate the return types; this
time without any switches, just visitors and virtual
dispatching.
- * tao/poa.cpp:
- * tao/poa.h:
+ * tao/poa.cpp:
+ * tao/poa.h:
Added the methods to lookup operations, this are TAO specific
and should have complaint names, but currently I just kept the
old names to avoid a major breakdown.
- * TAO_IDL/ast/Makefile:
- * TAO_IDL/be/Makefile:
- * TAO_IDL/driver/Makefile:
- * TAO_IDL/fe/Makefile:
- * TAO_IDL/narrow/Makefile:
- * TAO_IDL/util/Makefile:
+ * TAO_IDL/ast/Makefile:
+ * TAO_IDL/be/Makefile:
+ * TAO_IDL/driver/Makefile:
+ * TAO_IDL/fe/Makefile:
+ * TAO_IDL/narrow/Makefile:
+ * TAO_IDL/util/Makefile:
Updated dependencies.
- * TAO_IDL/be/be_visitor_interface.cpp:
- * TAO_IDL/be_include/be_visitor_interface.h:
- * TAO_IDL/be/be_interface.cpp:
+ * TAO_IDL/be/be_visitor_interface.cpp:
+ * TAO_IDL/be_include/be_visitor_interface.h:
+ * TAO_IDL/be/be_interface.cpp:
Reverted some changes (code moved from be_interface.cpp into
visitors) to avoid massive conflicts with Andy's changes.
@@ -299,84 +305,84 @@ Mon Dec 29 16:26:24 1997 Chris Cleeland <cleeland@tango.cs.wustl.edu>
Mon Dec 29 13:18:49 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
- * TAO_IDL/be/Makefile:
- * TAO_IDL/be/be_visitor.cpp:
- * TAO_IDL/be/be_visitor_args.cpp:
- * TAO_IDL/be/be_visitor_interface.cpp:
- * TAO_IDL/be_include/be_visitor.h:
- * TAO_IDL/be_include/be_visitor_args.h:
- * TAO_IDL/be_include/be_visitor_interface.h:
+ * TAO_IDL/be/Makefile:
+ * TAO_IDL/be/be_visitor.cpp:
+ * TAO_IDL/be/be_visitor_args.cpp:
+ * TAO_IDL/be/be_visitor_interface.cpp:
+ * TAO_IDL/be_include/be_visitor.h:
+ * TAO_IDL/be_include/be_visitor_args.h:
+ * TAO_IDL/be_include/be_visitor_interface.h:
Started implementation of the collocated class code generation,
using the visitor pattern; hence the new be_visitor class and
some examples of its use.
- * TAO_IDL/be_include/be_type.h:
- * TAO_IDL/be_include/be_typedef.h:
- * TAO_IDL/be/be_type.cpp:
- * TAO_IDL/be/be_typedef.cpp:
+ * TAO_IDL/be_include/be_type.h:
+ * TAO_IDL/be_include/be_typedef.h:
+ * TAO_IDL/be/be_type.cpp:
+ * TAO_IDL/be/be_typedef.cpp:
Added method to obtain the node type for the most "unaliased"
type though a typedef chain. This is needed in several points
for code generation.
- * TAO_IDL/be/be_interface.cpp:
+ * TAO_IDL/be/be_interface.cpp:
Implemented the collocated class generation using visitors,
ditto for (part of) the main class.
- * TAO_IDL/util/utl_identifier.cpp:
+ * TAO_IDL/util/utl_identifier.cpp:
Fixed memory deallocation problem. The string was copied using
ACE_OS::strdup(), but deleted using operator delete[].
- * TAO_IDL/be/be_argument.cpp:
- * TAO_IDL/be/be_array.cpp:
- * TAO_IDL/be/be_attribute.cpp:
- * TAO_IDL/be/be_constant.cpp:
- * TAO_IDL/be/be_decl.cpp:
- * TAO_IDL/be/be_enum.cpp:
- * TAO_IDL/be/be_enum_val.cpp:
- * TAO_IDL/be/be_exception.cpp:
- * TAO_IDL/be/be_expression.cpp:
- * TAO_IDL/be/be_field.cpp:
- * TAO_IDL/be/be_interface.cpp:
- * TAO_IDL/be/be_interface_fwd.cpp:
- * TAO_IDL/be/be_module.cpp:
- * TAO_IDL/be/be_operation.cpp:
- * TAO_IDL/be/be_predefined_type.cpp:
- * TAO_IDL/be/be_root.cpp:
- * TAO_IDL/be/be_scope.cpp:
- * TAO_IDL/be/be_sequence.cpp:
- * TAO_IDL/be/be_string.cpp:
- * TAO_IDL/be/be_structure.cpp:
- * TAO_IDL/be/be_type.cpp:
- * TAO_IDL/be/be_typedef.cpp:
- * TAO_IDL/be/be_union.cpp:
- * TAO_IDL/be/be_union_branch.cpp:
- * TAO_IDL/be/be_union_label.cpp:
- * TAO_IDL/be_include/be.h:
- * TAO_IDL/be_include/be_argument.h:
- * TAO_IDL/be_include/be_array.h:
- * TAO_IDL/be_include/be_attribute.h:
- * TAO_IDL/be_include/be_constant.h:
- * TAO_IDL/be_include/be_decl.h:
- * TAO_IDL/be_include/be_enum.h:
- * TAO_IDL/be_include/be_enum_val.h:
- * TAO_IDL/be_include/be_exception.h:
- * TAO_IDL/be_include/be_expression.h:
- * TAO_IDL/be_include/be_field.h:
- * TAO_IDL/be_include/be_interface.h:
- * TAO_IDL/be_include/be_interface_fwd.h:
- * TAO_IDL/be_include/be_module.h:
- * TAO_IDL/be_include/be_operation.h:
- * TAO_IDL/be_include/be_predefined_type.h:
- * TAO_IDL/be_include/be_root.h:
- * TAO_IDL/be_include/be_scope.h:
- * TAO_IDL/be_include/be_sequence.h:
- * TAO_IDL/be_include/be_string.h:
- * TAO_IDL/be_include/be_structure.h:
- * TAO_IDL/be_include/be_type.h:
- * TAO_IDL/be_include/be_typedef.h:
- * TAO_IDL/be_include/be_union.h:
- * TAO_IDL/be_include/be_union_branch.h:
- * TAO_IDL/be_include/be_union_label.h:
+ * TAO_IDL/be/be_argument.cpp:
+ * TAO_IDL/be/be_array.cpp:
+ * TAO_IDL/be/be_attribute.cpp:
+ * TAO_IDL/be/be_constant.cpp:
+ * TAO_IDL/be/be_decl.cpp:
+ * TAO_IDL/be/be_enum.cpp:
+ * TAO_IDL/be/be_enum_val.cpp:
+ * TAO_IDL/be/be_exception.cpp:
+ * TAO_IDL/be/be_expression.cpp:
+ * TAO_IDL/be/be_field.cpp:
+ * TAO_IDL/be/be_interface.cpp:
+ * TAO_IDL/be/be_interface_fwd.cpp:
+ * TAO_IDL/be/be_module.cpp:
+ * TAO_IDL/be/be_operation.cpp:
+ * TAO_IDL/be/be_predefined_type.cpp:
+ * TAO_IDL/be/be_root.cpp:
+ * TAO_IDL/be/be_scope.cpp:
+ * TAO_IDL/be/be_sequence.cpp:
+ * TAO_IDL/be/be_string.cpp:
+ * TAO_IDL/be/be_structure.cpp:
+ * TAO_IDL/be/be_type.cpp:
+ * TAO_IDL/be/be_typedef.cpp:
+ * TAO_IDL/be/be_union.cpp:
+ * TAO_IDL/be/be_union_branch.cpp:
+ * TAO_IDL/be/be_union_label.cpp:
+ * TAO_IDL/be_include/be.h:
+ * TAO_IDL/be_include/be_argument.h:
+ * TAO_IDL/be_include/be_array.h:
+ * TAO_IDL/be_include/be_attribute.h:
+ * TAO_IDL/be_include/be_constant.h:
+ * TAO_IDL/be_include/be_decl.h:
+ * TAO_IDL/be_include/be_enum.h:
+ * TAO_IDL/be_include/be_enum_val.h:
+ * TAO_IDL/be_include/be_exception.h:
+ * TAO_IDL/be_include/be_expression.h:
+ * TAO_IDL/be_include/be_field.h:
+ * TAO_IDL/be_include/be_interface.h:
+ * TAO_IDL/be_include/be_interface_fwd.h:
+ * TAO_IDL/be_include/be_module.h:
+ * TAO_IDL/be_include/be_operation.h:
+ * TAO_IDL/be_include/be_predefined_type.h:
+ * TAO_IDL/be_include/be_root.h:
+ * TAO_IDL/be_include/be_scope.h:
+ * TAO_IDL/be_include/be_sequence.h:
+ * TAO_IDL/be_include/be_string.h:
+ * TAO_IDL/be_include/be_structure.h:
+ * TAO_IDL/be_include/be_type.h:
+ * TAO_IDL/be_include/be_typedef.h:
+ * TAO_IDL/be_include/be_union.h:
+ * TAO_IDL/be_include/be_union_branch.h:
+ * TAO_IDL/be_include/be_union_label.h:
Added the accept() method for the vistor pattern
implementation.
@@ -428,105 +434,105 @@ Wed Dec 24 15:50:38 1997 Chris Cleeland <cleeland@tango.cs.wustl.edu>
Tue Dec 23 12:00:38 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
- * TAO-INSTALL.html:
- * VERSION:
- * Benchmark/benchmark/Makefile:
- * TAO_IDL/be/be_array.cpp:
- * TAO_IDL/be/be_attribute.cpp:
- * TAO_IDL/be/be_codegen.cpp:
- * TAO_IDL/be/be_decl.cpp:
- * TAO_IDL/be/be_exception.cpp:
- * TAO_IDL/be/be_operation.cpp:
- * TAO_IDL/be/be_scope.cpp:
- * TAO_IDL/be/be_sequence.cpp:
- * TAO_IDL/be/be_state.cpp:
- * TAO_IDL/be/be_state_argument.cpp:
- * TAO_IDL/be/be_state_exception.cpp:
- * TAO_IDL/be/be_state_operation.cpp:
- * TAO_IDL/be/be_state_sequence.cpp:
- * TAO_IDL/be/be_state_structure.cpp:
- * TAO_IDL/be/be_state_typedef.cpp:
- * TAO_IDL/be/be_state_union.cpp:
- * TAO_IDL/be/be_type.cpp:
- * TAO_IDL/be/be_union.cpp:
- * TAO_IDL/be/be_union_branch.cpp:
- * TAO_IDL/be_include/be_array.h:
- * TAO_IDL/be_include/be_codegen.h:
- * TAO_IDL/be_include/be_decl.h:
- * TAO_IDL/be_include/be_scope.h:
- * TAO_IDL/be_include/be_sequence.h:
- * TAO_IDL/be_include/be_state.h:
- * TAO_IDL/narrow/narrow.cpp:
- * docs/Options.html:
- * docs/components.html:
- * docs/configurations.html:
- * docs/index.html:
- * docs/orbsvcs.html:
- * docs/releasenotes/index.html:
- * orbsvcs/README:
- * orbsvcs/Dump_Schedule/Dump_Schedule.cpp:
- * orbsvcs/Dump_Schedule/Makefile:
- * orbsvcs/Event_Service/Dispatching_Modules.cpp:
- * orbsvcs/Event_Service/Dispatching_Modules.i:
- * orbsvcs/Event_Service/Event_Channel.cpp:
- * orbsvcs/Event_Service/Event_Channel.i:
- * orbsvcs/Event_Service/Event_Service.cpp:
- * orbsvcs/Event_Service/Makefile:
- * orbsvcs/Event_Service/RT_Task.cpp:
- * orbsvcs/Event_Service/ReactorTask.cpp:
- * orbsvcs/Naming_Service/CosNaming_i.cpp:
- * orbsvcs/Naming_Service/Makefile:
- * orbsvcs/Scheduling_Service/Config_Scheduler.cpp:
- * orbsvcs/Scheduling_Service/Config_Scheduler.h:
- * orbsvcs/Scheduling_Service/Makefile:
- * orbsvcs/Scheduling_Service/Scheduling_Service.cpp:
- * orbsvcs/orbsvcs/Makefile:
- * orbsvcs/orbsvcs/RtecEventChannelAdmin.idl:
- * orbsvcs/orbsvcs/Runtime_Scheduler.cpp:
- * orbsvcs/orbsvcs/Runtime_Scheduler.h:
- * orbsvcs/orbsvcs/Scheduler_Factory.cpp:
- * orbsvcs/tests/Event_Latency/Event_Latency.cpp:
- * orbsvcs/tests/Event_Latency/Makefile:
- * orbsvcs/tests/Logger/Makefile:
- * orbsvcs/tests/Logger/clnt.cpp:
- * orbsvcs/tests/Simple_Naming/Makefile:
- * tao/Makefile:
- * tao/Timeprobe.cpp:
- * tao/corba.h:
- * tao/corbacom.cpp:
- * tao/deep_free.cpp:
- * tao/encode.cpp:
- * tao/except.cpp:
- * tao/except.h:
- * tao/giop.cpp:
- * tao/invoke.cpp:
- * tao/managed_types.cpp:
- * tao/managed_types.h:
- * tao/managed_types.i:
- * tao/object.i:
- * tao/orb_core.cpp:
- * tao/request.cpp:
- * tao/tao_internals.cpp:
- * tests/Cubit/TAO/IDL_Cubit/clnt.cpp:
- * tests/Cubit/TAO/IDL_Cubit/clnt.h:
- * tests/Cubit/TAO/MT_Cubit/client/Task_Client.cpp:
- * tests/Cubit/TAO/MT_Cubit/client/Task_Client.h:
- * tests/Cubit/TAO/MT_Cubit/client/client.cpp:
- * tests/Cubit/TAO/MT_Cubit/client/cubit.idl:
- * tests/Cubit/TAO/MT_Cubit/server/cubit.h:
- * tests/Cubit/TAO/MT_Cubit/server/cubit.idl:
- * tests/Cubit/TAO/MT_Cubit/server/cubit_i.cpp:
- * tests/Cubit/TAO/MT_Cubit/server/cubit_i.h:
- * tests/Cubit/TAO/MT_Cubit/server/method_db.i:
- * tests/Cubit/TAO/MT_Cubit/server/svr.cpp:
+ * TAO-INSTALL.html:
+ * VERSION:
+ * Benchmark/benchmark/Makefile:
+ * TAO_IDL/be/be_array.cpp:
+ * TAO_IDL/be/be_attribute.cpp:
+ * TAO_IDL/be/be_codegen.cpp:
+ * TAO_IDL/be/be_decl.cpp:
+ * TAO_IDL/be/be_exception.cpp:
+ * TAO_IDL/be/be_operation.cpp:
+ * TAO_IDL/be/be_scope.cpp:
+ * TAO_IDL/be/be_sequence.cpp:
+ * TAO_IDL/be/be_state.cpp:
+ * TAO_IDL/be/be_state_argument.cpp:
+ * TAO_IDL/be/be_state_exception.cpp:
+ * TAO_IDL/be/be_state_operation.cpp:
+ * TAO_IDL/be/be_state_sequence.cpp:
+ * TAO_IDL/be/be_state_structure.cpp:
+ * TAO_IDL/be/be_state_typedef.cpp:
+ * TAO_IDL/be/be_state_union.cpp:
+ * TAO_IDL/be/be_type.cpp:
+ * TAO_IDL/be/be_union.cpp:
+ * TAO_IDL/be/be_union_branch.cpp:
+ * TAO_IDL/be_include/be_array.h:
+ * TAO_IDL/be_include/be_codegen.h:
+ * TAO_IDL/be_include/be_decl.h:
+ * TAO_IDL/be_include/be_scope.h:
+ * TAO_IDL/be_include/be_sequence.h:
+ * TAO_IDL/be_include/be_state.h:
+ * TAO_IDL/narrow/narrow.cpp:
+ * docs/Options.html:
+ * docs/components.html:
+ * docs/configurations.html:
+ * docs/index.html:
+ * docs/orbsvcs.html:
+ * docs/releasenotes/index.html:
+ * orbsvcs/README:
+ * orbsvcs/Dump_Schedule/Dump_Schedule.cpp:
+ * orbsvcs/Dump_Schedule/Makefile:
+ * orbsvcs/Event_Service/Dispatching_Modules.cpp:
+ * orbsvcs/Event_Service/Dispatching_Modules.i:
+ * orbsvcs/Event_Service/Event_Channel.cpp:
+ * orbsvcs/Event_Service/Event_Channel.i:
+ * orbsvcs/Event_Service/Event_Service.cpp:
+ * orbsvcs/Event_Service/Makefile:
+ * orbsvcs/Event_Service/RT_Task.cpp:
+ * orbsvcs/Event_Service/ReactorTask.cpp:
+ * orbsvcs/Naming_Service/CosNaming_i.cpp:
+ * orbsvcs/Naming_Service/Makefile:
+ * orbsvcs/Scheduling_Service/Config_Scheduler.cpp:
+ * orbsvcs/Scheduling_Service/Config_Scheduler.h:
+ * orbsvcs/Scheduling_Service/Makefile:
+ * orbsvcs/Scheduling_Service/Scheduling_Service.cpp:
+ * orbsvcs/orbsvcs/Makefile:
+ * orbsvcs/orbsvcs/RtecEventChannelAdmin.idl:
+ * orbsvcs/orbsvcs/Runtime_Scheduler.cpp:
+ * orbsvcs/orbsvcs/Runtime_Scheduler.h:
+ * orbsvcs/orbsvcs/Scheduler_Factory.cpp:
+ * orbsvcs/tests/Event_Latency/Event_Latency.cpp:
+ * orbsvcs/tests/Event_Latency/Makefile:
+ * orbsvcs/tests/Logger/Makefile:
+ * orbsvcs/tests/Logger/clnt.cpp:
+ * orbsvcs/tests/Simple_Naming/Makefile:
+ * tao/Makefile:
+ * tao/Timeprobe.cpp:
+ * tao/corba.h:
+ * tao/corbacom.cpp:
+ * tao/deep_free.cpp:
+ * tao/encode.cpp:
+ * tao/except.cpp:
+ * tao/except.h:
+ * tao/giop.cpp:
+ * tao/invoke.cpp:
+ * tao/managed_types.cpp:
+ * tao/managed_types.h:
+ * tao/managed_types.i:
+ * tao/object.i:
+ * tao/orb_core.cpp:
+ * tao/request.cpp:
+ * tao/tao_internals.cpp:
+ * tests/Cubit/TAO/IDL_Cubit/clnt.cpp:
+ * tests/Cubit/TAO/IDL_Cubit/clnt.h:
+ * tests/Cubit/TAO/MT_Cubit/client/Task_Client.cpp:
+ * tests/Cubit/TAO/MT_Cubit/client/Task_Client.h:
+ * tests/Cubit/TAO/MT_Cubit/client/client.cpp:
+ * tests/Cubit/TAO/MT_Cubit/client/cubit.idl:
+ * tests/Cubit/TAO/MT_Cubit/server/cubit.h:
+ * tests/Cubit/TAO/MT_Cubit/server/cubit.idl:
+ * tests/Cubit/TAO/MT_Cubit/server/cubit_i.cpp:
+ * tests/Cubit/TAO/MT_Cubit/server/cubit_i.h:
+ * tests/Cubit/TAO/MT_Cubit/server/method_db.i:
+ * tests/Cubit/TAO/MT_Cubit/server/svr.cpp:
Merged in the changes between revisions main_to_poa_merge_1 and
main_to_poa_merge_2.
The only conflicts were:
- + ChangeLog:
+ + ChangeLog:
removed all the main truck comments and added the one you are
reading just now.
- + tests/Cubit/TAO/MT_Cubit/client/Makefile:
- + tests/Cubit/TAO/MT_Cubit/client/Makefile:
+ + tests/Cubit/TAO/MT_Cubit/client/Makefile:
+ + tests/Cubit/TAO/MT_Cubit/client/Makefile:
Left the branch revision, it included the dependencies and had
correct syntax.
+ tao/poa.cpp:
@@ -535,19 +541,19 @@ Tue Dec 23 12:00:38 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
Wed Dec 17 02:11:11 1997 Chris Cleeland <cleeland@tango.cs.wustl.edu>
- * tao/poa.h:
- * tao/poa.cpp:
- * tao/orbobj.h:
- * tao/orbobj.cpp:
- * tao/objkeyC.i:
- * tao/objkeyC.h:
- * tao/object.h:
- * tao/iiopobj.h:
- * tao/iiopobj.cpp:
- * tao/decode.cpp:
- * tao/corbacom.h:
- * tao/corba.h:
- * tao/any.cpp:
+ * tao/poa.h:
+ * tao/poa.cpp:
+ * tao/orbobj.h:
+ * tao/orbobj.cpp:
+ * tao/objkeyC.i:
+ * tao/objkeyC.h:
+ * tao/object.h:
+ * tao/iiopobj.h:
+ * tao/iiopobj.cpp:
+ * tao/decode.cpp:
+ * tao/corbacom.h:
+ * tao/corba.h:
+ * tao/any.cpp:
All affected by changes to support interfaces required by the new
POA, specifically CORBA::Object::key() and
CORBA::ORB::key_to_object(). It does not compile now, and seems
@@ -555,20 +561,20 @@ Wed Dec 17 02:11:11 1997 Chris Cleeland <cleeland@tango.cs.wustl.edu>
Mon Dec 15 19:39:20 1997 Chris Cleeland <cleeland@cs.wustl.edu>
- * TAO_IDL/be/Makefile:
- * TAO_IDL/be/be_codegen.cpp:
- * TAO_IDL/be/be_exception.cpp:
- * TAO_IDL/be/be_interface.cpp:
- * TAO_IDL/be/be_state.cpp:
- * TAO_IDL/be/be_state_attribute.cpp:
- * TAO_IDL/be/be_state_exception.cpp:
- * TAO_IDL/be/be_union_branch.cpp:
- * TAO_IDL/be_include/be_state.h:
- * docs/releasenotes/orbcore.html:
- * docs/releasenotes/index.html:
+ * TAO_IDL/be/Makefile:
+ * TAO_IDL/be/be_codegen.cpp:
+ * TAO_IDL/be/be_exception.cpp:
+ * TAO_IDL/be/be_interface.cpp:
+ * TAO_IDL/be/be_state.cpp:
+ * TAO_IDL/be/be_state_attribute.cpp:
+ * TAO_IDL/be/be_state_exception.cpp:
+ * TAO_IDL/be/be_union_branch.cpp:
+ * TAO_IDL/be_include/be_state.h:
+ * docs/releasenotes/orbcore.html:
+ * docs/releasenotes/index.html:
* orbsvcs/Naming_Service.cpp:
- * tao/iiopobj.h:
- * tao/except.h:
+ * tao/iiopobj.h:
+ * tao/except.h:
* tao/except.cpp: Merged in changes from the main trunk.
* tests/Thruput_test/Makefile: Updated to use taoconfig.mk.
diff --git a/TAO/TAO-INSTALL.html b/TAO/TAO-INSTALL.html
index 296b5c38c92..6c92bda8c29 100644
--- a/TAO/TAO-INSTALL.html
+++ b/TAO/TAO-INSTALL.html
@@ -35,7 +35,7 @@ undefined and most likely unpredictable and erroneous results. <P>
in the <a href="../ACE-INSTALL.html">ACE installation
notes</a>.</li> <P>
- <li>Build and install ACE under $ACE_ROOT.</li> <P>
+ <li>Build and install ACE under <CODE>$ACE_ROOT</CODE>.</li> <P>
<UL>
<li>Change directory to <code>$ACE_ROOT/ace</code> and execute
@@ -43,9 +43,9 @@ undefined and most likely unpredictable and erroneous results. <P>
</UL>
<li>Set <code>TAO_ROOT</code> environment variable to
- $ACE_ROOT/TAO. <P>
+ <CODE>$ACE_ROOT/TAO</CODE>. <P>
- <li>Build and install the TAO release under $TAO_ROOT.</li> <P>
+ <li>Build and install the TAO release under <CODE>$TAO_ROOT</CODE>.</li> <P>
<UL>
<li>Change directory to <code>$TAO_ROOT/tao</code> and
diff --git a/TAO/TAO_IDL/Makefile b/TAO/TAO_IDL/Makefile
index 8f8e2dc7b0c..78ad82cc569 100644
--- a/TAO/TAO_IDL/Makefile
+++ b/TAO/TAO_IDL/Makefile
@@ -8,6 +8,13 @@
# Local macros
#----------------------------------------------------------------------------
+BIN = tao_idl
+LSRC = $(addsuffix .cpp,$(BIN))
+LDLIBS = -ldrv -lfe -last -ltao_idl_util -lnarrow -lbe -lACE
+BUILD = $(BIN)
+
+DIRS = driver fe ast util narrow be
+
#----------------------------------------------------------------------------
# Include macros and targets
#----------------------------------------------------------------------------
@@ -15,36 +22,31 @@
include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
ifndef VXWORKS
include $(ACE_ROOT)/include/makeinclude/macros.GNU
- include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU
include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
include $(ACE_ROOT)/include/makeinclude/rules.nested.GNU
- include $(ACE_ROOT)/include/makeinclude/rules.nolocal.GNU
+ include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+ include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
endif # VXWORKS
-INFO =
-# LIBS = -lACE
-DIRS = driver fe ast util narrow be
-BIN = tao_idl
-TAOLIBS = -L$(ACE_ROOT)/ace -ldrv -lfe -last -ltao_idl_util -lnarrow -lbe -lACE
-CLONE =
-BUILD = $(VBIN)
#----------------------------------------------------------------------------
# Local targets
#----------------------------------------------------------------------------
ifdef VXWORKS
-all clean realclean:
@echo The IDL compiler won\'t run or build for VxWorks.
else
-all:
- $(PRELINK) $(CXX) $(CFLAGS) -o $(BIN) $(TAOLIBS) $(LIBS)
+
+IDL_CFE_VERSION = \"1.3.0\"
+CPPFLAGS += -Iinclude -Ibe_include -DCPP_LOCATION=\"$(CXX)\" \
+ -DIDL_CFE_VERSION=$(IDL_CFE_VERSION)
clean:
rm -f tao_idl
realclean:
rm -f tao_idl TAGS
+
endif # VXWORKS
tags:
@@ -52,3 +54,46 @@ tags:
etags -C include/*.h be_include/*.h
etags -a ast/*.cpp util/*.cpp narrow/*.cpp \
driver/*.cpp fe/*.cpp be/*.cpp
+
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+.obj/tao_idl.o .shobj/tao_idl.: tao_idl.cpp include/idl.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/Version.h \
+ $(ACE_ROOT)/ace/ACE.i \
+ include/intlmacros.h include/idl_narrow.h include/idl_defines.h \
+ include/idl_fwd.h include/idl_bool.h include/utl_string.h \
+ include/utl_identifier.h include/ast.h include/utl_scoped_name.h \
+ include/ast_decl.h include/ast_expression.h include/utl_scope.h \
+ include/ast_type.h include/ast_concrete_type.h \
+ include/ast_predefined_type.h include/ast_module.h include/ast_root.h \
+ include/ast_interface.h include/ast_interface_fwd.h \
+ include/ast_structure.h include/ast_exception.h include/ast_enum.h \
+ include/ast_operation.h include/utl_list.h include/ast_field.h \
+ include/ast_argument.h include/ast_attribute.h include/ast_union.h \
+ include/ast_union_branch.h include/ast_union_label.h \
+ include/ast_constant.h include/ast_enum_val.h include/ast_array.h \
+ include/ast_sequence.h include/ast_string.h include/ast_typedef.h \
+ include/ast_native.h include/utl_strlist.h include/utl_exprlist.h \
+ include/ast_generator.h include/util.h include/utl_stack.h \
+ include/utl_idlist.h include/utl_exceptlist.h include/utl_namelist.h \
+ include/utl_labellist.h include/utl_decllist.h include/idl_global.h \
+ include/utl_error.h include/utl_indenter.h include/idl_extern.h \
+ include/fe_extern.h include/be_extern.h include/drv_extern.h \
+ include/ast_extern.h include/nr_extern.h include/global_extern.h \
+ include/drv_private.h include/drv_link.h
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/TAO/TAO_IDL/be/be_interface.cpp b/TAO/TAO_IDL/be/be_interface.cpp
index a469e5e8469..cad26dc1831 100644
--- a/TAO/TAO_IDL/be/be_interface.cpp
+++ b/TAO/TAO_IDL/be/be_interface.cpp
@@ -81,7 +81,7 @@ be_interface::compute_coll_name (void)
// Reserve enough room for the "POA_" prefix, the "_tao_collocated_"
// prefix and the local name and the (optional) "::"
int namelen = sizeof (collocated) + sizeof (poa);
-
+
UTL_IdListActiveIterator *i;
ACE_NEW (i, UTL_IdListActiveIterator (this->name ()));
while (!i->is_done ())
@@ -107,7 +107,7 @@ be_interface::compute_coll_name (void)
// Increase right away, so we can test for the final component
// in the loop.
i->next ();
-
+
// We add the POA_ preffix only if the first component is not
// the global scope...
if (ACE_OS::strcmp (item, "") != 0)
@@ -690,7 +690,10 @@ int be_interface::gen_server_header (void)
{
*sh << ", public virtual ";
intf = be_interface::narrow_from_decl (inherits ()[i]);
- *sh << intf->full_skel_name (); // dump the scoped name
+ *sh << intf->relative_skel_name (this->full_skel_name ()); // dump
+ // the
+ // scoped
+ // name
} // end of for loop
}
else
@@ -949,7 +952,7 @@ be_interface::gen_server_inline (void)
*si << "{\n";
*si << "}\n";
-
+
*si << "ACE_INLINE " << this->name () << "*\n"
<< this->full_skel_name () << "::_this (CORBA_Environment&)\n"
<< "{\n";
diff --git a/TAO/TAO_IDL/be/be_state_argument.cpp b/TAO/TAO_IDL/be/be_state_argument.cpp
index 47b2cb8c287..efefcc61f4c 100644
--- a/TAO/TAO_IDL/be/be_state_argument.cpp
+++ b/TAO/TAO_IDL/be/be_state_argument.cpp
@@ -2242,7 +2242,7 @@ be_state_argument::gen_code (be_type *bt, be_decl *d, be_type *type)
break;
case TAO_CodeGen::TAO_ARGUMENT_CS:
case TAO_CodeGen::TAO_ARGUMENT_SH:
- *os << bt->name () << arg->local_name () << ", ";
+ *os << bt->name () << " " << arg->local_name () << ", ";
break;
case TAO_CodeGen::TAO_ARGUMENT_UPCALL_SS:
case TAO_CodeGen::TAO_ARGUMENT_DOCALL_CS:
diff --git a/TAO/TAO_IDL/driver/Makefile b/TAO/TAO_IDL/driver/Makefile
index 1f414b5a0d2..ae9aafdfd3d 100644
--- a/TAO/TAO_IDL/driver/Makefile
+++ b/TAO/TAO_IDL/driver/Makefile
@@ -14,7 +14,6 @@ IDL_CFE_VERSION = \"1.3.0\"
DRIVER_FILES = \
drv_init \
drv_private \
- drv_main \
drv_args \
drv_fork \
drv_link \
@@ -150,50 +149,6 @@ $(LOBJS): $(LHDRS)
../include/fe_extern.h ../include/be_extern.h ../include/drv_extern.h \
../include/ast_extern.h ../include/nr_extern.h \
../include/global_extern.h ../include/drv_private.h
-.obj/drv_main.o .shobj/drv_main.so: drv_main.cpp ../include/idl.h \
- $(ACE_ROOT)/ace/ACE.h \
- $(ACE_ROOT)/ace/OS.h \
- $(ACE_ROOT)/ace/inc_user_config.h \
- $(ACE_ROOT)/ace/config.h \
- $(ACE_ROOT)/ace/streams.h \
- $(ACE_ROOT)/ace/Basic_Types.h \
- $(ACE_ROOT)/ace/Basic_Types.i \
- $(ACE_ROOT)/ace/OS.i \
- $(ACE_ROOT)/ace/Trace.h \
- $(ACE_ROOT)/ace/Log_Msg.h \
- $(ACE_ROOT)/ace/Log_Record.h \
- $(ACE_ROOT)/ace/Log_Priority.h \
- $(ACE_ROOT)/ace/Log_Record.i \
- $(ACE_ROOT)/ace/Version.h \
- $(ACE_ROOT)/ace/ACE.i \
- ../include/intlmacros.h ../include/idl_narrow.h \
- ../include/idl_defines.h ../include/idl_fwd.h ../include/idl_bool.h \
- ../include/utl_string.h ../include/utl_identifier.h ../include/ast.h \
- ../include/utl_scoped_name.h ../include/ast_decl.h \
- ../include/ast_expression.h ../include/utl_scope.h \
- ../include/ast_type.h ../include/ast_concrete_type.h \
- ../include/ast_predefined_type.h ../include/ast_module.h \
- ../include/ast_root.h ../include/ast_interface.h \
- ../include/ast_interface_fwd.h ../include/ast_structure.h \
- ../include/ast_exception.h ../include/ast_enum.h \
- ../include/ast_operation.h ../include/utl_list.h \
- ../include/ast_field.h ../include/ast_argument.h \
- ../include/ast_attribute.h ../include/ast_union.h \
- ../include/ast_union_branch.h ../include/ast_union_label.h \
- ../include/ast_constant.h ../include/ast_enum_val.h \
- ../include/ast_array.h ../include/ast_sequence.h \
- ../include/ast_string.h ../include/ast_typedef.h \
- ../include/ast_native.h ../include/utl_strlist.h \
- ../include/utl_exprlist.h ../include/ast_generator.h \
- ../include/util.h ../include/utl_stack.h ../include/utl_idlist.h \
- ../include/utl_exceptlist.h ../include/utl_namelist.h \
- ../include/utl_labellist.h ../include/utl_decllist.h \
- ../include/idl_global.h ../include/utl_error.h \
- ../include/utl_indenter.h ../include/idl_extern.h \
- ../include/fe_extern.h ../include/be_extern.h ../include/drv_extern.h \
- ../include/ast_extern.h ../include/nr_extern.h \
- ../include/global_extern.h ../include/drv_private.h \
- ../include/drv_link.h
.obj/drv_args.o .shobj/drv_args.so: drv_args.cpp ../include/idl.h \
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
diff --git a/TAO/TAO_IDL/driver/drv_main.cpp b/TAO/TAO_IDL/driver/drv_main.cpp
deleted file mode 100644
index 9cd81643878..00000000000
--- a/TAO/TAO_IDL/driver/drv_main.cpp
+++ /dev/null
@@ -1,256 +0,0 @@
-/*
-
-COPYRIGHT
-
-Copyright 1992, 1993, 1994 Sun Microsystems, Inc. Printed in the United
-States of America. All Rights Reserved.
-
-This product is protected by copyright and distributed under the following
-license restricting its use.
-
-The Interface Definition Language Compiler Front End (CFE) is made
-available for your use provided that you include this license and copyright
-notice on all media and documentation and the software program in which
-this product is incorporated in whole or part. You may copy and extend
-functionality (but may not remove functionality) of the Interface
-Definition Language CFE without charge, but you are not authorized to
-license or distribute it to anyone else except as part of a product or
-program developed by you or with the express written consent of Sun
-Microsystems, Inc. ("Sun").
-
-The names of Sun Microsystems, Inc. and any of its subsidiaries or
-affiliates may not be used in advertising or publicity pertaining to
-distribution of Interface Definition Language CFE as permitted herein.
-
-This license is effective until terminated by Sun for failure to comply
-with this license. Upon termination, you shall destroy or return all code
-and documentation for the Interface Definition Language CFE.
-
-INTERFACE DEFINITION LANGUAGE CFE IS PROVIDED AS IS WITH NO WARRANTIES OF
-ANY KIND INCLUDING THE WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS
-FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR ARISING FROM A COURSE OF
-DEALING, USAGE OR TRADE PRACTICE.
-
-INTERFACE DEFINITION LANGUAGE CFE IS PROVIDED WITH NO SUPPORT AND WITHOUT
-ANY OBLIGATION ON THE PART OF Sun OR ANY OF ITS SUBSIDIARIES OR AFFILIATES
-TO ASSIST IN ITS USE, CORRECTION, MODIFICATION OR ENHANCEMENT.
-
-SUN OR ANY OF ITS SUBSIDIARIES OR AFFILIATES SHALL HAVE NO LIABILITY WITH
-RESPECT TO THE INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY
-INTERFACE DEFINITION LANGUAGE CFE OR ANY PART THEREOF.
-
-IN NO EVENT WILL SUN OR ANY OF ITS SUBSIDIARIES OR AFFILIATES BE LIABLE FOR
-ANY LOST REVENUE OR PROFITS OR OTHER SPECIAL, INDIRECT AND CONSEQUENTIAL
-DAMAGES, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-
-Use, duplication, or disclosure by the government is subject to
-restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in
-Technical Data and Computer Software clause at DFARS 252.227-7013 and FAR
-52.227-19.
-
-Sun, Sun Microsystems and the Sun logo are trademarks or registered
-trademarks of Sun Microsystems, Inc.
-
-SunSoft, Inc.
-2550 Garcia Avenue
-Mountain View, California 94043
-
-NOTE:
-
-SunOS, SunSoft, Sun, Solaris, Sun Microsystems or the Sun logo are
-trademarks or registered trademarks of Sun Microsystems, Inc.
-
- */
-
-/*
-** drv_main.cc - Main program for IDL compiler driver
-**
-** LOGIC:
-**
-** 1. Initialize compiler driver
-** 2. Parse command line args
-** 3. If more than one file to parse, fork
-** 4. Otherwise, for the single file, invoke DRV_drive
-*/
-
-#include "idl.h"
-#include "idl_extern.h"
-
-#include "drv_private.h"
-#include "drv_link.h"
-
-static void
-DRV_version()
-{
- cerr << idl_global->prog_name()
- << GTDEVEL(", version ")
- << IDL_CFE_VERSION
- << "\n";
- (*DRV_BE_version)();
-}
-
-/*
-** Drive the compilation
-**
-** LOGIC:
-**
-** 1. Initialize the CFE, stage 1. This builds the scope stack
-** 2. Initialize the BE. This builds an instance of the generator
-** 3. Initialize the CFE, stage 2. This builds the global scope
-** and populates it with the predefined types
-** 4. Invoke FE_yyparse
-** 5. Check for errors from FE_yyparse. If any, exit now
-** 6. Check for undefined forward declared interfaces. If any, exit now
-** 7. Check if asked to dump AST. If so, do.
-** 8. Invoke BE.
-*/
-void
-DRV_drive(char *s)
-{
- char *fn;
-
- // Macro to avoid "warning: unused parameter" type warning.
- ACE_UNUSED_ARG (fn);
-
- // set the name of the IDL file we are parsing. This is useful to the backend
- // when it generates C++ headers and files
- idl_global->idl_src_file(new UTL_String(s));
- /*
- * Pass through CPP
- */
- if (idl_global->compile_flags() & IDL_CF_INFORMATIVE)
- cerr << idl_global->prog_name()
- << GTDEVEL(": preprocessing ")
- << s
- << "\n";
- DRV_pre_proc(s);
- /*
- * Initialize FE stage 1
- */
- (*DRV_FE_init_stage1)();
- /*
- * Initialize BE
- */
- idl_global->set_gen((*DRV_BE_init)());
- /*
- * Initialize FE stage 2
- */
- (*DRV_FE_init_stage2)();
- /*
- * Parse
- */
- if (idl_global->compile_flags() & IDL_CF_INFORMATIVE)
- cerr << idl_global->prog_name()
- << GTDEVEL(": parsing ")
- << s
- << "\n";
- (*DRV_FE_yyparse)();
- /*
- * If there were any errors, stop
- */
- if (idl_global->err_count() > 0) {
- cerr << idl_global->prog_name()
- << ": "
- << s
- << GTDEVEL(": found ");
- cerr << idl_global->err_count()
- << GTDEVEL(" error");
- cerr << (idl_global->err_count() > 1
- ? GTDEVEL("s") : "")
- << "\n";
- /*
- * Call BE_abort to allow a BE to clean up after itself
- */
- (*DRV_BE_abort)();
- exit((int) idl_global->err_count());
- }
- /*
- * Dump the code
- */
- if ((idl_global->compile_flags() & IDL_CF_INFORMATIVE)
- && (idl_global->compile_flags() & IDL_CF_DUMP_AST))
- cerr << idl_global->prog_name()
- << GTDEVEL(": dump ")
- << s
- << "\n";
- if (idl_global->compile_flags() & IDL_CF_DUMP_AST) {
- cerr << GTDEVEL("Dump of AST:\n");
- idl_global->root()->dump(cerr);
- }
- /*
- * Call the main entry point for the BE
- */
- if (idl_global->compile_flags() & IDL_CF_INFORMATIVE)
- cerr << idl_global->prog_name()
- << GTDEVEL(": BE processing on ")
- << s
- << "\n";
- (*DRV_BE_produce)();
- /*
- * Exit cleanly
- */
- exit(0);
-}
-
-/*
- * IDL compiler main program. Logic as explained in comment at head
- * of file.
- */
-int
-main(int argc, char **argv)
-{
- /*
- * Open front-end library
- */
- DRV_FE_open();
- /*
- * Initialize driver and global variables
- */
- DRV_init();
- /*
- * Open back-end library
- */
- DRV_BE_open();
- /*
- * Parse arguments
- */
- DRV_parse_args(argc, argv);
- /*
- * If a version message is requested, print it and exit
- */
- if (idl_global->compile_flags() & IDL_CF_VERSION) {
- DRV_version();
- exit(0);
- }
- /*
- * If a usage message is requested, give it and exit
- */
- if (idl_global->compile_flags() & IDL_CF_ONLY_USAGE) {
- DRV_usage();
- exit(0);
- }
- /*
- * Fork off a process for each file to process. Fork only if
- * there is more than one file to process
- */
- if (DRV_nfiles > 1) {
- /*
- * DRV_fork never returns
- */
- DRV_fork();
- } else {
- /*
- * Do the one file we have to parse
- *
- * Check if stdin and handle file name appropriately
- */
- if (DRV_nfiles == 0) {
- DRV_files[0] = "standard input";
- }
- DRV_file_index = 0;
- DRV_drive(DRV_files[DRV_file_index]);
- }
- exit(0);
- /* NOTREACHED */
- return 0;
-}
diff --git a/TAO/TAO_IDL/fe/y.tab.cpp b/TAO/TAO_IDL/fe/y.tab.cpp
index 26b42df2e54..cd194c3b8ba 100644
--- a/TAO/TAO_IDL/fe/y.tab.cpp
+++ b/TAO/TAO_IDL/fe/y.tab.cpp
@@ -896,7 +896,7 @@ int yychar; /* current input token number */
#define YYLEX() yycvtok(yylex())
/*
** yycvtok - return a token if i is a wchar_t value that exceeds 255.
-** If i<255, i itself is the token. If i>255 but the neither
+** If i<255, i itself is the token. If i>255 but the neither
** of the 30th or 31st bit is on, i is already a token.
*/
#if defined(__STDC__) || defined(__cplusplus)
@@ -917,7 +917,7 @@ int yycvtok(i) int i;
while ((last>=first)&&(first>=0)) {/*Binary search loop*/
mid = (first+last)/2;
j = yymbchars[mid].character;
- if( j==i ){/*Found*/
+ if( j==i ){/*Found*/
return yymbchars[mid].tvalue;
}else if( j<i ){
first = mid + 1;
@@ -1359,7 +1359,7 @@ int yyparse()
*/
switch( yytmp )
{
-
+
case 4:
# line 240 "idl.yy"
{
@@ -3292,4 +3292,3 @@ case 285:
}
goto yystack; /* reset registers in driver code */
}
-
diff --git a/TAO/orbsvcs/Dump_Schedule/Dump_Schedule.dsp b/TAO/orbsvcs/Dump_Schedule/Dump_Schedule.dsp
index 7ce62c41a6c..943d6f62b66 100644
--- a/TAO/orbsvcs/Dump_Schedule/Dump_Schedule.dsp
+++ b/TAO/orbsvcs/Dump_Schedule/Dump_Schedule.dsp
@@ -61,11 +61,11 @@ LINK32=link.exe
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
-# PROP Output_Dir ""
+# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /Gm /GX /Zi /Od /I ".." /I "..\.." /I "..\..\.." /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
BSC32=bscmake.exe
diff --git a/TAO/orbsvcs/Event_Service/Event_Service.dsp b/TAO/orbsvcs/Event_Service/Event_Service.dsp
index 2fcf8139907..bf0200aab49 100644
--- a/TAO/orbsvcs/Event_Service/Event_Service.dsp
+++ b/TAO/orbsvcs/Event_Service/Event_Service.dsp
@@ -61,7 +61,7 @@ LINK32=link.exe
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
-# PROP Output_Dir ""
+# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
diff --git a/TAO/orbsvcs/Naming_Service/CosNaming_i.cpp b/TAO/orbsvcs/Naming_Service/CosNaming_i.cpp
index e2b39df719b..5bbff180e34 100644
--- a/TAO/orbsvcs/Naming_Service/CosNaming_i.cpp
+++ b/TAO/orbsvcs/Naming_Service/CosNaming_i.cpp
@@ -4,14 +4,14 @@
//
// = LIBRARY
// cos
-//
+//
// = FILENAME
// CosNaming_i.cpp
//
// = AUTHOR
// Marina Spivak <marina@cs.wustl.edu> &
// Sergio Flores-Gaitan <sergio@cs.wustl.edu>
-//
+//
// ============================================================================
#include "CosNaming_i.h"
@@ -35,7 +35,7 @@ NS_NamingContext::~NS_NamingContext (void)
{
}
-CosNaming::NamingContext_ptr
+CosNaming::NamingContext_ptr
NS_NamingContext::get_context (const CosNaming::Name &name)
{
// create compound name to be resolved
@@ -44,7 +44,7 @@ NS_NamingContext::get_context (const CosNaming::Name &name)
CORBA::ULong len = name.length ();
CosNaming::Name comp_name (name);
comp_name.length (len - 1);
-
+
// resolve
CORBA::Object_ptr cont_ref;
@@ -56,11 +56,11 @@ NS_NamingContext::get_context (const CosNaming::Name &name)
{
IT_env.print_exception ("NS_NamingContext::get_context");
return 0;
- }
-
+ }
+
// Reference to a context from <resolve> cannot be nil because
// cannot <bind> to a nil object.
-
+
// Try narrowing object reference to a context type.
CosNaming::NamingContext_ptr c;
c = CosNaming::NamingContext::_narrow (cont_ref, IT_env);
@@ -74,7 +74,7 @@ NS_NamingContext::get_context (const CosNaming::Name &name)
rest.length (2);
rest[0] = name[len - 2];
rest[1] = name[len - 1];
-
+
if (CORBA::is_nil (c))
{
CosNaming::Name rest;
@@ -85,18 +85,18 @@ NS_NamingContext::get_context (const CosNaming::Name &name)
return c;
}
-void
-NS_NamingContext::bind (const CosNaming::Name& n,
- CORBA::Object_ptr obj,
- CORBA::Environment &IT_env)
+void
+NS_NamingContext::bind (const CosNaming::Name& n,
+ CORBA::Object_ptr obj,
+ CORBA::Environment &IT_env)
{
IT_env.clear ();
// get the length of the name
- CORBA::ULong len = n.length ();
+ CORBA::ULong len = n.length ();
// Check for invalid name.
- if (len == 0)
+ if (len == 0)
{
IT_env.clear ();
IT_env.exception (new CosNaming::NamingContext::InvalidName);
@@ -106,7 +106,7 @@ NS_NamingContext::bind (const CosNaming::Name& n,
// If we received compound name, resolve it to get the context in
// which the binding should take place, then perform the binding on
// target context.
- if (len > 1)
+ if (len > 1)
{
CosNaming::NamingContext_var cont = get_context (n);
CosNaming::Name simple_name;
@@ -116,7 +116,7 @@ NS_NamingContext::bind (const CosNaming::Name& n,
}
// If we received a simple name, we need to bind it in this context.
- else
+ else
{
NS_IntId entry (obj);
NS_ExtId name (n[0].id, n[0].kind);
@@ -134,11 +134,11 @@ NS_NamingContext::bind (const CosNaming::Name& n,
}
}
-void
-NS_NamingContext::rebind (const CosNaming::Name& n,
- CORBA::Object_ptr obj,
- CORBA::Environment &IT_env)
-{
+void
+NS_NamingContext::rebind (const CosNaming::Name& n,
+ CORBA::Object_ptr obj,
+ CORBA::Environment &IT_env)
+{
// get the length of the name
CORBA::ULong len = n.length ();
@@ -153,7 +153,7 @@ NS_NamingContext::rebind (const CosNaming::Name& n,
// If we received compound name, resolve it to get the context in
// which the rebinding should take place, then perform the rebinding
// on target context.
- if (len > 1)
+ if (len > 1)
{
CosNaming::NamingContext_var cont = get_context (n);
CosNaming::Name simple_name;
@@ -162,13 +162,13 @@ NS_NamingContext::rebind (const CosNaming::Name& n,
cont->rebind (simple_name, obj, IT_env);
}
// If we received a simple name, we need to rebind it in this context.
- else
+ else
{
NS_IntId entry (obj);
NS_ExtId name (n[0].id, n[0].kind);
NS_IntId oldentry;
NS_ExtId oldname;
-
+
// Try rebinding the name.
if (context_.rebind (name, entry, oldname, oldentry) == -1)
;
@@ -177,9 +177,9 @@ NS_NamingContext::rebind (const CosNaming::Name& n,
}
void
-NS_NamingContext::bind_context (const CosNaming::Name &n,
- CosNaming::NamingContext_ptr nc,
- CORBA::Environment &IT_env)
+NS_NamingContext::bind_context (const CosNaming::Name &n,
+ CosNaming::NamingContext_ptr nc,
+ CORBA::Environment &IT_env)
{
// Get the length of the name.
CORBA::ULong len = n.length ();
@@ -195,7 +195,7 @@ NS_NamingContext::bind_context (const CosNaming::Name &n,
// If we received compound name, resolve it to get the context in
// which the binding should take place, then perform the binding on
// target context.
- if (len > 1)
+ if (len > 1)
{
CosNaming::NamingContext_var cont = get_context (n);
CosNaming::Name simple_name;
@@ -205,7 +205,7 @@ NS_NamingContext::bind_context (const CosNaming::Name &n,
}
// If we received a simple name, we need to bind it in this context.
- else
+ else
{
CosNaming::NameComponent comp = n[0];
NS_IntId entry (nc, CosNaming::ncontext);
@@ -223,10 +223,10 @@ NS_NamingContext::bind_context (const CosNaming::Name &n,
}
}
-void
-NS_NamingContext::rebind_context (const CosNaming::Name &n,
- CosNaming::NamingContext_ptr nc,
- CORBA::Environment &IT_env)
+void
+NS_NamingContext::rebind_context (const CosNaming::Name &n,
+ CosNaming::NamingContext_ptr nc,
+ CORBA::Environment &IT_env)
{
// Get the length of the name.
CORBA::ULong len = n.length ();
@@ -242,7 +242,7 @@ NS_NamingContext::rebind_context (const CosNaming::Name &n,
// If we received compound name, resolve it to get the context in
// which the rebinding should take place, then perform the rebinding
// on target context.
- if (len > 1)
+ if (len > 1)
{
CosNaming::NamingContext_var cont = get_context (n);
CosNaming::Name simple_name;
@@ -252,23 +252,23 @@ NS_NamingContext::rebind_context (const CosNaming::Name &n,
}
// if we received a simple name, we need to rebind it in this context.
- else
+ else
{
CosNaming::NameComponent comp = n[0];
NS_IntId entry (nc, CosNaming::ncontext);
NS_ExtId name (n[0].id, n[0].kind);
NS_IntId oldentry;
NS_ExtId oldname;
-
+
// try rebinding the name.
if (context_.rebind (name, entry, oldname, oldentry) < 0);
// deal with consequences
}
}
-
-CORBA::Object_ptr
-NS_NamingContext::resolve (const CosNaming::Name& n,
- CORBA::Environment &IT_env)
+
+CORBA::Object_ptr
+NS_NamingContext::resolve (const CosNaming::Name& n,
+ CORBA::Environment &IT_env)
{
// get the length of the name
CORBA::ULong len = n.length ();
@@ -280,18 +280,17 @@ NS_NamingContext::resolve (const CosNaming::Name& n,
IT_env.exception (new CosNaming::NamingContext::InvalidName);
return 0;
}
-
+
// resolve the first component of the name
NS_ExtId name (n[0].id, n[0].kind);
NS_IntId entry;
- if (context_.find (name, entry) == -1)
+ if (context_.find (name, entry) == -1)
{
IT_env.clear ();
IT_env.exception (new CosNaming::NamingContext::NotFound (CosNaming::NamingContext::not_object, n));
return 0;
}
- /* @@ */// throw CosNaming::NamingContext::NotFound (CosNaming::NamingContext::not_object, n);
-
+
CORBA::Object_ptr item = entry.ref_;
// if the name we have to resolve is a compound name
@@ -314,8 +313,7 @@ NS_NamingContext::resolve (const CosNaming::Name& n,
IT_env.exception (new CosNaming::NamingContext::NotFound (CosNaming::NamingContext::not_context, n));
return 0;
}
- /* @@ */// throw CosNaming::NamingContext::NotFound (CosNaming::NamingContext::not_context, n);
-
+
CosNaming::Name rest_of_name;
rest_of_name.length (len - 1);
for (CORBA::ULong i = 1; i < len; i++)
@@ -329,9 +327,9 @@ NS_NamingContext::resolve (const CosNaming::Name& n,
return CORBA::Object::_duplicate (item);
}
-void
-NS_NamingContext::unbind (const CosNaming::Name& n,
- CORBA::Environment &IT_env)
+void
+NS_NamingContext::unbind (const CosNaming::Name& n,
+ CORBA::Environment &IT_env)
{
// if (do_operation (n, CORBA::_nil (), NS_NamingContext::unbind) == 0)
@@ -349,7 +347,7 @@ NS_NamingContext::unbind (const CosNaming::Name& n,
// If we received compound name, resolve it to get the context in
// which the unbinding should take place, then perform the unbinding
// on target context.
- if (len > 1)
+ if (len > 1)
{
CosNaming::NamingContext_var cont = get_context (n);
CosNaming::Name simple_name;
@@ -369,41 +367,40 @@ NS_NamingContext::unbind (const CosNaming::Name& n,
IT_env.exception (new CosNaming::NamingContext::NotFound (CosNaming::NamingContext::not_object, n));
return;
}
- /* @@ */// throw CosNaming::NamingContext::NotFound (CosNaming::NamingContext::not_object, n);
}
}
-
-CosNaming::NamingContext_ptr
-NS_NamingContext::new_context (CORBA::Environment &IT_env)
+
+CosNaming::NamingContext_ptr
+NS_NamingContext::new_context (CORBA::Environment &IT_env)
{
// Macro to avoid "warning: unused parameter" type warning.
- ACE_UNUSED_ARG (IT_env);
+ ACE_UNUSED_ARG (IT_env);
NS_NamingContext *c = new NS_NamingContext;
- return c->_duplicate (c);
+ return NS_NamingContext::_duplicate (c);
}
-
-CosNaming::NamingContext_ptr
-NS_NamingContext::bind_new_context (const CosNaming::Name& n,
- CORBA::Environment &IT_env)
+
+CosNaming::NamingContext_ptr
+NS_NamingContext::bind_new_context (const CosNaming::Name& n,
+ CORBA::Environment &IT_env)
{
NS_NamingContext *c = new NS_NamingContext;
bind_context (n, c, IT_env);
-
- // release object if exception occurs.
+
+ // release object if exception occurs.
if (IT_env.exception () != 0)
{
CORBA::release (c);
return CosNaming::NamingContext::_nil ();
}
-
- return c->_duplicate (c);
+
+ return NS_NamingContext::_duplicate (c);
}
-
-void
-NS_NamingContext::destroy (CORBA::Environment &IT_env)
+
+void
+NS_NamingContext::destroy (CORBA::Environment &IT_env)
{
if (context_.current_size () != 0)
{
@@ -415,18 +412,18 @@ NS_NamingContext::destroy (CORBA::Environment &IT_env)
// destroy context
CORBA::release (tie_ref_);
}
-
-void
-NS_NamingContext::list (CORBA::ULong how_many,
- CosNaming::BindingList_out bl,
- CosNaming::BindingIterator_out bi,
- CORBA::Environment &IT_env)
+
+void
+NS_NamingContext::list (CORBA::ULong how_many,
+ CosNaming::BindingList_out bl,
+ CosNaming::BindingIterator_out bi,
+ CORBA::Environment &IT_env)
{
// Macro to avoid "warning: unused parameter" type warning.
- ACE_UNUSED_ARG (IT_env);
+ ACE_UNUSED_ARG (IT_env);
// Dynamically allocate hash map iterator.
- NS_NamingContext::HASH_MAP::ITERATOR *hash_iter =
+ NS_NamingContext::HASH_MAP::ITERATOR *hash_iter =
new NS_NamingContext::HASH_MAP::ITERATOR (context_);
// Number of bindings that will go into the BindingList.
@@ -437,36 +434,38 @@ NS_NamingContext::list (CORBA::ULong how_many,
// so need to return a BindingIterator.
{
NS_BindingIterator *bind_iter = new NS_BindingIterator (hash_iter);
-
+
+ // @@ ????
+
ACE_UNUSED_ARG (bind_iter);
-
- // bind_iter->initialize (bi);
+
+ // bind_iter->initialize (bi);
CosNaming::BindingIterator::_duplicate (bi);
-
+
n = how_many;
}
else
{
// Number of bindings in the context is <= <how_many>,
// so do not need to return a BindingIterator.
- bi = CosNaming::BindingIterator::_nil ();
+ bi = CosNaming::BindingIterator::_nil ();
n = context_.current_size ();
- }
+ }
// use hash iterator to populate a BindingList with
// bindings.
CosNaming::BindingList bindings;
- bindings.length (n);
+ bindings.length (n);
NS_NamingContext::HASH_MAP::ENTRY *hash_entry;
- for (CORBA::ULong i = 0; i < n; i++)
+ for (CORBA::ULong i = 0; i < n; i++)
{
hash_iter->next (hash_entry);
hash_iter->advance ();
-
+
bindings[i].binding_type = hash_entry->int_id_.type_;
-
- bindings[i].binding_name.length (1);
+
+ bindings[i].binding_name.length (1);
bindings[i].binding_name[0].id =
CORBA::string_dup (hash_entry->ext_id_.id_.fast_rep ());
bindings[i].binding_name[0].kind =
@@ -480,23 +479,23 @@ NS_NamingContext::list (CORBA::ULong how_many,
if (context_.current_size () <= how_many)
delete hash_iter;
}
-
+
NS_BindingIterator::NS_BindingIterator (NS_NamingContext::HASH_MAP::ITERATOR *hash_iter)
{
hash_iter_ = hash_iter;
}
-
+
NS_BindingIterator::~NS_BindingIterator (void)
{
delete hash_iter_;
}
-
-CORBA::Boolean
-NS_BindingIterator::next_one (CosNaming::Binding_out b,
- CORBA::Environment &IT_env)
+
+CORBA::Boolean
+NS_BindingIterator::next_one (CosNaming::Binding_out b,
+ CORBA::Environment &IT_env)
{
// Macro to avoid "warning: unused parameter" type warning.
- ACE_UNUSED_ARG (IT_env);
+ ACE_UNUSED_ARG (IT_env);
if (hash_iter_->done ()) {
b = new CosNaming::Binding;
@@ -509,26 +508,26 @@ NS_BindingIterator::next_one (CosNaming::Binding_out b,
NS_NamingContext::HASH_MAP::ENTRY *hash_entry;
hash_iter_->next (hash_entry);
hash_iter_->advance ();
-
+
b->binding_type = hash_entry->int_id_.type_;
- b->binding_name.length (1);
+ b->binding_name.length (1);
b->binding_name[0].id =
CORBA::string_dup (hash_entry->ext_id_.id_.fast_rep ());
b->binding_name[0].kind =
- CORBA::string_dup (hash_entry->ext_id_.kind_.fast_rep ());
+ CORBA::string_dup (hash_entry->ext_id_.kind_.fast_rep ());
return 1;
}
}
-
-CORBA::Boolean
-NS_BindingIterator::next_n (CORBA::ULong how_many,
+
+CORBA::Boolean
+NS_BindingIterator::next_n (CORBA::ULong how_many,
CosNaming::BindingList_out bl,
- CORBA::Environment &IT_env)
+ CORBA::Environment &IT_env)
{
// Macro to avoid "warning: unused parameter" type warning.
- ACE_UNUSED_ARG (IT_env);
+ ACE_UNUSED_ARG (IT_env);
if (hash_iter_->done ()) {
bl = new CosNaming::BindingList;
@@ -545,24 +544,24 @@ NS_BindingIterator::next_n (CORBA::ULong how_many,
// Iterate and populate the BindingList.
NS_NamingContext::HASH_MAP::ENTRY *hash_entry;
- for (CORBA::ULong i = 0; i < how_many; i++)
+ for (CORBA::ULong i = 0; i < how_many; i++)
{
hash_iter_->next (hash_entry);
-
+
bindings[i].binding_type = hash_entry->int_id_.type_;
-
- bindings[i].binding_name.length (1);
+
+ bindings[i].binding_name.length (1);
bindings[i].binding_name[0].id =
CORBA::string_dup (hash_entry->ext_id_.id_.fast_rep ());
bindings[i].binding_name[0].kind =
CORBA::string_dup (hash_entry->ext_id_.kind_.fast_rep ());
-
+
if (hash_iter_->advance () == 0)
{
// If no more bindings left, reset length to the actual
// number of bindings populated and get out of the loop.
bindings.length (i + 1);
- break;
+ break;
}
}
@@ -571,12 +570,12 @@ NS_BindingIterator::next_n (CORBA::ULong how_many,
return 1;
}
}
-
-void
-NS_BindingIterator::destroy (CORBA::Environment &IT_env)
+
+void
+NS_BindingIterator::destroy (CORBA::Environment &IT_env)
{
// Macro to avoid "warning: unused parameter" type warning.
- ACE_UNUSED_ARG (IT_env);
+ ACE_UNUSED_ARG (IT_env);
// CORBA::release (tie_ref_);
}
@@ -599,4 +598,3 @@ template class ACE_Hash_Map_Reverse_Iterator<NS_ExtId, NS_IntId, ACE_Null_Mutex
#pragma instantiate ACE_Hash_Map_Reverse_Iterator<NS_ExtId, NS_IntId, ACE_Null_Mutex>
#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
#endif /* ACE_MT_SAFE */
-
diff --git a/TAO/orbsvcs/Naming_Service/NS_CosNaming.cpp b/TAO/orbsvcs/Naming_Service/NS_CosNaming.cpp
index 6da054c41dd..6c2c45fe1e5 100644
--- a/TAO/orbsvcs/Naming_Service/NS_CosNaming.cpp
+++ b/TAO/orbsvcs/Naming_Service/NS_CosNaming.cpp
@@ -2,13 +2,13 @@
//
// = LIBRARY
// cos
-//
+//
// = FILENAME
// NS_CosNaming.C
//
// = AUTHOR
// Marina Spivak <marina@cs.wustl.edu>
-//
+//
// ============================================================================
#include "NS_CosNaming.h"
@@ -37,7 +37,7 @@ NS_IntId::~NS_IntId (void)
CORBA::release (ref_);
}
-void
+void
NS_IntId::operator= (const NS_IntId &rhs)
{
// check for self assignment.
@@ -45,7 +45,7 @@ NS_IntId::operator= (const NS_IntId &rhs)
return;
type_ = rhs.type_;
-
+
CORBA::release (ref_);
ref_ = CORBA::Object::_duplicate (rhs.ref_);
}
@@ -56,7 +56,7 @@ NS_ExtId::NS_ExtId (void)
{
}
-NS_ExtId::NS_ExtId (const char *id,
+NS_ExtId::NS_ExtId (const char *id,
const char *kind)
: kind_ (kind),
id_ (id)
@@ -66,14 +66,14 @@ NS_ExtId::NS_ExtId (const char *id,
NS_ExtId::NS_ExtId (const NS_ExtId &rhs)
{
id_ = rhs.id_;
- kind_ = rhs.kind_;
+ kind_ = rhs.kind_;
}
NS_ExtId::~NS_ExtId (void)
{
}
-void
+void
NS_ExtId::operator= (const NS_ExtId &rhs)
{
// Check for self assignment.
@@ -81,16 +81,16 @@ NS_ExtId::operator= (const NS_ExtId &rhs)
return;
id_ = rhs.id_;
- kind_ = rhs.kind_;
+ kind_ = rhs.kind_;
}
-
-int
+
+int
NS_ExtId::operator== (const NS_ExtId &rhs) const
{
return id_ == rhs.id_ && kind_ == rhs.kind_;
}
-int
+int
NS_ExtId::operator!= (const NS_ExtId &rhs) const
{
return id_ != rhs.id_ || kind_ != rhs.kind_;
@@ -104,4 +104,3 @@ NS_ExtId::hash (void) const
return temp.hash ();
}
-
diff --git a/TAO/orbsvcs/Naming_Service/Naming_Service.dsp b/TAO/orbsvcs/Naming_Service/Naming_Service.dsp
index 935870e8256..85015f994a2 100644
--- a/TAO/orbsvcs/Naming_Service/Naming_Service.dsp
+++ b/TAO/orbsvcs/Naming_Service/Naming_Service.dsp
@@ -61,7 +61,7 @@ LINK32=link.exe
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
-# PROP Output_Dir ""
+# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
diff --git a/TAO/orbsvcs/Scheduling_Service/Scheduling_Service.dsp b/TAO/orbsvcs/Scheduling_Service/Scheduling_Service.dsp
index 3fb9b8c7dd4..b89514b9686 100644
--- a/TAO/orbsvcs/Scheduling_Service/Scheduling_Service.dsp
+++ b/TAO/orbsvcs/Scheduling_Service/Scheduling_Service.dsp
@@ -62,7 +62,7 @@ LINK32=link.exe
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
-# PROP Output_Dir ""
+# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
diff --git a/TAO/orbsvcs/tests/Event_Latency/Event_Latency.dsp b/TAO/orbsvcs/tests/Event_Latency/Event_Latency.dsp
index 08635e15e6a..4ec8c6d72bf 100644
--- a/TAO/orbsvcs/tests/Event_Latency/Event_Latency.dsp
+++ b/TAO/orbsvcs/tests/Event_Latency/Event_Latency.dsp
@@ -61,7 +61,7 @@ LINK32=link.exe
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
-# PROP Output_Dir ""
+# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
diff --git a/TAO/performance-tests/Cubit/TAO/MT_Cubit/Task_Client.cpp b/TAO/performance-tests/Cubit/TAO/MT_Cubit/Task_Client.cpp
index 1bf7393b651..dd6c268e0ba 100644
--- a/TAO/performance-tests/Cubit/TAO/MT_Cubit/Task_Client.cpp
+++ b/TAO/performance-tests/Cubit/TAO/MT_Cubit/Task_Client.cpp
@@ -145,6 +145,11 @@ Client::get_low_priority_latency (void)
return l / (double) (ts_->start_count_ - 1);
}
+int
+Client::get_latency (u_int thread_id) {
+ return ts_->ave_latency_ [thread_id];
+}
+
double
Client::get_high_priority_jitter () {
double jitter = 0;
diff --git a/TAO/tao/Makefile b/TAO/tao/Makefile
index d62eeeb7d4c..fc2a3fe860e 100644
--- a/TAO/tao/Makefile
+++ b/TAO/tao/Makefile
@@ -95,9 +95,13 @@ include $(TAO_ROOT)/taoconfig.mk
#----------------------------------------------------------------------------
ifdef CHORUS
- CPPFLAGS += -DTAO_PLATFORM_SVC_CONF_FILE_NOTSUP
+ override fakesvcconf = 1
endif
ifdef VXWORKS
+ override fakesvcconf = 1
+endif
+
+ifeq ($(fakesvcconf),1)
CPPFLAGS += -DTAO_PLATFORM_SVC_CONF_FILE_NOTSUP
endif
diff --git a/TAO/tao/connect.h b/TAO/tao/connect.h
index 4a96e27854b..c63f6c3d25f 100644
--- a/TAO/tao/connect.h
+++ b/TAO/tao/connect.h
@@ -7,13 +7,13 @@
//
// = LIBRARY
// TAO
-//
+//
// = FILENAME
// connect.h
//
// = AUTHOR
// Chris Cleeland
-//
+//
// ============================================================================
# include "ace/Reactor.h"
@@ -25,13 +25,13 @@
// Forward Decls
class TAO_OA_Parameters;
-typedef ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH>
+typedef ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH>
TAO_SVC_HANDLER;
class TAO_Client_Connection_Handler : public TAO_SVC_HANDLER
// = TITLE
// <Svc_Handler> used on the client side and returned by the
- // <TAO_CONNECTOR>.
+ // <TAO_CONNECTOR>.
// @@ (CJC) Should this be in here or in the default_client.*?
{
public:
@@ -51,11 +51,11 @@ class TAO_Server_Connection_Handler : public TAO_SVC_HANDLER
public:
TAO_Server_Connection_Handler (ACE_Thread_Manager *t = ACE_Thread_Manager::instance ());
// Constructor.
-
+
virtual int open (void *);
// Called by the framework when the handler is completely set up.
// Argument is unused.
-
+
virtual int svc (void);
// Only used when the handler is turned into an active object by
// calling <activate>. This serves as the event loop in such cases.
@@ -65,10 +65,17 @@ public:
// = Template Methods Called by <handle_input>
- virtual int recv_request (CDR &msg, CORBA::Environment &env);
+ enum RequestStatus
+ {
+ Error = -1,
+ Request, // A CORBA Request was received
+ LocateRequest // A CORBA LocateRequest was received
+ };
+
+ virtual RequestStatus recv_request (CDR &msg, CORBA::Environment &env);
// Extract a message from the stream associated with <peer()> and
- // place it into <msg>. Return 0 if success, -1 with <errno> and
- // <env> set if problems.
+ // place it into <msg>. Return either <Request> or <LocateRequest>
+ // if success, <Error> with <errno> and <env> set if problems.
virtual int handle_message (CDR &msg, int &response_required,
CDR &response, CORBA::Environment &env);
@@ -78,6 +85,14 @@ public:
// response (including errors). In case of errors, -1 is returned
// and additional information carried in <env>.
+ virtual int handle_locate (CDR &msg, int &response_required,
+ CDR &response, CORBA::Environment &env);
+ // Handle processing of the location request residing in <msg>,
+ // setting <response_required> to one if no errors are encountered.
+ // The LocateRequestReply is placed into <response>. In case of
+ // errors, -1 is returned and additional information carried in
+ // <env>.
+
virtual void handle_request (TAO_GIOP_RequestHeader hdr,
CDR &request_body,
CDR &response,
@@ -86,24 +101,24 @@ public:
// Once a request is found in a message, this finds the appropriate
// POA and dispatches it, then takes care to properly format any
// response.
-
+
virtual void send_response (CDR &response);
// Send <response> to the client on the other end.
protected:
// = Event Handler overloads
-
+
virtual int handle_input (ACE_HANDLE = ACE_INVALID_HANDLE);
// Reads a message from the <peer()>, dispatching and servicing it
// appropriately.
-
+
virtual int handle_close (ACE_HANDLE, ACE_Reactor_Mask);
// Perform appropriate closing of the connection.
TAO_OA_Parameters *params_;
};
-typedef ACE_Strategy_Acceptor<TAO_Server_Connection_Handler, ACE_SOCK_ACCEPTOR>
+typedef ACE_Strategy_Acceptor<TAO_Server_Connection_Handler, ACE_SOCK_ACCEPTOR>
TAO_ACCEPTOR;
#endif /* TAO_CONNECT_H */
diff --git a/TAO/tao/corba.h b/TAO/tao/corba.h
index 641a098bd6a..6b726a78057 100644
--- a/TAO/tao/corba.h
+++ b/TAO/tao/corba.h
@@ -93,7 +93,7 @@ class TAO_Export PortableServer
// = TITLE
// Portable Server (POA) name space.
public:
-
+
typedef TAO_ServantBase ServantBase;
typedef ServantBase *Servant;
diff --git a/TAO/tao/giop.cpp b/TAO/tao/giop.cpp
index 1b85ed01b95..2de40dfbe7c 100644
--- a/TAO/tao/giop.cpp
+++ b/TAO/tao/giop.cpp
@@ -1098,6 +1098,20 @@ TAO_GIOP::make_error (CDR &msg, ...)
// things into the <msg> instance.
}
+CORBA::Boolean
+TAO_GIOP_LocateRequestHeader::init (CDR &msg,
+ CORBA::Environment &env)
+{
+ CORBA::Boolean hdr_status;
+
+ hdr_status = hdr_status && msg.get_ulong (this->request_id);
+ hdr_status = hdr_status && msg.decode (&TC_opaque,
+ &this->object_key,
+ 0,
+ env);
+ return hdr_status;
+}
+
// Initialize the request header from <msg>, setting <env> for errors.
CORBA::Boolean
diff --git a/TAO/tao/giop.h b/TAO/tao/giop.h
index 0e0e9077db2..4bef3b193bb 100644
--- a/TAO/tao/giop.h
+++ b/TAO/tao/giop.h
@@ -256,6 +256,12 @@ struct TAO_GIOP_LocateRequestHeader
// = DESCRIPTION
// Location service support
{
+ TAO_GIOP_LocateRequestHeader (void);
+ // Constructor
+
+ CORBA::Boolean init (CDR &msg, CORBA::Environment& env);
+ // Initialize the header from the values found in <msg>.
+
CORBA::ULong request_id;
TAO_opaque object_key;
};
diff --git a/TAO/tao/giop.i b/TAO/tao/giop.i
index 0c162d3d1e8..351f97e1b74 100644
--- a/TAO/tao/giop.i
+++ b/TAO/tao/giop.i
@@ -1,6 +1,11 @@
// This may look like C, but it's really -*- C++ -*-
ACE_INLINE
+TAO_GIOP_LocateRequestHeader::TAO_GIOP_LocateRequestHeader (void)
+ : request_id (0)
+{}
+
+ACE_INLINE
TAO_GIOP_RequestHeader::TAO_GIOP_RequestHeader (void)
: request_id (0),
response_expected (CORBA::B_FALSE)
diff --git a/TAO/tao/orbobj.cpp b/TAO/tao/orbobj.cpp
index 86f5c844e69..39ed1d6c1c3 100644
--- a/TAO/tao/orbobj.cpp
+++ b/TAO/tao/orbobj.cpp
@@ -514,6 +514,7 @@ template class ACE_Hash_Map_Reverse_Iterator<TAO_HASH_ADDR, TAO_Client_Connectio
#pragma instantiate ACE_Dynamic_Service<TAO_Client_Strategy_Factory>
#pragma instantiate ACE_Cached_Connect_Strategy<TAO_Client_Connection_Handler, ACE_SOCK_CONNECTOR, ACE_SYNCH_RW_MUTEX>
#pragma instantiate ACE_Cached_Connect_Strategy<TAO_Client_Connection_Handler, ACE_SOCK_CONNECTOR, ACE_SYNCH_NULL_MUTEX>
+#pragma instantiate ACE_Atomic_Op<ACE_SYNCH_MUTEX, CORBA::Boolean>
//#pragma instantiate TAO_HASH_ADDR
#pragma instantiate ACE_Hash_Map_Entry<TAO_HASH_ADDR, TAO_Client_Connection_Handler *>
#pragma instantiate ACE_Hash_Map_Manager<TAO_HASH_ADDR, TAO_Client_Connection_Handler *, ACE_SYNCH_RW_MUTEX>
diff --git a/TAO/tao/poa.h b/TAO/tao/poa.h
index 24a01962c7b..6ac3cecd67c 100644
--- a/TAO/tao/poa.h
+++ b/TAO/tao/poa.h
@@ -4,7 +4,7 @@
//
// = LIBRARY
// TAO
-//
+//
// = FILENAME
// poa.h
//
@@ -13,7 +13,7 @@
//
// = AUTHOR
// Copyright 1994-1995 by Sun Microsystems, Inc.
-//
+//
// ============================================================================
#if !defined (TAO_POA_H)
@@ -36,7 +36,7 @@ public:
CORBA::Environment &env);
virtual ~CORBA_POA (void);
- static CORBA::POA_ptr init (CORBA::ORB_ptr which_orb,
+ static CORBA::POA_ptr init (CORBA::ORB_ptr which_orb,
ACE_INET_Addr &addr,
CORBA::Environment &env);
// NON-STANDARD CALL. According to CORBA V2.0, this functionality
@@ -47,7 +47,35 @@ public:
//
// @@ Hum, does this still make sense now that it's in POA?
- typedef void (CORBA_POA::*dsi_handler) (PortableServer::ObjectId &id,
+ /* virtual */
+ CORBA::Object_ptr create (CORBA::OctetSeq& obj_id,
+ CORBA::String type_id,
+ CORBA::Environment& env);
+ // Create a reference to an object, using identifying information
+ // that is fully exposed to applications. (An ORB may use additional
+ // data internally, of course.)
+ //
+ // Object IDs are assigned and used by servers to identify objects.
+ //
+ // Type IDs are repository IDs, assigned as part of OMG-IDL
+ // interface definition to identify specific interfaces and their
+ // relationships to other OMG-IDL interfaces. It's OK to provide a
+ // null type ID.
+ //
+ // Clients which invoke operations using one of these references
+ // when the server is not active (or after the last reference to the
+ // POA is released) will normally see an OBJECT_NOT_EXIST exception
+ // reported by the ORB. If the POA is a "Named POA" the client's
+ // ORB will not normally return OBJECT_NOT_EXIST unless the POA
+ // reports that fault.
+ //
+ // NOTE: Since any given POA may have been used in the past, servers
+ // may need to place some data (such as a timestamp) into the object
+ // ID to help distinguish different incarnations of the POA. "Named
+ // POA" objects won't want those semantics as much as "Anonymous"
+ // ones.
+
+ typedef void (CORBA_POA::*dsi_handler) (CORBA::OctetSeq &obj_id,
CORBA::ServerRequest &request,
void *context,
CORBA::Environment &env);
@@ -79,7 +107,7 @@ public:
// * "_is_a" is readily handled by skeletons,
//
// * "_get_interface" similarly, though with more work to allow the
- // IFR data structures to be extracted from skeletons.
+ // IFR data structures to be extracted from skeletons.
//
// * "_get_implementation" is implementation-specific, a facility
// through which administrative and other information may be
@@ -90,7 +118,7 @@ public:
// This enables solving many "distributed garbage" problems,
// such as maintaining persistent tables keyed by references to
// objects that may no longer exist.
-
+
#if 0
// @@ virtual
void please_shutdown (CORBA::Environment &env);
@@ -105,7 +133,7 @@ public:
// Run -- call get_request () in a loop until shutdown completes.
// Uses as much concurrency as is provided in this environment.
// Initiate shutdown if we've been idle for the specified time.
- //
+ //
// This uses only the public APIs defined above; the function is
// defined here purely for convenience, to help some applications
// avoid writing that loop.
@@ -116,7 +144,7 @@ public:
// Get an "anonymous" POA pseudo-objref ... this is the API that
// most applications will use. It returns a POA which is not
// otherwise in use (though it may have been used in the past).
- //
+ //
// Any given POA (named or otherwise) will create equivalent object
// references when POA::create () is called with the same object and
// type IDs. This is not true for two different POAs.
@@ -125,26 +153,26 @@ public:
CORBA::String name,
CORBA::Environment &env);
// Get a "named" POA ... most applications don't use/need this API.
- //
+ //
// POA names are for ORB/system bootstrapping purposes, and need not
// be shared between different systems. The scope of the name isn't
// guaranteed to include more than one system. The names themselves
// are administered using system-specific mechanisms and policies.
- void dispatch (PortableServer::ObjectId &key,
- CORBA::ServerRequest &req,
- void *context,
+ void dispatch (PortableServer::ObjectId &key,
+ CORBA::ServerRequest &req,
+ void *context,
CORBA::Environment &env);
// Find the object for the request and pass it up the chain. Errors
// are returned in <env>.
- virtual int bind (const PortableServer::ObjectId &key,
+ virtual int bind (const PortableServer::ObjectId &key,
PortableServer::Servant obj);
// Registers a CORBA::Object into the object table and associates the
// key with it. Returns -1 on failure, 0 on success, 1 on
// duplicate.
- virtual int find (const PortableServer::ObjectId &key,
+ virtual int find (const PortableServer::ObjectId &key,
PortableServer::Servant &obj);
// Looks up an object in the object table using <{key}>. Returns
// non-negative integer on success, or -1 on failure.
@@ -161,29 +189,29 @@ private:
TAO_Object_Table objtable_;
// Table of objects registered with this Object Adapter.
- CORBA::Boolean do_exit_;
+ CORBA::Boolean do_exit_;
// Flag set by <clean_shutdown ()>.
- CORBA::ORB_ptr orb_;
+ CORBA::ORB_ptr orb_;
// Pointer to our ORB.
- u_int call_count_;
+ u_int call_count_;
// Used by COM stuff
- u_int refcount_;
+ u_int refcount_;
// Used by COM stuff
- CORBA::POA::dsi_handler skeleton_;
+ CORBA::POA::dsi_handler skeleton_;
// Skeleton function
- void *context_;
+ void *context_;
// Who knows!?!
- ACE_SYNCH_MUTEX lock_;
+ ACE_SYNCH_MUTEX lock_;
// Locks critical sections within POA code methods (was
// tcpoa_mutex).
- ACE_SYNCH_MUTEX com_lock_;
+ ACE_SYNCH_MUTEX com_lock_;
// Locks critical sections in COM-related code (was tcpoa_lock).
// = Copy and assignment: just say no
@@ -195,7 +223,7 @@ struct TAO_Dispatch_Context
// = TITLE
// Structure holding information necessary for GIOP functionality.
//
- // = DESCRIPTION
+ // = DESCRIPTION
// Data structure passed as "context" to the GIOP code, which then
// calls back one of the two helper routines as part of handling
// any particular incoming request.
diff --git a/TAO/tao/varout.h b/TAO/tao/varout.h
index 02e2f19a484..2fe6c6acab4 100644
--- a/TAO/tao/varout.h
+++ b/TAO/tao/varout.h
@@ -225,7 +225,7 @@ public:
TAO_Object_var (T_ptr);
// constructor from a pointer to T
- TAO_Object_var (const TAO_Object_var<T_ptr> &);
+ TAO_Object_var (const TAO_Object_var<T,T_ptr> &);
// copy constructor
~TAO_Object_var (void);
@@ -234,7 +234,7 @@ public:
TAO_Object_var<T_ptr> &operator= (T_ptr);
// assignment from a pointer to T
- TAO_Object_var<T_ptr> &operator= (const TAO_Object_var<T_ptr> &);
+ TAO_Object_var<T_ptr> &operator= (const TAO_Object_var<T,T_ptr> &);
// assignment from a TAO_Object_var
T_ptr operator-> (void) const;
diff --git a/TAO/tests/Cubit/TAO/IDL_Cubit/clnt.cpp b/TAO/tests/Cubit/TAO/IDL_Cubit/clnt.cpp
index 17e68834daa..8c7e12ba713 100644
--- a/TAO/tests/Cubit/TAO/IDL_Cubit/clnt.cpp
+++ b/TAO/tests/Cubit/TAO/IDL_Cubit/clnt.cpp
@@ -20,15 +20,17 @@
// ============================================================================
#include "ace/Profile_Timer.h"
+#include "ace/Env_Value_T.h"
#include "clnt.h"
// Constructor.
+#define quote(x) #x
+
Cubit_Client::Cubit_Client (void)
: cubit_factory_key_ ("factory"),
cubit_key_ ("key0"),
hostname_ (ACE_DEFAULT_SERVER_HOST),
- portnum_ (TAO_DEFAULT_SERVER_PORT),
loop_count_ (250),
exit_later_ (0),
factory_ (Cubit_Factory::_nil ()),
@@ -38,6 +40,9 @@ Cubit_Client::Cubit_Client (void)
call_count_ (0),
error_count_ (0)
{
+ ACE_Env_Value<unsigned long> defport(quote(TAO_DEFAULT_SERVER_PORT),
+ TAO_DEFAULT_SERVER_PORT);
+ portnum_ = defport;
}
// Simple function that returns the substraction of 117 from the
@@ -763,3 +768,10 @@ main (int argc, char **argv)
else
return cubit_client.run ();
}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Env_Value<unsigned long>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Env_Value<unsigned long>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
+
diff --git a/TAO/tests/Cubit/TAO/MT_Cubit/Task_Client.cpp b/TAO/tests/Cubit/TAO/MT_Cubit/Task_Client.cpp
index 1bf7393b651..dd6c268e0ba 100644
--- a/TAO/tests/Cubit/TAO/MT_Cubit/Task_Client.cpp
+++ b/TAO/tests/Cubit/TAO/MT_Cubit/Task_Client.cpp
@@ -145,6 +145,11 @@ Client::get_low_priority_latency (void)
return l / (double) (ts_->start_count_ - 1);
}
+int
+Client::get_latency (u_int thread_id) {
+ return ts_->ave_latency_ [thread_id];
+}
+
double
Client::get_high_priority_jitter () {
double jitter = 0;