summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-06-16 20:49:28 +0000
committercoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-06-16 20:49:28 +0000
commit9870e02540eba12bea75c10e3949b85c2852a11c (patch)
tree89796a3843a8c7a98cd5e3cdff57a6181428e140
parentb99febba053e8b113d8d34ff343325b37e874e9e (diff)
downloadATCD-9870e02540eba12bea75c10e3949b85c2852a11c.tar.gz
ChangeLogTag:Wed Jun 16 13:41:30 1999 Carlos O'Ryan <coryan@cs.wustl.edu>
-rw-r--r--TAO/ChangeLog-99c8
-rw-r--r--TAO/TAO_IDL/Makefile476
-rw-r--r--TAO/TAO_IDL/be/Makefile.am2
-rw-r--r--TAO/TAO_IDL/be/be_interface.cpp173
-rw-r--r--TAO/TAO_IDL/be/be_visitor_argument.cpp1
-rw-r--r--TAO/TAO_IDL/be/be_visitor_argument/arglist_ami.cpp321
-rw-r--r--TAO/TAO_IDL/be/be_visitor_factory.cpp34
-rw-r--r--TAO/TAO_IDL/be/be_visitor_interface.cpp2
-rw-r--r--TAO/TAO_IDL/be/be_visitor_interface/ami_handler_fwd_ch.cpp127
-rw-r--r--TAO/TAO_IDL/be/be_visitor_interface/ami_handler_fwd_ci.cpp166
-rw-r--r--TAO/TAO_IDL/be/be_visitor_interface/interface.cpp53
-rw-r--r--TAO/TAO_IDL/be/be_visitor_interface/interface_ch.cpp41
-rw-r--r--TAO/TAO_IDL/be/be_visitor_interface/interface_ci.cpp37
-rw-r--r--TAO/TAO_IDL/be/be_visitor_interface_fwd.cpp1
-rw-r--r--TAO/TAO_IDL/be/be_visitor_operation.cpp3
-rw-r--r--TAO/TAO_IDL/be/be_visitor_operation/arglist.cpp1
-rw-r--r--TAO/TAO_IDL/be/be_visitor_operation/arglist_ami.cpp176
-rw-r--r--TAO/TAO_IDL/be/be_visitor_operation/argument.cpp3
-rw-r--r--TAO/TAO_IDL/be/be_visitor_operation/operation_ami_ch.cpp93
-rw-r--r--TAO/TAO_IDL/be/be_visitor_operation/operation_ami_cs.cpp900
-rw-r--r--TAO/TAO_IDL/be/be_visitor_operation/rettype_return_cs.cpp32
-rw-r--r--TAO/TAO_IDL/be_include/be_codegen.h16
-rw-r--r--TAO/TAO_IDL/be_include/be_interface.h32
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_argument.h1
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_argument/arglist_ami.h96
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_interface.h3
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_interface/ami_handler_fwd_ch.h48
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_interface/ami_handler_fwd_ci.h49
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_interface/interface_ch.h1
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_interface_fwd.h1
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_operation.h3
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_operation/arglist_ami.h54
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_operation/operation_ami.h51
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_operation/operation_ami_ch.h51
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_operation/operation_ami_cs.h125
-rw-r--r--TAO/TAO_IDL/driver/drv_args.cpp13
-rw-r--r--TAO/TAO_IDL/include/idl_global.h12
-rw-r--r--TAO/TAO_IDL/util/utl_global.cpp15
38 files changed, 2980 insertions, 241 deletions
diff --git a/TAO/ChangeLog-99c b/TAO/ChangeLog-99c
index 0dfe7c3c1b5..d5e3034259b 100644
--- a/TAO/ChangeLog-99c
+++ b/TAO/ChangeLog-99c
@@ -1,3 +1,11 @@
+Wed Jun 16 13:41:30 1999 Carlos O'Ryan <coryan@cs.wustl.edu>
+
+ * Incorporated the changes in the second phase for the
+ asynchronous messaging support. This time Alex changed the IDL
+ compiler to generate the ReplyHandler and the sendc_ methods.
+ The merge includes all the changes from ami_phase2_start to
+ ami_phase2_end.
+
Wed Jun 16 15:31:31 1999 Jeff Parsons <parsons@cs.wustl.edu>
* TAO_IDL/be/be_visitor_union/dsicriminant_ci.cpp:
diff --git a/TAO/TAO_IDL/Makefile b/TAO/TAO_IDL/Makefile
index a0886d67f9d..c3431a717c5 100644
--- a/TAO/TAO_IDL/Makefile
+++ b/TAO/TAO_IDL/Makefile
@@ -257,6 +257,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -340,6 +342,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -423,6 +427,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -506,6 +512,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -610,6 +618,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -697,6 +707,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -780,6 +792,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -870,6 +884,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -954,6 +970,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -1038,6 +1056,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -1122,6 +1142,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -1206,6 +1228,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -1290,6 +1314,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -1374,6 +1400,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -1454,9 +1482,10 @@ tags:
include/ast_extern.h include/nr_extern.h include/global_extern.h \
include/fe_private.h include/fe_interface_header.h \
include/fe_declarator.h
-.obj/lex.yy.o .obj/lex.yy.so .shobj/lex.yy.o .shobj/lex.yy.so: fe/lex.yy.cpp \
- $(ACE_ROOT)/ace/OS.h \
+.obj/lex.yy.o .obj/lex.yy.so .shobj/lex.yy.o .shobj/lex.yy.so: fe/lex.yy.cpp $(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -1467,11 +1496,11 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/ACE.i \
$(ACE_ROOT)/ace/Log_Priority.h \
- $(ACE_ROOT)/ace/Log_Record.i \
- include/idl.h 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 \
+ $(ACE_ROOT)/ace/Log_Record.i include/idl.h \
+ 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 \
$(ACE_ROOT)/ace/CDR_Stream.h \
$(ACE_ROOT)/ace/Message_Block.h \
$(ACE_ROOT)/ace/Malloc.h \
@@ -1542,6 +1571,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -1624,6 +1655,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -1706,6 +1739,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -1788,6 +1823,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -1870,6 +1907,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -1952,6 +1991,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -2034,6 +2075,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -2116,6 +2159,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -2198,6 +2243,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -2280,6 +2327,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -2362,6 +2411,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -2444,6 +2495,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -2526,6 +2579,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -2608,6 +2663,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -2690,6 +2747,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -2772,6 +2831,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -2854,6 +2915,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -2936,6 +2999,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -3018,6 +3083,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -3100,6 +3167,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -3182,6 +3251,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -3264,6 +3335,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -3346,6 +3419,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -3428,6 +3503,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -3510,6 +3587,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -3592,6 +3671,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -3674,6 +3755,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -3756,6 +3839,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -3838,6 +3923,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -3920,6 +4007,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -4002,6 +4091,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -4084,6 +4175,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -4166,6 +4259,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -4248,6 +4343,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -4330,6 +4427,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -4412,6 +4511,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -4494,6 +4595,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -4576,6 +4679,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -4658,6 +4763,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -4740,6 +4847,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -4822,6 +4931,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -4904,6 +5015,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -4986,6 +5099,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -5068,6 +5183,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -5150,6 +5267,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -5232,6 +5351,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -5314,6 +5435,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -5392,8 +5515,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
@@ -5418,6 +5540,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -5496,8 +5620,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
@@ -5522,6 +5645,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -5600,8 +5725,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
@@ -5626,6 +5750,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -5704,8 +5830,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
@@ -5730,6 +5855,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -5808,8 +5935,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
@@ -5834,6 +5960,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -5912,8 +6040,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
@@ -5938,6 +6065,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -6016,8 +6145,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
@@ -6042,6 +6170,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -6120,8 +6250,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
@@ -6146,6 +6275,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -6224,8 +6355,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
@@ -6250,6 +6380,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -6347,7 +6479,9 @@ tags:
be_include/be_visitor_interface/cdr_op_ci.h \
be_include/be_visitor_interface/cdr_op_cs.h \
be_include/be_visitor_interface/tie_sh.h \
- be_include/be_visitor_interface/tie_si.h be_include/be.h \
+ be_include/be_visitor_interface/tie_si.h \
+ be_include/be_visitor_interface/ami_handler_fwd_ch.h \
+ be_include/be_visitor_interface/ami_handler_fwd_ci.h be_include/be.h \
$(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
@@ -6373,6 +6507,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -6451,8 +6587,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
@@ -6477,6 +6612,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -6555,8 +6692,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
@@ -6581,6 +6717,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -6659,8 +6797,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
@@ -6685,6 +6822,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -6763,8 +6902,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
@@ -6789,6 +6927,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -6867,8 +7007,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
@@ -6893,6 +7032,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -6971,8 +7112,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
@@ -6997,6 +7137,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -7075,8 +7217,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
@@ -7101,6 +7242,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -7179,8 +7322,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
@@ -7205,6 +7347,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -7283,8 +7427,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
@@ -7321,6 +7464,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -7399,8 +7544,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
@@ -7425,6 +7569,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -7503,8 +7649,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
@@ -7529,6 +7674,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -7607,8 +7754,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
@@ -7633,6 +7779,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -7711,8 +7859,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
@@ -7737,6 +7884,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -7815,8 +7964,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
@@ -7841,6 +7989,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -7919,8 +8069,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
@@ -7945,6 +8094,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -8023,8 +8174,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
@@ -8049,6 +8199,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -8127,8 +8279,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
@@ -8153,6 +8304,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -8231,8 +8384,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
@@ -8258,6 +8410,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -8336,8 +8490,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
@@ -8362,6 +8515,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -8440,8 +8595,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
@@ -8466,6 +8620,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -8544,8 +8700,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
@@ -8570,6 +8725,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -8648,8 +8805,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
@@ -8674,6 +8830,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -8752,8 +8910,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
@@ -8779,6 +8936,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -8857,8 +9016,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
@@ -8883,6 +9041,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -8961,8 +9121,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
@@ -8987,6 +9146,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -9065,8 +9226,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
@@ -9092,6 +9252,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -9170,8 +9332,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
@@ -9209,6 +9370,7 @@ tags:
be_include/be_visitor_argument/compiled_marshal_cs.h \
be_include/be_visitor_argument/compiled_marshal_ss.h \
be_include/be_visitor_argument/pre_invoke_cs.h \
+ be_include/be_visitor_argument/arglist_ami.h \
be_include/be_visitor_array.h be_include/be_visitor_array/array.h \
be_include/be_visitor_array/array_ch.h \
be_include/be_visitor_array/array_ci.h \
@@ -9265,6 +9427,8 @@ tags:
be_include/be_visitor_interface/cdr_op_cs.h \
be_include/be_visitor_interface/tie_sh.h \
be_include/be_visitor_interface/tie_si.h \
+ be_include/be_visitor_interface/ami_handler_fwd_ch.h \
+ be_include/be_visitor_interface/ami_handler_fwd_ci.h \
be_include/be_visitor_interface_fwd.h \
be_include/be_visitor_interface_fwd/interface_fwd_ch.h \
be_include/be_visitor_interface_fwd/interface_fwd_ci.h \
@@ -9325,6 +9489,9 @@ tags:
be_include/be_visitor_operation/rettype_marshal_ss.h \
be_include/be_visitor_operation/compiled_marshal.h \
be_include/be_visitor_operation/rettype_pre_invoke_cs.h \
+ be_include/be_visitor_operation/operation_ami_ch.h \
+ be_include/be_visitor_operation/operation_ami_cs.h \
+ be_include/be_visitor_operation/arglist_ami.h \
be_include/be_visitor_root.h be_include/be_visitor_root/root.h \
be_include/be_visitor_root/root_ch.h \
be_include/be_visitor_root/root_ci.h \
@@ -9397,6 +9564,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -9498,6 +9667,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -9612,6 +9783,7 @@ tags:
be_include/be_visitor_argument/compiled_marshal_cs.h \
be_include/be_visitor_argument/compiled_marshal_ss.h \
be_include/be_visitor_argument/pre_invoke_cs.h \
+ be_include/be_visitor_argument/arglist_ami.h \
be/be_visitor_argument/arglist.cpp \
be/be_visitor_argument/argument.cpp \
be/be_visitor_argument/docall_cs.cpp \
@@ -9626,11 +9798,14 @@ tags:
be/be_visitor_argument/vardecl_ss.cpp \
be/be_visitor_argument/compiled_marshal_cs.cpp \
be/be_visitor_argument/compiled_marshal_ss.cpp \
- be/be_visitor_argument/pre_invoke_cs.cpp
+ be/be_visitor_argument/pre_invoke_cs.cpp \
+ be/be_visitor_argument/arglist_ami.cpp
.obj/be_visitor_array.o .obj/be_visitor_array.so .shobj/be_visitor_array.o .shobj/be_visitor_array.so: be/be_visitor_array.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-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -9709,8 +9884,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
@@ -9748,6 +9922,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -9826,8 +10002,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
@@ -9856,6 +10031,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -9934,8 +10111,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
@@ -9966,6 +10142,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -10044,8 +10222,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
@@ -10070,6 +10247,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -10148,8 +10327,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
@@ -10175,6 +10353,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -10253,8 +10433,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
@@ -10289,6 +10468,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -10367,8 +10548,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
@@ -10423,6 +10603,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -10501,8 +10683,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
@@ -10537,6 +10718,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -10615,8 +10798,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
@@ -10657,6 +10839,8 @@ tags:
be_include/be_visitor_interface/cdr_op_cs.h \
be_include/be_visitor_interface/tie_sh.h \
be_include/be_visitor_interface/tie_si.h \
+ be_include/be_visitor_interface/ami_handler_fwd_ch.h \
+ be_include/be_visitor_interface/ami_handler_fwd_ci.h \
be/be_visitor_interface/interface.cpp \
be/be_visitor_interface/interface_ch.cpp \
be/be_visitor_interface/interface_ci.cpp \
@@ -10673,12 +10857,19 @@ tags:
be/be_visitor_interface/any_op_cs.cpp \
be/be_visitor_interface/cdr_op_ch.cpp \
be/be_visitor_interface/cdr_op_ci.cpp \
- be/be_visitor_interface/cdr_op_cs.cpp
+ be/be_visitor_interface/cdr_op_cs.cpp \
+ be/be_visitor_interface/ami_handler_fwd_ch.cpp \
+ be_include/be_visitor_interface_fwd.h \
+ be_include/be_visitor_interface_fwd/interface_fwd_ch.h \
+ be_include/be_visitor_interface_fwd/interface_fwd_ci.h \
+ be_include/be_visitor_interface_fwd/cdr_op_ci.h \
+ be/be_visitor_interface/ami_handler_fwd_ci.cpp
.obj/be_visitor_interface_fwd.o .obj/be_visitor_interface_fwd.so .shobj/be_visitor_interface_fwd.o .shobj/be_visitor_interface_fwd.so: be/be_visitor_interface_fwd.cpp \
- include/idl.h \
- $(ACE_ROOT)/ace/ACE.h \
+ include/idl.h $(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -10757,8 +10948,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
@@ -10791,6 +10981,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -10869,8 +11061,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
@@ -10948,6 +11139,9 @@ tags:
be_include/be_visitor_operation/rettype_marshal_ss.h \
be_include/be_visitor_operation/compiled_marshal.h \
be_include/be_visitor_operation/rettype_pre_invoke_cs.h \
+ be_include/be_visitor_operation/operation_ami_ch.h \
+ be_include/be_visitor_operation/operation_ami_cs.h \
+ be_include/be_visitor_operation/arglist_ami.h \
be/be_visitor_valuetype/field_ch.cpp \
be/be_visitor_valuetype/field_cs.cpp \
be/be_visitor_valuetype/field_cdr_ci.cpp \
@@ -10959,10 +11153,11 @@ tags:
be_include/be_visitor_field/cdr_op_cs.h \
be/be_visitor_valuetype/obv_module.cpp
.obj/be_visitor_valuetype_fwd.o .obj/be_visitor_valuetype_fwd.so .shobj/be_visitor_valuetype_fwd.o .shobj/be_visitor_valuetype_fwd.so: be/be_visitor_valuetype_fwd.cpp \
- include/idl.h \
- $(ACE_ROOT)/ace/ACE.h \
+ include/idl.h $(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -11041,8 +11236,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
@@ -11072,6 +11266,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -11150,8 +11346,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
@@ -11186,6 +11381,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -11264,8 +11461,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
@@ -11317,6 +11513,9 @@ tags:
be_include/be_visitor_operation/rettype_marshal_ss.h \
be_include/be_visitor_operation/compiled_marshal.h \
be_include/be_visitor_operation/rettype_pre_invoke_cs.h \
+ be_include/be_visitor_operation/operation_ami_ch.h \
+ be_include/be_visitor_operation/operation_ami_cs.h \
+ be_include/be_visitor_operation/arglist_ami.h \
be/be_visitor_operation/operation.cpp \
be/be_visitor_operation/arglist.cpp \
be/be_visitor_operation/argument.cpp \
@@ -11346,6 +11545,7 @@ tags:
be_include/be_visitor_argument/compiled_marshal_cs.h \
be_include/be_visitor_argument/compiled_marshal_ss.h \
be_include/be_visitor_argument/pre_invoke_cs.h \
+ be_include/be_visitor_argument/arglist_ami.h \
be/be_visitor_operation/operation_is.cpp \
be/be_visitor_operation/rettype.cpp \
be/be_visitor_operation/rettype_is.cpp \
@@ -11360,11 +11560,16 @@ tags:
be/be_visitor_operation/rettype_vardecl_ss.cpp \
be/be_visitor_operation/tie_sh.cpp be/be_visitor_operation/tie_si.cpp \
be/be_visitor_operation/compiled_marshal.cpp \
- be/be_visitor_operation/rettype_pre_invoke_cs.cpp
+ be/be_visitor_operation/rettype_pre_invoke_cs.cpp \
+ be/be_visitor_operation/operation_ami_ch.cpp \
+ be/be_visitor_operation/operation_ami_cs.cpp \
+ be/be_visitor_operation/arglist_ami.cpp
.obj/be_visitor_root.o .obj/be_visitor_root.so .shobj/be_visitor_root.o .shobj/be_visitor_root.so: be/be_visitor_root.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-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -11443,8 +11648,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
@@ -11486,6 +11690,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -11564,8 +11770,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
@@ -11591,6 +11796,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -11669,8 +11876,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
@@ -11735,6 +11941,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -11813,8 +12021,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
@@ -11865,6 +12072,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -11943,8 +12152,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
@@ -11975,6 +12183,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -12053,8 +12263,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
@@ -12098,6 +12307,8 @@ tags:
$(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -12176,8 +12387,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
@@ -12219,10 +12429,11 @@ tags:
be/be_visitor_union/any_op_cs.cpp be/be_visitor_union/cdr_op_ch.cpp \
be/be_visitor_union/cdr_op_ci.cpp be/be_visitor_union/cdr_op_cs.cpp
.obj/be_visitor_union_branch.o .obj/be_visitor_union_branch.so .shobj/be_visitor_union_branch.o .shobj/be_visitor_union_branch.so: be/be_visitor_union_branch.cpp \
- include/idl.h \
- $(ACE_ROOT)/ace/ACE.h \
+ include/idl.h $(ACE_ROOT)/ace/ACE.h \
$(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config-sunos5.6.h \
+ $(ACE_ROOT)/ace/config-sunos5.5.h \
$(ACE_ROOT)/ace/streams.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
@@ -12301,8 +12512,7 @@ tags:
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 \
- be_include/be.h \
- $(ACE_ROOT)/ace/Singleton.h \
+ be_include/be.h $(ACE_ROOT)/ace/Singleton.h \
$(ACE_ROOT)/ace/Singleton.i \
$(ACE_ROOT)/ace/Singleton.cpp \
$(ACE_ROOT)/ace/Process.h \
diff --git a/TAO/TAO_IDL/be/Makefile.am b/TAO/TAO_IDL/be/Makefile.am
index 67b85a70c01..0ef64553405 100644
--- a/TAO/TAO_IDL/be/Makefile.am
+++ b/TAO/TAO_IDL/be/Makefile.am
@@ -39,6 +39,7 @@ libbe_a_SOURCES = \
be_module.cpp \
be_native.cpp \
be_operation.cpp \
+ be_operation_ami.cpp \
be_predefined_type.cpp \
be_produce.cpp \
be_root.cpp \
@@ -68,6 +69,7 @@ libbe_a_SOURCES = \
be_visitor_interface_fwd.cpp \
be_visitor_module.cpp \
be_visitor_operation.cpp \
+ be_visitor_operation_ami.cpp \
be_visitor_root.cpp \
be_visitor_scope.cpp \
be_visitor_sequence.cpp \
diff --git a/TAO/TAO_IDL/be/be_interface.cpp b/TAO/TAO_IDL/be/be_interface.cpp
index f2d84c938ad..26b9ed29d28 100644
--- a/TAO/TAO_IDL/be/be_interface.cpp
+++ b/TAO/TAO_IDL/be/be_interface.cpp
@@ -351,18 +351,27 @@ be_interface::gen_def_ctors_helper (be_interface* node, be_interface* base, TAO_
}
-// generate the var definition
+// generate the var definition. If <interface_name> is not 0, generate
+// the var defn for that name. Otherwise, do it for the interface you
+// are visiting (this).
int
-be_interface::gen_var_defn (void)
+be_interface::gen_var_defn (char* interface_name)
{
- TAO_OutStream *ch; // output stream
- TAO_NL nl; // end line
+ TAO_OutStream *ch; // output stream
+ TAO_NL nl; // end line
char namebuf [NAMEBUFSIZE]; // names
- ACE_OS::memset (namebuf, '\0', NAMEBUFSIZE);
- ACE_OS::sprintf (namebuf, "%s_var", this->local_name ()->get_string ());
+ // Decide which name to use.
+ if (interface_name == 0)
+ interface_name = this->local_name ()->get_string ();
- // retrieve a singleton instance of the code generator
+ // Buffer with name of the var class.
+ ACE_OS::memset (namebuf, '\0', NAMEBUFSIZE);
+ ACE_OS::sprintf (namebuf,
+ "%s_var",
+ interface_name);
+
+ // Retrieve a singleton instance of the code generator
TAO_CodeGen *cg = TAO_CODEGEN::instance ();
ch = cg->client_header ();
@@ -380,7 +389,7 @@ be_interface::gen_var_defn (void)
// default constr
*ch << namebuf << " (void); // default constructor" << nl;
- *ch << namebuf << " (" << local_name () << "_ptr);" << nl;
+ *ch << namebuf << " (" << interface_name << "_ptr);" << nl;
// copy constructor
*ch << namebuf << " (const " << namebuf <<
@@ -391,31 +400,31 @@ be_interface::gen_var_defn (void)
*ch << nl;
// assignment operator from a pointer
- *ch << namebuf << " &operator= (" << local_name () << "_ptr);" << nl;
+ *ch << namebuf << " &operator= (" << interface_name << "_ptr);" << nl;
// assignment from _var
*ch << namebuf << " &operator= (const " << namebuf <<
" &);" << nl;
// arrow operator
- *ch << local_name () << "_ptr operator-> (void) const;" << nl;
+ *ch << interface_name << "_ptr operator-> (void) const;" << nl;
*ch << nl;
// other extra types (cast operators, [] operator, and others)
- *ch << "operator const " << local_name () << "_ptr &() const;" << nl;
- *ch << "operator " << local_name () << "_ptr &();" << nl;
+ *ch << "operator const " << interface_name << "_ptr &() const;" << nl;
+ *ch << "operator " << interface_name << "_ptr &();" << nl;
*ch << "// in, inout, out, _retn " << nl;
// the return types of in, out, inout, and _retn are based on the parameter
// passing rules and the base type
- *ch << local_name () << "_ptr in (void) const;" << nl;
- *ch << local_name () << "_ptr &inout (void);" << nl;
- *ch << local_name () << "_ptr &out (void);" << nl;
- *ch << local_name () << "_ptr _retn (void);" << nl;
+ *ch << interface_name << "_ptr in (void) const;" << nl;
+ *ch << interface_name << "_ptr &inout (void);" << nl;
+ *ch << interface_name << "_ptr &out (void);" << nl;
+ *ch << interface_name << "_ptr _retn (void);" << nl;
// generate an additional member function that returns the underlying pointer
- *ch << local_name () << "_ptr ptr (void) const;\n";
+ *ch << interface_name << "_ptr ptr (void) const;\n";
*ch << "\n";
ch->decr_indent ();
@@ -423,7 +432,7 @@ be_interface::gen_var_defn (void)
// private
*ch << "private:\n";
ch->incr_indent ();
- *ch << local_name () << "_ptr ptr_;\n";
+ *ch << interface_name << "_ptr ptr_;\n";
ch->decr_indent ();
*ch << "};\n\n";
@@ -431,21 +440,33 @@ be_interface::gen_var_defn (void)
return 0;
}
-// implementation of the _var class. All of these get generated in the inline
-// file
+// implementation of the _var class. All of these get generated in the
+// inline file.
+// If the argument is 0, then use the name in <this>, otherwise use
+// the name given. Just making the class more useful.
int
-be_interface::gen_var_impl (void)
+be_interface::gen_var_impl (char *interface_local_name,
+ char *interface_full_name)
{
TAO_OutStream *ci; // output stream
TAO_NL nl; // end line
char fname [NAMEBUFSIZE]; // to hold the full and
char lname [NAMEBUFSIZE]; // local _var names
+ // Decide on the names to use.
+ // Even if one argument is 0, there is no point using the
+ // arguments. Let us then use the name in this node.
+ if (interface_local_name == 0 || interface_full_name == 0)
+ {
+ interface_local_name = local_name ()->get_string ();
+ interface_full_name = (char *) this->fullname ();
+ }
+
ACE_OS::memset (fname, '\0', NAMEBUFSIZE);
- ACE_OS::sprintf (fname, "%s_var", this->fullname ());
+ ACE_OS::sprintf (fname, "%s_var", interface_full_name);
ACE_OS::memset (lname, '\0', NAMEBUFSIZE);
- ACE_OS::sprintf (lname, "%s_var", local_name ()->get_string ());
+ ACE_OS::sprintf (lname, "%s_var", interface_local_name);
// retrieve a singleton instance of the code generator
TAO_CodeGen *cg = TAO_CODEGEN::instance ();
@@ -453,8 +474,8 @@ be_interface::gen_var_impl (void)
ci = cg->client_inline ();
// generate the var implementation in the inline file
- // Depending upon the data type, there are some differences which we account
- // for over here.
+ // Depending upon the data type, there are some differences which we
+ // account for over here.
ci->indent (); // start with whatever was our current indent level
@@ -467,13 +488,13 @@ be_interface::gen_var_impl (void)
*ci << "ACE_INLINE" << nl;
*ci << fname << "::" << lname <<
" (void) // default constructor" << nl;
- *ci << " " << ": ptr_ (" << this->name () << "::_nil ())" << nl;
+ *ci << " " << ": ptr_ (" << interface_full_name << "::_nil ())" << nl;
*ci << "{}\n\n";
// constr from a _ptr
ci->indent ();
*ci << "ACE_INLINE" << nl;
- *ci << fname << "::" << lname << " (" << name () << "_ptr p)" << nl;
+ *ci << fname << "::" << lname << " (" << interface_full_name << "_ptr p)" << nl;
*ci << " : ptr_ (p)" << nl;
*ci << "{}\n\n";
@@ -482,7 +503,7 @@ be_interface::gen_var_impl (void)
// constructor because this inline function is used elsewhere. Hence to make
// inlining of this function possible, we must define it before its use.
ci->indent ();
- *ci << "ACE_INLINE " << name () << "_ptr " << nl;
+ *ci << "ACE_INLINE " << interface_full_name << "_ptr " << nl;
*ci << fname << "::ptr (void) const" << nl;
*ci << "{\n";
ci->incr_indent ();
@@ -495,7 +516,7 @@ be_interface::gen_var_impl (void)
*ci << "ACE_INLINE" << nl;
*ci << fname << "::" << lname << " (const " << fname <<
" &p) // copy constructor" << nl;
- *ci << " : ptr_ (" << name () << "::_duplicate (p.ptr ()))" << nl;
+ *ci << " : ptr_ (" << interface_full_name << "::_duplicate (p.ptr ()))" << nl;
*ci << "{}\n\n";
// destructor
@@ -511,7 +532,7 @@ be_interface::gen_var_impl (void)
// assignment operator
ci->indent ();
*ci << "ACE_INLINE " << fname << " &" << nl;
- *ci << fname << "::operator= (" << name () <<
+ *ci << fname << "::operator= (" << interface_full_name <<
"_ptr p)" << nl;
*ci << "{\n";
ci->incr_indent ();
@@ -542,7 +563,7 @@ be_interface::gen_var_impl (void)
// other extra methods - cast operator ()
ci->indent ();
*ci << "ACE_INLINE " << nl;
- *ci << fname << "::operator const " << name () <<
+ *ci << fname << "::operator const " << interface_full_name <<
"_ptr &() const // cast" << nl;
*ci << "{\n";
ci->incr_indent ();
@@ -552,7 +573,7 @@ be_interface::gen_var_impl (void)
ci->indent ();
*ci << "ACE_INLINE " << nl;
- *ci << fname << "::operator " << name () << "_ptr &() // cast " << nl;
+ *ci << fname << "::operator " << interface_full_name << "_ptr &() // cast " << nl;
*ci << "{\n";
ci->incr_indent ();
*ci << "return this->ptr_;\n";
@@ -561,7 +582,7 @@ be_interface::gen_var_impl (void)
// operator->
ci->indent ();
- *ci << "ACE_INLINE " << name () << "_ptr " << nl;
+ *ci << "ACE_INLINE " << interface_full_name << "_ptr " << nl;
*ci << fname << "::operator-> (void) const" << nl;
*ci << "{\n";
ci->incr_indent ();
@@ -571,7 +592,7 @@ be_interface::gen_var_impl (void)
// in, inout, out, and _retn
ci->indent ();
- *ci << "ACE_INLINE " << name () << "_ptr" << nl;
+ *ci << "ACE_INLINE " << interface_full_name << "_ptr" << nl;
*ci << fname << "::in (void) const" << nl;
*ci << "{\n";
ci->incr_indent ();
@@ -580,7 +601,7 @@ be_interface::gen_var_impl (void)
*ci << "}\n\n";
ci->indent ();
- *ci << "ACE_INLINE " << name () << "_ptr &" << nl;
+ *ci << "ACE_INLINE " << interface_full_name << "_ptr &" << nl;
*ci << fname << "::inout (void)" << nl;
*ci << "{\n";
ci->incr_indent ();
@@ -589,24 +610,24 @@ be_interface::gen_var_impl (void)
*ci << "}\n\n";
ci->indent ();
- *ci << "ACE_INLINE " << name () << "_ptr &" << nl;
+ *ci << "ACE_INLINE " << interface_full_name << "_ptr &" << nl;
*ci << fname << "::out (void)" << nl;
*ci << "{\n";
ci->incr_indent ();
*ci << "CORBA::release (this->ptr_);" << nl;
- *ci << "this->ptr_ = " << this->name () << "::_nil ();" << nl;
+ *ci << "this->ptr_ = " << interface_full_name << "::_nil ();" << nl;
*ci << "return this->ptr_;\n";
ci->decr_indent ();
*ci << "}\n\n";
ci->indent ();
- *ci << "ACE_INLINE " << name () << "_ptr " << nl;
+ *ci << "ACE_INLINE " << interface_full_name << "_ptr " << nl;
*ci << fname << "::_retn (void)" << nl;
*ci << "{\n";
ci->incr_indent ();
*ci << "// yield ownership of managed obj reference" << nl;
- *ci << this->name () << "_ptr val = this->ptr_;" << nl;
- *ci << "this->ptr_ = " << this->name () << "::_nil ();" << nl;
+ *ci << interface_full_name << "_ptr val = this->ptr_;" << nl;
+ *ci << "this->ptr_ = " << interface_full_name << "::_nil ();" << nl;
*ci << "return val;\n";
ci->decr_indent ();
*ci << "}\n\n";
@@ -614,18 +635,27 @@ be_interface::gen_var_impl (void)
return 0;
}
-// generate the _out definition
+// Generate the out definition. If <interface_name> is not 0, generate
+// the out defn for that name. Otherwise, do it for the interface you
+// are visiting (this).
int
-be_interface::gen_out_defn (void)
+be_interface::gen_out_defn (char *interface_name)
{
TAO_OutStream *ch; // output stream
TAO_NL nl; // end line
char namebuf [NAMEBUFSIZE]; // to hold the _out name
+
+ // Decide which name to use.
+ if (interface_name == 0)
+ interface_name = this->local_name ()->get_string ();
+ // Create the buffer with the name of the out class.
ACE_OS::memset (namebuf, '\0', NAMEBUFSIZE);
- ACE_OS::sprintf (namebuf, "%s_out", local_name ()->get_string ());
+ ACE_OS::sprintf (namebuf,
+ "%s_out",
+ interface_name);
- // retrieve a singleton instance of the code generator
+ // Retrieve a singleton instance of the code generator
TAO_CodeGen *cg = TAO_CODEGEN::instance ();
ch = cg->client_header ();
@@ -642,9 +672,9 @@ be_interface::gen_out_defn (void)
// No default constructor
// constructor from a pointer
- *ch << namebuf << " (" << local_name () << "_ptr &);" << nl;
+ *ch << namebuf << " (" << interface_name << "_ptr &);" << nl;
// constructor from a _var &
- *ch << namebuf << " (" << local_name () << "_var &);" << nl;
+ *ch << namebuf << " (" << interface_name << "_var &);" << nl;
// constructor from a _out &
*ch << namebuf << " (const " << namebuf << " &);" << nl;
// assignment operator from a _out &
@@ -652,39 +682,52 @@ be_interface::gen_out_defn (void)
// assignment operator from a pointer &, cast operator, ptr fn, operator
// -> and any other extra operators
// only interface allows assignment from var &
- *ch << namebuf << " &operator= (const " << local_name () << "_var &);" << nl;
- *ch << namebuf << " &operator= (" << local_name () << "_ptr);" << nl;
+ *ch << namebuf << " &operator= (const " << interface_name << "_var &);" << nl;
+ *ch << namebuf << " &operator= (" << interface_name << "_ptr);" << nl;
// cast
- *ch << "operator " << local_name () << "_ptr &();" << nl;
+ *ch << "operator " << interface_name << "_ptr &();" << nl;
// ptr fn
- *ch << local_name () << "_ptr &ptr (void);" << nl;
+ *ch << interface_name << "_ptr &ptr (void);" << nl;
// operator ->
- *ch << local_name () << "_ptr operator-> (void);" << nl;
+ *ch << interface_name << "_ptr operator-> (void);" << nl;
*ch << "\n";
ch->decr_indent ();
*ch << "private:\n";
ch->incr_indent ();
- *ch << local_name () << "_ptr &ptr_;\n";
+ *ch << interface_name << "_ptr &ptr_;\n";
ch->decr_indent ();
*ch << "};\n\n";
return 0;
}
+
+// Generate the out class definition. If <interface_name> is not 0,
+// generate the out defn for that name. Otherwise, do it for the
+// interface you are visiting (this).
int
-be_interface::gen_out_impl (void)
+be_interface::gen_out_impl (char *interface_local_name,
+ char *interface_full_name)
{
TAO_OutStream *ci; // output stream
TAO_NL nl; // end line
char fname [NAMEBUFSIZE]; // to hold the full and
char lname [NAMEBUFSIZE]; // local _out names
+ // Even if one argument is 0, there is no point using the
+ // arguments. Let us then use the name in this node.
+ if (interface_local_name == 0 || interface_full_name == 0)
+ {
+ interface_local_name = local_name ()->get_string ();
+ interface_full_name = (char *) this->fullname ();
+ }
+
ACE_OS::memset (fname, '\0', NAMEBUFSIZE);
- ACE_OS::sprintf (fname, "%s_out", this->fullname ());
+ ACE_OS::sprintf (fname, "%s_out", interface_full_name);
ACE_OS::memset (lname, '\0', NAMEBUFSIZE);
- ACE_OS::sprintf (lname, "%s_out", local_name ()->get_string ());
+ ACE_OS::sprintf (lname, "%s_out", interface_local_name);
// retrieve a singleton instance of the code generator
TAO_CodeGen *cg = TAO_CODEGEN::instance ();
@@ -705,24 +748,24 @@ be_interface::gen_out_impl (void)
// constr from a _ptr
ci->indent ();
*ci << "ACE_INLINE" << nl;
- *ci << fname << "::" << lname << " (" << name () << "_ptr &p)" << nl;
+ *ci << fname << "::" << lname << " (" << interface_full_name << "_ptr &p)" << nl;
*ci << " : ptr_ (p)" << nl;
*ci << "{\n";
ci->incr_indent ();
- *ci << "this->ptr_ = " << this->name () << "::_nil ();\n";
+ *ci << "this->ptr_ = " << interface_full_name << "::_nil ();\n";
ci->decr_indent ();
*ci << "}\n\n";
// constructor from _var &
ci->indent ();
*ci << "ACE_INLINE" << nl;
- *ci << fname << "::" << lname << " (" << this->name () <<
+ *ci << fname << "::" << lname << " (" << interface_full_name <<
"_var &p) // constructor from _var" << nl;
*ci << " : ptr_ (p.out ())" << nl;
*ci << "{\n";
ci->incr_indent ();
*ci << "CORBA::release (this->ptr_);" << nl;
- *ci << "this->ptr_ = " << this->name () << "::_nil ();\n";
+ *ci << "this->ptr_ = " << interface_full_name << "::_nil ();\n";
ci->decr_indent ();
*ci << "}\n\n";
@@ -749,11 +792,11 @@ be_interface::gen_out_impl (void)
// assignment operator from _var
ci->indent ();
*ci << "ACE_INLINE " << fname << " &" << nl;
- *ci << fname << "::operator= (const " << this->name () <<
+ *ci << fname << "::operator= (const " << interface_full_name <<
"_var &p)" << nl;
*ci << "{\n";
ci->incr_indent ();
- *ci << "this->ptr_ = " << this->name () << "::_duplicate (p.ptr ());" << nl;
+ *ci << "this->ptr_ = " << interface_full_name << "::_duplicate (p.ptr ());" << nl;
*ci << "return *this;\n";
ci->decr_indent ();
*ci << "}\n\n";
@@ -761,7 +804,7 @@ be_interface::gen_out_impl (void)
// assignment operator from _ptr
ci->indent ();
*ci << "ACE_INLINE " << fname << " &" << nl;
- *ci << fname << "::operator= (" << this->name () <<
+ *ci << fname << "::operator= (" << interface_full_name <<
"_ptr p)" << nl;
*ci << "{\n";
ci->incr_indent ();
@@ -773,7 +816,7 @@ be_interface::gen_out_impl (void)
// other extra methods - cast operator ()
ci->indent ();
*ci << "ACE_INLINE " << nl;
- *ci << fname << "::operator " << this->name () <<
+ *ci << fname << "::operator " << interface_full_name <<
"_ptr &() // cast" << nl;
*ci << "{\n";
ci->incr_indent ();
@@ -783,7 +826,7 @@ be_interface::gen_out_impl (void)
// ptr function
ci->indent ();
- *ci << "ACE_INLINE " << this->name () << "_ptr &" << nl;
+ *ci << "ACE_INLINE " << interface_full_name << "_ptr &" << nl;
*ci << fname << "::ptr (void) // ptr" << nl;
*ci << "{\n";
ci->incr_indent ();
@@ -793,7 +836,7 @@ be_interface::gen_out_impl (void)
// operator->
ci->indent ();
- *ci << "ACE_INLINE " << this->name () << "_ptr " << nl;
+ *ci << "ACE_INLINE " << interface_full_name << "_ptr " << nl;
*ci << fname << "::operator-> (void)" << nl;
*ci << "{\n";
ci->incr_indent ();
diff --git a/TAO/TAO_IDL/be/be_visitor_argument.cpp b/TAO/TAO_IDL/be/be_visitor_argument.cpp
index 82984108372..8e302bdcede 100644
--- a/TAO/TAO_IDL/be/be_visitor_argument.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_argument.cpp
@@ -38,6 +38,7 @@
#include "be_visitor_argument/compiled_marshal_cs.cpp"
#include "be_visitor_argument/compiled_marshal_ss.cpp"
#include "be_visitor_argument/pre_invoke_cs.cpp"
+#include "be_visitor_argument/arglist_ami.cpp"
ACE_RCSID(be, be_visitor_argument, "$Id$")
diff --git a/TAO/TAO_IDL/be/be_visitor_argument/arglist_ami.cpp b/TAO/TAO_IDL/be/be_visitor_argument/arglist_ami.cpp
new file mode 100644
index 00000000000..12e485067a0
--- /dev/null
+++ b/TAO/TAO_IDL/be/be_visitor_argument/arglist_ami.cpp
@@ -0,0 +1,321 @@
+//
+// $Id$
+//
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// arglist.cpp
+//
+// = DESCRIPTION
+// Visitor that generates the parameters in an Operation signature
+//
+// = AUTHOR
+// Aniruddha Gokhale
+//
+// ============================================================================
+
+#include "idl.h"
+#include "be.h"
+#include "be_visitor_argument.h"
+
+ACE_RCSID(be_visitor_argument, arglist_ami, "$Id$")
+
+
+// ************************************************************
+// be_visitor_args_arglist for parameter list in method declarations and
+// definitions for AMI stubs.
+// ************************************************************
+
+be_visitor_args_arglist_ami::be_visitor_args_arglist_ami (be_visitor_context *ctx)
+ : be_visitor_args (ctx)
+{
+}
+
+be_visitor_args_arglist_ami::~be_visitor_args_arglist_ami (void)
+{
+}
+
+int
+be_visitor_args_arglist_ami::visit_argument (be_argument *node)
+{
+ TAO_OutStream *os = this->ctx_->stream (); // get output stream
+ this->ctx_->node (node); // save the argument node
+
+ // retrieve the type
+ be_type *bt = be_type::narrow_from_decl (node->field_type ());
+ if (!bt)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "be_visitor_args_arglist::"
+ "visit_argument - "
+ "Bad argument type\n"),
+ -1);
+ }
+
+ os->indent (); // start with current indentation level
+
+ // Different types have different mappings when used as in/out or
+ // inout parameters. Let this visitor deal with the type
+
+ int result = bt->accept (this);
+ if (result == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "be_visitor_args_arglist::"
+ "visit_argument - "
+ "cannot accept visitor\n"),
+ -1);
+ }
+
+ // Print the variable name only if the type was printed already.
+ if (result)
+ *os << " " << node->local_name () << ",\n";
+
+ return 0;
+}
+
+int
+be_visitor_args_arglist_ami::visit_array (be_array *node)
+{
+ TAO_OutStream *os = this->ctx_->stream (); // get output stream
+
+ switch (this->direction ())
+ {
+ case AST_Argument::dir_IN:
+ case AST_Argument::dir_INOUT:
+ *os << "const " << this->type_name (node);
+ return 1;
+ /* NOT REACHED */
+ }
+ return 0;
+}
+
+int
+be_visitor_args_arglist_ami::visit_enum (be_enum *node)
+{
+ TAO_OutStream *os = this->ctx_->stream (); // get output stream
+
+ switch (this->direction ())
+ {
+ case AST_Argument::dir_IN:
+ case AST_Argument::dir_INOUT:
+ *os << this->type_name (node);
+ return 1;
+ /* NOT REACHED */
+ }
+ return 0;
+}
+
+int
+be_visitor_args_arglist_ami::visit_interface (be_interface *node)
+{
+ TAO_OutStream *os = this->ctx_->stream (); // get output stream
+
+ switch (this->direction ())
+ {
+ case AST_Argument::dir_IN:
+ case AST_Argument::dir_INOUT: // inout
+ *os << this->type_name (node, "_ptr");
+ return 1;
+ /* NOT REACHED */
+ }
+ return 0;
+}
+
+int
+be_visitor_args_arglist_ami::visit_interface_fwd (be_interface_fwd *node)
+{
+ TAO_OutStream *os = this->ctx_->stream (); // get output stream
+
+ switch (this->direction ())
+ {
+ case AST_Argument::dir_IN:
+ case AST_Argument::dir_INOUT: // inout
+ *os << this->type_name (node, "_ptr");
+ return 1;
+ /* NOT REACHED */
+ }
+ return 0;
+}
+
+int
+be_visitor_args_arglist_ami::visit_native (be_native *node)
+{
+ TAO_OutStream *os = this->ctx_->stream (); // get output stream
+
+ switch (this->direction ())
+ {
+ case AST_Argument::dir_IN:
+ case AST_Argument::dir_INOUT:
+ *os << this->type_name (node);
+ return 1;
+ /* NOT REACHED */
+ }
+ return 0;
+}
+
+int
+be_visitor_args_arglist_ami::visit_predefined_type (be_predefined_type *node)
+{
+ TAO_OutStream *os = this->ctx_->stream (); // get output stream
+
+ // check if the type is an any
+ if (node->pt () == AST_PredefinedType::PT_any)
+ {
+ switch (this->direction ())
+ {
+ case AST_Argument::dir_IN:
+ case AST_Argument::dir_INOUT:
+ *os << "const " << this->type_name (node) << " &";
+ return 1;
+ /* NOT REACHED */
+ }
+ }
+ else if (node->pt () == AST_PredefinedType::PT_pseudo) // e.g., CORBA::Object
+ {
+ switch (this->direction ())
+ {
+ case AST_Argument::dir_IN:
+ case AST_Argument::dir_INOUT:
+ *os << this->type_name (node, "_ptr");
+ return 1;
+ /* NOT REACHED */
+ } // end switch direction
+ } // end else if
+ else // simple predefined types
+ {
+ switch (this->direction ())
+ {
+ case AST_Argument::dir_IN:
+ case AST_Argument::dir_INOUT:
+ *os << this->type_name (node);
+ return 1;
+ /* NOT REACHED */
+ } // end switch direction
+ } // end of else
+
+ return 0;
+}
+
+int
+be_visitor_args_arglist_ami::visit_sequence (be_sequence *node)
+{
+ TAO_OutStream *os = this->ctx_->stream (); // get the stream
+
+ switch (this->direction ())
+ {
+ case AST_Argument::dir_IN:
+ case AST_Argument::dir_INOUT:
+ *os << "const " << this->type_name (node) << " &";
+ return 1;
+ /* NOT REACHED */
+ }
+ return 0;
+}
+
+int
+be_visitor_args_arglist_ami::visit_string (be_string *)
+{
+ TAO_OutStream *os = this->ctx_->stream (); // get the stream
+
+ switch (this->direction ())
+ {
+ case AST_Argument::dir_IN:
+ case AST_Argument::dir_INOUT:
+ *os << "const char *";
+ return 1;
+ /* NOT REACHED */
+ }
+ return 0;
+}
+
+int
+be_visitor_args_arglist_ami::visit_structure (be_structure *node)
+{
+ TAO_OutStream *os = this->ctx_->stream (); // get the stream
+
+ switch (this->direction ())
+ {
+ case AST_Argument::dir_IN:
+ case AST_Argument::dir_INOUT:
+ *os << "const " << this->type_name (node) << " &";
+ return 1;
+ /* NOT REACHED */
+ }
+ return 0;
+}
+
+int be_visitor_args_arglist_ami::visit_union (be_union *node)
+{
+ TAO_OutStream *os = this->ctx_->stream (); // get the stream
+
+ switch (this->direction ())
+ {
+ case AST_Argument::dir_IN:
+ case AST_Argument::dir_INOUT:
+ *os << "const " << this->type_name (node) << " &";
+ return 1;
+ /* NOT REACHED */
+ }
+ return 0;
+}
+
+int be_visitor_args_arglist_ami::visit_typedef (be_typedef *node)
+{
+ this->ctx_->alias (node);
+
+ int result = node->primitive_base_type ()->accept (this);
+ if (result == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "be_visitor_args_arglist_ami::"
+ "visit_typedef - "
+ "accept on primitive type failed\n"),
+ -1);
+ }
+
+ this->ctx_->alias (0);
+
+ return result;
+}
+
+
+#ifdef IDL_HAS_VALUETYPE
+
+int
+be_visitor_args_arglist_ami::visit_valuetype (be_valuetype *node)
+{
+ TAO_OutStream *os = this->ctx_->stream (); // get the stream
+
+ switch (this->direction ())
+ {
+ case AST_Argument::dir_IN:
+ case AST_Argument::dir_INOUT:
+ *os << this->type_name (node) << " *";
+ return 1;
+ /* NOT REACHED */
+ }
+ return 0;
+}
+
+int
+be_visitor_args_arglist_ami::visit_valuetype_fwd (be_valuetype_fwd *node)
+{
+ TAO_OutStream *os = this->ctx_->stream (); // get the stream
+
+ switch (this->direction ())
+ {
+ case AST_Argument::dir_IN:
+ case AST_Argument::dir_INOUT:
+ *os << "const " << this->type_name (node) << " *";
+ return 1;
+ /* NOT REACHED */
+ }
+ return 0;
+}
+
+#endif /* IDL_HAS_VALUETYPE */
diff --git a/TAO/TAO_IDL/be/be_visitor_factory.cpp b/TAO/TAO_IDL/be/be_visitor_factory.cpp
index 8a43593f058..dc24f416080 100644
--- a/TAO/TAO_IDL/be/be_visitor_factory.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_factory.cpp
@@ -232,6 +232,28 @@ TAO_Common_Visitor_Factory::make_visitor (be_visitor_context *ctx)
# endif /* IDL_HAS_VALUETYPE */
+ case TAO_CodeGen::TAO_OPERATION_AMI_CH:
+ return new be_visitor_operation_ami_ch (new_ctx);
+
+ case TAO_CodeGen::TAO_OPERATION_ARGLIST_AMI:
+ return new be_visitor_operation_arglist_ami (new_ctx);
+
+ case TAO_CodeGen::TAO_OPERATION_ARG_AMI:
+ return new be_visitor_operation_argument (new_ctx);
+
+ case TAO_CodeGen::TAO_ARGUMENT_AMI:
+ // @@ I am not sure about this case, yet (Alex).
+ return new be_visitor_decl (new_ctx); // noop
+
+ case TAO_CodeGen::TAO_ARGUMENT_ARGLIST_AMI:
+ return new be_visitor_args_arglist_ami (new_ctx);
+
+ case TAO_CodeGen::TAO_AMI_HANDLER_FWD_CH:
+ return new be_visitor_ami_handler_fwd_ch (new_ctx);
+
+ case TAO_CodeGen::TAO_AMI_HANDLER_FWD_CI:
+ return new be_visitor_ami_handler_fwd_ci (new_ctx);
+
case TAO_CodeGen::TAO_STRUCT_CH:
return new be_visitor_structure_ch (new_ctx);
case TAO_CodeGen::TAO_STRUCT_CS:
@@ -474,6 +496,10 @@ TAO_Interpretive_Visitor_Factory::make_visitor (be_visitor_context *ctx)
return new be_visitor_operation_ch (new_ctx);
case TAO_CodeGen::TAO_OPERATION_CS:
return new be_interpretive_visitor_operation_cs (new_ctx);
+
+ case TAO_CodeGen::TAO_OPERATION_AMI_CS:
+ return new be_interpretive_visitor_operation_ami_cs (new_ctx);
+
case TAO_CodeGen::TAO_OPERATION_SH:
return new be_visitor_operation_sh (new_ctx);
case TAO_CodeGen::TAO_OPERATION_IH:
@@ -597,6 +623,10 @@ TAO_Compiled_Visitor_Factory::make_visitor (be_visitor_context *ctx)
return new be_visitor_operation_ch (new_ctx);
case TAO_CodeGen::TAO_OPERATION_CS:
return new be_compiled_visitor_operation_cs (new_ctx);
+
+ case TAO_CodeGen::TAO_OPERATION_AMI_CS:
+ return new be_compiled_visitor_operation_ami_cs (new_ctx);
+
case TAO_CodeGen::TAO_OPERATION_SH:
return new be_visitor_operation_sh (new_ctx);
case TAO_CodeGen::TAO_OPERATION_SS:
@@ -639,8 +669,8 @@ TAO_Compiled_Visitor_Factory::make_visitor (be_visitor_context *ctx)
return new be_visitor_decl (new_ctx);
case TAO_CodeGen::TAO_OPERATION_ARGLIST_CH:
case TAO_CodeGen::TAO_OPERATION_ARGLIST_SH:
- case TAO_CodeGen::TAO_OPERATION_ARGLIST_IH:
- case TAO_CodeGen::TAO_OPERATION_ARGLIST_IS:
+ case TAO_CodeGen::TAO_OPERATION_ARGLIST_IH:
+ case TAO_CodeGen::TAO_OPERATION_ARGLIST_IS:
case TAO_CodeGen::TAO_OPERATION_ARGLIST_COLLOCATED_SH:
case TAO_CodeGen::TAO_OPERATION_ARGLIST_OTHERS:
return new be_visitor_operation_arglist (new_ctx);
diff --git a/TAO/TAO_IDL/be/be_visitor_interface.cpp b/TAO/TAO_IDL/be/be_visitor_interface.cpp
index bf02a0675fc..10aa0ec67e6 100644
--- a/TAO/TAO_IDL/be/be_visitor_interface.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_interface.cpp
@@ -41,5 +41,7 @@
#include "be_visitor_interface/cdr_op_ch.cpp"
#include "be_visitor_interface/cdr_op_ci.cpp"
#include "be_visitor_interface/cdr_op_cs.cpp"
+#include "be_visitor_interface/ami_handler_fwd_ch.cpp"
+#include "be_visitor_interface/ami_handler_fwd_ci.cpp"
ACE_RCSID(be, be_visitor_interface, "$Id$")
diff --git a/TAO/TAO_IDL/be/be_visitor_interface/ami_handler_fwd_ch.cpp b/TAO/TAO_IDL/be/be_visitor_interface/ami_handler_fwd_ch.cpp
new file mode 100644
index 00000000000..0e5a8cb8c6f
--- /dev/null
+++ b/TAO/TAO_IDL/be/be_visitor_interface/ami_handler_fwd_ch.cpp
@@ -0,0 +1,127 @@
+//
+// $Id$
+//
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// ami_handler_fwd_ch.cpp
+//
+// = DESCRIPTION
+// Visitor generating fwd declaration code for the AMI Handler
+// interface.
+//
+// = AUTHOR
+// Aniruddha Gokhale and Alexander Babu Arulanthu
+// <alex@cs.wustl.edu>
+//
+// ============================================================================
+
+#include "idl.h"
+#include "idl_extern.h"
+#include "be.h"
+
+#include "be_visitor_interface_fwd.h"
+
+ACE_RCSID(be_visitor_ami_handler_fwd, ami_handler_fwd_ch, "$Id$")
+
+
+// ********************************************************************
+// Visitor implementation generating fwd declaration code for the AMI
+// Handler interface.
+// ********************************************************************
+
+be_visitor_ami_handler_fwd_ch::be_visitor_ami_handler_fwd_ch (be_visitor_context *ctx)
+ : be_visitor_decl (ctx)
+{
+}
+
+be_visitor_ami_handler_fwd_ch::~be_visitor_ami_handler_fwd_ch (void)
+{
+}
+
+// visit the interface node and its scope
+int
+be_visitor_ami_handler_fwd_ch::visit_interface (be_interface *node)
+{
+ // Grab the out stream.
+ TAO_OutStream *os = this->ctx_->stream ();
+
+ // Generate code, if the client header is not generated already.
+ if (!node->cli_hdr_gen () && !node->imported ())
+ {
+ // start from the current indentation.
+ os->indent ();
+
+ // Generate forward declaration class.
+ *os << "class "
+ << "AMI_" << node->local_name () << "_Handler" << ";"
+ << be_nl;
+
+ // Create a string "AMI_<interface name>_Handler". We can use
+ // this for defining all _Var, _out,etc.
+ char *interface_name = 0;
+ ACE_NEW_RETURN (interface_name,
+ char [ACE_OS::strlen ("AMI_") +
+ ACE_OS::strlen (node->flatname ()) +
+ ACE_OS::strlen ("_Handler") +
+ // end of string
+ 1],
+ 0);
+ ACE_OS::sprintf (interface_name,
+ "AMI_%s_Handler",
+ node->flatname ());
+
+ // Generate the ifdefined macro for the _ptr type.
+ os->gen_ifdef_macro (interface_name, "_ptr");
+
+ // Generate the _ptr declaration
+ *os << "typedef "
+ << "AMI_" << node->local_name () << "_Handler"
+ << " *"
+ << "AMI_" << node->local_name () << "_Handler" << "_ptr;"
+ << be_nl;
+
+ // Generate the endif.
+ os->gen_endif ();
+
+ // Generate the var class.
+
+ // Enclose under an ifdef macro
+ os->gen_ifdef_macro (interface_name, "_var");
+
+ // Generate the _var declaration.
+ if (node->gen_var_defn (interface_name) == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_ami_handler_fwd_ch::"
+ "visit_interface_fwd - "
+ "codegen for _var failed\n"), -1);
+ }
+
+ // Gen an endif.
+ os->gen_endif ();
+
+ // Generate the our class.
+
+ // Enclose under an ifdef macro.
+ os->gen_ifdef_macro (interface_name, "_out");
+
+ // Generate the _out declaration - ORBOS/97-05-15 pg 16-20
+ // spec.
+ if (node->gen_out_defn (interface_name) == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_interface_ami_handler_fwd_ch::"
+ "visit_interface_fwd - "
+ "codegen for _out failed\n"), -1);
+ }
+
+ // Generate the endif macro.
+ os->gen_endif ();
+ }
+ return 0;
+}
diff --git a/TAO/TAO_IDL/be/be_visitor_interface/ami_handler_fwd_ci.cpp b/TAO/TAO_IDL/be/be_visitor_interface/ami_handler_fwd_ci.cpp
new file mode 100644
index 00000000000..02e8904d29f
--- /dev/null
+++ b/TAO/TAO_IDL/be/be_visitor_interface/ami_handler_fwd_ci.cpp
@@ -0,0 +1,166 @@
+//
+// $Id$
+//
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// ami_handler_fwd_ci.cpp
+//
+// = DESCRIPTION
+// Visitor generating code for Ami_<Interface>_Handler node in the
+// client inline.
+//
+// = AUTHOR
+// Aniruddha Gokhale and Alexander Babu Arulanthu
+// <alex@cs.wustl.edu>
+//
+// ============================================================================
+
+#include "idl.h"
+#include "idl_extern.h"
+#include "be.h"
+
+#include "be_visitor_interface_fwd.h"
+
+ACE_RCSID(be_visitor_ami_handler_fwd, ami_handler_fwd_ci, "$Id$")
+
+
+// ********************************************************************
+// Visitor implementation for the Ami_Handler_Fwd type
+// This one for the client inline file
+// ********************************************************************
+
+be_visitor_ami_handler_fwd_ci::be_visitor_ami_handler_fwd_ci (be_visitor_context *ctx)
+ : be_visitor_decl (ctx)
+{
+}
+
+be_visitor_ami_handler_fwd_ci::~be_visitor_ami_handler_fwd_ci (void)
+{
+}
+
+// visit the Ami_Handler_Fwd_ci node and its scope
+int
+be_visitor_ami_handler_fwd_ci::visit_interface (be_interface *node)
+{
+ if (node->cli_inline_gen () || node->imported ())
+ return 0;
+
+ // Generate code.
+
+ // Get the out stream.
+ TAO_OutStream *os;
+ os = this->ctx_->stream ();
+
+ // Start from the current indentation level.
+ os->indent ();
+
+ // Create the full name and local name for the AMI_<Interface
+ // name>_Handler interface.
+ char *full_name = 0;
+ char *local_name = 0;
+
+ // Full name.
+ // If there exists a scope name for this, then generate
+ // "Scope::AMI_<Local Name>_Handler".
+
+ size_t scope_len = 0;
+
+ be_decl *parent = be_scope::narrow_from_scope (node->defined_in ())->decl ();
+
+ if (parent != 0 &&
+ parent->fullname () != 0 &&
+ ACE_OS::strlen (parent->fullname ()))
+ scope_len = ACE_OS::strlen (parent->fullname ()) + ACE_OS::strlen ("::");
+
+ ACE_NEW_RETURN (full_name,
+ char [scope_len +
+ ACE_OS::strlen ("AMI_") +
+ ACE_OS::strlen (node->local_name ()->get_string ()) +
+ ACE_OS::strlen ("_Handler") +
+ 1],
+ -1);
+
+ if (parent != 0 &&
+ parent->fullname () != 0 &&
+ ACE_OS::strlen (parent->fullname ()))
+ ACE_OS::sprintf (full_name,
+ "%s::AMI_%s_Handler",
+ parent->fullname (),
+ node->local_name ()->get_string ());
+ else
+ ACE_OS::sprintf (full_name,
+ "AMI_%s_Handler",
+ node->local_name ()->get_string ());
+
+ // Local name.
+
+ ACE_NEW_RETURN (local_name,
+ char [ACE_OS::strlen ("AMI_") +
+ ACE_OS::strlen (node->local_name ()->get_string ()) +
+ ACE_OS::strlen ("_Handler") +
+ 1],
+ -1);
+
+ ACE_OS::sprintf (local_name,
+ "AMI_%s_Handler",
+ node->local_name ()->get_string ());
+
+ // Generate the constructors and destructor.
+
+ *os << "ACE_INLINE" << be_nl;
+ *os << full_name << "::" << local_name
+ << " (void) // default constructor" << be_nl;
+ *os << "{}" << be_nl << be_nl;
+
+ *os << "ACE_INLINE" << be_nl;
+ *os << full_name << "::" << local_name
+ << " (TAO_Stub *objref, TAO_ServantBase *_tao_servant, "
+ << "CORBA::Boolean _tao_collocated) // constructor"
+ << be_nl
+ << " : CORBA_Object (objref, _tao_servant, _tao_collocated)"
+ << be_nl
+ << "{}" << be_nl << be_nl;
+
+ *os << "ACE_INLINE" << be_nl;
+ *os << full_name << "::~" << local_name
+ << " (void) // destructor" << be_nl
+ << "{}\n\n";
+
+ // _nil method.
+ *os << "ACE_INLINE "
+ << full_name << "_ptr" << be_nl
+ << full_name << "::_nil (void)" << be_nl
+ << "{" << be_idt_nl
+ << "return (" << full_name << "_ptr)0;" << be_uidt_nl
+ << "}" << be_nl << be_nl;
+
+ // Generate the ifdefined macro for the _var type.
+ os->gen_ifdef_macro (full_name, "_var");
+ if (node->gen_var_impl (full_name, local_name) == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_interface_ci::"
+ "visit_interface - "
+ "codegen for _var failed\n"), -1);
+ }
+ os->gen_endif ();
+
+ // Generate the ifdefined macro for the _out type.
+ os->gen_ifdef_macro (full_name, "_out");
+ if (node->gen_out_impl (full_name,
+ local_name) == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_interface_ci::"
+ "visit_interface - "
+ "codegen for _out failed\n"), -1);
+ }
+ os->gen_endif ();
+
+ return 0;
+}
diff --git a/TAO/TAO_IDL/be/be_visitor_interface/interface.cpp b/TAO/TAO_IDL/be/be_visitor_interface/interface.cpp
index e56524b2b25..11e4f71678d 100644
--- a/TAO/TAO_IDL/be/be_visitor_interface/interface.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_interface/interface.cpp
@@ -451,10 +451,61 @@ be_visitor_interface::visit_operation (be_operation *node)
), -1);
}
delete visitor;
+
+ //
+ // AMI Call back code generation.
+ //
+
+ // Return if AMI call back is not enabled.
+ if (idl_global->ami_call_back () != I_TRUE)
+ {
+ return 0;
+ }
+
+ // Generate AMI stub for this operation, if you are doing client
+ // side header.
+
+ switch (this->ctx_->state ())
+ {
+ case TAO_CodeGen::TAO_INTERFACE_CH:
+ ctx.state (TAO_CodeGen::TAO_OPERATION_AMI_CH);
+ break;
+
+ case TAO_CodeGen::TAO_INTERFACE_CS:
+ ctx.state (TAO_CodeGen::TAO_OPERATION_AMI_CS);
+ break;
+
+ default:
+ // We dont have to do anything for the other cases.
+ return 0;
+ }
+
+ // Grab the appropriate visitor
+ visitor = tao_cg->make_visitor (&ctx);
+ if (!visitor)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_interface::"
+ "visit_operation - "
+ "NUL visitor\n"),
+ -1);
+ }
+
+ // Visit the node using this visitor
+ if (node->accept (visitor) == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_interface::"
+ "visit_operation - "
+ "failed to accept visitor\n"),
+ -1);
+ }
+ delete visitor;
+
return 0;
}
-// visit an structure
+// Visit an structure.
int
be_visitor_interface::visit_structure (be_structure *node)
{
diff --git a/TAO/TAO_IDL/be/be_visitor_interface/interface_ch.cpp b/TAO/TAO_IDL/be/be_visitor_interface/interface_ch.cpp
index 89f264d9671..3fb87be9206 100644
--- a/TAO/TAO_IDL/be/be_visitor_interface/interface_ch.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_interface/interface_ch.cpp
@@ -49,11 +49,46 @@ be_visitor_interface_ch::visit_interface (be_interface *node)
if (!node->cli_hdr_gen () && !node->imported ()) // not already generated and
// not imported
{
-
+ // Generate the AMI Reply Handler's forward declaration code, if
+ // the option is enabled, for this interface.
+
+ if (idl_global->ami_call_back () == I_TRUE)
+ {
+ // Set the context.
+ be_visitor_context ctx (*this->ctx_);
+
+ // Set the state.
+ ctx.state (TAO_CodeGen::TAO_AMI_HANDLER_FWD_CH);
+
+ // Create the visitor.
+ be_visitor *visitor = tao_cg->make_visitor (&ctx);
+ if (!visitor)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_interface_ch::"
+ "visit_interface - "
+ "Bad visitor\n"),
+ -1);
+ }
+
+ // call the visitor on this interface.
+ if (node->accept (visitor) == -1)
+ {
+ delete visitor;
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_interface_ch::"
+ "visit_interface - "
+ "code gen for ami handler fwd failed\n"),
+ -1);
+ }
+ delete visitor;
+ }
+
+ // Grab the stream.
os = this->ctx_->stream ();
-
+
// == STEP 1: generate the class name and class names we inherit ==
-
+
// generate the ifdefined macro for the _ptr type
os->gen_ifdef_macro (node->flatname (), "_ptr");
diff --git a/TAO/TAO_IDL/be/be_visitor_interface/interface_ci.cpp b/TAO/TAO_IDL/be/be_visitor_interface/interface_ci.cpp
index e10d6c3e58c..3db747bd0ea 100644
--- a/TAO/TAO_IDL/be/be_visitor_interface/interface_ci.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_interface/interface_ci.cpp
@@ -99,7 +99,7 @@ be_visitor_interface_ci::visit_interface (be_interface *node)
}
os->gen_endif ();
- // generate inline methods for elements of our scope
+ // Generate inline methods for elements of our scope
if (this->visit_scope (node) == -1)
{
ACE_ERROR_RETURN ((LM_ERROR,
@@ -108,5 +108,40 @@ be_visitor_interface_ci::visit_interface (be_interface *node)
"codegen for scope failed\n"), -1);
}
+ // If AMI is enabled, generate all the inline stuff for the
+ // AMI_<interface_name>_Handler interface.
+
+ if (idl_global->ami_call_back () == I_TRUE)
+ {
+ // Set the context.
+ be_visitor_context ctx (*this->ctx_);
+
+ // Set the state.
+ ctx.state (TAO_CodeGen::TAO_AMI_HANDLER_FWD_CI);
+
+ // Create the visitor.
+ be_visitor *visitor = tao_cg->make_visitor (&ctx);
+ if (!visitor)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_interface_ci::"
+ "visit_interface - "
+ "Bad visitor\n"),
+ -1);
+ }
+
+ // Call the visitor on this interface.
+ if (node->accept (visitor) == -1)
+ {
+ delete visitor;
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_interface_ch::"
+ "visit_interface - "
+ "code gen for ami handler fwd failed\n"),
+ -1);
+ }
+ delete visitor;
+ }
+
return 0;
}
diff --git a/TAO/TAO_IDL/be/be_visitor_interface_fwd.cpp b/TAO/TAO_IDL/be/be_visitor_interface_fwd.cpp
index 18b5d80cb4c..19b900b04b7 100644
--- a/TAO/TAO_IDL/be/be_visitor_interface_fwd.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_interface_fwd.cpp
@@ -30,4 +30,3 @@
#include "be_visitor_interface_fwd/cdr_op_ci.cpp"
ACE_RCSID(be, be_visitor_interface_fwd, "$Id$")
-
diff --git a/TAO/TAO_IDL/be/be_visitor_operation.cpp b/TAO/TAO_IDL/be/be_visitor_operation.cpp
index 6e15900c125..a4fa8a7cf86 100644
--- a/TAO/TAO_IDL/be/be_visitor_operation.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_operation.cpp
@@ -54,6 +54,9 @@
#include "be_visitor_operation/tie_si.cpp"
#include "be_visitor_operation/compiled_marshal.cpp"
#include "be_visitor_operation/rettype_pre_invoke_cs.cpp"
+#include "be_visitor_operation/operation_ami_ch.cpp"
+#include "be_visitor_operation/operation_ami_cs.cpp"
+#include "be_visitor_operation/arglist_ami.cpp"
ACE_RCSID(be, be_visitor_operation, "$Id$")
diff --git a/TAO/TAO_IDL/be/be_visitor_operation/arglist.cpp b/TAO/TAO_IDL/be/be_visitor_operation/arglist.cpp
index c5aa14190dd..a154fd94c07 100644
--- a/TAO/TAO_IDL/be/be_visitor_operation/arglist.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_operation/arglist.cpp
@@ -196,7 +196,6 @@ be_visitor_operation_arglist::visit_argument (be_argument *node)
delete visitor;
ACE_ERROR_RETURN ((LM_ERROR,
"(%N:%l) be_visitor_arglist::"
-
"visit_argument - "
"codegen for arglist failed\n"),
-1);
diff --git a/TAO/TAO_IDL/be/be_visitor_operation/arglist_ami.cpp b/TAO/TAO_IDL/be/be_visitor_operation/arglist_ami.cpp
new file mode 100644
index 00000000000..47bbb778cbd
--- /dev/null
+++ b/TAO/TAO_IDL/be/be_visitor_operation/arglist_ami.cpp
@@ -0,0 +1,176 @@
+//
+// $Id$
+//
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// arglist_ami.cpp
+//
+// = DESCRIPTION
+// Visitor generating code for the parameter list of the Operation signature.
+//
+// = AUTHOR
+// Alexander Babu Arulanthu <alex@cs.wustl.edu>
+//
+// ============================================================================
+
+#include "idl.h"
+#include "idl_extern.h"
+#include "be.h"
+
+#include "be_visitor_operation.h"
+
+ACE_RCSID(be_visitor_operation, arglist_ami, "$Id$")
+
+
+// ************************************************************
+// operation visitor to generate the argument list for the AMI
+// stub.
+// We have separated code generation for this from the 4 main
+// visitors to avoid code duplication and tight coupling
+ // ************************************************************
+
+be_visitor_operation_arglist_ami::be_visitor_operation_arglist_ami (be_visitor_context
+ *ctx)
+ : be_visitor_scope (ctx)
+{
+}
+
+be_visitor_operation_arglist_ami::~be_visitor_operation_arglist_ami (void)
+{
+}
+
+int
+be_visitor_operation_arglist_ami::visit_operation (be_operation *node)
+{
+ TAO_OutStream *os = this->ctx_->stream ();
+
+ *os << " (" << be_idt << be_idt << "\n";
+
+ // #if defined (TAO_IDL_HAS_AMI)
+ // For the AMI, we need the Reply Handler as the first argument.
+
+ // start with current indentation level
+ os->indent ();
+
+
+ be_decl *interface =
+ be_interface::narrow_from_scope (node->defined_in ())->decl ();
+ if (interface == 0)
+ cerr << "Invalid interface";
+
+ // AMI Handler argument.
+ *os << "AMI_"
+ << interface->fullname ()
+ << "_ptr "
+ << "ami_handler"
+ << ",\n";
+ // #endif /* TAO_IDL_HAS_AMI */
+
+ // all we do is hand over code generation to our scope
+ if (this->visit_scope (node) == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_operation_arglist_ami::"
+ "visit_operation - "
+ "codegen for scope failed\n"),
+ -1);
+ }
+
+
+ // @@ When some out arguments are skipped, the indentation seems to
+ // get messed up. Fix that. (Alex).
+
+ // Last argument - is always CORBA::Environment.
+ os->indent ();
+ *os << "CORBA::Environment &ACE_TRY_ENV";
+ *os << " = " << be_idt_nl
+ << "TAO_default_environment ()"
+ << be_uidt;
+
+ // Done with the argument list.
+ *os << be_uidt_nl << ")" << be_uidt << "\n";
+
+ return 0;
+}
+
+int
+be_visitor_operation_arglist_ami::visit_argument (be_argument *node)
+{
+ // Get the visitor that will dump the argument's mapping in the operation
+ // signature.
+ be_visitor_context ctx (*this->ctx_);
+
+ // First grab the interface definition inside which this operation is
+ // defined. We need this since argument types may very well be declared
+ // inside the scope of the interface node. In such cases, we would like to
+ // generate the appropriate relative scoped names.
+ be_operation *op = this->ctx_->be_scope_as_operation ();
+ if (!op)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_arglist_ami::"
+ "visit_argument - "
+ "Bad operation\n"),
+ -1);
+ }
+
+ // We need the interface node in which this operation was defined. However,
+ // if this operation node was an attribute node in disguise, we get this
+ // information from the context
+ be_interface *intf;
+ intf = this->ctx_->attribute ()
+ ? be_interface::narrow_from_scope (this->ctx_->attribute ()->defined_in ())
+ : be_interface::narrow_from_scope (op->defined_in ());
+
+ if (!intf)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_arglist_ami::"
+ "visit_argument - "
+ "Bad interface\n"),
+ -1);
+ }
+ ctx.scope (intf); // set new scope
+
+ switch (this->ctx_->state ())
+ {
+ case TAO_CodeGen::TAO_OPERATION_ARGLIST_AMI:
+ ctx.state (TAO_CodeGen::TAO_ARGUMENT_ARGLIST_AMI);
+ break;
+ default:
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_arglist_ami::"
+ "visit_argument - "
+ "Bad context\n"),
+ -1);
+ }
+ }
+
+ // grab a visitor
+ be_visitor *visitor = tao_cg->make_visitor (&ctx);
+ if (!visitor)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_arglist_ami::"
+ "visit_argument - "
+ "Bad visitor\n"),
+ -1);
+ }
+ if (node->accept (visitor) == -1)
+ {
+ delete visitor;
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_arglist_ami::"
+ "visit_argument - "
+ "codegen for arglist_ami failed\n"),
+ -1);
+ }
+ delete visitor;
+ return 0;
+}
diff --git a/TAO/TAO_IDL/be/be_visitor_operation/argument.cpp b/TAO/TAO_IDL/be/be_visitor_operation/argument.cpp
index 0a23dbcaa86..f7d36bd63df 100644
--- a/TAO/TAO_IDL/be/be_visitor_operation/argument.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_operation/argument.cpp
@@ -182,6 +182,9 @@ be_visitor_operation_argument::visit_argument (be_argument *node)
case TAO_CodeGen::TAO_OPERATION_ARG_POST_MARSHAL_SS:
ctx.state (TAO_CodeGen::TAO_ARGUMENT_POST_MARSHAL_SS);
break;
+ case TAO_CodeGen::TAO_OPERATION_ARG_AMI:
+ ctx.state (TAO_CodeGen::TAO_ARGUMENT_AMI);
+ break;
default:
{
ACE_ERROR_RETURN ((LM_ERROR,
diff --git a/TAO/TAO_IDL/be/be_visitor_operation/operation_ami_ch.cpp b/TAO/TAO_IDL/be/be_visitor_operation/operation_ami_ch.cpp
new file mode 100644
index 00000000000..91baf32300b
--- /dev/null
+++ b/TAO/TAO_IDL/be/be_visitor_operation/operation_ami_ch.cpp
@@ -0,0 +1,93 @@
+//
+// $Id$
+//
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// operation_ami_ch.cpp
+//
+// = DESCRIPTION
+// Visitor generating AMI stub code for Operation node in the
+// client header.
+//
+// = AUTHOR
+// Alexander Babu Arulanthu <alex@cs.wustl.edu>
+//
+// ============================================================================
+
+#include "idl.h"
+#include "idl_extern.h"
+#include "be.h"
+
+#include "be_visitor_operation.h"
+
+ACE_RCSID(be_visitor_operation, operation_ami_ch, "$Id$")
+
+
+// ******************************************************
+// Visitor for generating AMI stub for "operation" in client header.
+// ******************************************************
+
+be_visitor_operation_ami_ch::be_visitor_operation_ami_ch (be_visitor_context *ctx)
+ : be_visitor_operation (ctx)
+{
+}
+
+be_visitor_operation_ami_ch::~be_visitor_operation_ami_ch (void)
+{
+}
+
+int
+be_visitor_operation_ami_ch::visit_operation (be_operation *node)
+{
+ TAO_OutStream *os; // output stream
+
+ os = this->ctx_->stream ();
+ this->ctx_->node (node); // save the node
+
+ os->indent (); // start with the current indentation level
+
+ // every operation is declared virtual in the client code
+ *os << "virtual ";
+
+ // STEP I: Return type is void.
+ *os << "void ";
+
+ // STEP 2: generate the operation name.
+
+ // First the sendc prefix.
+ *os << "sendc_";
+ *os << node->local_name ();
+
+ // STEP 3: generate the argument list with the appropriate
+ // mapping. For these we grab a visitor that generates the
+ // parameter listing.
+ be_visitor_context ctx (*this->ctx_);
+ ctx.state (TAO_CodeGen::TAO_OPERATION_ARGLIST_AMI);
+ be_visitor *visitor = tao_cg->make_visitor (&ctx);
+ if (!visitor)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "be_visitor_operation_ami_ch::"
+ "visit_operation - "
+ "Bad visitor to return type\n"),
+ -1);
+ }
+
+ if (node->accept (visitor) == -1)
+ {
+ delete visitor;
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_operation_ami_ch::"
+ "visit_operation - "
+ "codegen for argument list failed\n"),
+ -1);
+ }
+ delete visitor;
+
+ return 0;
+}
diff --git a/TAO/TAO_IDL/be/be_visitor_operation/operation_ami_cs.cpp b/TAO/TAO_IDL/be/be_visitor_operation/operation_ami_cs.cpp
new file mode 100644
index 00000000000..ef518c16f67
--- /dev/null
+++ b/TAO/TAO_IDL/be/be_visitor_operation/operation_ami_cs.cpp
@@ -0,0 +1,900 @@
+//
+// $Id$
+//
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// operation_ami_cs.cpp
+//
+// = DESCRIPTION
+// Visitor generating code for Operation in the stubs file.
+//
+// = AUTHOR
+// Aniruddha Gokhale
+//
+// ============================================================================
+
+#include "idl.h"
+#include "idl_extern.h"
+#include "be.h"
+
+#include "be_visitor_operation.h"
+
+ACE_RCSID(be_visitor_operation, operation_ami_cs, "$Id$")
+
+
+// ************************************************************
+// Operation visitor for client stubs
+// ************************************************************
+
+be_visitor_operation_ami_cs::be_visitor_operation_ami_cs (be_visitor_context *ctx)
+ : be_visitor_operation (ctx)
+{
+}
+
+be_visitor_operation_ami_cs::~be_visitor_operation_ami_cs (void)
+{
+}
+
+// Processing to be done after every element in the scope is
+// processed.
+int
+be_visitor_operation_ami_cs::post_process (be_decl *bd)
+{
+ // all we do here is to insert a comma and a newline
+ TAO_OutStream *os = this->ctx_->stream ();
+ if (!this->last_node (bd))
+ *os << ",\n";
+ return 0;
+}
+
+int
+be_visitor_operation_ami_cs::visit_operation (be_operation *node)
+{
+ TAO_OutStream *os; // output stream
+ be_visitor_context ctx; // visitor context
+ be_visitor *visitor; // visitor
+
+ os = this->ctx_->stream ();
+ this->ctx_->node (node); // save the node for future use
+
+ os->indent (); // start with the current indentation level
+
+ // Generate the return type mapping. Return type is simply void.
+ *os << "void" << be_nl;
+
+ // Generate the operation name.
+
+ // Grab the scope name.
+ be_decl *parent =
+ be_scope::narrow_from_scope (node->defined_in ())->decl ();
+ if (parent == 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_operation_ami_cs::"
+ "visit_operation - "
+ "scope name is nil\n"),
+ -1);
+
+ // Generate the scope::operation name.
+ *os << parent->fullname ()
+ << "::"
+ << "sendc_"
+ << node->local_name ()->get_string ();
+
+ // Generate the argument list with the appropriate mapping (same as
+ // in the header file)
+ ctx = *this->ctx_;
+ ctx.state (TAO_CodeGen::TAO_OPERATION_ARGLIST_AMI);
+ visitor = tao_cg->make_visitor (&ctx);
+ if ((!visitor) || (node->accept (visitor) == -1))
+ {
+ delete visitor;
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_operation_ami_cs::"
+ "visit_operation - "
+ "codegen for argument list failed\n"),
+ -1);
+ }
+ delete visitor;
+
+ // Generate the actual code for the stub. However, if any of the argument
+ // types is "native", we flag a MARSHAL exception.
+ // last argument - is always CORBA::Environment
+ *os << "{" << be_idt_nl;
+
+ // Create the return type node. Return type is void.
+ be_predefined_type *bt = 0;
+ ACE_NEW_RETURN (bt,
+ be_predefined_type (AST_PredefinedType::PT_void,
+ new UTL_ScopedName
+ (new Identifier
+ ("void", 1, 0, I_FALSE), 0),
+ 0),
+ -1);
+
+ // generate any pre stub info if and only if none of our parameters is of the
+ // native type
+ if (!node->has_native ())
+ {
+ // native type does not exist.
+
+ // Generate any "pre" stub information such as tables or declarations
+ // This is a template method and the actual work will be done by the
+ // derived class
+ if (this->gen_pre_stub_info (node, bt) == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_operation_ami_cs::"
+ "visit_operation - "
+ "gen_pre_stub_info failed\n"),
+ -1);
+ }
+ }
+
+ if (node->has_native ()) // native exists => no stub
+ {
+ if (this->gen_raise_exception (bt,
+ "CORBA::MARSHAL",
+ "") == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_operation_ami_cs::"
+ "visit_operation - "
+ "codegen for return var failed\n"),
+ -1);
+ }
+ }
+ else
+ {
+ // Generate code that retrieves the underlying stub object and then
+ // invokes do_static_call on it.
+ *os << be_nl
+ << "TAO_Stub *istub = this->_stubobj ();" << be_nl
+ << "if (istub == 0)" << be_idt_nl;
+
+ // if the stub object was bad, then we raise a system exception
+ if (this->gen_raise_exception (bt, "CORBA::INV_OBJREF",
+ "") == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_operation_ami_cs::"
+ "visit_operation - "
+ "codegen for checking exception failed\n"),
+ -1);
+
+ }
+ *os << be_uidt_nl << "\n";
+
+ // do any pre marshal and invoke processing with return type. This
+ // includes allocating memory, initialization.
+ ctx = *this->ctx_;
+ ctx.state (TAO_CodeGen::TAO_OPERATION_RETVAL_PRE_INVOKE_CS);
+ visitor = tao_cg->make_visitor (&ctx);
+ if (!visitor || (bt->accept (visitor) == -1))
+ {
+ delete visitor;
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_operation_ami_cs::"
+ "visit_operation - "
+ "codegen for retval pre invoke failed\n"),
+ -1);
+ }
+
+ // do any pre marshal and invoke stuff with arguments
+ ctx = *this->ctx_;
+ ctx.state (TAO_CodeGen::TAO_OPERATION_ARG_PRE_INVOKE_CS);
+ visitor = tao_cg->make_visitor (&ctx);
+ if (!visitor || (node->accept (visitor) == -1))
+ {
+ delete visitor;
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_operation_ami_cs::"
+ "visit_operation - "
+ "codegen for argument pre invoke failed\n"),
+ -1);
+ }
+
+ // generate the code for marshaling in the parameters and transmitting
+ // them
+ if (this->gen_marshal_and_invoke (node, bt) == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_operation_ami_cs::"
+ "visit_operation - "
+ "codegen for marshal and invoke failed\n"),
+ -1);
+
+ }
+
+ // No return values.
+ *os << "return;";
+ } // end of if (!native)
+
+ *os << be_uidt_nl << "}\n\n";
+
+ return 0;
+}
+
+int
+be_visitor_operation_ami_cs::visit_argument (be_argument *node)
+{
+ // this method is used to generate the ParamData table entry
+
+ TAO_OutStream *os = this->ctx_->stream ();
+ be_type *bt; // argument type
+
+ // retrieve the type for this argument
+ bt = be_type::narrow_from_decl (node->field_type ());
+ if (!bt)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_operation_ami_cs::"
+ "visit_argument - "
+ "Bad argument type\n"),
+ -1);
+ }
+
+ os->indent ();
+ *os << "{" << bt->tc_name () << ", ";
+ switch (node->direction ())
+ {
+ case AST_Argument::dir_IN:
+ *os << "PARAM_IN, ";
+ break;
+ case AST_Argument::dir_INOUT:
+ *os << "PARAM_INOUT, ";
+ break;
+ case AST_Argument::dir_OUT:
+ *os << "PARAM_OUT, ";
+ break;
+ }
+ *os << "0}";
+
+ return 0;
+}
+
+int
+be_visitor_operation_ami_cs::gen_raise_exception (be_type *bt,
+ const char *excep,
+ const char *completion_status)
+{
+ TAO_OutStream *os = this->ctx_->stream ();
+ be_visitor *visitor;
+ be_visitor_context ctx;
+
+ if (this->void_return_type (bt))
+ {
+ *os << "ACE_THROW ("
+ << excep << " (" << completion_status << "));\n";
+ }
+ else
+ {
+ *os << "ACE_THROW_RETURN ("
+ << excep << " (" << completion_status << "), ";
+
+ // return the appropriate return value
+ ctx = *this->ctx_;
+ ctx.state (TAO_CodeGen::TAO_OPERATION_RETVAL_RETURN_CS);
+ visitor = tao_cg->make_visitor (&ctx);
+ if (!visitor || (bt->accept (visitor) == -1))
+ {
+ delete visitor;
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_operation_ami_cs::"
+ "gen_raise_exception - "
+ "codegen for return var failed\n"),
+ -1);
+ }
+ *os << ");\n";
+ }
+ return 0;
+}
+
+int
+be_visitor_operation_ami_cs::gen_check_exception (be_type *bt)
+{
+ TAO_OutStream *os = this->ctx_->stream ();
+ be_visitor *visitor;
+ be_visitor_context ctx;
+
+ os->indent ();
+ // check if there is an exception
+ if (this->void_return_type (bt))
+ {
+ *os << "ACE_CHECK;\n";
+ //<< "_tao_environment);\n";
+ }
+ else
+ {
+ *os << "ACE_CHECK_RETURN (";
+ // << "_tao_environment, ";
+
+ // return the appropriate return value
+ ctx = *this->ctx_;
+ ctx.state (TAO_CodeGen::TAO_OPERATION_RETVAL_RETURN_CS);
+ visitor = tao_cg->make_visitor (&ctx);
+ if (!visitor || (bt->accept (visitor) == -1))
+ {
+ delete visitor;
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_operation_ami_cs::"
+ "gen_check_exception - "
+ "codegen failed\n"),
+ -1);
+ }
+ *os << ");\n";
+ }
+
+ return 0;
+}
+
+// ************************************************************
+// Operation visitor for interpretive client stubs
+// ************************************************************
+
+be_interpretive_visitor_operation_ami_cs::
+be_interpretive_visitor_operation_ami_cs (be_visitor_context *ctx)
+ : be_visitor_operation_ami_cs (ctx)
+{
+}
+
+be_interpretive_visitor_operation_ami_cs::~be_interpretive_visitor_operation_ami_cs (void)
+{
+}
+
+// concrete implementation of the template methods
+
+int
+be_interpretive_visitor_operation_ami_cs::gen_pre_stub_info (be_operation *node,
+ be_type *bt)
+{
+ TAO_OutStream *os = this->ctx_->stream ();
+ be_visitor *visitor;
+ be_visitor_context ctx;
+
+ // Generate the TAO_Param_Data table
+ os->indent ();
+ *os << "static const TAO_Param_Data ";
+ // check if we are an attribute node in disguise
+ if (this->ctx_->attribute ())
+ {
+ // now check if we are a "get" or "set" operation
+ if (node->nmembers () == 1) // set
+ *os << "_set_";
+ else
+ *os << "_get_";
+ }
+ *os << node->flatname () <<
+ "_paramdata [] = " << be_nl;
+ *os << "{\n";
+ os->incr_indent ();
+
+ // entry for the return type
+ *os << "{" << bt->tc_name () << ", PARAM_RETURN, 0}";
+ if (node->nmembers () > 0)
+ *os << ",\n";
+
+ // generate entries for the param data table for arguments
+ if (this->visit_scope (node) == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_interpretive_visitor_operation_ami_cs::"
+ "gen_pre_stub_info - "
+ "visit scope failed\n"),
+ -1);
+ }
+ *os << "\n";
+ os->decr_indent ();
+ *os << "}; // " << node->flatname () << "_paramdata\n\n";
+
+ // Check if this operation raises any exceptions. In that case, we must
+ // generate a list of exception typecodes. This is not valid for
+ // attributes
+ if (!this->ctx_->attribute ())
+ {
+ ctx = *this->ctx_;
+ ctx.state (TAO_CodeGen::TAO_OPERATION_EXCEPTLIST_CS);
+ visitor = tao_cg->make_visitor (&ctx);
+ if (!visitor || (node->accept (visitor) == -1))
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) "
+ "be_interpretive_visitor_operation_ami_cs::"
+ "gen_pre_stub_info - "
+ "Exceptionlist generation error\n"),
+ -1);
+ }
+ }
+
+ // now generate the calldata table
+ os->indent ();
+ *os << "static const TAO_Call_Data ";
+ // check if we are an attribute node in disguise
+ if (this->ctx_->attribute ())
+ {
+ // now check if we are a "get" or "set" operation
+ if (node->nmembers () == 1) // set
+ *os << "_set_";
+ else
+ *os << "_get_";
+ }
+ *os << node->flatname ()
+ << "_calldata = " << be_nl
+ << "{"
+ << "\"";
+ // check if we are an attribute node in disguise
+ if (this->ctx_->attribute ())
+ {
+ // now check if we are a "get" or "set" operation
+ if (node->nmembers () == 1) // set
+ *os << "_set_";
+ else
+ *os << "_get_";
+ }
+ *os << node->local_name () << "\", ";
+
+ // are we oneway or two operation?
+ if (node->flags () == AST_Operation::OP_oneway)
+ {
+ *os << "0, "; // for false
+ }
+ else
+ {
+ *os << "1, "; // for true
+ }
+ // insert the size of the paramdata table i.e., number of arguments + 1
+ // for return type
+ *os << (node->argument_count () + 1) << ", ";
+
+ // insert the address of the paramdata table
+ // first check if we are an attribute node in disguise
+ if (this->ctx_->attribute ())
+ {
+ // now check if we are a "get" or "set" operation
+ if (node->nmembers () == 1) // set
+ *os << "_set_";
+ else
+ *os << "_get_";
+ }
+ *os << node->flatname () << "_paramdata, ";
+
+ // insert exception list (if any) - node for attributes
+ if (this->ctx_->attribute ())
+ *os << "0, 0};\n\n";
+ else
+ {
+ if (node->exceptions ())
+ {
+ *os << node->exceptions ()->length ()
+ << ", _tao_" << node->flatname () << "_exceptiondata};\n\n";
+ }
+ else
+ *os << "0, 0};\n\n";
+ }
+ return 0;
+}
+
+int
+be_interpretive_visitor_operation_ami_cs::gen_marshal_and_invoke (be_operation
+ *node,
+ be_type *bt)
+{
+ TAO_OutStream *os = this->ctx_->stream ();
+ be_visitor *visitor;
+ be_visitor_context ctx;
+
+ os->indent ();
+ *os << "void* _tao_arguments["
+ << node->argument_count () + 1 << "];" << be_nl
+ << "const void** _tao_arg = ACE_const_cast (const void**,_tao_arguments);" << be_nl
+ << "*_tao_arg = ";
+
+ // pass the appropriate return value to docall
+ ctx = *this->ctx_;
+ ctx.state (TAO_CodeGen::TAO_OPERATION_RETVAL_INVOKE_CS);
+ visitor = tao_cg->make_visitor (&ctx);
+ if (!visitor || (bt->accept (visitor) == -1))
+ {
+ delete visitor;
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_interpretive_visitor_operation_ami_cs::"
+ "gen_marshal_and_invoke - "
+ "codegen for return var in do_static_call failed\n"),
+ -1);
+ }
+ *os << "; _tao_arg++;\n";
+
+ // pass each argument to do_static_call
+ ctx = *this->ctx_;
+ ctx.state (TAO_CodeGen::TAO_OPERATION_ARG_INVOKE_CS);
+ visitor = tao_cg->make_visitor (&ctx);
+ if (!visitor || (node->accept (visitor) == -1))
+ {
+ delete visitor;
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_interpretive_visitor_operation_ami_cs::"
+ "gen_marshal_and_invoke - "
+ "codegen for return var in do_static_call failed\n"),
+ -1);
+ }
+
+ // call do_static_call with appropriate number of arguments
+ os->indent ();
+ *os << "istub->do_static_call (" << be_idt_nl
+ << "ACE_TRY_ENV, " << be_nl
+ << "&";
+ // check if we are an attribute node in disguise
+ if (this->ctx_->attribute ())
+ {
+ // now check if we are a "get" or "set" operation
+ if (node->nmembers () == 1) // set
+ *os << "_set_";
+ else
+ *os << "_get_";
+ }
+ *os << node->flatname () << "_calldata," << be_nl
+ << "_tao_arguments" << be_uidt_nl
+ << ");\n";
+
+ os->indent ();
+ // check if there is an exception
+ if (this->gen_check_exception (bt) == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_interpretive_visitor_operation_ami_cs::"
+ "gen_marshal_and_invoke - "
+ "codegen for checking exception failed\n"),
+ -1);
+
+ }
+
+ // do any post processing for the arguments
+ ctx = *this->ctx_;
+ ctx.state (TAO_CodeGen::TAO_OPERATION_ARG_POST_INVOKE_CS);
+ visitor = tao_cg->make_visitor (&ctx);
+ if (!visitor || (node->accept (visitor) == -1))
+ {
+ delete visitor;
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_operation_ami_cs::"
+ "visit_operation - "
+ "codegen for args post do_static_call failed\n"),
+ -1);
+ }
+
+ // do any post processing for the retval
+ ctx = *this->ctx_;
+ ctx.state (TAO_CodeGen::TAO_OPERATION_RETVAL_POST_INVOKE_CS);
+ visitor = tao_cg->make_visitor (&ctx);
+ if (!visitor || (bt->accept (visitor) == -1))
+ {
+ delete visitor;
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_operation_ami_cs::"
+ "visit_operation - "
+ "codegen for return type post do_static_call failed\n"),
+ -1);
+ }
+
+ return 0;
+}
+
+// ************************************************************
+// Operation visitor for compiled client stubs
+// ************************************************************
+
+be_compiled_visitor_operation_ami_cs::
+be_compiled_visitor_operation_ami_cs (be_visitor_context *ctx)
+ : be_visitor_operation_ami_cs (ctx)
+{
+}
+
+be_compiled_visitor_operation_ami_cs::~be_compiled_visitor_operation_ami_cs (void)
+{
+}
+
+// concrete implementation of the template methods
+
+int
+be_compiled_visitor_operation_ami_cs::gen_pre_stub_info (be_operation *node,
+ be_type *)
+{
+
+ // Check if this operation raises any exceptions. In that case, we must
+ // generate a list of exception typecodes. This is not valid for
+ // attributes
+ if (!this->ctx_->attribute ())
+ {
+ be_visitor_context ctx = *this->ctx_;
+ ctx.state (TAO_CodeGen::TAO_OPERATION_EXCEPTLIST_CS);
+ be_visitor *visitor = tao_cg->make_visitor (&ctx);
+ if (!visitor || (node->accept (visitor) == -1))
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) "
+ "be_compiled_visitor_operation_ami_cs::"
+ "gen_pre_stub_info - "
+ "Exceptionlist generation error\n"),
+ -1);
+ }
+ }
+
+ return 0;
+}
+
+int
+be_compiled_visitor_operation_ami_cs::gen_marshal_and_invoke (be_operation
+ *node,
+ be_type *bt)
+{
+ TAO_OutStream *os = this->ctx_->stream ();
+ be_visitor *visitor;
+ be_visitor_context ctx;
+
+ os->indent ();
+
+ // create the GIOP_Invocation and grab the outgoing CDR stream
+ switch (node->flags ())
+ {
+ case AST_Operation::OP_oneway:
+ *os << "TAO_GIOP_Oneway_Invocation _tao_call ";
+ break;
+ default:
+ *os << "TAO_GIOP_Twoway_Invocation _tao_call ";
+ }
+ *os << "(" << be_idt << be_idt_nl
+ << "istub," << be_nl;
+
+ if (this->ctx_->attribute ())
+ {
+ // now check if we are a "get" or "set" operation
+ if (node->nmembers () == 1) // set
+ *os << "\"_set_\"";
+ else
+ *os << "\"_get_\"";
+ }
+ *os << "\"" << node->local_name ()
+ << "\"," << be_nl
+ << "istub->orb_core ()" << be_uidt_nl
+ << ");" << be_uidt_nl;
+
+ *os << "\n" << be_nl
+ << "for (;;)" << be_nl
+ << "{" << be_idt_nl;
+
+ *os << "ACE_TRY_ENV.clear ();" << be_nl
+ << "_tao_call.start (ACE_TRY_ENV);" << be_nl;
+ // check if there is an exception
+ if (this->gen_check_exception (bt) == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_visitor_operation_ami_cs::"
+ "gen_marshal_and_invoke - "
+ "codegen for checking exception failed\n"),
+ -1);
+
+ }
+
+ // now make sure that we have some in and inout parameters. Otherwise, there
+ // is nothing to be marshaled in
+ if (this->has_param_type (node, AST_Argument::dir_IN) ||
+ this->has_param_type (node, AST_Argument::dir_INOUT))
+ {
+ *os << be_nl
+ << "TAO_OutputCDR &_tao_out = _tao_call.out_stream ();"
+ << be_nl
+ << "if (!(\n" << be_idt << be_idt << be_idt;
+
+ // marshal each in and inout argument
+ ctx = *this->ctx_;
+ ctx.state (TAO_CodeGen::TAO_OPERATION_ARG_INVOKE_CS);
+ ctx.sub_state (TAO_CodeGen::TAO_CDR_OUTPUT);
+ visitor = tao_cg->make_visitor (&ctx);
+ if (!visitor || (node->accept (visitor) == -1))
+ {
+ delete visitor;
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_compiled_visitor_operation_ami_cs::"
+ "gen_marshal_and_invoke - "
+ "codegen for return var in do_static_call failed\n"),
+ -1);
+ }
+ *os << be_uidt << be_uidt_nl
+ << "))" << be_nl;
+
+ // if marshaling fails, raise exception
+ if (this->gen_raise_exception (bt, "CORBA::MARSHAL",
+ "") == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_compiled_visitor_operation_ami_cs::"
+ "gen_marshal_and invoke - "
+ "codegen for return var failed\n"),
+ -1);
+ }
+ *os << be_uidt;
+ }
+
+ *os << be_nl
+ << "int _invoke_status =" << be_idt_nl;
+ if (node->flags () == AST_Operation::OP_oneway)
+ {
+ // oneway operation
+ *os << "_tao_call.invoke (ACE_TRY_ENV);";
+ }
+ else
+ {
+ if (node->exceptions ())
+ {
+ *os << "_tao_call.invoke (_tao_" << node->flatname ()
+ << "_exceptiondata, "
+ << node->exceptions ()->length ()
+ << ", ACE_TRY_ENV);";
+ }
+ else
+ {
+ *os << "_tao_call.invoke (0, 0, ACE_TRY_ENV);";
+ }
+ }
+
+ *os << be_uidt_nl;
+ // check if there is an exception
+ if (this->gen_check_exception (bt) == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_compiled_visitor_operation_ami_cs::"
+ "gen_marshal_and_invoke - "
+ "codegen for checking exception failed\n"),
+ -1);
+ }
+
+ *os << be_nl
+ << "if (_invoke_status == TAO_INVOKE_RESTART)" << be_idt_nl
+ << "continue;" << be_uidt_nl
+ << "// if (_invoke_status == TAO_INVOKE_EXCEPTION)" << be_idt_nl
+ << "// cannot happen" << be_uidt_nl
+ << "if (_invoke_status != TAO_INVOKE_OK)" << be_nl
+ << "{" << be_idt_nl;
+
+ if (this->gen_raise_exception (bt,
+ "CORBA::UNKNOWN",
+ "TAO_DEFAULT_MINOR_CODE, CORBA::COMPLETED_YES") == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_compiled_visitor_operation_ami_cs::"
+ "gen_marshal_and invoke - "
+ "codegen for return var failed\n"),
+ -1);
+ }
+
+ *os << be_uidt_nl
+ << "}" << be_nl
+ << "break;" << be_nl
+ << be_uidt_nl << "}" << be_nl;
+
+ // the code below this is for 2way operations only
+
+ if (this->void_return_type (bt) &&
+ !this->has_param_type (node, AST_Argument::dir_INOUT) &&
+ !this->has_param_type (node, AST_Argument::dir_OUT))
+ {
+ return 0;
+ }
+
+ // Do any post_invoke stuff that might be necessary.
+ ctx = *this->ctx_;
+ ctx.state (TAO_CodeGen::TAO_OPERATION_ARG_POST_INVOKE_CS);
+ ctx.sub_state (TAO_CodeGen::TAO_CDR_INPUT);
+ visitor = tao_cg->make_visitor (&ctx);
+ if (!visitor || (node->accept (visitor) == -1))
+ {
+ delete visitor;
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_compiled_visitor_operation_ami_cs::"
+ "gen_marshal_and_invoke - "
+ "codegen for args in post do_static_call\n"),
+ -1);
+ }
+
+
+ // Generate any temporary variables to demarshal the arguments
+ ctx = *this->ctx_;
+ be_visitor_compiled_args_decl vis1 (new be_visitor_context (ctx));
+ if (node->accept (&vis1) == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_compiled_visitor_operation_ami_cs::"
+ "gen_pre_stub_info - "
+ "codegen for pre args failed\n"),
+ -1);
+ }
+
+ if (!this->void_return_type (bt))
+ {
+ // Generate any temporary variables to demarshal the return value
+ ctx = *this->ctx_;
+ be_visitor_context *new_ctx =
+ new be_visitor_context (ctx);
+ be_visitor_operation_compiled_rettype_post_docall vis2 (new_ctx);
+ if (bt->accept (&vis2) == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_compiled_visitor_operation_ami_cs::"
+ "gen_pre_stub_info - "
+ "codegen rettype [post docall] failed\n"),
+ -1);
+ }
+ }
+
+ // check if there was a user exception, else demarshal the
+ // return val (if any) and parameters (if any) that came with
+ // the response message
+ *os << "TAO_InputCDR &_tao_in = _tao_call.inp_stream ();" << be_nl
+ << "if (!(\n" << be_idt << be_idt << be_idt;
+
+ if (!this->void_return_type (bt))
+ {
+ // demarshal the return val
+ ctx = *this->ctx_;
+ ctx.state (TAO_CodeGen::TAO_OPERATION_RETVAL_INVOKE_CS);
+ ctx.sub_state (TAO_CodeGen::TAO_CDR_INPUT);
+ visitor = tao_cg->make_visitor (&ctx);
+ if (!visitor || (node->accept (visitor) == -1))
+ {
+ delete visitor;
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_compiled_visitor_operation_ami_cs::"
+ "gen_marshal_and_invoke - "
+ "codegen for return var failed\n"),
+ -1);
+ }
+ }
+
+ if (this->has_param_type (node, AST_Argument::dir_INOUT) ||
+ this->has_param_type (node, AST_Argument::dir_OUT))
+ {
+ if (!this->void_return_type (bt))
+ *os << " &&\n";
+
+ // demarshal each out and inout argument
+ ctx = *this->ctx_;
+ ctx.state (TAO_CodeGen::TAO_OPERATION_ARG_INVOKE_CS);
+ ctx.sub_state (TAO_CodeGen::TAO_CDR_INPUT);
+ visitor = tao_cg->make_visitor (&ctx);
+ if (!visitor || (node->accept (visitor) == -1))
+ {
+ delete visitor;
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_compiled_visitor_operation_ami_cs::"
+ "gen_marshal_and_invoke - "
+ "codegen for return var failed\n"),
+ -1);
+ }
+ }
+
+ if (!this->void_return_type (bt) ||
+ this->has_param_type (node, AST_Argument::dir_INOUT) ||
+ this->has_param_type (node, AST_Argument::dir_OUT))
+ {
+
+ *os << be_uidt << be_uidt << be_nl
+ << "))" << be_nl;
+ // if marshaling fails, raise exception
+ if (this->gen_raise_exception (bt, "CORBA::MARSHAL",
+ "TAO_DEFAULT_MINOR_CODE, CORBA::COMPLETED_YES") == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%N:%l) be_compiled_visitor_operation_ami_cs::"
+ "gen_marshal_and invoke - "
+ "codegen for return var failed\n"),
+ -1);
+ }
+ *os << be_uidt;
+ }
+
+ return 0;
+}
diff --git a/TAO/TAO_IDL/be/be_visitor_operation/rettype_return_cs.cpp b/TAO/TAO_IDL/be/be_visitor_operation/rettype_return_cs.cpp
index 760209f4738..49e1870f8d3 100644
--- a/TAO/TAO_IDL/be/be_visitor_operation/rettype_return_cs.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_operation/rettype_return_cs.cpp
@@ -46,10 +46,12 @@ be_visitor_operation_rettype_return_cs::~be_visitor_operation_rettype_return_cs
int
be_visitor_operation_rettype_return_cs::visit_array (be_array *)
{
- TAO_OutStream *os = this->ctx_->stream (); // grab the out stream
+ // Grab the out stream
+ TAO_OutStream *os = this->ctx_->stream ();
+
+ // os->indent ();
+ // *os << "return _tao_retval;\n";
- //os->indent ();
- //*os << "return _tao_retval;\n";
*os << "_tao_retval";
return 0;
}
@@ -60,7 +62,7 @@ be_visitor_operation_rettype_return_cs::visit_enum (be_enum *)
TAO_OutStream *os = this->ctx_->stream (); // grab the out stream
//os->indent ();
- //*os << "return _tao_retval;\n";
+ // *os << "return _tao_retval;\n";
*os << "_tao_retval";
return 0;
}
@@ -70,8 +72,8 @@ be_visitor_operation_rettype_return_cs::visit_interface (be_interface *)
{
TAO_OutStream *os = this->ctx_->stream (); // grab the out stream
- //os->indent ();
- //*os << "return _tao_retval;\n";
+ // os->indent ();
+ // *os << "return _tao_retval;\n";
*os << "_tao_retval";
return 0;
}
@@ -82,7 +84,7 @@ be_visitor_operation_rettype_return_cs::visit_interface_fwd (be_interface_fwd *)
TAO_OutStream *os = this->ctx_->stream (); // grab the out stream
//os->indent ();
- //*os << "return _tao_retval;\n";
+ // *os << "return _tao_retval;\n";
*os << "_tao_retval";
return 0;
}
@@ -95,7 +97,7 @@ be_visitor_operation_rettype_return_cs::visit_valuetype (be_valuetype *)
TAO_OutStream *os = this->ctx_->stream (); // grab the out stream
//os->indent ();
- //*os << "return _tao_retval;\n";
+ // *os << "return _tao_retval;\n";
*os << "_tao_retval";
return 0;
}
@@ -106,7 +108,7 @@ be_visitor_operation_rettype_return_cs::visit_valuetype_fwd (be_valuetype_fwd *)
TAO_OutStream *os = this->ctx_->stream (); // grab the out stream
//os->indent ();
- //*os << "return _tao_retval;\n";
+ // *os << "return _tao_retval;\n";
*os << "_tao_retval";
return 0;
}
@@ -122,10 +124,10 @@ be_visitor_operation_rettype_return_cs::visit_predefined_type (be_predefined_typ
switch (node->pt ())
{
case AST_PredefinedType::PT_void:
- //*os << "return;\n";
+ // *os << "return;\n";
break;
default:
- //*os << "return _tao_retval;\n";
+ // *os << "return _tao_retval;\n";
*os << "_tao_retval";
break;
}
@@ -138,7 +140,7 @@ be_visitor_operation_rettype_return_cs::visit_sequence (be_sequence *)
TAO_OutStream *os = this->ctx_->stream (); // grab the out stream
//os->indent ();
- //*os << "return _tao_retval;\n";
+ // *os << "return _tao_retval;\n";
*os << "_tao_retval";
return 0;
}
@@ -149,7 +151,7 @@ be_visitor_operation_rettype_return_cs::visit_string (be_string *)
TAO_OutStream *os = this->ctx_->stream (); // grab the out stream
//os->indent ();
- //*os << "return _tao_retval;\n";
+ // *os << "return _tao_retval;\n";
*os << "_tao_retval";
return 0;
}
@@ -160,7 +162,7 @@ be_visitor_operation_rettype_return_cs::visit_structure (be_structure *)
TAO_OutStream *os = this->ctx_->stream (); // grab the out stream
//os->indent ();
- //*os << "return _tao_retval;\n";
+ // *os << "return _tao_retval;\n";
*os << "_tao_retval";
return 0;
}
@@ -187,7 +189,7 @@ be_visitor_operation_rettype_return_cs::visit_union (be_union *)
TAO_OutStream *os = this->ctx_->stream (); // grab the out stream
//os->indent ();
- //*os << "return _tao_retval;\n";
+ // *os << "return _tao_retval;\n";
*os << "_tao_retval";
return 0;
}
diff --git a/TAO/TAO_IDL/be_include/be_codegen.h b/TAO/TAO_IDL/be_include/be_codegen.h
index 1c26fd0b14a..c34bbfde38b 100644
--- a/TAO/TAO_IDL/be_include/be_codegen.h
+++ b/TAO/TAO_IDL/be_include/be_codegen.h
@@ -263,7 +263,7 @@ public:
TAO_OPERATION_TIE_SH,
TAO_OPERATION_TIE_SI,
- TAO_OBV_OPERATION_ARGLIST_CH, // parameter list in obv op signature
+ TAO_OBV_OPERATION_ARGLIST_CH, // parameter list in obv op signature
// ... for client header
TAO_OBV_OPERATION_ARGLIST_OBV_CH, // ... for OBV_ class
TAO_OBV_OPERATION_ARGLIST_SH, // ... for server header
@@ -272,7 +272,19 @@ public:
TAO_OBV_OPERATION_ARGLIST_COLLOCATED_SH, // ... for collocated server
TAO_OBV_OPERATION_ARGLIST_OTHERS, // ... for all other cases
- // emitting code for root
+ // Emitting code for AMI.
+ TAO_OPERATION_AMI_CH, // AMI stub generation.
+ TAO_OPERATION_AMI_CS, // AMI stub generation.
+ TAO_OPERATION_ARGLIST_AMI, // AMI stubs in client header
+ TAO_OPERATION_ARG_AMI, // AMI stub.
+ TAO_ARGUMENT_AMI, // Argument in AMI stub.
+ TAO_ARGUMENT_ARGLIST_AMI, // Arg list in AMI stub.
+ TAO_AMI_HANDLER_FWD_CH, // FWD decl for AMI handler.
+ TAO_AMI_HANDLER_FWD_CI, // FWD decl for AMI handler.
+ // @ Alex: FWD does nt make sense.
+ // Should rename it.
+
+ // Emitting code for root.
TAO_ROOT_CH,
TAO_ROOT_CI,
TAO_ROOT_CS,
diff --git a/TAO/TAO_IDL/be_include/be_interface.h b/TAO/TAO_IDL/be_include/be_interface.h
index 3a1cccd7baa..c9c5faaa546 100644
--- a/TAO/TAO_IDL/be_include/be_interface.h
+++ b/TAO/TAO_IDL/be_include/be_interface.h
@@ -54,28 +54,36 @@ public:
~be_interface (void);
// dtor
- virtual int gen_var_defn (void);
- // generate the _var class definition
-
+ virtual int gen_var_defn (char *interface_name = 0);
+ // generate the var definition. If <interface_name> is not 0, generate
+ // the var defn for that name. Otherwise, do it for the interface you
+ // are visiting (this).
+
virtual void gen_def_ctors (TAO_OutStream* os);
//call the default constructors of all the base classes
-
-
virtual void gen_copy_ctors (TAO_OutStream* os);
//call the copy constructors of all the base classes
- virtual int gen_var_impl (void);
- // generate the implementation for the _var class
+ virtual int gen_var_impl (char *interface_local_name = 0,
+ char *interface_full_name = 0);
+ // Generate the implementation for the _var class.
+ // If any one of the argument is 0, then use the name in <this>,
+ // otherwise use the name given. Just making the class more useful.
- virtual int gen_out_defn (void);
- // generate the _out class definition
+ virtual int gen_out_defn (char *interface_name = 0);
+ // Generate the out class definition. If <interface_name> is not 0,
+ // generate the out defn for that name. Otherwise, do it for the
+ // interface you are visiting (this).
- virtual int gen_out_impl (void);
- // generate the _out implementation
+ virtual int gen_out_impl (char *interface_local_name = 0,
+ char *interface_full_name = 0);
+ // Generate the out class implementation.
+ // If any one of the argument is 0, then use the name giin this
+ // node, else use the arguments.
const char *full_skel_name (void);
- // retrieve the fully scoped skel class name
+ // Retrieve the fully scoped skel class name.
//
// Each interface (to fix names "T") also defines two help classes,
diff --git a/TAO/TAO_IDL/be_include/be_visitor_argument.h b/TAO/TAO_IDL/be_include/be_visitor_argument.h
index 560d37f2859..194cb2f387b 100644
--- a/TAO/TAO_IDL/be_include/be_visitor_argument.h
+++ b/TAO/TAO_IDL/be_include/be_visitor_argument.h
@@ -39,5 +39,6 @@
#include "be_visitor_argument/compiled_marshal_cs.h"
#include "be_visitor_argument/compiled_marshal_ss.h"
#include "be_visitor_argument/pre_invoke_cs.h"
+#include "be_visitor_argument/arglist_ami.h"
#endif /* _BE_VISITOR_ARGUMENT_H */
diff --git a/TAO/TAO_IDL/be_include/be_visitor_argument/arglist_ami.h b/TAO/TAO_IDL/be_include/be_visitor_argument/arglist_ami.h
new file mode 100644
index 00000000000..85df0e4cc67
--- /dev/null
+++ b/TAO/TAO_IDL/be_include/be_visitor_argument/arglist_ami.h
@@ -0,0 +1,96 @@
+//
+// $Id$
+//
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// arglist_ami.h
+//
+// = DESCRIPTION
+// Visitor for generation of code for Arguments as parameter lists
+// in the operation signature of an AMI stub.
+//
+// = AUTHOR
+// Aniruddha Gokhale & Alexander Babu Arulanthu <alex@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef _BE_VISITOR_ARGUMENT_ARGLIST_AMI_H_
+#define _BE_VISITOR_ARGUMENT_ARGLIST_AMI_H_
+
+class be_visitor_args_arglist_ami : public be_visitor_args
+{
+ //
+ // = TITLE
+ // Generates the code for arguments output.
+ //
+ // = DESCRIPTION
+ // At several stages in the code generation a node of type
+ // "be_operation" is visited, and the code for its arguments must
+ // be generated.
+ // Sometimes the argument declarations must be generated (such as
+ // in the class declaration), other the arguments names (such as
+ // in method invocations).
+ // This class implements the declaration output, in other words,
+ // it outputs both the arguments and their types.
+ //
+public:
+ be_visitor_args_arglist_ami (be_visitor_context *ctx);
+ // Constructor.
+
+ virtual ~be_visitor_args_arglist_ami (void);
+ // Destructor.
+
+ virtual int visit_argument (be_argument *node);
+ // Visit the argument node.
+
+ // = visit all the nodes that can be the types for the argument.
+
+ virtual int visit_array (be_array *node);
+ // visit array type
+
+ virtual int visit_enum (be_enum *node);
+ // visit the enum node
+
+ virtual int visit_interface (be_interface *node);
+ // visit interface
+
+ virtual int visit_interface_fwd (be_interface_fwd *node);
+ // visit interface forward
+
+
+ virtual int visit_native (be_native *node);
+ // visit native node
+
+ virtual int visit_predefined_type (be_predefined_type *node);
+ // visit predefined type
+
+ virtual int visit_sequence (be_sequence *node);
+ // visit sequence type
+
+ virtual int visit_string (be_string *node);
+ // visit string type
+
+ virtual int visit_structure (be_structure *node);
+ // visit structure type
+
+ virtual int visit_union (be_union *node);
+ // visit union type
+
+ virtual int visit_typedef (be_typedef *node);
+ // visit the typedef type
+
+#ifdef IDL_HAS_VALUETYPE
+ virtual int visit_valuetype (be_valuetype *node);
+ // visit valuetype
+
+ virtual int visit_valuetype_fwd (be_valuetype_fwd *node);
+ // visit valuetype_fwd
+#endif /* IDL_HAS_VALUETYPE */
+};
+
+#endif /* _BE_VISITOR_ARGUMENT_ARGLIST_H_ */
diff --git a/TAO/TAO_IDL/be_include/be_visitor_interface.h b/TAO/TAO_IDL/be_include/be_visitor_interface.h
index e67eeba6b12..1fd6fad3cf9 100644
--- a/TAO/TAO_IDL/be_include/be_visitor_interface.h
+++ b/TAO/TAO_IDL/be_include/be_visitor_interface.h
@@ -41,5 +41,6 @@
#include "be_visitor_interface/cdr_op_cs.h"
#include "be_visitor_interface/tie_sh.h"
#include "be_visitor_interface/tie_si.h"
-
+#include "be_visitor_interface/ami_handler_fwd_ch.h"
+#include "be_visitor_interface/ami_handler_fwd_ci.h"
#endif /* _BE_VISITOR_INTERFACE_H */
diff --git a/TAO/TAO_IDL/be_include/be_visitor_interface/ami_handler_fwd_ch.h b/TAO/TAO_IDL/be_include/be_visitor_interface/ami_handler_fwd_ch.h
new file mode 100644
index 00000000000..b495ed84e2f
--- /dev/null
+++ b/TAO/TAO_IDL/be_include/be_visitor_interface/ami_handler_fwd_ch.h
@@ -0,0 +1,48 @@
+//
+// $Id$
+//
+/* -*- c++ -*- */
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// interface_fwd_ch.h
+//
+// = DESCRIPTION
+// Concrete visitor for the Interface Forward node.
+// This one provides code generation for interface forward node.
+//
+// = AUTHOR
+// Aniruddha Gokhale and Alexander Babu Arulanthu
+// <alex@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef _BE_INTERFACE_AMI_HANDLER_FWD_CH_H_
+#define _BE_INTERFACE_AMI_HANDLER_FWD_CH_H_
+
+class be_visitor_ami_handler_fwd_ch : public be_visitor_decl
+{
+ //
+ // = TITLE
+ // be_visitor_ami_handler_fwd_ch
+ //
+ // = DESCRIPTION
+ // This visitor visits the an interface and generates fwd
+ // declaration code for the AMI Handler interface.
+ //
+ //
+public:
+ be_visitor_ami_handler_fwd_ch (be_visitor_context *ctx);
+ // constructor
+
+ ~be_visitor_ami_handler_fwd_ch (void);
+ // destructor
+
+ virtual int visit_interface (be_interface *node);
+ // visit interface.
+};
+
+#endif /* _BE_INTERFACE_AMI_HANDLER_FWD_CH_H_ */
diff --git a/TAO/TAO_IDL/be_include/be_visitor_interface/ami_handler_fwd_ci.h b/TAO/TAO_IDL/be_include/be_visitor_interface/ami_handler_fwd_ci.h
new file mode 100644
index 00000000000..ecd01235f01
--- /dev/null
+++ b/TAO/TAO_IDL/be_include/be_visitor_interface/ami_handler_fwd_ci.h
@@ -0,0 +1,49 @@
+//
+// $Id$
+//
+/* -*- c++ -*- */
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// ami_handler_fwd_ci.h
+//
+// = DESCRIPTION
+// Concrete visitor for the Interface Forward node.
+// This one provides code generation for interface forward node.
+//
+// = AUTHOR
+// Aniruddha Gokhale and Alexander Babu Arulanthu
+// <alex@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef _BE_INTERFACE_AMI_HANDLER_FWD_CI_H_
+#define _BE_INTERFACE_AMI_HANDLER_FWD_CI_H_
+
+class be_visitor_ami_handler_fwd_ci : public be_visitor_decl
+{
+ //
+ // = TITLE
+ // be_visitor_ami_handler_fwd_ci
+ //
+ // = DESCRIPTION
+ // This visitor visits the interface to generate the forward
+ // declration code for the AMI reply handler.
+ //
+ //
+public:
+ be_visitor_ami_handler_fwd_ci (be_visitor_context *ctx);
+ // constructor
+
+ ~be_visitor_ami_handler_fwd_ci (void);
+ // destructor
+
+ virtual int visit_interface (be_interface *node);
+ // visit interface.
+
+};
+
+#endif /* _BE_INTERFACE_INTERFACE_FWD_CH_I_ */
diff --git a/TAO/TAO_IDL/be_include/be_visitor_interface/interface_ch.h b/TAO/TAO_IDL/be_include/be_visitor_interface/interface_ch.h
index 34bea04cac1..0294553503b 100644
--- a/TAO/TAO_IDL/be_include/be_visitor_interface/interface_ch.h
+++ b/TAO/TAO_IDL/be_include/be_visitor_interface/interface_ch.h
@@ -44,7 +44,6 @@ public:
virtual int visit_interface (be_interface *node);
// set the right context and make a visitor
-
};
#endif /* _BE_INTERFACE_INTERFACE_CH_H_ */
diff --git a/TAO/TAO_IDL/be_include/be_visitor_interface_fwd.h b/TAO/TAO_IDL/be_include/be_visitor_interface_fwd.h
index dafe44c68f8..a32da4c3de0 100644
--- a/TAO/TAO_IDL/be_include/be_visitor_interface_fwd.h
+++ b/TAO/TAO_IDL/be_include/be_visitor_interface_fwd.h
@@ -28,5 +28,4 @@
#include "be_visitor_interface_fwd/interface_fwd_ch.h"
#include "be_visitor_interface_fwd/interface_fwd_ci.h"
#include "be_visitor_interface_fwd/cdr_op_ci.h"
-
#endif /* TAO_BE_VISITOR_INTERFACE_FWD_H */
diff --git a/TAO/TAO_IDL/be_include/be_visitor_operation.h b/TAO/TAO_IDL/be_include/be_visitor_operation.h
index b74e135e9e4..e9fd1f3a0e6 100644
--- a/TAO/TAO_IDL/be_include/be_visitor_operation.h
+++ b/TAO/TAO_IDL/be_include/be_visitor_operation.h
@@ -53,5 +53,8 @@
#include "be_visitor_operation/rettype_marshal_ss.h"
#include "be_visitor_operation/compiled_marshal.h"
#include "be_visitor_operation/rettype_pre_invoke_cs.h"
+#include "be_visitor_operation/operation_ami_ch.h"
+#include "be_visitor_operation/operation_ami_cs.h"
+#include "be_visitor_operation/arglist_ami.h"
#endif // TAO_BE_VISITOR_OPERATION_H
diff --git a/TAO/TAO_IDL/be_include/be_visitor_operation/arglist_ami.h b/TAO/TAO_IDL/be_include/be_visitor_operation/arglist_ami.h
new file mode 100644
index 00000000000..532e6463974
--- /dev/null
+++ b/TAO/TAO_IDL/be_include/be_visitor_operation/arglist_ami.h
@@ -0,0 +1,54 @@
+//
+// $Id$
+//
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// arglist_ami.h
+//
+// = DESCRIPTION
+// Visitor for generating IDL Stub code for IDL operations. This
+// generates the operation signature for the IDL stub.
+//
+// = AUTHOR
+// Alexander Babu Arulanthu <alex@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef _BE_VISITOR_OPERATION_ARGLIST_AMI_H_
+#define _BE_VISITOR_OPERATION_ARGLIST_AMI_H_
+
+// ******************************************************************************
+// Operation visitor for argument list - generates parameters in the signature
+// ******************************************************************************
+
+class be_visitor_operation_arglist_ami : public be_visitor_scope
+{
+ //
+ // = TITLE
+ // be_visitor_operaion_arglist_ami
+ //
+ // = DESCRIPTION
+ // This is a visitor to generate operation argument list for an
+ // AMI stub.
+ //
+ //
+public:
+ be_visitor_operation_arglist_ami (be_visitor_context *ctx);
+ // constructor
+
+ ~be_visitor_operation_arglist_ami (void);
+ // destructor
+
+ int visit_operation (be_operation *node);
+ // visit the operation
+
+ int visit_argument (be_argument *node);
+ // visit each argument
+};
+
+#endif /* _BE_VISITOR_OPERATION_ARGLIST_AMI_H_ */
diff --git a/TAO/TAO_IDL/be_include/be_visitor_operation/operation_ami.h b/TAO/TAO_IDL/be_include/be_visitor_operation/operation_ami.h
new file mode 100644
index 00000000000..f2003a6db22
--- /dev/null
+++ b/TAO/TAO_IDL/be_include/be_visitor_operation/operation_ami.h
@@ -0,0 +1,51 @@
+//
+// $Id$
+//
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// operation_ami.h
+//
+// = DESCRIPTION
+// Visitor for generating AMI stub code for IDL operations in
+// client header.
+//
+// = AUTHOR
+// Alexander Babu Arulanthu <alex@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef _BE_VISITOR_OPERATION_OPERATION_AMI_H_
+#define _BE_VISITOR_OPERATION_OPERATION_AMI_H_
+
+// ************************************************************
+// Operation visitor to generate AMI stubs for client header
+// ************************************************************
+
+class be_visitor_operation_ami : public be_visitor_operation
+{
+ //
+ // = TITLE
+ // be_visitor_operation_ami.
+ //
+ // = DESCRIPTION
+ // This is a concrete visitor to generate the AMI stubs in the
+ // client header for operation.
+ //
+ //
+public:
+ be_visitor_operation_ami (be_visitor_context *ctx);
+ // constructor
+
+ ~be_visitor_operation_ami (void);
+ // destructor
+
+ virtual int visit_operation (be_operation *node);
+ // visit operation.
+};
+
+#endif /* _BE_VISITOR_OPERATION_OPERATION_AMI_H_ */
diff --git a/TAO/TAO_IDL/be_include/be_visitor_operation/operation_ami_ch.h b/TAO/TAO_IDL/be_include/be_visitor_operation/operation_ami_ch.h
new file mode 100644
index 00000000000..9db97cff0bb
--- /dev/null
+++ b/TAO/TAO_IDL/be_include/be_visitor_operation/operation_ami_ch.h
@@ -0,0 +1,51 @@
+//
+// $Id$
+//
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// operation_ami_ch.h
+//
+// = DESCRIPTION
+// Visitor for generating AMI stub code for IDL operations in
+// client header.
+//
+// = AUTHOR
+// Alexander Babu Arulanthu <alex@cs.wustl.edu>
+//
+// ============================================================================
+
+#ifndef _BE_VISITOR_OPERATION_OPERATION_AMI_CH_H_
+#define _BE_VISITOR_OPERATION_OPERATION_AMI_CH_H_
+
+// ************************************************************
+// Operation visitor to generate AMI stubs for client header
+// ************************************************************
+
+class be_visitor_operation_ami_ch : public be_visitor_operation
+{
+ //
+ // = TITLE
+ // be_visitor_operation_ami_ch.
+ //
+ // = DESCRIPTION
+ // This is a concrete visitor to generate the AMI stubs in the
+ // client header for operation.
+ //
+ //
+public:
+ be_visitor_operation_ami_ch (be_visitor_context *ctx);
+ // constructor
+
+ ~be_visitor_operation_ami_ch (void);
+ // destructor
+
+ virtual int visit_operation (be_operation *node);
+ // visit operation.
+};
+
+#endif /* _BE_VISITOR_OPERATION_OPERATION_AMI_CH_H_ */
diff --git a/TAO/TAO_IDL/be_include/be_visitor_operation/operation_ami_cs.h b/TAO/TAO_IDL/be_include/be_visitor_operation/operation_ami_cs.h
new file mode 100644
index 00000000000..6c324505aa0
--- /dev/null
+++ b/TAO/TAO_IDL/be_include/be_visitor_operation/operation_ami_cs.h
@@ -0,0 +1,125 @@
+//
+// $Id$
+//
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// operation_ami_cs.h
+//
+// = DESCRIPTION
+// Visitor for generating code for IDL operations in client stubs
+//
+// = AUTHOR
+// Aniruddha Gokhale
+//
+// ============================================================================
+
+#ifndef _BE_VISITOR_OPERATION_OPERATION_AMI_CS_H_
+#define _BE_VISITOR_OPERATION_OPERATION_AMI_CS_H_
+
+// ************************************************************
+// Operation visitor for client stubs
+// ************************************************************
+
+class be_visitor_operation_ami_cs : public be_visitor_operation
+{
+ //
+ // = TITLE
+ // be_visitor_operation_ami_cs
+ //
+ // = DESCRIPTION
+ // This is a concrete visitor to generate the client stubs for operation
+ //
+ //
+public:
+ be_visitor_operation_ami_cs (be_visitor_context *ctx);
+ // constructor
+
+ ~be_visitor_operation_ami_cs (void);
+ // destructor
+
+ virtual int visit_operation (be_operation *node);
+ // visit operation.
+
+ virtual int visit_argument (be_argument *node);
+ // visit argument to generate ParamData entries
+
+ // = template methods
+ virtual int gen_pre_stub_info (be_operation *, be_type *) = 0;
+ // generate any info before the actual code for the stub is generated
+
+ virtual int gen_marshal_and_invoke (be_operation *, be_type *) = 0;
+ // generate code that marshals the arguments and transmits them
+
+ // =helper
+ virtual int post_process (be_decl *);
+ // stuff to output after every member of the scope is handled
+
+ virtual int gen_raise_exception (be_type *,
+ const char * excep,
+ const char * status);
+ // helper that generates code for raising an exception
+
+ virtual int gen_check_exception (be_type *);
+ // helper that generates code for checking for an exception
+
+};
+
+// specialized visitors
+
+class be_interpretive_visitor_operation_ami_cs : public be_visitor_operation_ami_cs
+{
+ //
+ // = TITLE
+ // be_interpretive_visitor_operation_ami_cs
+ //
+ // = DESCRIPTION
+ // This is a concrete visitor to generate the client stubs for operation
+ // using interpretive marshaling.
+ //
+ //
+public:
+ be_interpretive_visitor_operation_ami_cs (be_visitor_context *);
+ // ctor
+
+ ~be_interpretive_visitor_operation_ami_cs (void);
+ // dtor
+
+ virtual int gen_pre_stub_info (be_operation *, be_type *);
+ // generate any info before the actual code for the stub is generated
+
+ virtual int gen_marshal_and_invoke (be_operation *, be_type *);
+ // generate code that marshals the arguments and transmits them
+
+};
+
+class be_compiled_visitor_operation_ami_cs : public be_visitor_operation_ami_cs
+{
+ //
+ // = TITLE
+ // be_compiled_visitor_operation_ami_cs
+ //
+ // = DESCRIPTION
+ // This is a concrete visitor to generate the client stubs for operation
+ // using compiled marshaling.
+ //
+ //
+public:
+ be_compiled_visitor_operation_ami_cs (be_visitor_context *);
+ // ctor
+
+ ~be_compiled_visitor_operation_ami_cs (void);
+ // dtor
+
+ virtual int gen_pre_stub_info (be_operation *, be_type *);
+ // generate any info before the actual code for the stub is generated
+
+ virtual int gen_marshal_and_invoke (be_operation *, be_type *);
+ // generate code that marshals the arguments and transmits them
+};
+
+#endif /* _BE_VISITOR_OPERATION_OPERATION_AMI_CS_H_ */
diff --git a/TAO/TAO_IDL/driver/drv_args.cpp b/TAO/TAO_IDL/driver/drv_args.cpp
index a912f1cf99b..9b5dc08ca78 100644
--- a/TAO/TAO_IDL/driver/drv_args.cpp
+++ b/TAO/TAO_IDL/driver/drv_args.cpp
@@ -129,6 +129,9 @@ DRV_usage (void)
cerr << GTDEVEL (" -Gv\t\t\tenable OBV (Valuetype) support (disabled by default)\n");
#endif /* IDL_HAS_VALUETYPE */
cerr << GTDEVEL (" -GI[h|s|b|e|c]\tGenerate Implemenation Files \n");
+
+ cerr << GTDEVEL (" -GC \t\tGenerate the code for using AMI Call back model\n");
+
cerr << GTDEVEL (" \t\t\th - Implementation header file name ending. Default is I.h \n");
cerr << GTDEVEL (" \t\t\ts - Implementation skeleton file name ending. Default is I.cpp\n");
cerr << GTDEVEL (" \t\t\tb - Prefix to the implementation class names. Default is 'no prefix' \n");
@@ -377,6 +380,9 @@ DRV_parse_args (long ac, char **av)
idl_global->gperf_path (av[i+1]);
i++;
break;
+
+ // Option to generate the features regarding the
+ // Messaging Specification.
// Directory where all the IDL-Compiler-Generated files are to
// be kept. Default is the current directory from which the
@@ -577,12 +583,17 @@ DRV_parse_args (long ac, char **av)
}
break;
case 'G':
- // enable generation of ...
+ // Enable generation of ...
if (av[i][2] == 'c')
{
// compiled marshaling support
idl_global->compiled_marshaling (1);
}
+ else if (av[i][2] == 'C')
+ {
+ // AMI with Call back.
+ idl_global->ami_call_back (I_TRUE);
+ }
else if (av[i][2] == 'i')
{
// interpretive marshaling support
diff --git a/TAO/TAO_IDL/include/idl_global.h b/TAO/TAO_IDL/include/idl_global.h
index 83ae415fca0..a224ee07160 100644
--- a/TAO/TAO_IDL/include/idl_global.h
+++ b/TAO/TAO_IDL/include/idl_global.h
@@ -556,6 +556,13 @@ public:
virtual idl_bool case_diff_error (void);
// are we strict about case-only differences or not?
+ virtual void ami_call_back (idl_bool value);
+ // To enable or disable AMI call back feature of the Messaging
+ // specification in the generated code.
+
+ virtual idl_bool ami_call_back (void);
+ // Return the flag.
+
private:
// Data
UTL_ScopeStack *pd_scopes; // Store scopes stack
@@ -696,6 +703,11 @@ private:
idl_bool case_diff_error_;
// do we report an error for indentifiers in the same scope that differ
// only by case? or just a warning?
+
+ idl_bool ami_call_back_;
+ // Flag to indicate whether the AMI Call back feature of the
+ // Messaging specification should be enabled for the generated files
+ // or not.
};
#endif //_IDL_IDL_GLOBAL_HH
diff --git a/TAO/TAO_IDL/util/utl_global.cpp b/TAO/TAO_IDL/util/utl_global.cpp
index aaeb9dc3b61..566b946f720 100644
--- a/TAO/TAO_IDL/util/utl_global.cpp
+++ b/TAO/TAO_IDL/util/utl_global.cpp
@@ -140,7 +140,8 @@ IDL_GlobalData::IDL_GlobalData (void)
gen_assign_op_ (I_FALSE),
exception_support_ (I_FALSE),
opt_tc_ (I_FALSE),
- case_diff_error_ (I_TRUE)
+ case_diff_error_ (I_TRUE),
+ ami_call_back_ (I_FALSE)
{
// Path for the perfect hash generator(gperf) program.
@@ -1387,3 +1388,15 @@ IDL_GlobalData::case_diff_error (void)
{
return this->case_diff_error_;
}
+
+void
+IDL_GlobalData::ami_call_back (idl_bool val)
+{
+ this->ami_call_back_ = val;
+}
+
+idl_bool
+IDL_GlobalData::ami_call_back (void)
+{
+ return this->ami_call_back_;
+}