summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohnny Willemsen <jwillemsen@remedy.nl>2011-12-12 08:52:52 +0000
committerJohnny Willemsen <jwillemsen@remedy.nl>2011-12-12 08:52:52 +0000
commit53ba880bd9c84d00799654e1d8d7688035fe73fc (patch)
tree52161e025a85185996f0813b685464578e43879e
parent37f3de31ffcdca014294fa90dd338f411a4e5599 (diff)
downloadATCD-53ba880bd9c84d00799654e1d8d7688035fe73fc.tar.gz
Mon Dec 12 07:33:25 UTC 2011 Johnny Willemsen <jwillemsen@remedy.nl>
Merged changes from our work branch. Facet servants are now generated as C++ template at the moment the interface is declared, this reduces the amount of code generated heavily. Component/Connector context is now also generated as C++ template
-rw-r--r--ACE/ChangeLog11
-rw-r--r--ACE/docs/svn/config2
-rw-r--r--CIAO/ChangeLog188
-rw-r--r--CIAO/NEWS5
-rw-r--r--CIAO/bin/ciao_tests.lst1
-rw-r--r--CIAO/ciao/Contexts/Extension/Extension_Context_T.cpp16
-rw-r--r--CIAO/ciao/Contexts/Extension/Extension_Context_T.h12
-rw-r--r--CIAO/ciao/Contexts/Session/Session_Context_T.cpp8
-rw-r--r--CIAO/ciao/Contexts/Session/Session_Context_T.h8
-rw-r--r--CIAO/ciao/Servants/Extension/Servant_Impl_T.cpp24
-rw-r--r--CIAO/ciao/Servants/Extension/Servant_Impl_T.h9
-rw-r--r--CIAO/ciao/Servants/Facet_Servant_Base_T.h2
-rw-r--r--CIAO/ciao/Servants/Session/Servant_Impl_T.cpp24
-rw-r--r--CIAO/ciao/Servants/Session/Servant_Impl_T.h20
-rw-r--r--CIAO/connectors/ami4ccm/examples/Hello/Base/Hello.mpc1
-rw-r--r--CIAO/connectors/ami4ccm/examples/Quoter/Base/Quoter.mpc1
-rw-r--r--CIAO/connectors/ami4ccm/tests/AsynchT/Base/AsynchT.mpc5
-rw-r--r--CIAO/connectors/ami4ccm/tests/DelReplyH/Base/DelReplyH.mpc1
-rw-r--r--CIAO/connectors/ami4ccm/tests/Exceptions/Base/ExceptionT.mpc5
-rw-r--r--CIAO/connectors/ami4ccm/tests/GetComp/Base/GetComp.mpc3
-rw-r--r--CIAO/connectors/ami4ccm/tests/IDL_Test/AMI4CCM_IDLTest.mpc1
-rw-r--r--CIAO/connectors/ami4ccm/tests/InterInArgs/Base/InterInArgsT.mpc3
-rw-r--r--CIAO/connectors/ami4ccm/tests/InterInOutArgs/Base/InterInOutT.mpc3
-rw-r--r--CIAO/connectors/ami4ccm/tests/InterMulti/Base/InterMulti.mpc3
-rw-r--r--CIAO/connectors/ami4ccm/tests/InterOutArgs/Base/InterOutArgsT.mpc3
-rw-r--r--CIAO/connectors/ami4ccm/tests/InterReturn/Base/InterReturnT.mpc3
-rw-r--r--CIAO/connectors/ami4ccm/tests/NoConnection/Base/HelloT.mpc1
-rw-r--r--CIAO/connectors/ami4ccm/tests/NoReplyH/Base/NoReplyH.mpc3
-rw-r--r--CIAO/connectors/ami4ccm/tests/OneProcess/Base/OneProcess.mpc3
-rw-r--r--CIAO/connectors/ami4ccm/tests/OneReplyH/Base/OneReplyH.mpc3
-rw-r--r--CIAO/connectors/ami4ccm/tests/SimplexMulti/Base/UsesSM.mpc7
-rw-r--r--CIAO/connectors/ami4ccm/tests/ThreeComp/Base/ThreeComp.mpc4
-rw-r--r--CIAO/connectors/ami4ccm/tests/UsesMulti/Base/UsesMulti.mpc7
-rw-r--r--CIAO/connectors/ami4ccm/tutorials/Hello/Hello_asm/ports/Hello_MyFoo_obj.mpc3
-rw-r--r--CIAO/connectors/dds4ccm/examples/Large_Deployment/Common/Single_Service_Common.idl2
-rw-r--r--CIAO/connectors/dds4ccm/examples/Large_Deployment/Common/Single_Service_Common.mpc41
-rw-r--r--CIAO/connectors/dds4ccm/examples/Large_Deployment/DDS_Pub/DDS_Pub.mpc3
-rw-r--r--CIAO/connectors/dds4ccm/examples/Large_Deployment/Single_Service/Single_Service.mpc26
-rw-r--r--CIAO/connectors/dds4ccm/examples/Large_Deployment/Single_Service/Single_Service_exec.cpp130
-rw-r--r--CIAO/connectors/dds4ccm/examples/Large_Deployment/Single_Service/Single_Service_exec.h114
-rw-r--r--CIAO/connectors/dds4ccm/idl/dds4ccm_stub.mpc7
-rw-r--r--CIAO/connectors/dds4ccm/idl/ndds/ndds_idltocpp_stub.mpc3
-rw-r--r--CIAO/connectors/tests/AMIDDS/Base/AmiDds_Base.mpc1
-rw-r--r--CIAO/examples/Null_Component_Glfa/Null_Component.idl36
-rw-r--r--CIAO/examples/Null_Component_Glfa/Null_Component.mpc112
-rw-r--r--CIAO/examples/Null_Component_Glfa/Null_Interface.idl23
-rw-r--r--CIAO/examples/Null_Component_Glfa/Null_Interface.mpc67
-rw-r--r--CIAO/examples/Null_Component_Glfa/descriptors/NodeMap.dat1
-rw-r--r--CIAO/examples/Null_Component_Glfa/descriptors/Null_Homed.cdp121
-rw-r--r--CIAO/examples/Null_Component_Glfa/descriptors/Null_Unhomed.cdp86
-rwxr-xr-xCIAO/examples/Null_Component_Glfa/descriptors/run_test.pl219
-rw-r--r--CIAO/tests/Bug_2130_Regression/SEC_CheckPoint/TSEC_CheckPoint.mpc3
-rw-r--r--CIAO/tests/Bug_3834_Regression/CompA.idl2
-rw-r--r--CIAO/tests/Bug_3834_Regression/CompA.mpc26
-rw-r--r--CIAO/tests/Bug_3834_Regression/CompB.mpc15
-rw-r--r--CIAO/tests/Bug_3834_Regression/Moo.idl2
-rw-r--r--CIAO/tests/Bug_3834_Regression/Moo.mpc66
-rw-r--r--CIAO/tests/DAnCE/Components/SimpleCommon.mpc3
-rw-r--r--CIAO/tests/IDL_Test/Glfa/A.idl8
-rw-r--r--CIAO/tests/IDL_Test/Glfa/A.mpc67
-rw-r--r--CIAO/tests/IDL_Test/Glfa/B.idl12
-rw-r--r--CIAO/tests/IDL_Test/Glfa/B.mpc132
-rw-r--r--CIAO/tests/IDL_Test/Inherited_Component/Extended/Base.idl7
-rw-r--r--CIAO/tests/IDL_Test/Inherited_Component/Extended/Derived.idl1
-rw-r--r--CIAO/tests/IDL_Test/Reused_Facet_Interface/Basic.mpc4
-rw-r--r--TAO/ChangeLog269
-rw-r--r--TAO/TAO_IDL/be/be_codegen.cpp136
-rw-r--r--TAO/TAO_IDL/be/be_global.cpp41
-rw-r--r--TAO/TAO_IDL/be/be_interface.cpp194
-rw-r--r--TAO/TAO_IDL/be/be_provides.cpp257
-rw-r--r--TAO/TAO_IDL/be/be_util.cpp10
-rw-r--r--TAO/TAO_IDL/be/be_visitor_component.cpp10
-rw-r--r--TAO/TAO_IDL/be/be_visitor_component/component_ex_idl.cpp14
-rw-r--r--TAO/TAO_IDL/be/be_visitor_component/component_svh.cpp22
-rw-r--r--TAO/TAO_IDL/be/be_visitor_component/component_svs.cpp20
-rw-r--r--TAO/TAO_IDL/be/be_visitor_component/component_svth.cpp90
-rw-r--r--TAO/TAO_IDL/be/be_visitor_component/component_svts.cpp86
-rw-r--r--TAO/TAO_IDL/be/be_visitor_component/context_svth.cpp (renamed from TAO/TAO_IDL/be/be_visitor_component/context_svh.cpp)89
-rw-r--r--TAO/TAO_IDL/be/be_visitor_component/context_svts.cpp (renamed from TAO/TAO_IDL/be/be_visitor_component/context_svs.cpp)107
-rw-r--r--TAO/TAO_IDL/be/be_visitor_component/facet_ex_idl.cpp55
-rw-r--r--TAO/TAO_IDL/be/be_visitor_component/facet_svth.cpp52
-rw-r--r--TAO/TAO_IDL/be/be_visitor_component/facet_svts.cpp53
-rw-r--r--TAO/TAO_IDL/be/be_visitor_component/servant_svh.cpp14
-rw-r--r--TAO/TAO_IDL/be/be_visitor_component/servant_svs.cpp38
-rw-r--r--TAO/TAO_IDL/be/be_visitor_interface.cpp8
-rw-r--r--TAO/TAO_IDL/be/be_visitor_interface/facet_svth.cpp100
-rw-r--r--TAO/TAO_IDL/be/be_visitor_interface/facet_svts.cpp202
-rw-r--r--TAO/TAO_IDL/be/be_visitor_interface/interface_ex_idl.cpp10
-rw-r--r--TAO/TAO_IDL/be/be_visitor_interface/interface_svh.cpp67
-rw-r--r--TAO/TAO_IDL/be/be_visitor_interface/interface_svth.cpp61
-rw-r--r--TAO/TAO_IDL/be/be_visitor_interface/interface_svts.cpp (renamed from TAO/TAO_IDL/be/be_visitor_interface/interface_svs.cpp)40
-rw-r--r--TAO/TAO_IDL/be/be_visitor_module/module.cpp16
-rw-r--r--TAO/TAO_IDL/be/be_visitor_operation/direct_proxy_impl_ss.cpp2
-rw-r--r--TAO/TAO_IDL/be/be_visitor_operation/operation_ss.cpp14
-rw-r--r--TAO/TAO_IDL/be/be_visitor_operation/operation_svs.cpp20
-rw-r--r--TAO/TAO_IDL/be_include/be_codegen.h3
-rw-r--r--TAO/TAO_IDL/be_include/be_global.h11
-rw-r--r--TAO/TAO_IDL/be_include/be_helper.h1
-rw-r--r--TAO/TAO_IDL/be_include/be_interface.h4
-rw-r--r--TAO/TAO_IDL/be_include/be_provides.h20
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_component.h9
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_component/component_svth.h42
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_component/component_svts.h43
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_component/context_svth.h (renamed from TAO/TAO_IDL/be_include/be_visitor_component/context_svh.h)10
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_component/context_svts.h (renamed from TAO/TAO_IDL/be_include/be_visitor_component/context_svs.h)10
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_component/facet_ex_idl.h35
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_interface.h8
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_interface/facet_svth.h (renamed from TAO/TAO_IDL/be_include/be_visitor_component/facet_svth.h)8
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_interface/facet_svts.h (renamed from TAO/TAO_IDL/be_include/be_visitor_component/facet_svts.h)22
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_interface/interface_svth.h (renamed from TAO/TAO_IDL/be_include/be_visitor_interface/interface_svh.h)20
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_interface/interface_svts.h (renamed from TAO/TAO_IDL/be_include/be_visitor_interface/interface_svs.h)20
-rw-r--r--TAO/docs/compiler.html16
-rw-r--r--TAO/tests/Mixed_Sync_ASync_Events/test_i.cpp4
113 files changed, 1767 insertions, 2349 deletions
diff --git a/ACE/ChangeLog b/ACE/ChangeLog
index 4aa52979fbd..e879e6bd458 100644
--- a/ACE/ChangeLog
+++ b/ACE/ChangeLog
@@ -1,3 +1,14 @@
+Mon Dec 12 07:33:25 UTC 2011 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ === start changelog ===
+
+ Fri Dec 9 10:41:02 UTC 2011 Marcel Smit <msmit@remedy.nl>
+
+ * docs/svn/config:
+ Subversion should ignore *_svnt_T.*.
+
+ === end changelog ===
+
Mon Dec 5 22:23:25 UTC 2011 Steve Huston <shuston@riverace.com>
* ace/DLL.h:
diff --git a/ACE/docs/svn/config b/ACE/docs/svn/config
index 8080f88da52..46ec471d88e 100644
--- a/ACE/docs/svn/config
+++ b/ACE/docs/svn/config
@@ -61,7 +61,7 @@
[miscellany]
### Set global-ignores to a set of whitespace-delimited globs
### which Subversion will ignore in its status output.
-global-ignores = *.o *.lo *.la #*# .*.rej *.rej .*~ *~ .#* .DS_Store *.class *C.i *C.inl *S.i *S.inl *C.h *S.h *C.cpp *S.cpp *C.hh *S.hh *S_T.i *S_T.inl *S_T.h *S_T.cpp .obj .pure .shobj config.h Templates.DB Thumbs.db ir.out *.aux *.lof *.lot *.log *.dvi *.blg *.bbl *.ior *Cli.* *Ser.* *Ser_T.* *.vcl *.vcb *.vcl *.vco *.SUP .depend.* GNUmake* [Mm]akefile *.mak *.a *.so* *.idb *.obj *.exe *_svnt.* *.user *.vcproj *.dsw *.dsp *.sln *.suo *.dep *.tlb *.pch *.ocx *.dll *.exp *.ilk *.lib *.ncb *.opt *.pdb *.plg *.bsc *.res LIB DLL Debug Release Static_Debug Static_Release *.bak *.trg *.mga *.mta ComponentLib.h *_[ip].c dlldata.c *.tds *.vxe *.bmak
+global-ignores = *.o *.lo *.la #*# .*.rej *.rej .*~ *~ .#* .DS_Store *.class *C.i *C.inl *S.i *S.inl *C.h *S.h *C.cpp *S.cpp *C.hh *S.hh *S_T.i *S_T.inl *S_T.h *S_T.cpp .obj .pure .shobj config.h Templates.DB Thumbs.db ir.out *.aux *.lof *.lot *.log *.dvi *.blg *.bbl *.ior *Cli.* *Ser.* *Ser_T.* *.vcl *.vcb *.vcl *.vco *.SUP .depend.* GNUmake* [Mm]akefile *.mak *.a *.so* *.idb *.obj *.exe *_svnt.* *_svnt_T.* *.user *.vcproj *.dsw *.dsp *.sln *.suo *.dep *.tlb *.pch *.ocx *.dll *.exp *.ilk *.lib *.ncb *.opt *.pdb *.plg *.bsc *.res LIB DLL Debug Release Static_Debug Static_Release *.bak *.trg *.mga *.mta ComponentLib.h *_[ip].c dlldata.c *.tds *.vxe *.bmak
### Set log-encoding to the default encoding for log messages
# log-encoding = latin1
### Set use-commit-times to make checkout/update/switch/revert
diff --git a/CIAO/ChangeLog b/CIAO/ChangeLog
index 0334ea96bb5..b9e8f1970c3 100644
--- a/CIAO/ChangeLog
+++ b/CIAO/ChangeLog
@@ -1,3 +1,191 @@
+Mon Dec 12 07:33:25 UTC 2011 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ Merged changes from our work branch. Facet servants are now generated
+ as C++ template at the moment the interface is declared, this reduces
+ the amount of code generated heavily. Component/Connector context is
+ now also generated as C++ template
+
+ === start changelog ===
+
+ Fri Dec 9 16:07:48 UTC 2011 Marcel Smit <msmit@remedy.nl>
+
+ * connectors/dds4ccm/examples/Large_Deployment/Common/Single_Service_Common.idl:
+ * connectors/dds4ccm/examples/Large_Deployment/Common/Single_Service_Common.mpc:
+ * connectors/dds4ccm/examples/Large_Deployment/Single_Service/Single_Service.mpc:
+ Fixed compile errors.
+
+ Fri Dec 9 15:41:59 UTC 2011 Marcel Smit <msmit@remedy.nl>
+
+ * connectors/dds4ccm/examples/Large_Deployment/Common/Single_Service_Common.idl:
+ * connectors/dds4ccm/examples/Large_Deployment/Common/Single_Service_Common.mpc:
+ * connectors/dds4ccm/examples/Large_Deployment/DDS_Pub/DDS_Pub.mpc:
+ Also generate a Single_Service_Common lem.
+
+ Fri Dec 9 14:28:24 UTC 2011 Marcel Smit <msmit@remedy.nl>
+
+ * tests/Bug_3834_Regression/Moo.mpc:
+ Fixed afters and linker errors on windows.
+
+ Fri Dec 9 14:15:16 UTC 2011 Marcel Smit <msmit@remedy.nl>
+
+ * tests/Bug_3834_Regression/CompA.mpc:
+ * tests/Bug_3834_Regression/Moo.mpc:
+ Fixed link issues on windows.
+
+ Fri Dec 9 13:42:40 UTC 2011 Marcel Smit <msmit@remedy.nl>
+
+ * tests/Bug_3834_Regression/CompA.idl:
+ * tests/Bug_3834_Regression/CompA.mpc:
+ * tests/Bug_3834_Regression/Moo.idl:
+ * tests/Bug_3834_Regression/Moo.mpc:
+ Fixed compile issues on Linux.
+
+ Fri Dec 9 13:24:31 UTC 2011 Marcel Smit <msmit@remedy.nl>
+
+ * connectors/dds4ccm/examples/Large_Deployment/Single_Service/Single_Service.mpc:
+ * tests/Bug_2130_Regression/SEC_CheckPoint/TSEC_CheckPoint.mpc:
+ * tests/Bug_3834_Regression/CompA.mpc:
+ * tests/Bug_3834_Regression/CompB.mpc:
+ Removed the -Glfa option since it is obsolete.
+
+ Fri Dec 9 11:48:53 UTC 2011 Marcel Smit <msmit@remedy.nl>
+
+ * connectors/tests/AMIDDS/Base/AmiDds_Base.mpc:
+ * tests/DAnCE/Components/SimpleCommon.mpc:
+ * tests/IDL_Test/Reused_Facet_Interface/Basic.mpc:
+ Fixed compile errors related to the movement of the facet
+ servants.
+
+ Fri Dec 9 10:41:34 UTC 2011 Marcel Smit <msmit@remedy.nl>
+
+ * connectors/dds4ccm/examples/Large_Deployment/Common/Single_Service_Common.mpc:
+ Generate svnt code as well.
+
+ * connectors/dds4ccm/examples/Large_Deployment/Single_Service/Single_Service.mpc:
+ * connectors/dds4ccm/examples/Large_Deployment/Single_Service/Single_Service_exec.h:
+ * connectors/dds4ccm/examples/Large_Deployment/Single_Service/Single_Service_exec.cpp:
+ Removed these files since they can be generated.
+
+ Fri Dec 9 10:17:37 UTC 2011 Marcel Smit <msmit@remedy.nl>
+
+ * bin/ciao_tests.lst:
+ * examples/Null_Component_Glfa:
+ * examples/Null_Component_Glfa/Null_Component.idl:
+ * examples/Null_Component_Glfa/Null_Component.mpc:
+ * examples/Null_Component_Glfa/Null_Interface.idl:
+ * examples/Null_Component_Glfa/Null_Interface.mpc:
+ * examples/Null_Component_Glfa/descriptors:
+ * examples/Null_Component_Glfa/descriptors/NodeMap.dat:
+ * examples/Null_Component_Glfa/descriptors/Null_Homed.cdp:
+ * examples/Null_Component_Glfa/descriptors/Null_Unhomed.cdp:
+ * examples/Null_Component_Glfa/descriptors/run_test.pl:
+ Removed this test. No need to test this anymore.
+
+ Fri Dec 9 10:15:44 UTC 2011 Marcel Smit <msmit@remedy.nl>
+
+
+ * tests/IDL_Test/Glfa:
+ * tests/IDL_Test/Glfa/A.idl:
+ * tests/IDL_Test/Glfa/A.mpc:
+ * tests/IDL_Test/Glfa/B.idl:
+ * tests/IDL_Test/Glfa/B.mpc:
+ Removed these files. No need to test this anymore.
+
+ Fri Dec 9 08:34:00 UTC 2011 Marcel Smit <msmit@remedy.nl>
+
+ * connectors/ami4ccm/tutorials/Hello/Hello_asm/ports/Hello_MyFoo_obj.mpc:
+ Fixed compile errors related to the movement of the facet
+ servants.
+
+ Fri Dec 9 08:31:15 UTC 2011 Marcel Smit <msmit@remedy.nl>
+
+ * connectors/dds4ccm/idl/dds4ccm_stub.mpc:
+ * connectors/dds4ccm/idl/ndds/ndds_idltocpp_stub.mpc:
+ Fixed compile errors related to the movement of the facet
+ servants.
+
+ Fri Dec 9 07:57:33 UTC 2011 Marcel Smit <msmit@remedy.nl>
+
+ * connectors/ami4ccm/examples/Quoter/Base/Quoter.mpc:
+ * connectors/ami4ccm/tests/AsynchT/Base/AsynchT.mpc:
+ * connectors/ami4ccm/tests/DelReplyH/Base/DelReplyH.mpc:
+ * connectors/ami4ccm/tests/Exceptions/Base/ExceptionT.mpc:
+ * connectors/ami4ccm/tests/GetComp/Base/GetComp.mpc:
+ * connectors/ami4ccm/tests/IDL_Test/AMI4CCM_IDLTest.mpc:
+ * connectors/ami4ccm/tests/InterInArgs/Base/InterInArgsT.mpc:
+ * connectors/ami4ccm/tests/InterInOutArgs/Base/InterInOutT.mpc:
+ * connectors/ami4ccm/tests/InterMulti/Base/InterMulti.mpc:
+ * connectors/ami4ccm/tests/InterOutArgs/Base/InterOutArgsT.mpc:
+ * connectors/ami4ccm/tests/InterReturn/Base/InterReturnT.mpc:
+ * connectors/ami4ccm/tests/NoConnection/Base/HelloT.mpc:
+ * connectors/ami4ccm/tests/NoReplyH/Base/NoReplyH.mpc:
+ * connectors/ami4ccm/tests/OneProcess/Base/OneProcess.mpc:
+ * connectors/ami4ccm/tests/OneReplyH/Base/OneReplyH.mpc:
+ * connectors/ami4ccm/tests/SimplexMulti/Base/UsesSM.mpc:
+ * connectors/ami4ccm/tests/ThreeComp/Base/ThreeComp.mpc:
+ * connectors/ami4ccm/tests/UsesMulti/Base/UsesMulti.mpc:
+ Fixed compile errors related to the movement of the facet
+ servants.
+
+ Thu Dec 8 14:38:45 UTC 2011 Marcel Smit <msmit@remedy.nl>
+
+ * ciao/Servants/Extension/Servant_Impl_T.h:
+ Added missing include.
+
+ * connectors/ami4ccm/examples/Hello/Base/Hello.mpc:
+ Removed -Gsv IDL compiler flag.
+
+ Wed Dec 7 07:34:23 UTC 2011 Marcel Smit <msmit@remedy.nl>
+
+ * ciao/Servants/Facet_Servant_Base_T.h:
+ * ciao/Servants/Session/Servant_Impl_T.h:
+ Added some necessary includes.
+
+ Mon Dec 5 19:10:07 UTC 2011 Marcel Smit <msmit@remedy.nl>
+
+ * connectors/dds4ccm/idl/dds4ccm_stub.mpc:
+ Removed -Glem for generation of dds4ccm_entity.idl
+ and ccm_dds.idl since it was not necessary to create
+ the local executor mapping (at least, the generated
+ files were not compiled)
+
+ Mon Dec 5 18:41:32 UTC 2011 Marcel Smit <msmit@remedy.nl>
+
+ * connectors/dds4ccm/idl/dds4ccm_stub.mpc:
+ Removed -Glem since it was added a second time. At that point
+ dds4ccm_QueryFilter was generated with -Glem
+ (which is not necessary).
+
+ Fri Dec 2 07:58:40 UTC 2011 Marcel Smit <msmit@remedy.nl>
+
+ * ciao/Contexts/Extension/Extension_Context_T.h:
+ * ciao/Contexts/Extension/Extension_Context_T.cpp:
+ * ciao/Servants/Extension/Servant_Impl_T.h:
+ * ciao/Servants/Extension/Servant_Impl_T.cpp:
+ * ciao/Servants/Session/Servant_Impl_T.h:
+ * ciao/Servants/Session/Servant_Impl_T.cpp:
+ Added _T to templated classes. This fixes compile error
+ since the IDL compiler was already prepared for this.
+
+ * tests/IDL_Test/Inherited_Component/Extended/Base.idl:
+ Let derived_interface derive from the base_interface.
+
+ Thu Dec 1 09:05:31 UTC 2011 Marcel Smit <msmit@remedy.nl>
+
+ * connectors/dds4ccm/idl/dds4ccm_stub.mpc:
+ Prevent compilation after invoking make for a second time
+
+ Thu Dec 1 08:36:22 UTC 2011 Marcel Smit <msmit@remedy.nl>
+
+ * ciao/Contexts/Session/Session_Context_T.h:
+ * ciao/Contexts/Session/Session_Context_T.cpp:
+ Renamed class, using _T postfix.
+
+ * tests/IDL_Test/Inherited_Component/Extended/Base.idl:
+ * tests/IDL_Test/Inherited_Component/Extended/Derived.idl:
+ Expanded.
+
+ === end changelog ===
Wed Dec 7 19:00:59 UTC 2011 Johnny Willemsen <jwillemsen@remedy.nl>
* connectors/ami4ccm/tests/SyncPortConn/Receiver/Hello_Receiver.mpc:
diff --git a/CIAO/NEWS b/CIAO/NEWS
index a0b5aa9f3a1..8e7ebfd665c 100644
--- a/CIAO/NEWS
+++ b/CIAO/NEWS
@@ -1,6 +1,11 @@
USER VISIBLE CHANGES BETWEEN CIAO-1.0.6 and CIAO-1.1.0
=======================================================
+. -Glfa has been removed from tao_idl. The local executor mapping can only
+ be generated for the current file. Also at the moment an interface is
+ compiled with tao_idl, the option -Gsv has to be used to generate the needed
+ CCM facet servant
+
. CIAO now supports the synchronous port and the ami4ccm lem pragma as
documented in the AMI4CCM Initial submission by Remedy IT (mars/11-06-01)
diff --git a/CIAO/bin/ciao_tests.lst b/CIAO/bin/ciao_tests.lst
index 0d39ffde60d..db4b920ba80 100644
--- a/CIAO/bin/ciao_tests.lst
+++ b/CIAO/bin/ciao_tests.lst
@@ -14,7 +14,6 @@ TAO/CIAO/examples/Hello/descriptors/run_test_PlanLocality_SameProcess.pl: !STATI
TAO/CIAO/examples/BasicSP/descriptors/run_test.pl: !STATIC !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !NOXERCES !ACE_FOR_TAO !ST !LabVIEW_RT !WinCE !CCM_NOEVENT
TAO/CIAO/examples/Null_Component/descriptors/run_test.pl: !STATIC !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !NOXERCES !ACE_FOR_TAO !ST !LabVIEW_RT !WinCE
TAO/CIAO/examples/Null_Component/descriptors/run_test_without_ns.pl: !STATIC !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !NOXERCES !ACE_FOR_TAO !ST !LabVIEW_RT !WinCE
-TAO/CIAO/examples/Null_Component_Glfa/descriptors/run_test.pl: !STATIC !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !NOXERCES !ACE_FOR_TAO !ST !LabVIEW_RT !WinCE
TAO/CIAO/examples/Hello/descriptors/run_test_without_ns.pl: !STATIC !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !NOXERCES !ACE_FOR_TAO !ST !LabVIEW_RT !WinCE !CCM_NOEVENT
TAO/CIAO/examples/Display/descriptors/run_all_in_one.pl: !STATIC !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !NOXERCES !ACE_FOR_TAO !ST !LabVIEW_RT !WinCE !CCM_NOEVENT
TAO/CIAO/tutorials/Quoter/Simple/descriptors/run_test.pl: !STATIC !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !NOXERCES !ACE_FOR_TAO !ST !LabVIEW_RT !WinCE !CCM_NOEVENT
diff --git a/CIAO/ciao/Contexts/Extension/Extension_Context_T.cpp b/CIAO/ciao/Contexts/Extension/Extension_Context_T.cpp
index df2fd3d9eb8..fd1dd56343d 100644
--- a/CIAO/ciao/Contexts/Extension/Extension_Context_T.cpp
+++ b/CIAO/ciao/Contexts/Extension/Extension_Context_T.cpp
@@ -7,7 +7,7 @@ namespace CIAO
{
template <typename BASE_CTX,
typename COMP>
- Extension_Context_Impl<BASE_CTX, COMP>::Extension_Context_Impl (
+ Extension_Context_Impl_T<BASE_CTX, COMP>::Extension_Context_Impl_T (
Components::CCMHome_ptr the_home,
::CIAO::Extension_Container_ptr c,
PortableServer::Servant sv,
@@ -19,14 +19,14 @@ namespace CIAO
template <typename BASE_CTX,
typename COMP>
- Extension_Context_Impl<BASE_CTX, COMP>::~Extension_Context_Impl (void)
+ Extension_Context_Impl_T<BASE_CTX, COMP>::~Extension_Context_Impl_T (void)
{
}
template <typename BASE_CTX,
typename COMP>
::Components::ContainerPortableInterceptor::ClientContainerInterceptorRegistration_ptr
- Extension_Context_Impl<BASE_CTX, COMP>::get_client_interceptor_registration (void)
+ Extension_Context_Impl_T<BASE_CTX, COMP>::get_client_interceptor_registration (void)
{
::CIAO::Extension_Container_var cnt_safe =
::CIAO::Extension_Container::_duplicate (this->container_.in ());
@@ -36,7 +36,7 @@ namespace CIAO
template <typename BASE_CTX,
typename COMP>
::Components::ContainerPortableInterceptor::ServantContainerInterceptorRegistration_ptr
- Extension_Context_Impl<BASE_CTX, COMP>::get_servant_interceptor_registration (void)
+ Extension_Context_Impl_T<BASE_CTX, COMP>::get_servant_interceptor_registration (void)
{
::CIAO::Extension_Container_var cnt_safe =
::CIAO::Extension_Container::_duplicate (this->container_.in ());
@@ -46,7 +46,7 @@ namespace CIAO
template <typename BASE_CTX,
typename COMP>
::Components::ContainerPortableInterceptor::ServerContainerInterceptorRegistration_ptr
- Extension_Context_Impl<BASE_CTX, COMP>::get_server_interceptor_registration (void)
+ Extension_Context_Impl_T<BASE_CTX, COMP>::get_server_interceptor_registration (void)
{
::CIAO::Extension_Container_var cnt_safe =
::CIAO::Extension_Container::_duplicate (this->container_.in ());
@@ -56,7 +56,7 @@ namespace CIAO
template <typename BASE_CTX,
typename COMP>
::Components::ContainerPortableInterceptor::StubContainerInterceptorRegistration_ptr
- Extension_Context_Impl<BASE_CTX, COMP>::get_stub_interceptor_registration (void)
+ Extension_Context_Impl_T<BASE_CTX, COMP>::get_stub_interceptor_registration (void)
{
::CIAO::Extension_Container_var cnt_safe =
::CIAO::Extension_Container::_duplicate (this->container_.in ());
@@ -66,7 +66,7 @@ namespace CIAO
template <typename BASE_CTX,
typename COMP>
::Components::Cookie *
- Extension_Context_Impl<BASE_CTX, COMP>::install_service_reference (
+ Extension_Context_Impl_T<BASE_CTX, COMP>::install_service_reference (
const char * service_id,
::CORBA::Object_ptr objref)
{
@@ -79,7 +79,7 @@ namespace CIAO
template <typename BASE_CTX,
typename COMP>
::CORBA::Object_ptr
- Extension_Context_Impl<BASE_CTX, COMP>::uninstall_service_reference (
+ Extension_Context_Impl_T<BASE_CTX, COMP>::uninstall_service_reference (
::Components::Cookie * ck)
{
::CIAO::Extension_Container_var cnt_safe =
diff --git a/CIAO/ciao/Contexts/Extension/Extension_Context_T.h b/CIAO/ciao/Contexts/Extension/Extension_Context_T.h
index d4cc2ffb12c..33b14a044c4 100644
--- a/CIAO/ciao/Contexts/Extension/Extension_Context_T.h
+++ b/CIAO/ciao/Contexts/Extension/Extension_Context_T.h
@@ -11,8 +11,8 @@
//=============================================================================
-#ifndef CIAO_EXTENSIONCONTEXT_H
-#define CIAO_EXTENSIONCONTEXT_H
+#ifndef CIAO_EXTENSIONCONTEXT_T_H
+#define CIAO_EXTENSIONCONTEXT_T_H
#include /**/ "ace/pre.h"
@@ -29,7 +29,7 @@ namespace CIAO
{
template <typename BASE_CTX,
typename COMP>
- class Extension_Context_Impl
+ class Extension_Context_Impl_T
: public virtual BASE_CTX,
public virtual ::CIAO::Context_Impl_Base_T < ::CIAO::Extension_Container>,
public virtual ::CORBA::LocalObject
@@ -44,12 +44,12 @@ namespace CIAO
/// Type definition of the component type.
typedef COMP component_type;
- Extension_Context_Impl(Components::CCMHome_ptr home,
+ Extension_Context_Impl_T(Components::CCMHome_ptr home,
::CIAO::Extension_Container_ptr c,
PortableServer::Servant sv,
const char* id);
- virtual ~Extension_Context_Impl (void);
+ virtual ~Extension_Context_Impl_T (void);
virtual ::Components::ContainerPortableInterceptor::ClientContainerInterceptorRegistration_ptr
get_client_interceptor_registration (void);
@@ -86,4 +86,4 @@ namespace CIAO
#include /**/ "ace/post.h"
-#endif /* CIAO_EXTENSIONCONTEXT_H */
+#endif /* CIAO_EXTENSIONCONTEXT_T_H */
diff --git a/CIAO/ciao/Contexts/Session/Session_Context_T.cpp b/CIAO/ciao/Contexts/Session/Session_Context_T.cpp
index a54bbe60263..cd4e2b6c728 100644
--- a/CIAO/ciao/Contexts/Session/Session_Context_T.cpp
+++ b/CIAO/ciao/Contexts/Session/Session_Context_T.cpp
@@ -7,7 +7,7 @@ namespace CIAO
{
template <typename BASE_CTX,
typename COMP>
- Session_Context_Impl<BASE_CTX, COMP>::Session_Context_Impl (
+ Session_Context_Impl_T<BASE_CTX, COMP>::Session_Context_Impl_T (
Components::CCMHome_ptr the_home,
::CIAO::Session_Container_ptr c,
PortableServer::Servant sv,
@@ -19,14 +19,14 @@ namespace CIAO
template <typename BASE_CTX,
typename COMP>
- Session_Context_Impl<BASE_CTX, COMP>::~Session_Context_Impl (void)
+ Session_Context_Impl_T<BASE_CTX, COMP>::~Session_Context_Impl_T (void)
{
}
template <typename BASE_CTX,
typename COMP>
::CORBA::Object_ptr
- Session_Context_Impl<BASE_CTX, COMP>::get_CCM_object (void)
+ Session_Context_Impl_T<BASE_CTX, COMP>::get_CCM_object (void)
{
::CORBA::Object_var obj;
@@ -39,7 +39,7 @@ namespace CIAO
CIAO_ERROR (1,
(LM_ERROR,
CLINFO
- "Session_Context_Impl::get_CCM_object - "
+ "Session_Context_Impl_T::get_CCM_object - "
"Error: Container is nil\n"));
throw ::CORBA::INV_OBJREF ();
}
diff --git a/CIAO/ciao/Contexts/Session/Session_Context_T.h b/CIAO/ciao/Contexts/Session/Session_Context_T.h
index 6896903ccc2..6eafcb4e181 100644
--- a/CIAO/ciao/Contexts/Session/Session_Context_T.h
+++ b/CIAO/ciao/Contexts/Session/Session_Context_T.h
@@ -30,7 +30,7 @@
namespace CIAO
{
/**
- * @class Session_Context_Impl
+ * @class Session_Context_Impl_T
*
* @brief Mixin base class for generated context.
*
@@ -39,7 +39,7 @@ namespace CIAO
*/
template <typename BASE_CTX,
typename COMP>
- class Session_Context_Impl : public virtual BASE_CTX,
+ class Session_Context_Impl_T : public virtual BASE_CTX,
public virtual Context_Impl_Base_T< ::CIAO::Session_Container>,
public virtual ::CORBA::LocalObject
{
@@ -53,12 +53,12 @@ namespace CIAO
/// Type definition of the component type.
typedef COMP component_type;
- Session_Context_Impl (Components::CCMHome_ptr the_home,
+ Session_Context_Impl_T (Components::CCMHome_ptr the_home,
::CIAO::Session_Container_ptr c,
PortableServer::Servant sv,
const char* id);
- virtual ~Session_Context_Impl (void);
+ virtual ~Session_Context_Impl_T (void);
/// Operation from ::Components::SessionContext.
virtual CORBA::Object_ptr get_CCM_object ();
diff --git a/CIAO/ciao/Servants/Extension/Servant_Impl_T.cpp b/CIAO/ciao/Servants/Extension/Servant_Impl_T.cpp
index 263a27417b1..74a7f4f52bd 100644
--- a/CIAO/ciao/Servants/Extension/Servant_Impl_T.cpp
+++ b/CIAO/ciao/Servants/Extension/Servant_Impl_T.cpp
@@ -8,7 +8,7 @@ namespace CIAO
template <typename BASE_SKEL,
typename EXEC,
typename CONTEXT>
- Extension_Servant_Impl<BASE_SKEL, EXEC, CONTEXT>::Extension_Servant_Impl (
+ Extension_Servant_Impl_T<BASE_SKEL, EXEC, CONTEXT>::Extension_Servant_Impl_T (
EXEC * exe,
Components::CCMHome_ptr home,
const char * ins_name,
@@ -35,7 +35,7 @@ namespace CIAO
{
CIAO_DEBUG (6,
(LM_DEBUG, CLINFO
- "Extension_Servant_Impl_T::Extension_Servant_Impl_T - "
+ "Extension_Servant_Impl_T_T::Extension_Servant_Impl_T_T - "
"Couldn't set session context for %C\n",
ins_name));
}
@@ -44,13 +44,13 @@ namespace CIAO
template <typename BASE_SKEL,
typename EXEC,
typename CONTEXT>
- Extension_Servant_Impl<BASE_SKEL, EXEC, CONTEXT>::~Extension_Servant_Impl (void)
+ Extension_Servant_Impl_T<BASE_SKEL, EXEC, CONTEXT>::~Extension_Servant_Impl_T (void)
{
if (this->executor_->_refcount_value () > 1)
{
CIAO_ERROR (1,
(LM_ERROR, CLINFO
- "Extension_Servant_Impl_T::~Extension_Servant_Impl_T - "
+ "Extension_Servant_Impl_T_T::~Extension_Servant_Impl_T_T - "
"Executor object reference count is %u\n",
this->executor_->_refcount_value ()));
}
@@ -63,7 +63,7 @@ namespace CIAO
typename EXEC,
typename CONTEXT>
CORBA::Boolean
- Extension_Servant_Impl<BASE_SKEL, EXEC, CONTEXT>::same_component (
+ Extension_Servant_Impl_T<BASE_SKEL, EXEC, CONTEXT>::same_component (
CORBA::Object_ptr object_ref)
{
if (::CORBA::is_nil (object_ref))
@@ -88,7 +88,7 @@ namespace CIAO
typename EXEC,
typename CONTEXT>
::Components::CCMHome_ptr
- Extension_Servant_Impl<BASE_SKEL, EXEC, CONTEXT>::get_ccm_home (void)
+ Extension_Servant_Impl_T<BASE_SKEL, EXEC, CONTEXT>::get_ccm_home (void)
{
return this->context_->get_CCM_home ();
}
@@ -97,7 +97,7 @@ namespace CIAO
typename EXEC,
typename CONTEXT>
Components::EnterpriseComponent_ptr
- Extension_Servant_Impl<BASE_SKEL, EXEC, CONTEXT>::get_executor (void)
+ Extension_Servant_Impl_T<BASE_SKEL, EXEC, CONTEXT>::get_executor (void)
{
return ::Components::EnterpriseComponent::_duplicate (this->executor_.in ());
}
@@ -106,7 +106,7 @@ namespace CIAO
typename EXEC,
typename CONTEXT>
CORBA::Object_ptr
- Extension_Servant_Impl<BASE_SKEL, EXEC, CONTEXT>::_get_component (void)
+ Extension_Servant_Impl_T<BASE_SKEL, EXEC, CONTEXT>::_get_component (void)
{
::Components::ExtensionContext_var ec =
::Components::ExtensionContext::_narrow (this->context_);
@@ -125,7 +125,7 @@ namespace CIAO
typename EXEC,
typename CONTEXT>
void
- Extension_Servant_Impl<BASE_SKEL, EXEC, CONTEXT>::activate_component (void)
+ Extension_Servant_Impl_T<BASE_SKEL, EXEC, CONTEXT>::activate_component (void)
{
if (this->configuration_completed_ && !this->activated_)
{
@@ -144,7 +144,7 @@ namespace CIAO
typename EXEC,
typename CONTEXT>
void
- Extension_Servant_Impl<BASE_SKEL, EXEC, CONTEXT>::passivate_component (void)
+ Extension_Servant_Impl_T<BASE_SKEL, EXEC, CONTEXT>::passivate_component (void)
{
if (this->activated_)
{
@@ -163,7 +163,7 @@ namespace CIAO
typename EXEC,
typename CONTEXT>
void
- Extension_Servant_Impl<BASE_SKEL, EXEC, CONTEXT>::configuration_complete (void)
+ Extension_Servant_Impl_T<BASE_SKEL, EXEC, CONTEXT>::configuration_complete (void)
{
if (!this->configuration_completed_)
{
@@ -182,7 +182,7 @@ namespace CIAO
typename EXEC,
typename CONTEXT>
void
- Extension_Servant_Impl<BASE_SKEL, EXEC, CONTEXT>::ccm_remove (void)
+ Extension_Servant_Impl_T<BASE_SKEL, EXEC, CONTEXT>::ccm_remove (void)
{
::Components::ExtensionComponent_var temp =
::Components::ExtensionComponent::_narrow (this->executor_.in ());
diff --git a/CIAO/ciao/Servants/Extension/Servant_Impl_T.h b/CIAO/ciao/Servants/Extension/Servant_Impl_T.h
index 3e6c77f3658..cbbe5fe97ed 100644
--- a/CIAO/ciao/Servants/Extension/Servant_Impl_T.h
+++ b/CIAO/ciao/Servants/Extension/Servant_Impl_T.h
@@ -25,12 +25,13 @@
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
+#include "ciao/Containers/Extension/Extension_Container.h"
#include "ccm/Extension/CCM_ExtensionComponentC.h"
namespace CIAO
{
/**
- * @class Extension_Servant_Impl
+ * @class Extension_Servant_Impl_T
*
* @brief Mixin base class for generated servant.
*
@@ -40,18 +41,18 @@ namespace CIAO
template <typename BASE_SKEL,
typename EXEC,
typename CONTEXT>
- class Extension_Servant_Impl :
+ class Extension_Servant_Impl_T :
public virtual BASE_SKEL,
public virtual CONTEXT::svnt_base_type
{
public:
- Extension_Servant_Impl (EXEC * exe,
+ Extension_Servant_Impl_T (EXEC * exe,
Components::CCMHome_ptr home,
const char * ins_name,
Home_Servant_Impl_Base *home_servant,
::CIAO::Extension_Container_ptr c);
- virtual ~Extension_Servant_Impl (void);
+ virtual ~Extension_Servant_Impl_T (void);
// Operations for CCMObject interface.
diff --git a/CIAO/ciao/Servants/Facet_Servant_Base_T.h b/CIAO/ciao/Servants/Facet_Servant_Base_T.h
index 32b23fea76b..46d55eccbe5 100644
--- a/CIAO/ciao/Servants/Facet_Servant_Base_T.h
+++ b/CIAO/ciao/Servants/Facet_Servant_Base_T.h
@@ -22,6 +22,8 @@
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
+#include "ciao/Contexts/Context_Impl_Base_T.h"
+
namespace CIAO
{
template <typename BASE, typename EXEC, typename CONTEXT>
diff --git a/CIAO/ciao/Servants/Session/Servant_Impl_T.cpp b/CIAO/ciao/Servants/Session/Servant_Impl_T.cpp
index 0c86feeb24b..594c13223a4 100644
--- a/CIAO/ciao/Servants/Session/Servant_Impl_T.cpp
+++ b/CIAO/ciao/Servants/Session/Servant_Impl_T.cpp
@@ -8,7 +8,7 @@ namespace CIAO
template <typename BASE_SKEL,
typename EXEC,
typename CONTEXT>
- Session_Servant_Impl<BASE_SKEL, EXEC, CONTEXT>::Session_Servant_Impl (
+ Session_Servant_Impl_T<BASE_SKEL, EXEC, CONTEXT>::Session_Servant_Impl_T (
EXEC * exe,
Components::CCMHome_ptr home,
const char * ins_name,
@@ -35,7 +35,7 @@ namespace CIAO
{
CIAO_DEBUG (6,
(LM_DEBUG, CLINFO
- "Session_Servant_Impl_T::Session_Servant_Impl_T - "
+ "Session_Servant_Impl_T_T::Session_Servant_Impl_T_T - "
"Couldn't set session context for %C\n",
ins_name));
}
@@ -44,13 +44,13 @@ namespace CIAO
template <typename BASE_SKEL,
typename EXEC,
typename CONTEXT>
- Session_Servant_Impl<BASE_SKEL, EXEC, CONTEXT>::~Session_Servant_Impl (void)
+ Session_Servant_Impl_T<BASE_SKEL, EXEC, CONTEXT>::~Session_Servant_Impl_T (void)
{
if (this->executor_->_refcount_value () > 1)
{
CIAO_ERROR (1,
(LM_ERROR, CLINFO
- "Session_Servant_Impl_T::~Session_Servant_Impl_T - "
+ "Session_Servant_Impl_T_T::~Session_Servant_Impl_T_T - "
"Executor object reference count is %u\n",
this->executor_->_refcount_value ()));
}
@@ -63,7 +63,7 @@ namespace CIAO
typename EXEC,
typename CONTEXT>
CORBA::Boolean
- Session_Servant_Impl<BASE_SKEL, EXEC, CONTEXT>::same_component (
+ Session_Servant_Impl_T<BASE_SKEL, EXEC, CONTEXT>::same_component (
CORBA::Object_ptr object_ref)
{
if (::CORBA::is_nil (object_ref))
@@ -88,7 +88,7 @@ namespace CIAO
typename EXEC,
typename CONTEXT>
::Components::CCMHome_ptr
- Session_Servant_Impl<BASE_SKEL, EXEC, CONTEXT>::get_ccm_home (void)
+ Session_Servant_Impl_T<BASE_SKEL, EXEC, CONTEXT>::get_ccm_home (void)
{
return this->context_->get_CCM_home ();
}
@@ -97,7 +97,7 @@ namespace CIAO
typename EXEC,
typename CONTEXT>
Components::EnterpriseComponent_ptr
- Session_Servant_Impl<BASE_SKEL, EXEC, CONTEXT>::get_executor (void)
+ Session_Servant_Impl_T<BASE_SKEL, EXEC, CONTEXT>::get_executor (void)
{
return ::Components::EnterpriseComponent::_duplicate (this->executor_.in ());
}
@@ -106,7 +106,7 @@ namespace CIAO
typename EXEC,
typename CONTEXT>
CORBA::Object_ptr
- Session_Servant_Impl<BASE_SKEL, EXEC, CONTEXT>::_get_component (void)
+ Session_Servant_Impl_T<BASE_SKEL, EXEC, CONTEXT>::_get_component (void)
{
::Components::SessionContext_var sc =
::Components::SessionContext::_narrow (this->context_);
@@ -125,7 +125,7 @@ namespace CIAO
typename EXEC,
typename CONTEXT>
void
- Session_Servant_Impl<BASE_SKEL, EXEC, CONTEXT>::activate_component (void)
+ Session_Servant_Impl_T<BASE_SKEL, EXEC, CONTEXT>::activate_component (void)
{
if (this->configuration_completed_ && !this->activated_)
{
@@ -144,7 +144,7 @@ namespace CIAO
typename EXEC,
typename CONTEXT>
void
- Session_Servant_Impl<BASE_SKEL, EXEC, CONTEXT>::passivate_component (void)
+ Session_Servant_Impl_T<BASE_SKEL, EXEC, CONTEXT>::passivate_component (void)
{
if (this->activated_)
{
@@ -163,7 +163,7 @@ namespace CIAO
typename EXEC,
typename CONTEXT>
void
- Session_Servant_Impl<BASE_SKEL, EXEC, CONTEXT>::configuration_complete (void)
+ Session_Servant_Impl_T<BASE_SKEL, EXEC, CONTEXT>::configuration_complete (void)
{
if (!this->configuration_completed_)
{
@@ -182,7 +182,7 @@ namespace CIAO
typename EXEC,
typename CONTEXT>
void
- Session_Servant_Impl<BASE_SKEL, EXEC, CONTEXT>::ccm_remove (void)
+ Session_Servant_Impl_T<BASE_SKEL, EXEC, CONTEXT>::ccm_remove (void)
{
::Components::SessionComponent_var temp =
::Components::SessionComponent::_narrow (this->executor_.in ());
diff --git a/CIAO/ciao/Servants/Session/Servant_Impl_T.h b/CIAO/ciao/Servants/Session/Servant_Impl_T.h
index 7b03a64774e..a64f0471ae1 100644
--- a/CIAO/ciao/Servants/Session/Servant_Impl_T.h
+++ b/CIAO/ciao/Servants/Session/Servant_Impl_T.h
@@ -26,11 +26,12 @@
#endif /* ACE_LACKS_PRAGMA_ONCE */
#include "ccm/Session/CCM_SessionComponentC.h"
+#include "ciao/Containers/Session/Session_Container.h"
namespace CIAO
{
/**
- * @class Session_Servant_Impl
+ * @class Session_Servant_Impl_T
*
* @brief Mixin base class for generated servant.
*
@@ -40,17 +41,18 @@ namespace CIAO
template <typename BASE_SKEL,
typename EXEC,
typename CONTEXT>
- class Session_Servant_Impl : public virtual BASE_SKEL,
- public virtual CONTEXT::svnt_base_type
+ class Session_Servant_Impl_T
+ : public virtual BASE_SKEL,
+ public virtual CONTEXT::svnt_base_type
{
public:
- Session_Servant_Impl (EXEC * exe,
- Components::CCMHome_ptr home,
- const char * ins_name,
- Home_Servant_Impl_Base *home_servant,
- ::CIAO::Session_Container_ptr c);
+ Session_Servant_Impl_T (EXEC * exe,
+ Components::CCMHome_ptr home,
+ const char * ins_name,
+ Home_Servant_Impl_Base *home_servant,
+ ::CIAO::Session_Container_ptr c);
- virtual ~Session_Servant_Impl (void);
+ virtual ~Session_Servant_Impl_T (void);
// Operations for CCMObject interface.
diff --git a/CIAO/connectors/ami4ccm/examples/Hello/Base/Hello.mpc b/CIAO/connectors/ami4ccm/examples/Hello/Base/Hello.mpc
index e6e41e8c1b8..4c8c5db8265 100644
--- a/CIAO/connectors/ami4ccm/examples/Hello/Base/Hello.mpc
+++ b/CIAO/connectors/ami4ccm/examples/Hello/Base/Hello.mpc
@@ -11,7 +11,6 @@ project(AMI_Hello_idl_gen) : componentidldefaults, ami, ami4ccm_stub {
-Wb,exec_export_macro=HELLO_EXEC_Export \
-Wb,exec_export_include=Hello_exec_export.h \
-I.. -GM -Gxhcn
- idlflags -= -Gsv
IDL_Files {
Hello.idl
diff --git a/CIAO/connectors/ami4ccm/examples/Quoter/Base/Quoter.mpc b/CIAO/connectors/ami4ccm/examples/Quoter/Base/Quoter.mpc
index 5ac46916b9e..79cc34184bd 100644
--- a/CIAO/connectors/ami4ccm/examples/Quoter/Base/Quoter.mpc
+++ b/CIAO/connectors/ami4ccm/examples/Quoter/Base/Quoter.mpc
@@ -11,7 +11,6 @@ project(AMI_Quoter_idl_gen) : componentidldefaults, ami, ami4ccm_stub {
-Wb,exec_export_macro=QUOTER_EXEC_Export \
-Wb,exec_export_include=Quoter_exec_export.h \
-I.. -GM -Gxhcn
- idlflags -= -Gsv
IDL_Files {
Quoter.idl
diff --git a/CIAO/connectors/ami4ccm/tests/AsynchT/Base/AsynchT.mpc b/CIAO/connectors/ami4ccm/tests/AsynchT/Base/AsynchT.mpc
index c1a1b0e8f86..ec8953f5d27 100644
--- a/CIAO/connectors/ami4ccm/tests/AsynchT/Base/AsynchT.mpc
+++ b/CIAO/connectors/ami4ccm/tests/AsynchT/Base/AsynchT.mpc
@@ -11,7 +11,6 @@ project(AMI_AsynchT_idl_gen) : componentidldefaults, ami, ami4ccm_stub {
-Wb,exec_export_macro=ASYNCHT_EXEC_Export \
-Wb,exec_export_include=AsynchT_exec_export.h \
-I.. -GM -Gxhcn
- idlflags -= -Gsv
IDL_Files {
AsynchT.idl
@@ -136,12 +135,12 @@ project(AMI_AsynchT_skel) : ciao_executor, ami, ami4ccm_servant {
Header_Files {
AsynchTS.h
-
+
AsynchT_skel_export.h
}
Inline_Files {
-
+
}
}
diff --git a/CIAO/connectors/ami4ccm/tests/DelReplyH/Base/DelReplyH.mpc b/CIAO/connectors/ami4ccm/tests/DelReplyH/Base/DelReplyH.mpc
index 7764e9f8c69..d06ecd8ad05 100644
--- a/CIAO/connectors/ami4ccm/tests/DelReplyH/Base/DelReplyH.mpc
+++ b/CIAO/connectors/ami4ccm/tests/DelReplyH/Base/DelReplyH.mpc
@@ -11,7 +11,6 @@ project(AMI_DelReplyH_idl_gen) : componentidldefaults, ami, ami4ccm_stub {
-Wb,exec_export_macro=DELREPLYH_EXEC_Export \
-Wb,exec_export_include=DelReplyH_exec_export.h \
-I.. -GM -Gxhcn
- idlflags -= -Gsv
IDL_Files {
DelReplyH.idl
diff --git a/CIAO/connectors/ami4ccm/tests/Exceptions/Base/ExceptionT.mpc b/CIAO/connectors/ami4ccm/tests/Exceptions/Base/ExceptionT.mpc
index 9f2c62e4193..8f9119a5b6e 100644
--- a/CIAO/connectors/ami4ccm/tests/Exceptions/Base/ExceptionT.mpc
+++ b/CIAO/connectors/ami4ccm/tests/Exceptions/Base/ExceptionT.mpc
@@ -11,7 +11,6 @@ project(AMI_ExceptionT_idl_gen) : componentidldefaults, ami, ami4ccm_stub {
-Wb,exec_export_macro=EXCEPTION_T_EXEC_Export \
-Wb,exec_export_include=ExceptionT_exec_export.h \
-I.. -GM -Gxhcn
- idlflags -= -Gsv
IDL_Files {
ExceptionT.idl
@@ -136,12 +135,12 @@ project(AMI_ExceptionT_skel) : ciao_executor, ami, ami4ccm_servant {
Header_Files {
ExceptionTS.h
-
+
ExceptionT_skel_export.h
}
Inline_Files {
-
+
}
}
diff --git a/CIAO/connectors/ami4ccm/tests/GetComp/Base/GetComp.mpc b/CIAO/connectors/ami4ccm/tests/GetComp/Base/GetComp.mpc
index 7975bc23aae..c0369ca8354 100644
--- a/CIAO/connectors/ami4ccm/tests/GetComp/Base/GetComp.mpc
+++ b/CIAO/connectors/ami4ccm/tests/GetComp/Base/GetComp.mpc
@@ -11,7 +11,6 @@ project(AMI_GetComp_idl_gen) : componentidldefaults, ami, ami4ccm_stub {
-Wb,exec_export_macro=GETCOMP_T_EXEC_Export \
-Wb,exec_export_include=GetComp_exec_export.h \
-I.. -GM -Gxhcn
- idlflags -= -Gsv
IDL_Files {
GetComp.idl
@@ -136,7 +135,7 @@ project(AMI_GetComp_skel) : ciao_executor, ami, ami4ccm_servant {
Header_Files {
GetCompS.h
-
+
GetComp_skel_export.h
}
diff --git a/CIAO/connectors/ami4ccm/tests/IDL_Test/AMI4CCM_IDLTest.mpc b/CIAO/connectors/ami4ccm/tests/IDL_Test/AMI4CCM_IDLTest.mpc
index 8b0b57d9933..0368664e2a9 100644
--- a/CIAO/connectors/ami4ccm/tests/IDL_Test/AMI4CCM_IDLTest.mpc
+++ b/CIAO/connectors/ami4ccm/tests/IDL_Test/AMI4CCM_IDLTest.mpc
@@ -11,7 +11,6 @@ project(AMI4CCM_IDL_Test_idl_gen) : componentidldefaults, ami, ami4ccm_stub {
-Wb,exec_export_macro=HELLO_EXEC_Export \
-Wb,exec_export_include=Hello_exec_export.h \
-I.. -GM -Gxhcn
- idlflags -= -Gsv
IDL_Files {
Hello.idl
diff --git a/CIAO/connectors/ami4ccm/tests/InterInArgs/Base/InterInArgsT.mpc b/CIAO/connectors/ami4ccm/tests/InterInArgs/Base/InterInArgsT.mpc
index 329ebf879af..411f52388f6 100644
--- a/CIAO/connectors/ami4ccm/tests/InterInArgs/Base/InterInArgsT.mpc
+++ b/CIAO/connectors/ami4ccm/tests/InterInArgs/Base/InterInArgsT.mpc
@@ -11,7 +11,6 @@ project(AMI_InterInArgsT_idl_gen) : componentidldefaults, ami, ami4ccm_stub {
-Wb,exec_export_macro=INTERINARGS_T_EXEC_Export \
-Wb,exec_export_include=InterInArgsT_exec_export.h \
-I.. -GM -Gxhcn
- idlflags -= -Gsv
IDL_Files {
InterInArgsT.idl
@@ -136,7 +135,7 @@ project(AMI_InterInArgsT_skel) : ciao_executor, ami, ami4ccm_servant {
Header_Files {
InterInArgsTS.h
-
+
InterInArgsT_skel_export.h
}
diff --git a/CIAO/connectors/ami4ccm/tests/InterInOutArgs/Base/InterInOutT.mpc b/CIAO/connectors/ami4ccm/tests/InterInOutArgs/Base/InterInOutT.mpc
index 97ed2e32475..beaa6404127 100644
--- a/CIAO/connectors/ami4ccm/tests/InterInOutArgs/Base/InterInOutT.mpc
+++ b/CIAO/connectors/ami4ccm/tests/InterInOutArgs/Base/InterInOutT.mpc
@@ -11,7 +11,6 @@ project(AMI_InterInOutT_idl_gen) : componentidldefaults, ami, ami4ccm_stub {
-Wb,exec_export_macro=INTERINOUT_T_EXEC_Export \
-Wb,exec_export_include=InterInOutT_exec_export.h \
-I.. -GM -Gxhcn
- idlflags -= -Gsv
IDL_Files {
InterInOutT.idl
@@ -136,7 +135,7 @@ project(AMI_InterInOutT_skel) : ciao_executor, ami, ami4ccm_servant {
Header_Files {
InterInOutTS.h
-
+
InterInOutT_skel_export.h
}
diff --git a/CIAO/connectors/ami4ccm/tests/InterMulti/Base/InterMulti.mpc b/CIAO/connectors/ami4ccm/tests/InterMulti/Base/InterMulti.mpc
index cb4307a562e..00b725bc9a3 100644
--- a/CIAO/connectors/ami4ccm/tests/InterMulti/Base/InterMulti.mpc
+++ b/CIAO/connectors/ami4ccm/tests/InterMulti/Base/InterMulti.mpc
@@ -11,7 +11,6 @@ project(AMI_InterMulti_idl_gen) : componentidldefaults, ami, ami4ccm_stub {
-Wb,exec_export_macro=INTERMULTI_EXEC_Export \
-Wb,exec_export_include=InterMulti_exec_export.h \
-I.. -GM -Gxhcn
- idlflags -= -Gsv
IDL_Files {
InterMulti.idl
@@ -136,7 +135,7 @@ project(AMI_InterMulti_skel) : ciao_executor, ami, ami4ccm_servant {
Header_Files {
InterMultiS.h
-
+
InterMulti_skel_export.h
}
diff --git a/CIAO/connectors/ami4ccm/tests/InterOutArgs/Base/InterOutArgsT.mpc b/CIAO/connectors/ami4ccm/tests/InterOutArgs/Base/InterOutArgsT.mpc
index 1a66943435c..f2f5a2acde1 100644
--- a/CIAO/connectors/ami4ccm/tests/InterOutArgs/Base/InterOutArgsT.mpc
+++ b/CIAO/connectors/ami4ccm/tests/InterOutArgs/Base/InterOutArgsT.mpc
@@ -11,7 +11,6 @@ project(AMI_InterOutArgsT_idl_gen) : componentidldefaults, ami, ami4ccm_stub {
-Wb,exec_export_macro=INTEROUTARGS_T_EXEC_Export \
-Wb,exec_export_include=InterOutArgsT_exec_export.h \
-I.. -GM -Gxhcn
- idlflags -= -Gsv
IDL_Files {
InterOutArgsT.idl
@@ -136,7 +135,7 @@ project(AMI_InterOutArgsT_skel) : ciao_executor, ami, ami4ccm_servant {
Header_Files {
InterOutArgsTS.h
-
+
InterOutArgsT_skel_export.h
}
diff --git a/CIAO/connectors/ami4ccm/tests/InterReturn/Base/InterReturnT.mpc b/CIAO/connectors/ami4ccm/tests/InterReturn/Base/InterReturnT.mpc
index 79a276079f6..9a3e12764c8 100644
--- a/CIAO/connectors/ami4ccm/tests/InterReturn/Base/InterReturnT.mpc
+++ b/CIAO/connectors/ami4ccm/tests/InterReturn/Base/InterReturnT.mpc
@@ -11,7 +11,6 @@ project(AMI_InterReturnT_idl_gen) : componentidldefaults, ami, ami4ccm_stub {
-Wb,exec_export_macro=INTERRETURN_T_EXEC_Export \
-Wb,exec_export_include=InterReturnT_exec_export.h \
-I.. -GM -Gxhcn
- idlflags -= -Gsv
IDL_Files {
InterReturnT.idl
@@ -136,7 +135,7 @@ project(AMI_InterReturnT_skel) : ciao_executor, ami, ami4ccm_servant {
Header_Files {
InterReturnTS.h
-
+
InterReturnT_skel_export.h
}
diff --git a/CIAO/connectors/ami4ccm/tests/NoConnection/Base/HelloT.mpc b/CIAO/connectors/ami4ccm/tests/NoConnection/Base/HelloT.mpc
index 51f9a435a3c..edacfb7def5 100644
--- a/CIAO/connectors/ami4ccm/tests/NoConnection/Base/HelloT.mpc
+++ b/CIAO/connectors/ami4ccm/tests/NoConnection/Base/HelloT.mpc
@@ -11,7 +11,6 @@ project(AMI_HelloT_idl_gen) : componentidldefaults, ami, ami4ccm_stub {
-Wb,exec_export_macro=HELLO_T_EXEC_Export \
-Wb,exec_export_include=HelloT_exec_export.h \
-I.. -GM -Gxhcn
- idlflags -= -Gsv
IDL_Files {
HelloT.idl
diff --git a/CIAO/connectors/ami4ccm/tests/NoReplyH/Base/NoReplyH.mpc b/CIAO/connectors/ami4ccm/tests/NoReplyH/Base/NoReplyH.mpc
index e9702add771..e7f79d6346f 100644
--- a/CIAO/connectors/ami4ccm/tests/NoReplyH/Base/NoReplyH.mpc
+++ b/CIAO/connectors/ami4ccm/tests/NoReplyH/Base/NoReplyH.mpc
@@ -11,7 +11,6 @@ project(AMI_NoReplyH_idl_gen) : componentidldefaults, ami, ami4ccm_stub {
-Wb,exec_export_macro=NOREPLYH_EXEC_Export \
-Wb,exec_export_include=NoReplyH_exec_export.h \
-I.. -GM -Gxhcn
- idlflags -= -Gsv
IDL_Files {
NoReplyH.idl
@@ -136,7 +135,7 @@ project(AMI_NoReplyH_skel) : ciao_executor, ami, ami4ccm_servant {
Header_Files {
NoReplyHS.h
-
+
NoReplyH_skel_export.h
}
diff --git a/CIAO/connectors/ami4ccm/tests/OneProcess/Base/OneProcess.mpc b/CIAO/connectors/ami4ccm/tests/OneProcess/Base/OneProcess.mpc
index 7876403aa36..a78f366cf1f 100644
--- a/CIAO/connectors/ami4ccm/tests/OneProcess/Base/OneProcess.mpc
+++ b/CIAO/connectors/ami4ccm/tests/OneProcess/Base/OneProcess.mpc
@@ -11,7 +11,6 @@ project(AMI_OneProcess_idl_gen) : componentidldefaults, ami, ami4ccm_stub {
-Wb,exec_export_macro=ONEPROCESS_EXEC_Export \
-Wb,exec_export_include=OneProcess_exec_export.h \
-I.. -GM -Gxhcn
- idlflags -= -Gsv
IDL_Files {
OneProcess.idl
@@ -136,7 +135,7 @@ project(AMI_OneProcess_skel) : ciao_executor, ami, ami4ccm_servant {
Header_Files {
OneProcessS.h
-
+
OneProcess_skel_export.h
}
diff --git a/CIAO/connectors/ami4ccm/tests/OneReplyH/Base/OneReplyH.mpc b/CIAO/connectors/ami4ccm/tests/OneReplyH/Base/OneReplyH.mpc
index e6a9ae889f0..4a1ebbfc3d8 100644
--- a/CIAO/connectors/ami4ccm/tests/OneReplyH/Base/OneReplyH.mpc
+++ b/CIAO/connectors/ami4ccm/tests/OneReplyH/Base/OneReplyH.mpc
@@ -11,7 +11,6 @@ project(AMI_OneReplyH_idl_gen) : componentidldefaults, ami, ami4ccm_stub {
-Wb,exec_export_macro=ONEREPLYH_T_EXEC_Export \
-Wb,exec_export_include=OneReplyH_exec_export.h \
-I.. -GM -Gxhcn
- idlflags -= -Gsv
IDL_Files {
OneReplyH.idl
@@ -136,7 +135,7 @@ project(AMI_OneReplyH_skel) : ciao_executor, ami, ami4ccm_servant {
Header_Files {
OneReplyHS.h
-
+
OneReplyH_skel_export.h
}
diff --git a/CIAO/connectors/ami4ccm/tests/SimplexMulti/Base/UsesSM.mpc b/CIAO/connectors/ami4ccm/tests/SimplexMulti/Base/UsesSM.mpc
index a9499955ee8..8630aa1c99b 100644
--- a/CIAO/connectors/ami4ccm/tests/SimplexMulti/Base/UsesSM.mpc
+++ b/CIAO/connectors/ami4ccm/tests/SimplexMulti/Base/UsesSM.mpc
@@ -11,8 +11,7 @@ project(AMI_UsesSM_idl_gen) : componentidldefaults, ami, ami4ccm_stub {
-Wb,exec_export_macro=USESSM_EXEC_Export \
-Wb,exec_export_include=UsesSM_exec_export.h \
-I.. -GM -Gxhcn
-
- idlflags -= -Gsv
+
IDL_Files {
UsesSM.idl
@@ -43,7 +42,7 @@ project(AMI_UsesSM_lema_gen) : ciaoidldefaults, typecode {
-Wb,skel_export_macro=USESSM_SKEL_Export \
-Wb,skel_export_include=UsesSM_skel_export.h \
-I.. -Gsv -Gcn -Glem -GC -Gxhst -Gxhsv
-
+
IDL_Files {
UsesSMA.idl
}
@@ -137,7 +136,7 @@ project(AMI_UsesSM_skel) : ciao_executor, ami, ami4ccm_servant {
Header_Files {
UsesSMS.h
-
+
UsesSM_skel_export.h
}
diff --git a/CIAO/connectors/ami4ccm/tests/ThreeComp/Base/ThreeComp.mpc b/CIAO/connectors/ami4ccm/tests/ThreeComp/Base/ThreeComp.mpc
index a6d39cd9b18..1188513c366 100644
--- a/CIAO/connectors/ami4ccm/tests/ThreeComp/Base/ThreeComp.mpc
+++ b/CIAO/connectors/ami4ccm/tests/ThreeComp/Base/ThreeComp.mpc
@@ -10,7 +10,6 @@ project(AMI_ThreeComp_no_ami_dl_gen) : componentidldefaults {
-Wb,exec_export_macro=THREECOMP_EXEC_Export \
-Wb,exec_export_include=ThreeComp_exec_export.h \
-I..
- idlflags -= -Gsv
IDL_Files {
ThreeComp_no_ami.idl
@@ -27,7 +26,6 @@ project(AMI_ThreeComp_idl_gen) : componentidldefaults, ami, ami4ccm_stub {
-Wb,exec_export_macro=THREECOMP_EXEC_Export \
-Wb,exec_export_include=ThreeComp_exec_export.h \
-I.. -GM -Gxhcn
- idlflags -= -Gsv
IDL_Files {
ThreeComp.idl
@@ -161,7 +159,7 @@ project(AMI_ThreeComp_skel) : ciao_executor, ami, ami4ccm_servant {
Header_Files {
ThreeCompS.h
ThreeComp_no_amiS.h
-
+
ThreeComp_skel_export.h
}
diff --git a/CIAO/connectors/ami4ccm/tests/UsesMulti/Base/UsesMulti.mpc b/CIAO/connectors/ami4ccm/tests/UsesMulti/Base/UsesMulti.mpc
index 9355dd8d1b8..e08f01bcef2 100644
--- a/CIAO/connectors/ami4ccm/tests/UsesMulti/Base/UsesMulti.mpc
+++ b/CIAO/connectors/ami4ccm/tests/UsesMulti/Base/UsesMulti.mpc
@@ -11,8 +11,7 @@ project(AMI_UsesMulti_idl_gen) : componentidldefaults, ami, ami4ccm_stub {
-Wb,exec_export_macro=USESMULTI_EXEC_Export \
-Wb,exec_export_include=UsesMulti_exec_export.h \
-I.. -GM -Gxhcn
-
- idlflags -= -Gsv
+
IDL_Files {
UsesMulti.idl
@@ -43,7 +42,7 @@ project(AMI_UsesMulti_lema_gen) : ciaoidldefaults, typecode {
-Wb,skel_export_macro=USESMULTI_SKEL_Export \
-Wb,skel_export_include=UsesMulti_skel_export.h \
-I.. -Gsv -Gcn -Glem -GC -Gxhst -Gxhsv
-
+
IDL_Files {
UsesMultiA.idl
}
@@ -137,7 +136,7 @@ project(AMI_UsesMulti_skel) : ciao_executor, ami, ami4ccm_servant {
Header_Files {
UsesMultiS.h
-
+
UsesMulti_skel_export.h
}
diff --git a/CIAO/connectors/ami4ccm/tutorials/Hello/Hello_asm/ports/Hello_MyFoo_obj.mpc b/CIAO/connectors/ami4ccm/tutorials/Hello/Hello_asm/ports/Hello_MyFoo_obj.mpc
index 427ca625d05..4064fe6c101 100644
--- a/CIAO/connectors/ami4ccm/tutorials/Hello/Hello_asm/ports/Hello_MyFoo_obj.mpc
+++ b/CIAO/connectors/ami4ccm/tutorials/Hello/Hello_asm/ports/Hello_MyFoo_obj.mpc
@@ -13,7 +13,6 @@ project(AMI_Hello_Tuto_idl_gen) : componentidldefaults, ami, ami4ccm_stub {
-Wb,exec_export_include=Hello_MyFoo_obj_exec_export.h \
-o ../GeneratedCode\
-GM -Gxhcn
- idlflags -= -Gsv
IDL_Files {
Hello_MyFoo_obj.idl
@@ -26,7 +25,7 @@ project(AMI_Hello_Tuto_lem_gen) : ciaoidldefaults {
custom_only = 1
idlflags += -Wb,export_macro=HELLO_MYFOO_OBJ_LEM_STUB_Export \
-Wb,export_include=Hello_MyFoo_obj_lem_stub_export.h \
- -I ../GeneratedCode\
+ -I ../GeneratedCode\
-o ../GeneratedCode\
-SS -Gxhst
diff --git a/CIAO/connectors/dds4ccm/examples/Large_Deployment/Common/Single_Service_Common.idl b/CIAO/connectors/dds4ccm/examples/Large_Deployment/Common/Single_Service_Common.idl
index a1d53ba40d0..9006ce330de 100644
--- a/CIAO/connectors/dds4ccm/examples/Large_Deployment/Common/Single_Service_Common.idl
+++ b/CIAO/connectors/dds4ccm/examples/Large_Deployment/Common/Single_Service_Common.idl
@@ -3,6 +3,8 @@
#ifndef SINGLE_SERVICE_COMMON_IDL_
#define SINGLE_SERVICE_COMMON_IDL_
+#pragma ciao lem "Common/Single_Service_CommonE.idl"
+
interface Simple_Service
{
oneway void ping ();
diff --git a/CIAO/connectors/dds4ccm/examples/Large_Deployment/Common/Single_Service_Common.mpc b/CIAO/connectors/dds4ccm/examples/Large_Deployment/Common/Single_Service_Common.mpc
index 3da2e6a035a..f9c67fc69e7 100644
--- a/CIAO/connectors/dds4ccm/examples/Large_Deployment/Common/Single_Service_Common.mpc
+++ b/CIAO/connectors/dds4ccm/examples/Large_Deployment/Common/Single_Service_Common.mpc
@@ -6,13 +6,52 @@ project(Single_Service_Common_idl_gen) : taoidldefaults {
-Wb,stub_export_include=Single_Service_Common_stub_export.h \
-Wb,skel_export_macro=SINGLE_SERVICE_COMMON_SKEL_Export \
-Wb,skel_export_include=Single_Service_Common_skel_export.h \
- -Gxhst -Gxhsk
+ -Gxhst -Gxhsk -Gsv -Glem
IDL_Files {
Single_Service_Common.idl
}
}
+project(Single_Service_Common_idl_lem_gen) : ciaoidldefaults {
+ after += Single_Service_Common_idl_gen
+ custom_only = 1
+ idlflags += -Wb,stub_export_macro=SINGLE_SERVICE_COMMON_LEM_STUB_Export \
+ -Wb,stub_export_include=Single_Service_Common_lem_stub_export.h \
+ -SS -Gxhst -I..
+
+ IDL_Files {
+ Single_Service_CommonE.idl
+ }
+}
+
+project(Single_Service_Common_lem_stub) : ccm_svnt {
+ after += Single_Service_Common_idl_lem_gen \
+ Single_Service_Common_stub
+ libs += Single_Service_Common_stub
+
+ libpaths += ../lib
+ libout = ../lib
+
+ sharedname = Single_Service_Common_lem_stub
+ dynamicflags += SINGLE_SERVICE_COMMON_LEM_STUB_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ Single_Service_CommonEC.cpp
+ }
+
+ Header_Files {
+ Single_Service_CommonEC.h
+ Single_Service_Common_lem_stub_export.h
+ }
+
+ Inline_Files {
+ Single_Service_CommonEC.inl
+ }
+}
project(Single_Service_Common_stub) : ccm_stub {
after += Single_Service_Common_idl_gen
diff --git a/CIAO/connectors/dds4ccm/examples/Large_Deployment/DDS_Pub/DDS_Pub.mpc b/CIAO/connectors/dds4ccm/examples/Large_Deployment/DDS_Pub/DDS_Pub.mpc
index 8c6c1ca8d39..7c530c9d2eb 100644
--- a/CIAO/connectors/dds4ccm/examples/Large_Deployment/DDS_Pub/DDS_Pub.mpc
+++ b/CIAO/connectors/dds4ccm/examples/Large_Deployment/DDS_Pub/DDS_Pub.mpc
@@ -17,7 +17,8 @@ project(Large_DDS_Pub_idl_gen) : componentidldefaults, dds4ccm {
}
project(Large_DDS_Pub_lem_gen) : ciaoidldefaults, dds4ccm {
- after += Large_DDS_Pub_idl_gen Large_Connector_idl_gen
+ after += Large_DDS_Pub_idl_gen Large_Connector_idl_gen \
+ Single_Service_Common_lem_stub
custom_only = 1
idlflags += -Wb,stub_export_macro=DDS_PUB_LEM_STUB_Export \
-Wb,stub_export_include=DDS_Pub_lem_stub_export.h \
diff --git a/CIAO/connectors/dds4ccm/examples/Large_Deployment/Single_Service/Single_Service.mpc b/CIAO/connectors/dds4ccm/examples/Large_Deployment/Single_Service/Single_Service.mpc
index 0f22cfd536b..f1d6485bc17 100644
--- a/CIAO/connectors/dds4ccm/examples/Large_Deployment/Single_Service/Single_Service.mpc
+++ b/CIAO/connectors/dds4ccm/examples/Large_Deployment/Single_Service/Single_Service.mpc
@@ -9,7 +9,7 @@ project(Single_Service_idl_gen) : componentidldefaults {
-Wb,skel_export_include=Single_Service_svnt_export.h \
-Wb,exec_export_macro=SINGLE_SERVICE_EXEC_Export \
-Wb,exec_export_include=Single_Service_exec_export.h \
- -Gxhex -Gxhsk -Gxhst -I.. -Glfa
+ -Gxhex -Gxhsk -Gxhst -I.. -Gex
IDL_Files {
Single_Service.idl
@@ -81,9 +81,15 @@ project(Single_Service_stub) : ccm_stub {
}
project(Single_Service_exec) : ciao_executor {
- after += Single_Service_lem_stub Single_Service_stub Single_Service_Common_stub
+ after += Single_Service_lem_stub \
+ Single_Service_stub \
+ Single_Service_Common_stub \
+ Single_Service_Common_lem_stub
sharedname = Single_Service_exec
- libs += Single_Service_stub Single_Service_lem_stub Single_Service_Common_stub
+ libs += Single_Service_stub \
+ Single_Service_lem_stub \
+ Single_Service_Common_stub \
+ Single_Service_Common_lem_stub
libpaths += ../lib
libout = ../lib
includes += ..
@@ -107,10 +113,16 @@ project(Single_Service_exec) : ciao_executor {
project(Single_Service_svnt) : ciao_servant {
- after += Single_Service_lem_stub Single_Service_Common_skel Single_Service_Common_stub
+ after += Single_Service_lem_stub \
+ Single_Service_Common_skel \
+ Single_Service_Common_stub \
+ Single_Service_Common_lem_stub
sharedname = Single_Service_svnt
- libs += Single_Service_stub Single_Service_lem_stub \
- Single_Service_Common_skel Single_Service_Common_stub
+ libs += Single_Service_stub \
+ Single_Service_lem_stub \
+ Single_Service_Common_skel \
+ Single_Service_Common_stub \
+ Single_Service_Common_lem_stub
libpaths += ../lib
libout = ../lib
includes += ..
@@ -133,5 +145,3 @@ project(Single_Service_svnt) : ciao_servant {
Inline_Files {
}
}
-
-
diff --git a/CIAO/connectors/dds4ccm/examples/Large_Deployment/Single_Service/Single_Service_exec.cpp b/CIAO/connectors/dds4ccm/examples/Large_Deployment/Single_Service/Single_Service_exec.cpp
deleted file mode 100644
index 2e620612de3..00000000000
--- a/CIAO/connectors/dds4ccm/examples/Large_Deployment/Single_Service/Single_Service_exec.cpp
+++ /dev/null
@@ -1,130 +0,0 @@
-// -*- C++ -*-
-// $Id$
-
-/**
- * Code generated by the The ACE ORB (TAO) IDL Compiler v1.7.7
- * TAO and the TAO IDL Compiler have been developed by:
- * Center for Distributed Object Computing
- * Washington University
- * St. Louis, MO
- * USA
- * http://www.cs.wustl.edu/~schmidt/doc-center.html
- * and
- * Distributed Object Computing Laboratory
- * University of California at Irvine
- * Irvine, CA
- * USA
- * and
- * Institute for Software Integrated Systems
- * Vanderbilt University
- * Nashville, TN
- * USA
- * http://www.isis.vanderbilt.edu/
- *
- * Information about TAO is available at:
- * http://www.cs.wustl.edu/~schmidt/TAO.html
- **/
-
-// TAO_IDL - Generated from
-// be/be_codegen.cpp:1277
-
-#include "Single_Service_exec.h"
-
-namespace CIAO_Single_Service_Impl
-{
- //============================================================
- // Facet Executor Implementation Class: Simple_Service_exec_i
- //============================================================
-
- Simple_Service_exec_i::Simple_Service_exec_i (void)
- {
- }
-
- Simple_Service_exec_i::~Simple_Service_exec_i (void)
- {
- }
-
- // Operations from ::Simple_Service
-
- void
- Simple_Service_exec_i::ping (void)
- {
- /* Your code here. */
- }
-
- //============================================================
- // Component Executor Implementation Class: Single_Service_exec_i
- //============================================================
-
- Single_Service_exec_i::Single_Service_exec_i (void)
- {
- }
-
- Single_Service_exec_i::~Single_Service_exec_i (void)
- {
- }
-
- // Supported operations and attributes.
-
- // Component attributes and port operations.
-
- ::CCM_Simple_Service_ptr
- Single_Service_exec_i::get_ping_port (void)
- {
- /* Your code here. */
- return ::CCM_Simple_Service::_nil ();
- }
-
- // Operations from Components::SessionComponent.
-
- void
- Single_Service_exec_i::set_session_context (
- ::Components::SessionContext_ptr ctx)
- {
- this->context_ =
- ::CCM_Single_Service_Context::_narrow (ctx);
-
- if ( ::CORBA::is_nil (this->context_.in ()))
- {
- throw ::CORBA::INTERNAL ();
- }
- }
-
- void
- Single_Service_exec_i::configuration_complete (void)
- {
- /* Your code here. */
- }
-
- void
- Single_Service_exec_i::ccm_activate (void)
- {
- /* Your code here. */
- }
-
- void
- Single_Service_exec_i::ccm_passivate (void)
- {
- /* Your code here. */
- }
-
- void
- Single_Service_exec_i::ccm_remove (void)
- {
- /* Your code here. */
- }
-
- extern "C" SINGLE_SERVICE_EXEC_Export ::Components::EnterpriseComponent_ptr
- create_Single_Service_Impl (void)
- {
- ::Components::EnterpriseComponent_ptr retval =
- ::Components::EnterpriseComponent::_nil ();
-
- ACE_NEW_NORETURN (
- retval,
- Single_Service_exec_i);
-
- return retval;
- }
-}
-
diff --git a/CIAO/connectors/dds4ccm/examples/Large_Deployment/Single_Service/Single_Service_exec.h b/CIAO/connectors/dds4ccm/examples/Large_Deployment/Single_Service/Single_Service_exec.h
deleted file mode 100644
index cbe4bd81665..00000000000
--- a/CIAO/connectors/dds4ccm/examples/Large_Deployment/Single_Service/Single_Service_exec.h
+++ /dev/null
@@ -1,114 +0,0 @@
-// -*- C++ -*-
-// $Id$
-
-/**
- * Code generated by the The ACE ORB (TAO) IDL Compiler v1.7.7
- * TAO and the TAO IDL Compiler have been developed by:
- * Center for Distributed Object Computing
- * Washington University
- * St. Louis, MO
- * USA
- * http://www.cs.wustl.edu/~schmidt/doc-center.html
- * and
- * Distributed Object Computing Laboratory
- * University of California at Irvine
- * Irvine, CA
- * USA
- * and
- * Institute for Software Integrated Systems
- * Vanderbilt University
- * Nashville, TN
- * USA
- * http://www.isis.vanderbilt.edu/
- *
- * Information about TAO is available at:
- * http://www.cs.wustl.edu/~schmidt/TAO.html
- **/
-
-// TAO_IDL - Generated from
-// be/be_codegen.cpp:1216
-
-#ifndef CIAO_SINGLE_SERVICE_EXEC_AZRZEB_H_
-#define CIAO_SINGLE_SERVICE_EXEC_AZRZEB_H_
-
-#include /**/ "ace/pre.h"
-
-#include "Single_ServiceEC.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include /**/ "Single_Service_exec_export.h"
-#include "tao/LocalObject.h"
-
-namespace CIAO_Single_Service_Impl
-{
- // TAO_IDL - Generated from
- // be/be_visitor_component/facet_exh.cpp:53
-
- class SINGLE_SERVICE_EXEC_Export Simple_Service_exec_i
- : public virtual ::CCM_Simple_Service,
- public virtual ::CORBA::LocalObject
- {
- public:
- Simple_Service_exec_i (void);
- virtual ~Simple_Service_exec_i (void);
-
- // Operations and attributes from Simple_Service
-
- // TAO_IDL - Generated from
- // be/be_visitor_operation/operation_ch.cpp:37
-
- virtual void
- ping (void);
- };
-
- class SINGLE_SERVICE_EXEC_Export Single_Service_exec_i
- : public virtual Single_Service_Exec,
- public virtual ::CORBA::LocalObject
- {
- public:
- Single_Service_exec_i (void);
- virtual ~Single_Service_exec_i (void);
-
- //@{
- /** Supported operations and attributes. */
-
- //@}
-
- //@{
- /** Component attributes and port operations. */
-
-
- virtual ::CCM_Simple_Service_ptr
- get_ping_port (void);
- //@}
-
- //@{
- /** Operations from Components::SessionComponent. */
-
- virtual void
- set_session_context (
- ::Components::SessionContext_ptr ctx);
-
- virtual void configuration_complete (void);
-
- virtual void ccm_activate (void);
- virtual void ccm_passivate (void);
- virtual void ccm_remove (void);
- //@}
-
-
- private:
- ::CCM_Single_Service_Context_var context_;
- };
-
- extern "C" SINGLE_SERVICE_EXEC_Export ::Components::EnterpriseComponent_ptr
- create_Single_Service_Impl (void);
-}
-
-#include /**/ "ace/post.h"
-
-#endif /* ifndef */
-
diff --git a/CIAO/connectors/dds4ccm/idl/dds4ccm_stub.mpc b/CIAO/connectors/dds4ccm/idl/dds4ccm_stub.mpc
index 9d1abfae6ff..667c182647f 100644
--- a/CIAO/connectors/dds4ccm/idl/dds4ccm_stub.mpc
+++ b/CIAO/connectors/dds4ccm/idl/dds4ccm_stub.mpc
@@ -6,10 +6,9 @@ project (DDS4CCM_idl_gen) : install, dds4ccm, componentidldefaults {
-Wb,stub_export_include=dds4ccm_stub_export.h \
-Wb,skel_export_macro=DDS4CCM_SKEL_Export \
-Wb,skel_export_include=dds4ccm_skel_export.h \
- -I$(CIAO_ROOT)/connectors -Glem
+ -I$(CIAO_ROOT)/connectors
IDL_Files {
- idlflags -= -Gsv
idlflags += -Gxhst -Gxhsk -SS
dds4ccm_Base.idl
}
@@ -22,8 +21,8 @@ project (DDS4CCM_idl_gen) : install, dds4ccm, componentidldefaults {
}
IDL_Files {
- idlflags -= -Gxhst -Gxhsk -Gsv
- idlflags += -Sci -SS -Scc
+ idlflags -= -Gxhst -Gxhsk -Gsv -Glem
+ idlflags += -Sci -SS
dds4ccm_Entity.idl
ccm_dds.idl
}
diff --git a/CIAO/connectors/dds4ccm/idl/ndds/ndds_idltocpp_stub.mpc b/CIAO/connectors/dds4ccm/idl/ndds/ndds_idltocpp_stub.mpc
index bb24ef53099..1d9f8d0ebb9 100644
--- a/CIAO/connectors/dds4ccm/idl/ndds/ndds_idltocpp_stub.mpc
+++ b/CIAO/connectors/dds4ccm/idl/ndds/ndds_idltocpp_stub.mpc
@@ -9,12 +9,11 @@ project (CIAO_NDDS_idl_gen) : install, ndds_idltocpp, componentidldefaults {
-I$(CIAO_ROOT)/connectors -Glem
IDL_Files {
- idlflags -= -Gsv
ndds_dcps.idl
}
IDL_Files {
- idlflags -= -Gxhst -Gxhsk -Gsv
+ idlflags -= -Gxhst -Gxhsk
ndds_dcps_i_handle.idl
}
diff --git a/CIAO/connectors/tests/AMIDDS/Base/AmiDds_Base.mpc b/CIAO/connectors/tests/AMIDDS/Base/AmiDds_Base.mpc
index ab49f609c0c..bb6604bbfcd 100644
--- a/CIAO/connectors/tests/AMIDDS/Base/AmiDds_Base.mpc
+++ b/CIAO/connectors/tests/AMIDDS/Base/AmiDds_Base.mpc
@@ -11,7 +11,6 @@ project(AMI_AmiDds_Base_idl_gen) : componentidldefaults, ami, ami4ccm_stub {
-Wb,exec_export_macro=AMIDDS_BASE_EXEC_Export \
-Wb,exec_export_include=AmiDds_Base_exec_export.h \
-I.. -GM -Gxhcn
- idlflags -= -Gsv
IDL_Files {
AmiDds_Base.idl
diff --git a/CIAO/examples/Null_Component_Glfa/Null_Component.idl b/CIAO/examples/Null_Component_Glfa/Null_Component.idl
deleted file mode 100644
index ffe48e9e91a..00000000000
--- a/CIAO/examples/Null_Component_Glfa/Null_Component.idl
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * @file Null_Component.idl
- *
- * @author Abdul Sowayan <sowayan@gmail.com>
- *
- * $Id$
- */
-
-#ifndef NULL_COMPONENT_IDL
-#define NULL_COMPONENT_IDL
-
-#include <Components.idl>
-#include "Null_Interface.idl"
-
-/**
- * @class Null_Component
- *
- * This component is intentionally left blank. Its purpose
- * is to measure the footprint of a component in CIAO.
- */
-component Null_Component
-{
- provides Null_Interface null_facet;
-};
-
-/**
- * @class Null_Component_Home
- *
- * @brief home for Null_Component
- */
-home Null_ComponentHome manages Null_Component
-{
-};
-
-#endif /* NULL_COMPONENT_IDL */
-
diff --git a/CIAO/examples/Null_Component_Glfa/Null_Component.mpc b/CIAO/examples/Null_Component_Glfa/Null_Component.mpc
deleted file mode 100644
index fea7a7dab9c..00000000000
--- a/CIAO/examples/Null_Component_Glfa/Null_Component.mpc
+++ /dev/null
@@ -1,112 +0,0 @@
-// $Id$
-// This file is generated with "generate_component_mpc.pl -p Null_Interface Null_Component"
-
-project(Null_Component_Glfa_idl_gen) : componentidldefaults {
- custom_only = 1
- idlflags += -Glfa
- idlflags += -Wb,stub_export_macro=NULL_COMPONENT_STUB_Export \
- -Wb,stub_export_include=Null_Component_stub_export.h \
- -Wb,skel_export_macro=NULL_COMPONENT_SVNT_Export \
- -Wb,skel_export_include=Null_Component_svnt_export.h \
- -Wb,exec_export_macro=NULL_COMPONENT_EXEC_Export \
- -Wb,exec_export_include=Null_Component_exec_export.h \
- -Wb,svnt_export_macro=NULL_COMPONENT_SVNT_Export \
- -Wb,svnt_export_include=Null_Component_svnt_export.h \
- -Gex
-
- IDL_Files {
- Null_Component.idl
- }
-}
-
-project(Null_Component_Glfa_lem_gen) : ciaoidldefaults {
- custom_only = 1
- after += Null_Component_Glfa_idl_gen
- idlflags += -Wb,export_macro=NULL_COMPONENT_EXEC_Export \
- -Wb,export_include=Null_Component_exec_export.h \
- -SS
-
- IDL_Files {
- Null_ComponentE.idl
- }
-}
-
-project(Null_Component_Glfa_stub) : ccm_stub {
- after += Null_Component_Glfa_idl_gen Null_Interface_Glfa_stub
- libs += Null_Interface_stub
-
- sharedname = Null_Component_stub
- dynamicflags += NULL_COMPONENT_STUB_BUILD_DLL
-
- IDL_Files {
- }
-
- Source_Files {
- Null_ComponentC.cpp
- }
-
- Header_Files {
- Null_ComponentC.h
- Null_Component_stub_export.h
- }
-
- Inline_Files {
- Null_ComponentC.inl
- }
-}
-
-project(Null_Component_Glfa_exec) : ciao_executor {
- after += Null_Component_Glfa_lem_gen Null_Component_Glfa_stub
- sharedname = Null_Component_exec
- libs += Null_Component_stub Null_Interface_stub
-
- dynamicflags += NULL_COMPONENT_EXEC_BUILD_DLL
-
- IDL_Files {
- }
-
- Source_Files {
- Null_ComponentEC.cpp
- Null_Component_exec.cpp
- }
-
- Header_Files {
- Null_ComponentEC.h
- Null_Component_exec.h
- Null_Component_exec_export.h
- }
-
- Inline_Files {
- Null_ComponentEC.inl
- }
-}
-
-project(Null_Component_Glfa_svnt) : ciao_servant {
- after += Null_Interface_Glfa_skel Null_Component_Glfa_exec
- sharedname = Null_Component_svnt
- libs += Null_Component_exec \
- Null_Component_stub \
- Null_Interface_skel \
- Null_Interface_stub
-
- dynamicflags += NULL_COMPONENT_SVNT_BUILD_DLL
-
- IDL_Files {
- }
-
- Source_Files {
- Null_ComponentS.cpp
- Null_Component_svnt.cpp
- }
-
- Header_Files {
- Null_ComponentS.h
- Null_Component_svnt.h
- Null_Component_svnt_export.h
- }
-
- Inline_Files {
- }
-}
-
-
diff --git a/CIAO/examples/Null_Component_Glfa/Null_Interface.idl b/CIAO/examples/Null_Component_Glfa/Null_Interface.idl
deleted file mode 100644
index 1d1ae6f27c2..00000000000
--- a/CIAO/examples/Null_Component_Glfa/Null_Interface.idl
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * @file Null_Interface.idl
- *
- * @author Abdul Sowayan <sowayan@gmail.com>
- *
- * $Id$
- */
-
-#ifndef NULL_INTERFACE_IDL
-#define NULL_INTERFACE_IDL
-
-/**
- * @interface Null_Interface
- *
- * @brief
- */
-interface Null_Interface
-{
- void null_operation();
-};
-
-#endif /* NULL_INTERFACE_IDL */
-
diff --git a/CIAO/examples/Null_Component_Glfa/Null_Interface.mpc b/CIAO/examples/Null_Component_Glfa/Null_Interface.mpc
deleted file mode 100644
index 62e02a70b65..00000000000
--- a/CIAO/examples/Null_Component_Glfa/Null_Interface.mpc
+++ /dev/null
@@ -1,67 +0,0 @@
-// $Id$
-// This file is generated with "generate_component_mpc.pl -n Null_Interface"
-
-project(Null_Interface_Glfa_idl_gen) : componentidldefaults {
- custom_only = 1
- idlflags -= -Glem -Gxhex
-
- idlflags += -Wb,stub_export_macro=NULL_INTERFACE_STUB_Export \
- -Wb,stub_export_include=Null_Interface_stub_export.h \
- -Wb,skel_export_macro=NULL_INTERFACE_SKEL_Export \
- -Wb,skel_export_include=Null_Interface_skel_export.h
-
- IDL_Files {
- Null_Interface.idl
- }
-}
-
-project(Null_Interface_Glfa_stub) : ccm_stub {
- after += Null_Interface_Glfa_idl_gen
- libs +=
-
- sharedname = Null_Interface_stub
- dynamicflags += NULL_INTERFACE_STUB_BUILD_DLL
-
- IDL_Files {
- }
-
- Source_Files {
- Null_InterfaceC.cpp
- }
-
- Header_Files {
- Null_InterfaceC.h
- Null_Interface_stub_export.h
- }
-
- Inline_Files {
- Null_InterfaceC.inl
- }
-}
-
-
-project(Null_Interface_Glfa_skel) : ciao_executor {
- after += Null_Interface_Glfa_stub
- sharedname = Null_Interface_skel
- libs += Null_Interface_stub
-
-
- dynamicflags += NULL_INTERFACE_SKEL_BUILD_DLL
-
- IDL_Files {
- }
-
- Source_Files {
- Null_InterfaceS.cpp
- }
-
- Header_Files {
- Null_InterfaceS.h
- Null_Interface_skel_export.h
- }
-
- Inline_Files {
- }
-}
-
-
diff --git a/CIAO/examples/Null_Component_Glfa/descriptors/NodeMap.dat b/CIAO/examples/Null_Component_Glfa/descriptors/NodeMap.dat
deleted file mode 100644
index c9e08ab3058..00000000000
--- a/CIAO/examples/Null_Component_Glfa/descriptors/NodeMap.dat
+++ /dev/null
@@ -1 +0,0 @@
-NodeOne corbaloc:iiop:localhost:10000/NodeOne.NodeManager
diff --git a/CIAO/examples/Null_Component_Glfa/descriptors/Null_Homed.cdp b/CIAO/examples/Null_Component_Glfa/descriptors/Null_Homed.cdp
deleted file mode 100644
index 95ebe2fb54e..00000000000
--- a/CIAO/examples/Null_Component_Glfa/descriptors/Null_Homed.cdp
+++ /dev/null
@@ -1,121 +0,0 @@
-<!-- $Id$ -->
-<Deployment:DeploymentPlan
- xmlns:Deployment="http://www.omg.org/Deployment"
- xmlns:xmi="http://www.omg.org/XMI"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.omg.org/Deployment Deployment.xsd">
- <label>Null_Homed</label>
- <UUID>Null_Homed</UUID>
-<implementation xmi:id="Null_ComponentHomeImplementation">
- <name>Null_ComponentHomeImplementation</name>
- <source/>
- <artifact xmi:idref="Null_Component_ExecArtifact" />
- <artifact xmi:idref="Null_Component_SvntArtifact" />
- <execParameter>
- <!-- entrypoint as exec parameter (see 10.6.1) -->
- <name>home factory</name>
- <value>
- <type>
- <kind>tk_string</kind>
- </type>
- <value>
- <string>create_Null_ComponentHome_Impl</string>
- </value>
- </value>
- </execParameter>
- <execParameter>
- <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
- <value>
- <type>
- <kind>tk_string</kind>
- </type>
- <value>
- <string>create_Null_ComponentHome_Servant</string>
- </value>
- </value>
- </execParameter>
- <execParameter>
- <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
- <value>
- <type>
- <kind>tk_string</kind>
- </type>
- <value>
- <string>Null_Component_svnt</string>
- </value>
- </value>
- </execParameter>
- <execParameter>
- <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
- <value>
- <type>
- <kind>tk_string</kind>
- </type>
- <value>
- <string>Null_Component_exec</string>
- </value>
- </value>
- </execParameter>
-</implementation>
-<implementation xmi:id="Null_ComponentComponentImplementation">
- <name>Null_ComponentComponentImplementation</name>
- <source/>
- <artifact xmi:idref="Null_Component_ExecArtifact" />
- <artifact xmi:idref="Null_Component_SvntArtifact" />
- <artifact xmi:idref="Null_Component_StubArtifact" />
- <execParameter>
- <name>edu.vanderbilt.dre.DAnCE.ImplementationType</name>
- <value>
- <type>
- <kind>tk_string</kind>
- </type>
- <value>
- <string>edu.vanderbilt.dre.CCM.HomedComponent</string>
- </value>
- </value>
- </execParameter>
-</implementation>
- <instance xmi:id="Null_ComponentHomeInstance">
- <name>Null_ComponentHome</name>
- <node>NodeOne</node>
- <!-- hostname -->
- <source/>
- <implementation xmi:idref="Null_ComponentHomeImplementation" />
-</instance>
- <instance xmi:id="Null_ComponentComponentInstance">
- <name>Null_ComponentComponent</name>
- <node>NodeOne</node>
- <!-- hostname -->
- <source/>
- <implementation xmi:idref="Null_ComponentComponentImplementation" />
- <configProperty>
- <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name>
- <value>
- <type>
- <kind>tk_string</kind>
- </type>
- <value>
- <string>Null_ComponentHome</string>
- </value>
- </value>
- </configProperty>
-</instance>
- <artifact xmi:id="Null_Component_ExecArtifact">
- <name>Null_Component_exec</name>
- <source/>
- <node/>
- <location>Null_Component_exec</location>
-</artifact>
-<artifact xmi:id="Null_Component_SvntArtifact">
- <name>Null_Component_svnt</name>
- <source/>
- <node/>
- <location>Null_Component_svnt</location>
-</artifact>
-<artifact xmi:id="Null_Component_StubArtifact">
- <name>Null_Component_stub</name>
- <source/>
- <node/>
- <location>Null_Component_stub</location>
-</artifact>
-</Deployment:DeploymentPlan>
diff --git a/CIAO/examples/Null_Component_Glfa/descriptors/Null_Unhomed.cdp b/CIAO/examples/Null_Component_Glfa/descriptors/Null_Unhomed.cdp
deleted file mode 100644
index f14b91c6e85..00000000000
--- a/CIAO/examples/Null_Component_Glfa/descriptors/Null_Unhomed.cdp
+++ /dev/null
@@ -1,86 +0,0 @@
-<!-- $Id$ -->
-<Deployment:DeploymentPlan
- xmlns:Deployment="http://www.omg.org/Deployment"
- xmlns:xmi="http://www.omg.org/XMI"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.omg.org/Deployment Deployment.xsd">
- <label>Null_Homed</label>
- <UUID>Null_Homed</UUID>
-
-<implementation xmi:id="Null_ComponentComponentImplementation">
- <name>Null_ComponentComponentImplementation</name>
- <source/>
- <artifact xmi:idref="Null_Component_ExecArtifact" />
- <artifact xmi:idref="Null_Component_SvntArtifact" />
- <execParameter>
- <!-- entrypoint as exec parameter (see 10.6.1) -->
- <name>component factory</name>
- <value>
- <type>
- <kind>tk_string</kind>
- </type>
- <value>
- <string>create_Null_Component_Impl</string>
- </value>
- </value>
- </execParameter>
- <execParameter>
- <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
- <value>
- <type>
- <kind>tk_string</kind>
- </type>
- <value>
- <string>create_Null_Component_Servant</string>
- </value>
- </value>
- </execParameter>
- <execParameter>
- <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
- <value>
- <type>
- <kind>tk_string</kind>
- </type>
- <value>
- <string>Null_Component_svnt</string>
- </value>
- </value>
- </execParameter>
- <execParameter>
- <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
- <value>
- <type>
- <kind>tk_string</kind>
- </type>
- <value>
- <string>Null_Component_exec</string>
- </value>
- </value>
- </execParameter>
-</implementation>
-<instance xmi:id="Null_ComponentComponentInstance">
- <name>Null_ComponentComponent</name>
- <node>NodeOne</node>
- <!-- hostname -->
- <source/>
- <implementation xmi:idref="Null_ComponentComponentImplementation" />
-</instance>
- <artifact xmi:id="Null_Component_ExecArtifact">
- <name>Null_Component_exec</name>
- <source/>
- <node/>
- <location>Null_Component_exec</location>
-</artifact>
-<artifact xmi:id="Null_Component_SvntArtifact">
- <name>Null_Component_svnt</name>
- <source/>
- <node/>
- <location>Null_Component_svnt</location>
-</artifact>
-<artifact xmi:id="Null_Component_StubArtifact">
- <name>Null_Component_stub</name>
- <source/>
- <node/>
- <location>Null_Component_stub</location>
-</artifact>
-</Deployment:DeploymentPlan> \ No newline at end of file
diff --git a/CIAO/examples/Null_Component_Glfa/descriptors/run_test.pl b/CIAO/examples/Null_Component_Glfa/descriptors/run_test.pl
deleted file mode 100755
index 377d4010c32..00000000000
--- a/CIAO/examples/Null_Component_Glfa/descriptors/run_test.pl
+++ /dev/null
@@ -1,219 +0,0 @@
-eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
- & eval 'exec perl -S $0 $argv:q'
- if 0;
-
-# $Id$
-# -*- perl -*-
-
-use lib "$ENV{'ACE_ROOT'}/bin";
-use PerlACE::TestTarget;
-
-$CIAO_ROOT = "$ENV{'CIAO_ROOT'}";
-$TAO_ROOT = "$ENV{'TAO_ROOT'}";
-$DANCE_ROOT = "$ENV{'DANCE_ROOT'}";
-
-$daemons_running = 0;
-$em_running = 0;
-$ns_running = 0;
-
-$nr_daemon = 1;
-@ports = ( 60001 );
-@iorbases = ( "NodeApp1.ior" );
-@iorfiles = 0;
-@nodenames = ( "NodeOne" );
-
-# ior files other than daemon
-$ior_nsbase = "ns.ior";
-$ior_nsfile = 0;
-$ior_embase = "EM.ior";
-$ior_emfile = 0;
-
-# Processes
-$E = 0;
-$EM = 0;
-$NS = 0;
-@DEAMONS = 0;
-
-# targets
-@tg_daemons = 0;
-$tg_naming = 0;
-$tg_exe_man = 0;
-$tg_executor = 0;
-
-$status = 0;
-
-sub create_targets {
- # naming service
- $tg_naming = PerlACE::TestTarget::create_target (1) || die "Create target for ns failed\n";
- $tg_naming->AddLibPath ('..');
- # daemon
- for ($i = 0; $i < $nr_daemon; ++$i) {
- $tg_daemons[$i] = PerlACE::TestTarget::create_target ($i+1) || die "Create target for daemon $i failed\n";
- $tg_daemons[$i]->AddLibPath ('..');
- }
- # execution manager
- $tg_exe_man = PerlACE::TestTarget::create_target (1) || die "Create target for EM failed\n";
- $tg_exe_man->AddLibPath ('..');
- # executor (plan_launcher)
- $tg_executor = PerlACE::TestTarget::create_target (1) || die "Create target for executor failed\n";
- $tg_executor->AddLibPath ('..');
-}
-
-sub init_ior_files {
- $ior_nsfile = $tg_naming->LocalFile ($ior_nsbase);
- $ior_emfile = $tg_exe_man->LocalFile ($ior_embase);
- for ($i = 0; $i < $nr_daemon; ++$i) {
- $iorfiles[$i] = $tg_daemons[$i]->LocalFile ($iorbases[$i]);
- }
- delete_ior_files ();
-}
-
-# Delete if there are any .ior files.
-sub delete_ior_files {
- for ($i = 0; $i < $nr_daemon; ++$i) {
- $tg_daemons[$i]->DeleteFile ($iorbases[$i]);
- }
- $tg_naming->DeleteFile ($ior_nsbase);
- $tg_exe_man->DeleteFile ($ior_embase);
- for ($i = 0; $i < $nr_daemon; ++$i) {
- $iorfiles[$i] = $tg_daemons[$i]->LocalFile ($iorbases[$i]);
- }
-}
-
-sub kill_node_daemon {
- for ($i = 0; $i < $nr_daemon; ++$i) {
- $DEAMONS[$i]->Kill (); $DEAMONS[$i]->TimedWait (1);
- }
-}
-
-sub kill_open_processes {
- if ($daemons_running == 1) {
- kill_node_daemon ();
- }
-
- if ($em_running == 1) {
- $EM->Kill (); $EM->TimedWait (1);
- }
-
- if ($ns_running == 1) {
- $NS->Kill (); $NS->TimedWait (1);
- }
-
- # in case shutdown did not perform as expected
- $tg_executor->KillAll ('dance_locality_manager');
-}
-
-
-sub run_node_daemons {
- for ($i = 0; $i < $nr_daemon; ++$i) {
- $iorbase = $iorbases[$i];
- $iorfile = $iorfiles[$i];
- $port = $ports[$i];
- $nodename = $nodenames[$i];
- $iiop = "iiop://localhost:$port";
- $node_app = $tg_daemons[$i]->GetArchDir("$DANCE_ROOT/bin/") . "dance_locality_manager";
-
- $d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
- $d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService --instance-nc corbaloc:rir:/NameService";
-
- print "Run dance_node_manager with $d_param\n";
-
- $DEAMONS[$i] = $tg_daemons[$i]->CreateProcess ($d_cmd, $d_param);
- $DEAMONS[$i]->Spawn ();
-
- if ($tg_daemons[$i]->WaitForFileTimed($iorbase,
- $tg_daemons[$i]->ProcessStartWaitInterval ()) == -1) {
- print STDERR
- "ERROR: The ior $iorfile file of node daemon $i could not be found\n";
- for (; $i >= 0; --$i) {
- $DEAMONS[$i]->Kill (); $DEAMONS[$i]->TimedWait (1);
- }
- return -1;
- }
- }
- return 0;
-}
-
-if ($#ARGV == -1) {
- opendir(DIR, ".");
- @files = grep(/\.cdp$/,readdir(DIR));
- closedir(DIR);
-}
-else {
- @files = @ARGV;
-}
-
-create_targets ();
-init_ior_files ();
-
-foreach $file (@files) {
- print "Starting test for deployment $file\n";
-
- print STDERR "Starting Naming Service\n";
-
- $NS = $tg_naming->CreateProcess ("$TAO_ROOT/orbsvcs/Naming_Service/tao_cosnaming", "-m 0 -ORBEndpoint iiop://localhost:60003 -o $ior_nsfile");
- $NS->Spawn ();
-
- if ($tg_naming->WaitForFileTimed ($ior_nsbase,
- $tg_naming->ProcessStartWaitInterval ()) == -1) {
- print STDERR "ERROR: cannot find naming service IOR file\n";
- $NS->Kill (); $NS->TimedWait (1);
- exit 1;
- }
-
- $ns_running = 1;
- # Set up NamingService environment
- $ENV{"NameServiceIOR"} = "corbaloc:iiop:localhost:60003/NameService";
-
- # Invoke node daemon.
- print "Invoking node daemon\n";
- $status = run_node_daemons ();
-
- if ($status != 0) {
- print STDERR "ERROR: Unable to execute the node daemons\n";
- kill_open_processes ();
- exit 1;
- }
-
- $daemons_running = 1;
-
- # Invoke execution manager.
- print "Invoking execution manager\n";
- $EM = $tg_exe_man->CreateProcess ("$DANCE_ROOT/bin/dance_execution_manager",
- "-e$ior_emfile --domain-nc corbaloc:rir:/NameService");
- $EM->Spawn ();
-
- if ($tg_exe_man->WaitForFileTimed ($ior_embase,
- $tg_exe_man->ProcessStartWaitInterval ()) == -1) {
- print STDERR
- "ERROR: The ior file of execution manager could not be found\n";
- kill_open_processes ();
- exit 1;
- }
-
- $em_running = 1;
-
- # Invoke executor - start the application -.
- print "Invoking executor - launch the application -\n";
-
- print "Start dance_plan_launcher.exe with -x $file -k file://$ior_emfile\n";
- $E = $tg_executor->CreateProcess ("$DANCE_ROOT/bin/dance_plan_launcher",
- "-x $file -k file://$ior_emfile");
- $E->SpawnWaitKill (2*$tg_executor->ProcessStartWaitInterval ());
-
- # Invoke executor - stop the application -.
- print "Invoking executor - stop the application -\n";
- $E = $tg_executor->CreateProcess ("$DANCE_ROOT/bin/dance_plan_launcher",
- "-k file://$ior_emfile -x $file -s");
- $E->SpawnWaitKill ($tg_executor->ProcessStopWaitInterval ());
-
- print "Executor returned.\n";
-
- delete_ior_files ();
- kill_open_processes ();
-}
-
-delete_ior_files ();
-kill_open_processes ();
-
-exit $status;
diff --git a/CIAO/tests/Bug_2130_Regression/SEC_CheckPoint/TSEC_CheckPoint.mpc b/CIAO/tests/Bug_2130_Regression/SEC_CheckPoint/TSEC_CheckPoint.mpc
index 77645d9db2b..0745726bd2f 100644
--- a/CIAO/tests/Bug_2130_Regression/SEC_CheckPoint/TSEC_CheckPoint.mpc
+++ b/CIAO/tests/Bug_2130_Regression/SEC_CheckPoint/TSEC_CheckPoint.mpc
@@ -7,8 +7,7 @@ project(TSEC_CheckPoint_idl_gen) : componentidldefaults {
-Wb,skel_export_macro=TSEC_CHECKPOINT_SVNT_Export \
-Wb,skel_export_include=TSEC_CheckPoint_svnt_export.h \
-Wb,exec_export_macro=TSEC_CHECKPOINT_EXEC_Export \
- -Wb,exec_export_include=TSEC_CheckPoint_exec_export.h \
- -Glfa
+ -Wb,exec_export_include=TSEC_CheckPoint_exec_export.h
requires += dummy_label
IDL_Files {
diff --git a/CIAO/tests/Bug_3834_Regression/CompA.idl b/CIAO/tests/Bug_3834_Regression/CompA.idl
index 88675e2ea67..7499894518f 100644
--- a/CIAO/tests/Bug_3834_Regression/CompA.idl
+++ b/CIAO/tests/Bug_3834_Regression/CompA.idl
@@ -6,6 +6,8 @@
#include <Components.idl>
#include "Moo.idl"
+#pragma ciao lem "CompAE.idl"
+
component CompA
{
provides Moo my_moo;
diff --git a/CIAO/tests/Bug_3834_Regression/CompA.mpc b/CIAO/tests/Bug_3834_Regression/CompA.mpc
index 206c9232a9d..c2e6587eb47 100644
--- a/CIAO/tests/Bug_3834_Regression/CompA.mpc
+++ b/CIAO/tests/Bug_3834_Regression/CompA.mpc
@@ -3,7 +3,6 @@
project(Moo_CompA_idl_gen) : componentidldefaults {
custom_only = 1
- idlflags += -Glfa
idlflags += -Wb,stub_export_macro=COMPA_STUB_Export \
-Wb,stub_export_include=CompA_stub_export.h \
-Wb,skel_export_macro=COMPA_SVNT_Export \
@@ -13,14 +12,13 @@ project(Moo_CompA_idl_gen) : componentidldefaults {
-Wb,svnt_export_macro=COMPA_SVNT_Export \
-Wb,svnt_export_include=CompA_svnt_export.h
-
IDL_Files {
CompA.idl
}
}
project(Moo_CompA_lem_gen) : ciaoidldefaults {
- after += Moo_CompA_idl_gen
+ after += Moo_CompA_idl_gen Moo_idl_gen Moo_lem_gen
custom_only = 1
idlflags += -Wb,stub_export_macro=COMPA_EXEC_Export \
-Wb,stub_export_include=CompA_exec_export.h \
@@ -34,8 +32,8 @@ project(Moo_CompA_lem_gen) : ciaoidldefaults {
project(Moo_CompA_stub) : ccm_stub {
after += Moo_CompA_idl_gen Moo_stub
libs += Moo_stub
-
-
+
+
sharedname = CompA_stub
dynamicflags += COMPA_STUB_BUILD_DLL
@@ -57,11 +55,10 @@ project(Moo_CompA_stub) : ccm_stub {
}
project(Moo_CompA_exec) : ciao_executor {
- after += Moo_CompA_lem_gen Moo_CompA_stub
+ after += Moo_CompA_lem_gen Moo_CompA_stub Moo_lem_stub
sharedname = CompA_exec
- libs += CompA_stub Moo_stub
-
-
+ libs += CompA_stub Moo_stub Moo_lem_stub
+
dynamicflags += COMPA_EXEC_BUILD_DLL
IDL_Files {
@@ -85,16 +82,17 @@ project(Moo_CompA_exec) : ciao_executor {
project(Moo_CompA_svnt) : ciao_servant {
- after += Moo_skel Moo_CompA_exec
+ after += Moo_skel Moo_CompA_exec
sharedname = CompA_svnt
libs += CompA_exec \
CompA_stub \
Moo_skel \
- Moo_stub
-
-
+ Moo_stub \
+ Moo_lem_stub
+
+
dynamicflags += COMPA_SVNT_BUILD_DLL
-
+
IDL_Files {
}
diff --git a/CIAO/tests/Bug_3834_Regression/CompB.mpc b/CIAO/tests/Bug_3834_Regression/CompB.mpc
index ac8cf43f85e..0077cb5ef34 100644
--- a/CIAO/tests/Bug_3834_Regression/CompB.mpc
+++ b/CIAO/tests/Bug_3834_Regression/CompB.mpc
@@ -3,7 +3,6 @@
project(Moo_CompB_idl_gen) : componentidldefaults {
custom_only = 1
- idlflags += -Glfa
idlflags += -Wb,stub_export_macro=COMPB_STUB_Export \
-Wb,stub_export_include=CompB_stub_export.h \
-Wb,skel_export_macro=COMPB_SVNT_Export \
@@ -34,8 +33,8 @@ project(Moo_CompB_lem_gen) : ciaoidldefaults {
project(Moo_CompB_stub) : ccm_stub {
after += Moo_CompB_idl_gen Moo_stub
libs += Moo_stub
-
-
+
+
sharedname = CompB_stub
dynamicflags += COMPB_STUB_BUILD_DLL
@@ -60,8 +59,8 @@ project(Moo_CompB_exec) : ciao_executor {
after += Moo_CompB_lem_gen Moo_CompB_stub
sharedname = CompB_exec
libs += CompB_stub Moo_stub
-
-
+
+
dynamicflags += COMPB_EXEC_BUILD_DLL
IDL_Files {
@@ -91,10 +90,10 @@ project(Moo_CompB_svnt) : ciao_servant {
CompB_stub \
Moo_skel \
Moo_stub
-
-
+
+
dynamicflags += COMPB_SVNT_BUILD_DLL
-
+
IDL_Files {
}
diff --git a/CIAO/tests/Bug_3834_Regression/Moo.idl b/CIAO/tests/Bug_3834_Regression/Moo.idl
index a833fc8d170..7a32e41104d 100644
--- a/CIAO/tests/Bug_3834_Regression/Moo.idl
+++ b/CIAO/tests/Bug_3834_Regression/Moo.idl
@@ -3,6 +3,8 @@
#ifndef MOO_IDL_
#define MOO_IDL_
+#pragma ciao lem "MooE.idl"
+
interface Moo
{
void do_something();
diff --git a/CIAO/tests/Bug_3834_Regression/Moo.mpc b/CIAO/tests/Bug_3834_Regression/Moo.mpc
index dd0d5335bca..46ce818eb66 100644
--- a/CIAO/tests/Bug_3834_Regression/Moo.mpc
+++ b/CIAO/tests/Bug_3834_Regression/Moo.mpc
@@ -1,24 +1,61 @@
// $Id$
// This file is generated with "generate_component_mpc.pl -n Moo"
-project(Moo_idl_gen) : componentidldefaults {
+project(Moo_idl_gen) : componentidldefaults {
custom_only = 1
idlflags += -Wb,stub_export_macro=MOO_STUB_Export \
-Wb,stub_export_include=Moo_stub_export.h \
+ -Wb,exec_export_macro=MOO_EXEC_Export \
+ -Wb,exec_export_include=Moo_exec_export.h \
-Wb,skel_export_macro=MOO_SKEL_Export \
- -Wb,skel_export_include=Moo_skel_export.h \
- -Gxhex -Glem
+ -Wb,skel_export_include=Moo_skel_export.h
IDL_Files {
Moo.idl
}
}
-project(Moo_stub) : ccm_stub {
- after += Moo_idl_gen
- libs +=
-
-
+project(Moo_lem_gen) : ciaoidldefaults {
+ after += Moo_idl_gen
+ custom_only = 1
+ idlflags += -Wb,stub_export_macro=MOO_EXEC_Export \
+ -Wb,stub_export_include=Moo_exec_export.h \
+ -SS
+
+ IDL_Files {
+ MooE.idl
+ }
+}
+
+project(Moo_lem_stub) : ccm_stub {
+ after += Moo_lem_gen Moo_stub
+ libs += Moo_stub
+
+ sharedname = Moo_lem_stub
+ dynamicflags += MOO_EXEC_BUILD_DLL
+
+ IDL_Files {
+ }
+
+ Source_Files {
+ MooEC.cpp
+ }
+
+ Header_Files {
+ MooEC.h
+ Moo_exec_export.h
+ }
+
+ Inline_Files {
+ MooEC.inl
+ }
+}
+
+project(Moo_stub) : ccm_stub {
+ after += Moo_idl_gen
+ libs +=
+
+
sharedname = Moo_stub
dynamicflags += MOO_STUB_BUILD_DLL
@@ -39,16 +76,15 @@ project(Moo_stub) : ccm_stub {
}
}
-
-project(Moo_skel) : ciao_executor {
- after += Moo_stub Moo_lem_stub
+project(Moo_skel) : ciao_executor {
+ after += Moo_stub Moo_lem_stub
sharedname = Moo_skel
libs += Moo_stub
-
-
-
+
+
+
dynamicflags += MOO_SKEL_BUILD_DLL
-
+
IDL_Files {
}
diff --git a/CIAO/tests/DAnCE/Components/SimpleCommon.mpc b/CIAO/tests/DAnCE/Components/SimpleCommon.mpc
index 089ce7133c0..43c23deb2d8 100644
--- a/CIAO/tests/DAnCE/Components/SimpleCommon.mpc
+++ b/CIAO/tests/DAnCE/Components/SimpleCommon.mpc
@@ -7,7 +7,8 @@ project(SimpleCommon_idl_gen) : ciaoidldefaults, anytypecode {
-Wb,stub_export_macro=SIMPLECOMMON_STUB_Export \
-Wb,stub_export_include=SimpleCommon_stub_export.h \
-Wb,skel_export_macro=SIMPLECOMMON_SKEL_Export \
- -Wb,skel_export_include=SimpleCommon_skel_export.h -Glem
+ -Wb,skel_export_include=SimpleCommon_skel_export.h \
+ -Glem -Gsv
IDL_Files {
SimpleCommon.idl
diff --git a/CIAO/tests/IDL_Test/Glfa/A.idl b/CIAO/tests/IDL_Test/Glfa/A.idl
deleted file mode 100644
index 559c514560d..00000000000
--- a/CIAO/tests/IDL_Test/Glfa/A.idl
+++ /dev/null
@@ -1,8 +0,0 @@
-// $Id$
-#ifndef A_IDL
-#define A_IDL
-
-interface A
-{};
-
-#endif
diff --git a/CIAO/tests/IDL_Test/Glfa/A.mpc b/CIAO/tests/IDL_Test/Glfa/A.mpc
deleted file mode 100644
index 187148ddcd1..00000000000
--- a/CIAO/tests/IDL_Test/Glfa/A.mpc
+++ /dev/null
@@ -1,67 +0,0 @@
-// $Id$
-// This file is generated with "generate_component_mpc.pl -n -u Glfa A"
-
-project(Glfa_A_idl_gen) : taoidldefaults {
- custom_only = 1
- idlflags += -Wb,stub_export_macro=A_STUB_Export \
- -Wb,stub_export_include=A_stub_export.h \
- -Wb,skel_export_macro=A_SKEL_Export \
- -Wb,skel_export_include=A_skel_export.h \
- -Gxhsk -Gxhst
-
- IDL_Files {
- A.idl
- }
-}
-
-project(Glfa_A_stub) : ccm_stub {
- after += Glfa_A_idl_gen
- libs +=
-
- sharedname = A_stub
- dynamicflags += A_STUB_BUILD_DLL
-
- IDL_Files {
- }
-
- Source_Files {
- AC.cpp
- }
-
- Header_Files {
- AC.h
- A_stub_export.h
- }
-
- Inline_Files {
- AC.inl
- }
-}
-
-
-project(Glfa_A_skel) : ciao_executor {
- after += Glfa_A_stub Glfa_A_lem_stub
- sharedname = A_skel
- libs += A_stub
-
-
-
- dynamicflags += A_SKEL_BUILD_DLL
-
- IDL_Files {
- }
-
- Source_Files {
- AS.cpp
- }
-
- Header_Files {
- AS.h
- A_skel_export.h
- }
-
- Inline_Files {
- }
-}
-
-
diff --git a/CIAO/tests/IDL_Test/Glfa/B.idl b/CIAO/tests/IDL_Test/Glfa/B.idl
deleted file mode 100644
index 059479f5e84..00000000000
--- a/CIAO/tests/IDL_Test/Glfa/B.idl
+++ /dev/null
@@ -1,12 +0,0 @@
-// $Id$
-#ifndef B_IDL
-#define B_IDL
-#include <Components.idl>
-#include "A.idl"
-
-component B
-{
- provides A a_port;
-};
-
-#endif
diff --git a/CIAO/tests/IDL_Test/Glfa/B.mpc b/CIAO/tests/IDL_Test/Glfa/B.mpc
deleted file mode 100644
index 6e65a5ea3de..00000000000
--- a/CIAO/tests/IDL_Test/Glfa/B.mpc
+++ /dev/null
@@ -1,132 +0,0 @@
-// $Id$
-// This file is generated with "generate_component_mpc.pl -u Glfa B"
-
-project(Glfa_B_idl_gen) : componentidldefaults {
- custom_only = 1
- idlflags += -Wb,stub_export_macro=B_STUB_Export \
- -Wb,stub_export_include=B_stub_export.h \
- -Wb,skel_export_macro=B_SVNT_Export \
- -Wb,skel_export_include=B_svnt_export.h \
- -Wb,exec_export_macro=B_EXEC_Export \
- -Wb,exec_export_include=B_exec_export.h \
- -Gxhex -Gxhsk -Gxhst -Glfa -Gex
-
- IDL_Files {
- B.idl
- }
-}
-
-project(Glfa_B_lem_gen) : ciaoidldefaults {
- after += Glfa_B_idl_gen Glfa_A_idl_gen
- custom_only = 1
- idlflags += -Wb,stub_export_macro=B_LEM_STUB_Export \
- -Wb,stub_export_include=B_lem_stub_export.h \
- -SS -Gxhst
-
- IDL_Files {
- BE.idl
- }
-}
-
-project(Glfa_B_lem_stub) : ccm_svnt {
- after += Glfa_B_lem_gen Glfa_B_stub Glfa_A_stub
- libs += B_stub A_stub
-
-
- sharedname = B_lem_stub
- dynamicflags += B_LEM_STUB_BUILD_DLL
-
- IDL_Files {
- }
-
- Source_Files {
- BEC.cpp
- }
-
- Header_Files {
- BEC.h
- B_lem_stub_export.h
- }
-
- Inline_Files {
- BEC.inl
- }
-}
-
-project(Glfa_B_stub) : ccm_stub {
- after += Glfa_B_idl_gen Glfa_A_stub
- libs += A_stub
-
-
- sharedname = B_stub
- dynamicflags += B_STUB_BUILD_DLL
-
- IDL_Files {
- }
-
- Source_Files {
- BC.cpp
- }
-
- Header_Files {
- BC.h
- B_stub_export.h
- }
-
- Inline_Files {
- BC.inl
- }
-}
-
-project(Glfa_B_exec) : ciao_executor {
- after += Glfa_B_lem_stub Glfa_B_stub Glfa_A_stub
- sharedname = B_exec
- libs += B_stub B_lem_stub A_stub
-
-
- dynamicflags += B_EXEC_BUILD_DLL
-
- IDL_Files {
- }
-
- Source_Files {
- B_exec.cpp
- }
-
- Header_Files {
- B_exec.h
- B_exec_export.h
- }
-
- Inline_Files {
- }
-}
-
-
-project(Glfa_B_svnt) : ciao_servant {
- after += Glfa_B_lem_stub Glfa_A_stub Glfa_A_skel
- sharedname = B_svnt
- libs += B_stub B_lem_stub A_stub A_skel
-
-
- dynamicflags += B_SVNT_BUILD_DLL
-
- IDL_Files {
- }
-
- Source_Files {
- BS.cpp
- B_svnt.cpp
- }
-
- Header_Files {
- BS.h
- B_svnt.h
- B_svnt_export.h
- }
-
- Inline_Files {
- }
-}
-
-
diff --git a/CIAO/tests/IDL_Test/Inherited_Component/Extended/Base.idl b/CIAO/tests/IDL_Test/Inherited_Component/Extended/Base.idl
index 7eaae4f5743..ba209fa830c 100644
--- a/CIAO/tests/IDL_Test/Inherited_Component/Extended/Base.idl
+++ b/CIAO/tests/IDL_Test/Inherited_Component/Extended/Base.idl
@@ -15,12 +15,15 @@ module Inherited
attribute string str_base_interface;
};
- // TODO: derive this interface from a base interface...
- interface derived_interface {
+ interface derived_interface : base_interface {
void do_derived ();
readonly attribute string str_derived_interface;
};
+
+ interface another_interface {
+ void do_another ();
+ };
};
module Inherited
diff --git a/CIAO/tests/IDL_Test/Inherited_Component/Extended/Derived.idl b/CIAO/tests/IDL_Test/Inherited_Component/Extended/Derived.idl
index e409001b64a..0557867f7cb 100644
--- a/CIAO/tests/IDL_Test/Inherited_Component/Extended/Derived.idl
+++ b/CIAO/tests/IDL_Test/Inherited_Component/Extended/Derived.idl
@@ -24,6 +24,7 @@ module Inherited
{
provides Inherited::derived_interface prov_derived;
uses Inherited::derived_interface uses_derived;
+ uses Inherited::another_interface uses_another;
attribute long derived;
};
diff --git a/CIAO/tests/IDL_Test/Reused_Facet_Interface/Basic.mpc b/CIAO/tests/IDL_Test/Reused_Facet_Interface/Basic.mpc
index 854e8da7918..018f10f429d 100644
--- a/CIAO/tests/IDL_Test/Reused_Facet_Interface/Basic.mpc
+++ b/CIAO/tests/IDL_Test/Reused_Facet_Interface/Basic.mpc
@@ -7,7 +7,7 @@ project(Reused_Facet_Interface_Basic_idl_gen) : ciaoidldefaults, anytypecode {
-Wb,stub_export_include=Basic_stub_export.h \
-Wb,skel_export_macro=BASIC_SKEL_Export \
-Wb,skel_export_include=Basic_skel_export.h \
- -Gxhst -Gxhsk -Glem
+ -Gxhst -Gxhsk -Glem -Gsv
IDL_Files {
Basic.idl
@@ -21,7 +21,7 @@ project(Reused_Facet_Interface_Basic_lem_gen) : ciaoidldefaults, anytypecode {
-Wb,stub_export_include=Basic_stub_export.h \
-Wb,skel_export_macro=BASIC_SKEL_Export \
-Wb,skel_export_include=Basic_skel_export.h \
- -Gxhst
+ -Gxhst
IDL_Files {
BasicE.idl
diff --git a/TAO/ChangeLog b/TAO/ChangeLog
index 41fa1dce919..b18a4792178 100644
--- a/TAO/ChangeLog
+++ b/TAO/ChangeLog
@@ -1,3 +1,272 @@
+Mon Dec 12 07:33:25 UTC 2011 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ Merged changes from our work branch. Facet servants are now generated
+ as C++ template at the moment the interface is declared, this reduces
+ the amount of code generated heavily. Component/Connector context is
+ now also generated as C++ template
+
+ === start changelog ===
+
+ Sun Dec 11 19:40:16 UTC 2011 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * TAO_IDL/be/be_visitor_operation/direct_proxy_impl_ss.cpp:
+ * TAO_IDL/be/be_visitor_operation/operation_ss.cpp:
+ Throw exception when dynamic_cast fails
+
+ Sun Dec 11 19:13:21 UTC 2011 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * TAO_IDL/be/be_visitor_interface/facet_svth.cpp:
+ * TAO_IDL/be/be_visitor_interface/facet_svts.cpp:
+ No servant is needed for local interfaces
+
+ Sun Dec 11 18:23:17 UTC 2011 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * TAO_IDL/be/be_util.cpp:
+ Removed mentioning of -Gsc which got removed a long time ago
+
+ Sun Dec 11 12:32:28 UTC 2011 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * TAO_IDL/be/be_interface.cpp:
+ * TAO_IDL/be/be_visitor_interface.cpp:
+ * TAO_IDL/be/be_visitor_module/module.cpp:
+ * TAO_IDL/be_include/be_interface.h:
+ * TAO_IDL/be_include/be_visitor_interface.h:
+ * TAO_IDL/be/be_visitor_interface/interface_svh.cpp:
+ * TAO_IDL/be/be_visitor_interface/interface_svs.cpp:
+ Removed some old stuff we don't need anymore, fixes cornucopia
+
+ * TAO_IDL/be_include/be_visitor_interface/interface_svh.h:
+ * TAO_IDL/be_include/be_visitor_interface/interface_svs.h:
+ Removed these files.
+
+ Fri Dec 9 13:23:29 UTC 2011 Marcel Smit <msmit@remedy.nl>
+
+ * TAO_IDL/be/be_codegen.cpp:
+ * TAO_IDL/be/be_global.cpp:
+ * TAO_IDL/be/be_util.cpp:
+ * TAO_IDL/be/be_visitor_component.cpp:
+ * TAO_IDL/be/be_visitor_component/component_ex_idl.cpp:
+ * TAO_IDL/be/be_visitor_interface/interface_ex_idl.cpp:
+ * TAO_IDL/be/be_visitor_interface/interface_svh.cpp:
+ * TAO_IDL/be/be_visitor_interface/interface_svs.cpp:
+ * TAO_IDL/be_include/be_global.h:
+ * TAO_IDL/be_include/be_visitor_component.h:
+ * docs/compiler.html:
+ Removed the -Glfa option from the IDL compiler.
+
+ * TAO_IDL/be/be_visitor_component/facet_ex_idl.cpp:
+ * TAO_IDL/be_include/be_visitor_component/facet_ex_idl.h:
+ Removed these files.
+
+ Thu Dec 8 14:43:36 UTC 2011 Marcel Smit <msmit@remedy.nl>
+
+ * TAO_IDL/be/be_visitor_component/context_svth.cpp:
+ * TAO_IDL/be/be_visitor_component/context_svts.cpp:
+ Removed export macro for contextes.
+
+ * TAO_IDL/be/be_visitor_component.cpp:
+ * TAO_IDL/be/be_visitor_interface/facet_svts.cpp:
+ * TAO_IDL/be/be_visitor_interface/interface_svth.cpp:
+ * TAO_IDL/be/be_visitor_interface/interface_svts.cpp:
+ Fixed warnings.
+
+ Thu Dec 8 14:16:52 UTC 2011 Marcel Smit <msmit@remedy.nl>
+
+ * TAO_IDL/be/be_produce.cpp:
+ * TAO_IDL/be/be_provides.cpp:
+ * TAO_IDL/be/be_visitor_component.cpp:
+ * TAO_IDL/be/be_visitor_component/component_svth.cpp:
+ * TAO_IDL/be/be_visitor_component/component_svts.cpp:
+ * TAO_IDL/be/be_visitor_interface.cpp:
+ * TAO_IDL/be/be_visitor_interface/facet_svth.cpp:
+ * TAO_IDL/be/be_visitor_interface/facet_svts.cpp:
+ * TAO_IDL/be/be_visitor_interface/interface_svth.cpp:
+ * TAO_IDL/be/be_visitor_interface/interface_svts.cpp:
+ * TAO_IDL/be/be_visitor_module/module.cpp:
+ * TAO_IDL/be/be_visitor_operation/operation_svs.cpp:
+ * TAO_IDL/be_include/be_provides.h:
+ * TAO_IDL/be_include/be_visitor_component.h:
+ * TAO_IDL/be_include/be_visitor_interface.h:
+ * TAO_IDL/be_include/be_visitor_interface/facet_svth.h:
+ * TAO_IDL/be_include/be_visitor_interface/facet_svts.h:
+ * TAO_IDL/be_include/be_visitor_interface/interface_svth.h:
+ * TAO_IDL/be_include/be_visitor_interface/interface_svts.h:
+ * TAO_IDL/be/be_visitor_component/facet_svth.cpp:
+ * TAO_IDL/be/be_visitor_component/facet_svts.cpp:
+ * TAO_IDL/be_include/be_visitor_component/facet_svth.h:
+ * TAO_IDL/be_include/be_visitor_component/facet_svts.h:
+ Moved the generation of the facet servants to the place
+ where they are declared (from the place where they were
+ used). -Gsv needs to set as command line option.
+
+ Wed Dec 7 13:26:49 UTC 2011 Marcel Smit <msmit@remedy.nl>
+
+ * TAO_IDL/be/be_visitor_component/servant_svs.cpp:
+ Fixed errors in logging.
+
+ Wed Dec 7 12:34:49 UTC 2011 Marcel Smit <msmit@remedy.nl>
+
+ * TAO_IDL/be/be_visitor_component/context_svth.cpp:
+ * TAO_IDL/be/be_visitor_component/context_svts.cpp:
+ No need to visit the component_scope; just visit
+ the scope is enough..
+
+ Wed Dec 7 07:34:56 UTC 2011 Marcel Smit <msmit@remedy.nl>
+
+ * TAO_IDL/be/be_codegen.cpp:
+ * TAO_IDL/be_include/be_codegen.h:
+ Reduced the number of generated include files.
+ Also generated a include guard for the servant
+ template source code.
+
+ Tue Dec 6 13:25:04 UTC 2011 Marcel Smit <msmit@remedy.nl>
+
+ * TAO_IDL/be/be_visitor_component/context_svth.cpp:
+ * TAO_IDL/be/be_visitor_component/context_svts.cpp:
+ Fixed generation issues in case dds4ccm
+
+ Tue Dec 6 09:22:09 UTC 2011 Marcel Smit <msmit@remedy.nl>
+
+ * TAO_IDL/be/be_visitor_component/component_svts.cpp:
+ Removed comments.
+
+ * TAO_IDL/be/be_visitor_root.cpp:
+ * TAO_IDL/be_include/be_visitor_root.h:
+ Removed reference to the files below.
+
+ * TAO_IDL/be/be_visitor_root/root_ex_svs.cpp:
+ * TAO_IDL/be_include/be_visitor_root/root_ex_svs.h:
+ Removed these files since a separate servant file
+ is not needed.
+
+ Tue Dec 6 09:15:52 UTC 2011 Marcel Smit <msmit@remedy.nl>
+
+ * TAO_IDL/be/be_codegen.cpp:
+ * TAO_IDL/be/be_global.cpp:
+ * TAO_IDL/be/be_produce.cpp:
+ * TAO_IDL/be/be_visitor_component/component.cpp:
+ * TAO_IDL/be/be_visitor_module/module.cpp:
+ * TAO_IDL/be/be_visitor_root/root_ex_svs.cpp:
+ * TAO_IDL/be_include/be_global.h:
+ No need to create a new type of svnt file.
+
+ * TAO_IDL/be_include/be_codegen.h:
+ Using pragma ciao lem to determine which files
+ to include.
+
+ Mon Dec 5 19:33:12 UTC 2011 Marcel Smit <msmit@remedy.nl>
+
+ * TAO_IDL/be/be_produce.cpp:
+ * TAO_IDL/be/be_visitor_root.cpp:
+ * TAO_IDL/be/be_visitor_root/root_ex_svs.cpp:
+ * TAO_IDL/be_include/be_visitor_root.h:
+ * TAO_IDL/be_include/be_visitor_root/root_ex_svs.h:
+ * TAO_IDL/be/be_visitor_root/root_ex_svnt.cpp:
+ Renamed _svnt files since these are ignored by subversion
+
+ Mon Dec 5 18:43:32 UTC 2011 Marcel Smit <msmit@remedy.nl>
+
+ * TAO_IDL/be/be_codegen.cpp:
+ * TAO_IDL/be/be_global.cpp:
+ * TAO_IDL/be/be_produce.cpp:
+ Reduced the restrictions for generating an executor servant.
+
+ Mon Dec 5 16:08:50 UTC 2011 Marcel Smit <msmit@remedy.nl>
+
+ * TAO_IDL/be/be_codegen.cpp:
+ * TAO_IDL/be/be_global.cpp:
+ * TAO_IDL/be/be_produce.cpp:
+ * TAO_IDL/be/be_visitor_component/component.cpp:
+ * TAO_IDL/be/be_visitor_module/module.cpp:
+ * TAO_IDL/be/be_visitor_root.cpp:
+ * TAO_IDL/be/be_visitor_root/root_ex_svnt.cpp:
+ * TAO_IDL/be_include/be_codegen.h:
+ * TAO_IDL/be_include/be_global.h:
+ * TAO_IDL/be_include/be_helper.h:
+ * TAO_IDL/be_include/be_visitor_root.h:
+ Generate a new svnt.h which is a place holder for the
+ _svnt_T.h files. This will be included via S.h.
+ The new _svnt.h is only generated when the ciao lem
+ pragma is used or when -Glem is part of the command
+ line options.
+
+ Sun Dec 4 16:04:04 UTC 2011 Marcel Smit <msmit@remedy.nl>
+
+ * TAO_IDL/be/be_codegen.cpp:
+ One step closer in solving AMI4CCM compile issues.
+
+ Fri Dec 2 15:57:52 UTC 2011 Marcel Smit <msmit@remedy.nl>
+
+ * TAO_IDL/be/be_provides.cpp:
+ * TAO_IDL/be/be_visitor_component/context_svth.cpp:
+ * TAO_IDL/be/be_visitor_component/context_svts.cpp:
+ No multiple inheritance so no virtual needed.
+
+ Fri Dec 2 14:59:28 UTC 2011 Marcel Smit <msmit@remedy.nl>
+
+ * TAO_IDL/be/be_codegen.cpp:
+ * TAO_IDL/be/be_global.cpp:
+ * TAO_IDL/be_include/be_codegen.h:
+ * TAO_IDL/be_include/be_global.h:
+ Include base file into inherited template header file.
+
+ * TAO_IDL/be/be_visitor_component/component_svth.cpp:
+ * TAO_IDL/be/be_visitor_component/component_svts.cpp:
+ * TAO_IDL/be/be_visitor_component/facet_svth.cpp:
+ * TAO_IDL/be/be_visitor_component/facet_svts.cpp:
+ * TAO_IDL/be_include/be_visitor_component/component_svts.h:
+ Contexts are now template classes which derive from their template
+ base classes.
+
+ Fri Dec 2 08:00:16 UTC 2011 Marcel Smit <msmit@remedy.nl>
+
+ * TAO_IDL/be/be_codegen.cpp:
+ * TAO_IDL/be/be_visitor_component.cpp:
+ * TAO_IDL/be/be_visitor_component/component_svh.cpp:
+ * TAO_IDL/be/be_visitor_component/component_svs.cpp:
+ * TAO_IDL/be/be_visitor_component/component_svth.cpp:
+ * TAO_IDL/be/be_visitor_component/component_svts.cpp:
+ * TAO_IDL/be/be_visitor_component/context_svth.cpp:
+ * TAO_IDL/be/be_visitor_component/context_svts.cpp:
+ * TAO_IDL/be/be_visitor_component/servant_svh.cpp:
+ * TAO_IDL/be/be_visitor_component/servant_svs.cpp:
+ * TAO_IDL/be_include/be_visitor_component.h:
+ * TAO_IDL/be_include/be_visitor_component/context_svth.h:
+ * TAO_IDL/be_include/be_visitor_component/context_svts.h:
+ Context implementation is now templated. Therefor
+ renamed context_sv* files.
+
+ * TAO_IDL/be/be_visitor_component/context_svh.cpp:
+ * TAO_IDL/be/be_visitor_component/context_svs.cpp:
+ * TAO_IDL/be_include/be_visitor_component/context_svh.h:
+ * TAO_IDL/be_include/be_visitor_component/context_svs.h:
+ Removed these files.
+
+ Thu Dec 1 09:06:16 UTC 2011 Marcel Smit <msmit@remedy.nl>
+
+ * TAO_IDL/be/be_visitor_component/facet_svth.cpp:
+ * TAO_IDL/be/be_visitor_component/facet_svts.cpp:
+ Fixed coverity warning.
+
+ Thu Dec 1 08:37:33 UTC 2011 Marcel Smit <msmit@remedy.nl>
+
+ * TAO_IDL/be/be_codegen.cpp:
+ * TAO_IDL/be/be_visitor_component.cpp:
+ * TAO_IDL/be/be_visitor_component/component_svh.cpp:
+ * TAO_IDL/be/be_visitor_component/component_svs.cpp:
+ * TAO_IDL/be/be_visitor_component/component_svth.cpp:
+ * TAO_IDL/be/be_visitor_component/component_svts.cpp:
+ * TAO_IDL/be/be_visitor_component/context_svh.cpp:
+ * TAO_IDL/be/be_visitor_component/context_svs.cpp:
+ * TAO_IDL/be/be_visitor_module/module.cpp:
+ * TAO_IDL/be_include/be_visitor_component.h:
+ * TAO_IDL/be_include/be_visitor_component/component_svth.h:
+ * TAO_IDL/be_include/be_visitor_component/component_svts.h:
+ Moved the generated Context code to the _svnt_T files. Later on
+ these classes will be templated.
+
+ === end changelog ===
+
Wed Dec 7 17:54:41 UTC 2011 Jeff Parsons <j.parsons@vanderbilt.edu>
* TAO_IDL/util/utl_stack.cpp(UTL_ScopeStack::pop):
diff --git a/TAO/TAO_IDL/be/be_codegen.cpp b/TAO/TAO_IDL/be/be_codegen.cpp
index 8604cf44788..be8899f7ff5 100644
--- a/TAO/TAO_IDL/be/be_codegen.cpp
+++ b/TAO/TAO_IDL/be/be_codegen.cpp
@@ -516,6 +516,15 @@ TAO_CodeGen::start_server_header (const char *fname)
server_hdr);
}
+// if (be_global->gen_ciao_exec_idl())
+// {
+// *this->server_header_
+// << be_nl
+// << "#include \""
+// << be_global->be_get_ciao_exec_svnt_fname (true)
+// << "\"";
+// }
+
/// These are generated regardless, so we put it before the
/// check below.
if (be_global->gen_arg_traits ())
@@ -1066,7 +1075,37 @@ TAO_CodeGen::start_ciao_svnt_header (const char *fname)
// protection, but do optimize based on #pragma once.
os << "\n#if !defined (ACE_LACKS_PRAGMA_ONCE)\n"
<< "# pragma once\n"
- << "#endif /* ACE_LACKS_PRAGMA_ONCE */\n";
+ << "#endif /* ACE_LACKS_PRAGMA_ONCE */\n"
+ << be_nl;
+
+
+ char **path_tmp = 0;
+
+ for (ACE_Unbounded_Queue_Iterator<char *>riter (
+ idl_global->ciao_lem_file_names ());
+ riter.done () == 0;
+ riter.advance ())
+ {
+ riter.next (path_tmp);
+
+ ACE_CString filename (*path_tmp);
+ // sanity
+ if (filename.substr (filename.length() - 5) == "E.idl")
+ {
+ os << "#include \""
+ << filename.substr(0, filename.length() - 5) << "_svnt.h\""
+ << be_nl;
+ }
+ }
+
+ // Generate the include statement for the template server header.
+ if (be_global->gen_ciao_svnt ())
+ {
+ os << "#include \""
+ << be_global->be_get_ciao_tmpl_svnt_hdr_fname (true)
+ << "\"" << be_nl;
+ }
+
this->gen_svnt_hdr_includes (this->ciao_svnt_header_);
@@ -1112,11 +1151,6 @@ TAO_CodeGen::start_ciao_svnt_source (const char *fname)
<< be_global->be_get_ciao_svnt_hdr_fname (true)
<< "\"" << be_nl;
- *this->ciao_svnt_source_
- << "#include \""
- << be_global->be_get_ciao_tmpl_svnt_hdr_fname(true)
- << "\"";
-
this->gen_svnt_src_includes (this->ciao_svnt_source_);
return 0;
@@ -1157,7 +1191,7 @@ TAO_CodeGen::start_ciao_svnt_template_header (const char *fname)
// Generate the #ifndef clause.
this->gen_ifndef_string (fname,
this->ciao_svnt_template_header_,
- "CIAO_SESSION_",
+ "CIAO_SERVANT_",
"_H_");
if (be_global->pre_include () != 0)
@@ -1188,9 +1222,17 @@ TAO_CodeGen::start_ciao_svnt_template_header (const char *fname)
// protection, but do optimize based on #pragma once.
os << "\n#if !defined (ACE_LACKS_PRAGMA_ONCE)\n"
<< "# pragma once\n"
- << "#endif /* ACE_LACKS_PRAGMA_ONCE */\n";
+ << "#endif /* ACE_LACKS_PRAGMA_ONCE */\n\n";
- this->gen_svnt_hdr_includes (this->ciao_svnt_template_header_);
+ this->gen_svnt_tmpl_hdr_includes (this->ciao_svnt_template_header_);
+
+ if (idl_global->ami_connector_seen_)
+ {
+ *this->ciao_svnt_template_header_ << be_nl
+ << "#include \""
+ << "connectors/ami4ccm/ami4ccm/ami4ccm_svnt_T.h\""
+ << be_nl;
+ }
return 0;
}
@@ -1228,11 +1270,11 @@ TAO_CodeGen::start_ciao_svnt_template_source (const char *fname)
// Generate the #ident string, if any.
this->gen_ident_string (this->ciao_svnt_template_source_);
- // Generate the include statement for the server header.
- *this->ciao_svnt_template_source_
- << "#include \""
- << be_global->be_get_ciao_svnt_hdr_fname (true)
- << "\"" << be_nl;
+ // Generate the #ifndef clause.
+ this->gen_ifndef_string (fname,
+ this->ciao_svnt_template_source_,
+ "CIAO_SERVANT_",
+ "_CPP_");
this->gen_svnt_src_includes (this->ciao_svnt_template_source_);
@@ -1820,21 +1862,23 @@ TAO_CodeGen::end_server_template_header (void)
// Insert the code to include the template source file.
*this->server_template_header_
- << "\n\n#if defined (ACE_TEMPLATES_REQUIRE_SOURCE)";
+ << be_nl_2 << "#if defined (ACE_TEMPLATES_REQUIRE_SOURCE)";
*this->server_template_header_
- << "\n#include \""
+ << be_nl << "#include \""
<< be_global->be_get_server_template_skeleton_fname (1)
<< "\"";
- *this->server_template_header_ << "\n#endif /* defined REQUIRED SOURCE */";
+ *this->server_template_header_ << be_nl
+ << "#endif /* defined REQUIRED SOURCE */";
// Insert the code to include the template pragma.
*this->server_template_header_
- << "\n\n#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA)";
+ << be_nl_2 << "#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA)";
*this->server_template_header_
- << "\n#pragma implementation (\""
+ << be_nl << "#pragma implementation (\""
<< be_global->be_get_server_template_skeleton_fname (1)
<< "\")";
- *this->server_template_header_ << "\n#endif /* defined REQUIRED PRAGMA */";
+ *this->server_template_header_ << be_nl
+ << "#endif /* defined REQUIRED PRAGMA */";
// Code to put the last #endif.
*this->server_template_header_ << "\n\n";
@@ -1938,7 +1982,7 @@ TAO_CodeGen::end_ciao_svnt_source (void)
int
TAO_CodeGen::end_ciao_svnt_template_header (void)
{
- *this->ciao_svnt_template_header_ << be_nl
+ *this->ciao_svnt_template_header_ << be_nl_2
<< "#if defined (ACE_TEMPLATES_REQUIRE_SOURCE)"
<< be_nl << "#include \""
<< be_global->be_get_ciao_tmpl_svnt_src_fname (true)
@@ -1967,6 +2011,8 @@ TAO_CodeGen::end_ciao_svnt_template_header (void)
int
TAO_CodeGen::end_ciao_svnt_template_source (void)
{
+ *this->ciao_svnt_template_source_ << "\n\n#endif /* ifndef */\n";
+
*this->ciao_svnt_template_source_ << "\n";
return 0;
@@ -3346,10 +3392,39 @@ TAO_CodeGen::gen_svnt_hdr_includes (TAO_OutStream *stream)
this->gen_standard_include (
stream,
- be_global->be_get_ciao_exec_stub_hdr_fname (true));
+ be_global->be_get_server_hdr_fname (true));
+}
+
+void
+TAO_CodeGen::gen_svnt_tmpl_hdr_includes (TAO_OutStream *stream)
+{
+ ACE_CString servant_file ("ciao/Servants/");
+ servant_file += be_global->ciao_container_type ();
+ servant_file += "/Servant_Impl_T.h";
+
+ this->gen_standard_include (
+ stream,
+ servant_file.c_str ());
+
+ this->gen_standard_include (
+ stream,
+ "ciao/Servants/Home_Servant_Impl_T.h");
+
+ this->gen_standard_include (
+ stream,
+ "ciao/Servants/Facet_Servant_Base_T.h");
*stream << be_nl;
+ if (be_global->gen_ciao_exec_idl())
+ {
+ this->gen_standard_include (
+ stream,
+ be_global->be_get_ciao_exec_stub_hdr_fname (true));
+
+ *stream << be_nl;
+ }
+
this->gen_standard_include (
stream,
be_global->be_get_server_hdr_fname (true));
@@ -3510,6 +3585,16 @@ TAO_CodeGen::gen_exec_idl_includes (void)
}
}
+bool
+TAO_CodeGen::is_system_file (const char * idl_name) const
+{
+ return
+ ACE_OS::strcmp (idl_name, "Components.idl") == 0
+ || ACE_OS::strcmp (
+ idl_name,
+ "connectors/ami4ccm/ami4ccm/ami4ccm.idl") == 0;
+}
+
void
TAO_CodeGen::gen_conn_hdr_includes (void)
{
@@ -3592,13 +3677,8 @@ TAO_CodeGen::gen_conn_hdr_includes (void)
char * const idl_name =
idl_global->included_idl_files ()[j];
- bool const system_file =
- ACE_OS::strcmp (idl_name, "Components.idl") == 0
- || ACE_OS::strcmp (
- idl_name,
- "connectors/ami4ccm/ami4ccm/ami4ccm.idl") == 0;
- if (system_file)
+ if (this->is_system_file (idl_name))
{
continue;
}
diff --git a/TAO/TAO_IDL/be/be_global.cpp b/TAO/TAO_IDL/be/be_global.cpp
index 7fbf68871e3..fc5af23bb07 100644
--- a/TAO/TAO_IDL/be/be_global.cpp
+++ b/TAO/TAO_IDL/be/be_global.cpp
@@ -149,7 +149,6 @@ BE_GlobalData::BE_GlobalData (void)
gen_svnt_export_hdr_file_ (false),
gen_exec_export_hdr_file_ (false),
gen_conn_export_hdr_file_ (false),
- gen_lem_force_all_ (false),
tab_size_ (2),
alt_mapping_ (false),
in_facet_servant_ (false),
@@ -341,6 +340,30 @@ BE_GlobalData::be_get_server_hdr (UTL_String *idl_file_name,
}
const char *
+BE_GlobalData::be_get_svnt_template_hdr (UTL_String *idl_file_name,
+ bool base_name_only)
+{
+ // User-defined file extensions don't apply to .pidl files.
+ ACE_CString fn (idl_file_name->get_string ());
+ ACE_CString fn_ext = fn.substr (fn.length () - 5);
+ bool orb_file = (fn_ext == ".pidl" || fn_ext == ".PIDL");
+
+ if (!orb_file && !be_global->gen_custom_ending ()
+ && FE_Utils::validate_orb_include (idl_file_name))
+ {
+ orb_file = true;
+ }
+
+ return be_change_idl_file_extension (idl_file_name,
+ orb_file
+ ? "S.h"
+ : be_global->ciao_svnt_header_template_ending (),
+ base_name_only,
+ false,
+ true);
+}
+
+const char *
BE_GlobalData::be_get_implementation_hdr (UTL_String *idl_file_name,
bool base_name_only)
{
@@ -2569,18 +2592,6 @@ BE_GlobalData::gen_conn_export_hdr_file (bool val)
}
bool
-BE_GlobalData::gen_lem_force_all (void) const
-{
- return this->gen_lem_force_all_;
-}
-
-void
-BE_GlobalData::gen_lem_force_all (bool val)
-{
- this->gen_lem_force_all_ = val;
-}
-
-bool
BE_GlobalData::alt_mapping (void) const
{
return this->alt_mapping_;
@@ -3308,10 +3319,6 @@ BE_GlobalData::parse_args (long &i, char **av)
{
be_global->gen_ciao_exec_idl (true);
}
- else if (av[i][3] == 'f' && av[i][4] == 'a')
- {
- be_global->gen_lem_force_all (true);
- }
else
{
ACE_ERROR ((
diff --git a/TAO/TAO_IDL/be/be_interface.cpp b/TAO/TAO_IDL/be/be_interface.cpp
index 799dd96221d..57aa73db6d6 100644
--- a/TAO/TAO_IDL/be/be_interface.cpp
+++ b/TAO/TAO_IDL/be/be_interface.cpp
@@ -2834,200 +2834,6 @@ Facet_Op_Attr_Helper::emit (be_interface * /*derived_interface */,
// ================================================================
int
-be_interface::gen_facet_svnt_hdr (be_visitor *visitor,
- TAO_OutStream &os)
-{
- // No '_cxx_' prefix>
- const char *lname =
- this->original_local_name ()->get_string ();
-
- be_decl *scope =
- be_scope::narrow_from_scope (this->defined_in ())->decl ();
- ACE_CString suffix (scope->flat_name ());
-
- ACE_CString export_macro (be_global->svnt_export_macro ());
-
- if (export_macro == "")
- {
- export_macro = be_global->skel_export_macro ();
- }
-
- if (suffix != "")
- {
- suffix = ACE_CString ("_") + suffix;
- }
-
- os << be_nl_2
- << "namespace CIAO_FACET" << suffix.c_str () << be_nl
- << "{" << be_idt_nl;
-
- os << "class " << export_macro.c_str () << " " << lname << "_Servant" << be_idt_nl
- << ": public virtual " << this->full_skel_name () << be_uidt_nl
- << "{" << be_nl
- << "public:" << be_idt_nl;
-
- AST_Decl *s = ScopeAsDecl (this->defined_in ());
- ACE_CString sname_str (s->full_name ());
- const char *sname = sname_str.c_str ();
- const char *global = (sname_str == "" ? "" : "::");
-
- os << lname << "_Servant (" << be_idt_nl
- << global << sname << "::CCM_"
- << lname << "_ptr executor," << be_nl
- << "::Components::CCMContext_ptr ctx);" << be_uidt_nl << be_nl;
-
- os << "virtual ~" << lname << "_Servant (void);";
-
- this->insert_queue.reset ();
- this->del_queue.reset ();
- this->insert_queue.enqueue_tail (this);
-
- Facet_Op_Attr_Helper helper (visitor);
-
- int status =
- this->traverse_inheritance_graph (helper,
- &os,
- false,
- false);
-
- if (status == -1)
- {
- ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT ("be_interface::")
- ACE_TEXT ("gen_facet_svnt_hdr - ")
- ACE_TEXT ("traverse_inheritance_graph() ")
- ACE_TEXT ("failed\n")),
- -1);
- }
-
- os << be_nl_2 << "// Get component implementation." << be_nl
- << "virtual CORBA::Object_ptr _get_component (void);"
- << be_uidt_nl << be_nl;
-
- os << "protected:" << be_idt_nl;
-
- os << "// Facet executor." << be_nl
- << global << sname << "::CCM_"
- << lname << "_var executor_;" << be_nl_2;
-
- os << "// Context object." << be_nl
- << "::Components::CCMContext_var ctx_;" << be_uidt_nl;
-
- os << "};" << be_nl_2;
-
- os << be_uidt_nl
- << "}";
-
- return 0;
-}
-
-int
-be_interface::gen_facet_svnt_src (be_visitor *visitor,
- TAO_OutStream &os)
-{
- // No '_cxx_' prefix.
- const char *lname =
- this->original_local_name ()->get_string ();
-
- be_decl *scope =
- be_scope::narrow_from_scope (this->defined_in ())->decl ();
-
- ACE_CString sname_str (scope->full_name ());
-
- const char *sname = sname_str.c_str ();
- const char *global = (sname_str == "" ? "" : "::");
-
- ACE_CString suffix (scope->flat_name ());
-
- if (suffix != "")
- {
- suffix = ACE_CString ("_") + suffix;
- }
-
- os << be_nl_2
- << "namespace CIAO_FACET" << suffix.c_str () << be_nl
- << "{" << be_idt_nl;
-
- os << lname << "_Servant::"
- << lname << "_Servant (" << be_idt << be_idt_nl
- << global << sname << "::CCM_"
- << lname << "_ptr executor," << be_nl
- << "::Components::CCMContext_ptr ctx)" << be_uidt_nl
- << ": executor_ ( " << global << sname
- << "::CCM_" << lname
- << "::_duplicate (executor))," << be_idt_nl
- << "ctx_ ( ::Components::CCMContext::_duplicate (ctx))"
- << be_uidt << be_uidt_nl
- << "{" << be_nl
- << "}";
-
- os << be_nl_2
- << lname << "_Servant::~"
- << lname << "_Servant (void)" << be_nl
- << "{" << be_nl
- << "}";
-
- os << be_nl_2
- << "// All facet operations and attributes.";
-
- /// The overload of traverse_inheritance_graph() used here
- /// doesn't automatically prime the queues.
- this->insert_queue.reset ();
- this->del_queue.reset ();
- this->insert_queue.enqueue_tail (this);
-
- Facet_Op_Attr_Helper op_attr_gen (visitor);
-
- int status =
- this->traverse_inheritance_graph (op_attr_gen,
- &os,
- false,
- false);
-
- if (status == -1)
- {
- ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT ("be_interface::")
- ACE_TEXT ("gen_facet_svnt_src - ")
- ACE_TEXT ("traverse_inheritance_graph() ")
- ACE_TEXT ("failed\n")),
- -1);
- }
-
- os << be_nl_2
- << "::CORBA::Object_ptr" << be_nl
- << lname << "_Servant::_get_component (void)"
- << be_nl
- << "{" << be_idt_nl
- << "::Components::" << be_global->ciao_container_type ()
- << "Context_var sc =" << be_idt_nl
- << "::Components::" << be_global->ciao_container_type ()
- << "Context::_narrow (this->ctx_.in ());"
- << be_uidt_nl << be_nl
- << "if (! ::CORBA::is_nil (sc.in ()))" << be_idt_nl
- << "{" << be_idt_nl;
-
- if (ACE_OS::strcmp (be_global->ciao_container_type (), "Session") == 0)
- {
- os << "return sc->get_CCM_object ();";
- }
- else
- {
- os << "return ::CORBA::Object::_nil ();";
- }
-
- os << be_uidt_nl << "}" << be_uidt_nl << be_nl;
-
- os << "throw ::CORBA::INTERNAL ();" << be_uidt_nl
- << "}";
-
- os << be_uidt_nl
- << "}";
-
- return 0;
-}
-
-int
be_interface::gen_ami4ccm_idl (TAO_OutStream *os)
{
if (this->ami4ccm_ex_idl_gen ())
diff --git a/TAO/TAO_IDL/be/be_provides.cpp b/TAO/TAO_IDL/be/be_provides.cpp
index 938c66559b4..0d4fd18ff2f 100644
--- a/TAO/TAO_IDL/be/be_provides.cpp
+++ b/TAO/TAO_IDL/be/be_provides.cpp
@@ -46,171 +46,7 @@ be_provides::provides_type (void) const
this->AST_Provides::provides_type ());
}
-int
-be_provides::gen_facet_svnt_tmpl_decl (TAO_OutStream &os)
-{
- be_type *impl =
- be_type::narrow_from_decl (this->provides_type ());
-
- if (impl->is_local () || impl->svnt_hdr_facet_gen ())
- {
- return 0;
- }
-
- const char *lname =
- impl->local_name ()->get_string ();
-
- be_decl *scope =
- be_scope::narrow_from_scope (impl->defined_in ())->decl ();
- ACE_CString suffix (scope->flat_name ());
-
- if (suffix != "")
- {
- suffix = ACE_CString ("_") + suffix;
- }
-
- os << be_nl_2
- << "namespace CIAO_FACET" << suffix.c_str () << be_nl
- << "{" << be_idt_nl;
-
- bool is_intf = impl->node_type () == AST_Decl::NT_interface;
-
- os << "template <typename BASE, typename EXEC, typename CONTEXT>" << be_nl
- << "class " << lname << "_Servant_T" << be_idt_nl
- << ": public virtual ::CIAO::Facet_Servant_Base_T<BASE, EXEC, "
- << "CONTEXT>" << be_uidt_nl << "{" << be_nl
- << "public:" << be_idt_nl;
-
- AST_Decl *s = ScopeAsDecl (impl->defined_in ());
- ACE_CString sname_str (s->full_name ());
-
- os << lname << "_Servant_T (" << be_idt_nl
- << "typename EXEC::_ptr_type executor," << be_nl
- << "::Components::CCMContext_ptr ctx);" << be_uidt_nl << be_nl;
-
- os << "virtual ~" << lname << "_Servant_T (void);";
-
- if (is_intf)
- {
- be_interface *intf =
- be_interface::narrow_from_decl (impl);
-
- be_global->in_facet_servant (true);
-
- int status =
- intf->traverse_inheritance_graph (
- be_interface::op_attr_decl_helper,
- &os);
-
- be_global->in_facet_servant (false);
-
- if (status == -1)
- {
- ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT ("be_provides::gen_facet - ")
- ACE_TEXT ("traverse_inheritance_graph()")
- ACE_TEXT (" failed\n")),
- -1);
- }
- }
-
- os << be_uidt_nl << "};" << be_nl << be_uidt_nl;
-
- os << "}";
-
- impl->svnt_hdr_facet_gen (true);
- return 0;
-}
-
-int
-be_provides::gen_facet_svnt_tmpl_defn (TAO_OutStream &os)
-{
- be_type *impl =
- be_type::narrow_from_decl (this->provides_type ());
-
- if (impl->is_local () || impl->svnt_src_facet_gen ())
- {
- return 0;
- }
-
- const char *lname =
- impl->local_name ()->get_string ();
-
- be_decl *scope =
- be_scope::narrow_from_scope (impl->defined_in ())->decl ();
-
- ACE_CString sname_str (scope->full_name ());
-
- const char *global = (sname_str == "" ? "" : "::");
-
- ACE_CString suffix (scope->flat_name ());
-
- if (suffix != "")
- {
- suffix = ACE_CString ("_") + suffix;
- }
-
- os << be_nl_2
- << "namespace CIAO_FACET" << suffix.c_str () << be_nl
- << "{" << be_idt_nl;
-
- os << "template <typename BASE, typename EXEC, typename CONTEXT>" << be_nl
- << lname << "_Servant_T<BASE, EXEC, CONTEXT>::"
- << lname << "_Servant_T (" << be_idt << be_idt_nl
- << "typename EXEC::_ptr_type executor," << be_nl
- << "::Components::CCMContext_ptr ctx)" << be_uidt_nl
- << ": " << global << "CIAO::Facet_Servant_Base_T<BASE, EXEC, "
- << "CONTEXT> (executor, ctx)"
- << be_uidt_nl
- << "{" << be_nl
- << "}";
-
- os << be_nl_2 << "template <typename BASE, typename EXEC, typename CONTEXT>" << be_nl
- << lname << "_Servant_T<BASE, EXEC, CONTEXT>::~"
- << lname << "_Servant_T (void)" << be_nl
- << "{" << be_nl
- << "}";
-
- bool is_intf = impl->node_type () == AST_Decl::NT_interface;
-
- if (is_intf)
- {
- be_interface *op_scope =
- be_interface::narrow_from_decl (impl);
-
- os << be_nl_2
- << "// All facet operations and attributes.";
-
- /// The overload of traverse_inheritance_graph() used here
- /// doesn't automatically prime the queues.
- op_scope->get_insert_queue ().reset ();
- op_scope->get_del_queue ().reset ();
- op_scope->get_insert_queue ().enqueue_tail (op_scope);
-
- be_facet_op_attr_defn_helper helper (op_scope);
-
- int status =
- op_scope->traverse_inheritance_graph (helper,
- &os,
- false,
- false);
-
- if (status == -1)
- {
- ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT ("be_provides::")
- ACE_TEXT ("gen_facet_svnt_defn - ")
- ACE_TEXT ("traverse_inheritance_graph() ")
- ACE_TEXT ("failed\n")),
- -1);
- }
- }
-
- os << be_uidt_nl << "}";
-
- impl->svnt_src_facet_gen (true);
- return 0;
-}
+IMPL_NARROW_FROM_DECL (be_provides)
int
be_provides::accept (be_visitor *visitor)
@@ -225,94 +61,3 @@ be_provides::destroy (void)
this->be_field::destroy ();
}
-IMPL_NARROW_FROM_DECL (be_provides)
-
-// ********************************************
-
-be_facet_op_attr_defn_helper::be_facet_op_attr_defn_helper (
- be_interface *op_scope)
- : op_scope_ (op_scope)
-{
-}
-
-int
-be_facet_op_attr_defn_helper::emit (be_interface * /* derived_interface */,
- TAO_OutStream *os,
- be_interface *base_interface)
-{
- AST_Decl::NodeType nt = base_interface->node_type ();
-
- if (nt == AST_Decl::NT_component || nt == AST_Decl::NT_connector)
- {
- return 0;
- }
-
- be_visitor_context ctx;
- ctx.stream (os);
- ctx.state (TAO_CodeGen::TAO_ROOT_SVTS);
-
- for (UTL_ScopeActiveIterator i (base_interface, UTL_Scope::IK_decls);
- !i.is_done ();
- i.next ())
- {
- AST_Decl *d = i.item ();
- AST_Decl::NodeType nt = d->node_type ();
-
- switch (nt)
- {
- case AST_Decl::NT_op:
- {
- be_operation *op =
- be_operation::narrow_from_decl (d);
-
- /// If AMI implied IDL was generated for the
- /// original interface, we don't want those
- /// extra operations in the facet servant.
- if (op->is_sendc_ami ())
- {
- continue;
- }
-
- be_visitor_operation_svs v (&ctx);
- v.scope (op_scope_);
-
- if (v.visit_operation (op) == -1)
- {
- ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT ("be_facet_op_attr_defn_helper")
- ACE_TEXT ("::emit - ")
- ACE_TEXT ("visit_operation() failed\n")),
- -1);
- }
-
- break;
- }
- case AST_Decl::NT_attr:
- {
- be_attribute *attr =
- be_attribute::narrow_from_decl (d);
-
- be_visitor_attribute v (&ctx);
- v.op_scope (op_scope_);
-
- if (v.visit_attribute (attr) == -1)
- {
- ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT ("be_facet_op_attr_defn_helper")
- ACE_TEXT ("::emit - ")
- ACE_TEXT ("visit_attribute() failed\n")),
- -1);
- }
-
- break;
- }
- default:
- continue;
- }
- }
-
- return 0;
-}
-
-// ********************************************
-
diff --git a/TAO/TAO_IDL/be/be_util.cpp b/TAO/TAO_IDL/be/be_util.cpp
index 4c5f786e8a1..6dc75e4fbea 100644
--- a/TAO/TAO_IDL/be/be_util.cpp
+++ b/TAO/TAO_IDL/be/be_util.cpp
@@ -668,11 +668,6 @@ be_util::usage (void)
));
ACE_DEBUG ((
LM_DEBUG,
- ACE_TEXT (" -Glfa\t\t\tgenerate executor IDL for all facets ")
- ACE_TEXT ("(only for facet interfaces in main file by default)\n")
- ));
- ACE_DEBUG ((
- LM_DEBUG,
ACE_TEXT (" -Gex\t\t\tgenerate CIAO executor implementation ")
ACE_TEXT ("code (not generated by default)\n")
));
@@ -693,11 +688,6 @@ be_util::usage (void)
));
ACE_DEBUG ((
LM_DEBUG,
- ACE_TEXT (" -Gsc\t\t\tgenerate CIAO code for static ")
- ACE_TEXT ("configuration (not generated by default)\n")
- ));
- ACE_DEBUG ((
- LM_DEBUG,
ACE_TEXT (" -Gxhst\t\t\tgenerate export header file ")
ACE_TEXT ("for stub (not generated by default)\n")
));
diff --git a/TAO/TAO_IDL/be/be_visitor_component.cpp b/TAO/TAO_IDL/be/be_visitor_component.cpp
index ac735c69cb9..75ed4b7d945 100644
--- a/TAO/TAO_IDL/be/be_visitor_component.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_component.cpp
@@ -66,15 +66,14 @@
#include "be_visitor_component/component.cpp"
#include "be_visitor_component/component_svh.cpp"
-#include "be_visitor_component/facet_svth.cpp"
-#include "be_visitor_component/context_svh.cpp"
+#include "be_visitor_component/component_svth.cpp"
+#include "be_visitor_component/context_svth.cpp"
#include "be_visitor_component/servant_svh.cpp"
#include "be_visitor_component/component_svs.cpp"
-#include "be_visitor_component/facet_svts.cpp"
-#include "be_visitor_component/context_svs.cpp"
+#include "be_visitor_component/component_svts.cpp"
+#include "be_visitor_component/context_svts.cpp"
#include "be_visitor_component/servant_svs.cpp"
#include "be_visitor_component/component_ex_idl.cpp"
-#include "be_visitor_component/facet_ex_idl.cpp"
#include "be_visitor_component/executor_ex_idl.cpp"
#include "be_visitor_component/context_ex_idl.cpp"
#include "be_visitor_component/component_exh.cpp"
@@ -88,4 +87,3 @@
#include "be_visitor_component/component_ami_rh_ex_base.cpp"
#include "be_visitor_component/component_ami_rh_exh.cpp"
#include "be_visitor_component/component_ami_rh_exs.cpp"
-
diff --git a/TAO/TAO_IDL/be/be_visitor_component/component_ex_idl.cpp b/TAO/TAO_IDL/be/be_visitor_component/component_ex_idl.cpp
index 1d401a243f7..5e783ea0ab0 100644
--- a/TAO/TAO_IDL/be/be_visitor_component/component_ex_idl.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_component/component_ex_idl.cpp
@@ -32,20 +32,6 @@ be_visitor_component_ex_idl::visit_component (
return 0;
}
- if (be_global->gen_lem_force_all ())
- {
- be_visitor_facet_ex_idl facet_visitor (this->ctx_);
-
- if (facet_visitor.visit_scope (node) == -1)
- {
- ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT ("be_visitor_component_ex_idl::")
- ACE_TEXT ("visit_component - ")
- ACE_TEXT ("facet visitor failed\n")),
- -1);
- }
- }
-
be_util::gen_nesting_open (os_, node);
be_visitor_executor_ex_idl exec_visitor (this->ctx_);
diff --git a/TAO/TAO_IDL/be/be_visitor_component/component_svh.cpp b/TAO/TAO_IDL/be/be_visitor_component/component_svh.cpp
index b6a57eaacd2..588485a2307 100644
--- a/TAO/TAO_IDL/be/be_visitor_component/component_svh.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_component/component_svh.cpp
@@ -54,17 +54,17 @@ be_visitor_component_svh::visit_component (be_component *node)
<< "_Impl" << be_nl
<< "{" << be_idt;
- // Generate the context class declaration.
- be_visitor_context_svh context_visitor (this->ctx_);
-
- if (context_visitor.visit_component (node) == -1)
- {
- ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT ("be_visitor_component_svh::")
- ACE_TEXT ("visit_component - ")
- ACE_TEXT ("context visitor failed\n")),
- -1);
- }
+// // Generate the context class declaration.
+// be_visitor_context_svth context_visitor (this->ctx_);
+//
+// if (context_visitor.visit_component (node) == -1)
+// {
+// ACE_ERROR_RETURN ((LM_ERROR,
+// ACE_TEXT ("be_visitor_component_svh::")
+// ACE_TEXT ("visit_component - ")
+// ACE_TEXT ("context visitor failed\n")),
+// -1);
+// }
// Generate the servant class declaration.
be_visitor_servant_svh servant_visitor (this->ctx_);
diff --git a/TAO/TAO_IDL/be/be_visitor_component/component_svs.cpp b/TAO/TAO_IDL/be/be_visitor_component/component_svs.cpp
index 3248f0e7a88..002a3cf7671 100644
--- a/TAO/TAO_IDL/be/be_visitor_component/component_svs.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_component/component_svs.cpp
@@ -50,16 +50,16 @@ be_visitor_component_svs::visit_component (be_component *node)
<< "_Impl" << be_nl
<< "{" << be_idt;
- be_visitor_context_svs context_visitor (this->ctx_);
-
- if (context_visitor.visit_component (node) == -1)
- {
- ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT ("be_visitor_component_svs::")
- ACE_TEXT ("visit_component - ")
- ACE_TEXT ("context visitor failed\n")),
- -1);
- }
+// be_visitor_context_svts context_visitor (this->ctx_);
+
+// if (context_visitor.visit_component (node) == -1)
+// {
+// ACE_ERROR_RETURN ((LM_ERROR,
+// ACE_TEXT ("be_visitor_component_svs::")
+// ACE_TEXT ("visit_component - ")
+// ACE_TEXT ("context visitor failed\n")),
+// -1);
+// }
be_visitor_servant_svs servant_visitor (this->ctx_);
diff --git a/TAO/TAO_IDL/be/be_visitor_component/component_svth.cpp b/TAO/TAO_IDL/be/be_visitor_component/component_svth.cpp
new file mode 100644
index 00000000000..18fb371660a
--- /dev/null
+++ b/TAO/TAO_IDL/be/be_visitor_component/component_svth.cpp
@@ -0,0 +1,90 @@
+
+//=============================================================================
+/**
+ * @file component_svth.cpp
+ *
+ * $Id$
+ *
+ * Visitor generating code for Components in the servant header.
+ *
+ *
+ * @author Marcel Smit
+ */
+//=============================================================================
+
+// ******************************************************
+// Component visitor for server header
+// ******************************************************
+be_visitor_component_svth::be_visitor_component_svth (be_visitor_context *ctx)
+ : be_visitor_component (ctx),
+ os_ (*ctx->stream ()),
+ export_macro_ (be_global->svnt_export_macro ())
+{
+ /// All existing CIAO examples set the servant export values in the CIDL
+ /// compiler to equal the IDL compiler's skel export values. Below is a
+ /// partial effort to decouple them, should be completely decoupled
+ /// sometime. See comment in codegen.cpp, line 1173.
+ if (export_macro_ == "")
+ {
+ export_macro_ = be_global->skel_export_macro ();
+ }
+}
+
+be_visitor_component_svth::~be_visitor_component_svth (void)
+{
+}
+
+int
+be_visitor_component_svth::visit_component (be_component *node)
+{
+ if (node->imported ())
+ {
+ return 0;
+ }
+
+ /// Fills in the node's has_* members, for use in minimizing
+ /// code generation.
+ node->scan (node);
+
+ /// CIDL-generated namespace used 'CIDL_' + composition name.
+ /// Now we use 'CIAO_' + component's flat name.
+ os_ << be_nl_2
+ << "namespace CIAO_" << node->flat_name ()
+ << "_Impl" << be_nl
+ << "{" << be_idt;
+
+ // Generate the context class declaration.
+ be_visitor_context_svth context_visitor (this->ctx_);
+
+ if (context_visitor.visit_component (node) == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("be_visitor_component_svth::")
+ ACE_TEXT ("visit_component - ")
+ ACE_TEXT ("context visitor failed\n")),
+ -1);
+ }
+// // Generate the servant class declaration.
+// be_visitor_servant_svh servant_visitor (this->ctx_);
+//
+// if (servant_visitor.visit_component (node) == -1)
+// {
+// ACE_ERROR_RETURN ((LM_ERROR,
+// ACE_TEXT ("be_visitor_component_svth::")
+// ACE_TEXT ("visit_component - ")
+// ACE_TEXT ("servant visitor failed\n")),
+// -1);
+// }
+//
+ os_ << be_uidt_nl
+ << "}";
+
+ return 0;
+}
+
+int
+be_visitor_component_svth::visit_connector (be_connector *node)
+{
+ return this->visit_component (node);
+}
+
diff --git a/TAO/TAO_IDL/be/be_visitor_component/component_svts.cpp b/TAO/TAO_IDL/be/be_visitor_component/component_svts.cpp
new file mode 100644
index 00000000000..60f17246ed7
--- /dev/null
+++ b/TAO/TAO_IDL/be/be_visitor_component/component_svts.cpp
@@ -0,0 +1,86 @@
+
+//=============================================================================
+/**
+ * @file component_svts.cpp
+ *
+ * $Id$
+ *
+ * Visitor generating code for Components in the templated servant source.
+ *
+ *
+ * @author Marcel Smit
+ */
+//=============================================================================
+
+// ******************************************************
+// Component visitor for servant source
+// ******************************************************
+
+be_visitor_component_svts::be_visitor_component_svts (be_visitor_context *ctx)
+ : be_visitor_component (ctx),
+ os_ (*ctx->stream ()),
+ export_macro_ (be_global->svnt_export_macro ())
+{
+ /// All existing CIAO examples set the servant export values in the CIDL
+ /// compiler to equal the IDL compiler's skel export values. Below is a
+ /// partial effort to decouple them, should be completely decoupled
+ /// sometime. See comment in codegen.cpp, line 1173.
+ if (export_macro_ == "")
+ {
+ export_macro_ = be_global->skel_export_macro ();
+ }
+}
+
+be_visitor_component_svts::~be_visitor_component_svts (void)
+{
+}
+
+int
+be_visitor_component_svts::visit_component (be_component *node)
+{
+ if (node->imported ())
+ {
+ return 0;
+ }
+
+ /// CIDL-generated namespace used 'CIDL_' + composition name.
+ /// Now we use 'CIAO_' + component's flat name.
+ os_ << be_nl_2
+ << "namespace CIAO_" << node->flat_name ()
+ << "_Impl" << be_nl
+ << "{" << be_idt;
+
+ be_visitor_context_svts context_visitor (this->ctx_);
+
+ if (context_visitor.visit_component (node) == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("be_visitor_component_svts::")
+ ACE_TEXT ("visit_component - ")
+ ACE_TEXT ("context visitor failed\n")),
+ -1);
+ }
+
+// be_visitor_servant_svs servant_visitor (this->ctx_);
+//
+// if (servant_visitor.visit_component (node) == -1)
+// {
+// ACE_ERROR_RETURN ((LM_ERROR,
+// ACE_TEXT ("be_visitor_component_svts::")
+// ACE_TEXT ("visit_component - ")
+// ACE_TEXT ("servant visitor failed\n")),
+// -1);
+// }
+//
+ os_ << be_uidt_nl
+ << "}";
+//
+ return 0;
+}
+
+int
+be_visitor_component_svts::visit_connector (be_connector *node)
+{
+ return this->visit_component (node);
+}
+
diff --git a/TAO/TAO_IDL/be/be_visitor_component/context_svh.cpp b/TAO/TAO_IDL/be/be_visitor_component/context_svth.cpp
index f3615ad1be2..c5d52ccbf38 100644
--- a/TAO/TAO_IDL/be/be_visitor_component/context_svh.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_component/context_svth.cpp
@@ -12,18 +12,19 @@
* @author Jeff Parsons
*/
//=============================================================================
+#include <be_helper.h>
-be_visitor_context_svh::be_visitor_context_svh (be_visitor_context *ctx)
+be_visitor_context_svth::be_visitor_context_svth (be_visitor_context *ctx)
: be_visitor_component_scope (ctx)
{
}
-be_visitor_context_svh::~be_visitor_context_svh (void)
+be_visitor_context_svth::~be_visitor_context_svth (void)
{
}
int
-be_visitor_context_svh::visit_component (be_component *node)
+be_visitor_context_svth::visit_component (be_component *node)
{
// This visitor is spawned by be_visitor_component_svh,
// which already does a check for imported node, so none
@@ -44,14 +45,27 @@ be_visitor_context_svh::visit_component (be_component *node)
<< "class " << lname << "_Servant;"
<< be_nl_2;
- os_ << "class " << export_macro_.c_str () << " " << lname
- << "_Context" << be_idt_nl
- << ": public virtual ::CIAO::"
- << be_global->ciao_container_type ()
- << "_Context_Impl<" << be_idt << be_idt_nl
- << global << sname << "::CCM_" << lname
- << "_Context," << be_nl
- << "::" << node->name () << ">" << be_uidt << be_uidt << be_uidt_nl
+
+ os_ << "template <typename CONTAINER_TYPE, typename BASE>" << be_nl;
+
+ os_ << "class " << lname << "_Context_T" << be_idt_nl;
+ // Spec: no multiple inheritance allowed for components.
+ AST_Component * base = node->base_component ();
+ if (base)
+ {
+ const char *lbase_name =
+ base->original_local_name ()->get_string ();
+
+ os_ << ": public " << global << "CIAO_" << base->flat_name ()
+ << "_Impl::" << lbase_name << "_Context_T<CONTAINER_TYPE, BASE>";
+ }
+ else
+ {
+ os_ << ": public BASE";
+ }
+
+
+ os_ << be_uidt_nl
<< "{" << be_nl
<< "public:" << be_idt_nl;
@@ -59,18 +73,18 @@ be_visitor_context_svh::visit_component (be_component *node)
<< "friend class " << lname << "_Servant;"
<< be_nl_2;
- os_ << "/// Some useful typedefs." << be_nl
- << "typedef" << be_nl
- << "::CIAO::" << be_global->ciao_container_type ()
- << "_Context_Impl<" << be_idt << be_idt_nl
- << global << sname << "::CCM_"
- << lname << "_Context," << be_nl
- << "::" << node->name () << ">" << be_uidt_nl
- << "base_type;" << be_uidt_nl << be_nl;
-
- os_ << "typedef base_type::context_type context_type;" << be_nl
- << "typedef base_type::component_type component_type;"
- << be_nl;
+// os_ << "/// Some useful typedefs." << be_nl
+// << "typedef" << be_nl
+// << "::CIAO::" << be_global->ciao_container_type ()
+// << "_Context_Impl_T<" << be_idt << be_idt_nl
+// << global << sname << "::CCM_"
+// << lname << "_Context," << be_nl
+// << "::" << node->name () << ">" << be_uidt_nl
+// << "base_type;" << be_uidt_nl << be_nl;
+//
+// os_ << "typedef base_type::context_type context_type;" << be_nl
+// << "typedef base_type::component_type component_type;"
+// << be_nl;
AST_Decl::NodeType nt = this->node_->node_type ();
bool const is_connector = (nt == AST_Decl::NT_connector);
@@ -90,14 +104,13 @@ be_visitor_context_svh::visit_component (be_component *node)
<< (de_facto ? "Connector_" : "")
<< "Servant_Impl_Base svnt_base_type;" << be_nl_2;
- os_ << lname << "_Context (" << be_idt_nl
+ os_ << lname << "_Context_T (" << be_idt_nl
<< "::Components::CCMHome_ptr h," << be_nl
- << "::CIAO::" << be_global->ciao_container_type ()
- << "_Container_ptr c," << be_nl
+ << "typename CONTAINER_TYPE::_ptr_type c," << be_nl
<< "PortableServer::Servant sv," << be_nl
- << "const char *id);" << be_uidt_nl << be_nl;
+ << "const char *id);" << be_uidt << be_nl_2;
- os_ << "virtual ~" << lname << "_Context (void);";
+ os_ << "virtual ~" << lname << "_Context_T (void);";
os_ << be_nl_2
<< "/** @name Operations and members for " << lname
@@ -108,13 +121,13 @@ be_visitor_context_svh::visit_component (be_component *node)
<< be_nl
<< "//@{";
- if (this->visit_component_scope (node) == -1)
+ if (this->visit_scope (node) == -1)
{
ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT ("be_visitor_context_svh")
- ACE_TEXT ("::visit_component - ")
- ACE_TEXT ("visit_component_scope() ")
- ACE_TEXT ("failed\n")),
+ ACE_TEXT ("be_visitor_context_svth")
+ ACE_TEXT ("::visit_component - ")
+ ACE_TEXT ("visit_component_scope() ")
+ ACE_TEXT ("failed\n")),
-1);
}
@@ -127,13 +140,13 @@ be_visitor_context_svh::visit_component (be_component *node)
}
int
-be_visitor_context_svh::visit_connector (be_connector *node)
+be_visitor_context_svth::visit_connector (be_connector *node)
{
return this->visit_component (node);
}
int
-be_visitor_context_svh::visit_uses (be_uses *node)
+be_visitor_context_svth::visit_uses (be_uses *node)
{
ACE_CString prefix (this->ctx_->port_prefix ());
prefix += node->local_name ()->get_string ();
@@ -205,7 +218,7 @@ be_visitor_context_svh::visit_uses (be_uses *node)
}
int
-be_visitor_context_svh::visit_publishes (be_publishes *node)
+be_visitor_context_svth::visit_publishes (be_publishes *node)
{
const char *obj_name = node->publishes_type ()->full_name ();
const char *port_name = node->local_name ()->get_string ();
@@ -244,7 +257,7 @@ be_visitor_context_svh::visit_publishes (be_publishes *node)
}
int
-be_visitor_context_svh::visit_emits (be_emits *node)
+be_visitor_context_svth::visit_emits (be_emits *node)
{
const char *obj_name = node->emits_type ()->full_name ();
const char *port_name = node->local_name ()->get_string ();
@@ -274,5 +287,3 @@ be_visitor_context_svh::visit_emits (be_emits *node)
return 0;
}
-
-
diff --git a/TAO/TAO_IDL/be/be_visitor_component/context_svs.cpp b/TAO/TAO_IDL/be/be_visitor_component/context_svts.cpp
index 418165944e4..22c115bc26c 100644
--- a/TAO/TAO_IDL/be/be_visitor_component/context_svs.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_component/context_svts.cpp
@@ -12,18 +12,19 @@
* @author Jeff Parsons
*/
//=============================================================================
+#include <be_helper.h>
-be_visitor_context_svs::be_visitor_context_svs (be_visitor_context *ctx)
+be_visitor_context_svts::be_visitor_context_svts (be_visitor_context *ctx)
: be_visitor_component_scope (ctx)
{
}
-be_visitor_context_svs::~be_visitor_context_svs (void)
+be_visitor_context_svts::~be_visitor_context_svts (void)
{
}
int
-be_visitor_context_svs::visit_component (be_component *node)
+be_visitor_context_svts::visit_component (be_component *node)
{
// This visitor is spawned by be_visitor_component_svh,
// which already does a check for imported node, so none
@@ -33,44 +34,55 @@ be_visitor_context_svs::visit_component (be_component *node)
AST_Decl *scope = ScopeAsDecl (node->defined_in ());
ACE_CString sname_str (scope->full_name ());
- const char *sname = sname_str.c_str ();
const char *lname = node_->local_name ();
const char *global = (sname_str == "" ? "" : "::");
os_ << be_nl
- << lname <<"_Context::" << lname << "_Context ("
+ << "template <typename CONTAINER_TYPE, typename BASE>" << be_nl
+ << lname <<"_Context_T<CONTAINER_TYPE, BASE>::"
+ << lname << "_Context_T ("
<< be_idt << be_idt_nl
<< "::Components::CCMHome_ptr h," << be_nl
- << "::CIAO::" << be_global->ciao_container_type ()
- << "_Container_ptr c," << be_nl
+ << "typename CONTAINER_TYPE::_ptr_type c," << be_nl
<< "PortableServer::Servant sv," << be_uidt_nl
<< "const char *id)" << be_uidt_nl
- << ": ::CIAO::Context_Impl_Base_T < ::CIAO::"
- << be_global->ciao_container_type () << "_Container> (h, c, id),"
- << be_idt_nl
- << "::CIAO::" << be_global->ciao_container_type ()
- << "_Context_Impl<" << be_idt_nl
- << global << sname << "::CCM_"
- << lname << "_Context," << be_nl
- << "::" << node->full_name () << "> (h, c, sv, id)";
+ << ": ::CIAO::Context_Impl_Base_T <CONTAINER_TYPE> (h, c, id),"
+ << be_idt_nl;
+
+ // Spec: no multiple inheritance allowed for components.
+ AST_Component * base = node->base_component ();
+ if (base)
+ {
+ const char *lbase_name =
+ base->original_local_name ()->get_string ();
+
+ os_ << global << "CIAO_" << base->flat_name ()
+ << "_Impl::" << lbase_name << "_Context_T<CONTAINER_TYPE, BASE>";
+ }
+ else
+ {
+ os_ << "BASE";
+ }
+ os_ << " (h, c, sv, id)";
- os_ << be_uidt << be_uidt_nl
+ os_ << be_uidt_nl
<< "{" << be_nl
<< "}";
os_ << be_nl_2
- << lname << "_Context::~"
- << lname << "_Context (void)" << be_nl
+ << "template <typename CONTAINER_TYPE, typename BASE>" << be_nl
+ << lname << "_Context_T<CONTAINER_TYPE, BASE>::~"
+ << lname << "_Context_T (void)" << be_nl
<< "{" << be_nl
<< "}";
- if (this->visit_component_scope (node) == -1)
+ if (this->visit_scope (node) == -1)
{
ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT ("be_visitor_context_svs")
- ACE_TEXT ("::visit_component - ")
- ACE_TEXT ("visit_component_scope() ")
- ACE_TEXT ("failed\n")),
+ ACE_TEXT ("be_visitor_context_svts")
+ ACE_TEXT ("::visit_component - ")
+ ACE_TEXT ("visit_component_scope() ")
+ ACE_TEXT ("failed\n")),
-1);
}
@@ -78,14 +90,15 @@ be_visitor_context_svs::visit_component (be_component *node)
}
int
-be_visitor_context_svs::visit_connector (be_connector *node)
+be_visitor_context_svts::visit_connector (be_connector *node)
{
return this->visit_component (node);
}
int
-be_visitor_context_svs::visit_uses (be_uses *node)
+be_visitor_context_svts::visit_uses (be_uses *node)
{
+
ACE_CString prefix (this->ctx_->port_prefix ());
prefix += node->local_name ()->get_string ();
const char *port_name = prefix.c_str ();
@@ -106,7 +119,7 @@ be_visitor_context_svs::visit_uses (be_uses *node)
}
int
-be_visitor_context_svs::visit_publishes (be_publishes *node)
+be_visitor_context_svts::visit_publishes (be_publishes *node)
{
AST_Type *obj = node->publishes_type ();
const char *port_name =
@@ -117,8 +130,9 @@ be_visitor_context_svs::visit_publishes (be_publishes *node)
ScopeAsDecl (obj->defined_in ())->full_name ());
os_ << be_nl_2
+ << "template <typename CONTAINER_TYPE, typename BASE>" << be_nl
<< "void" << be_nl
- << node_->local_name () << "_Context::push_"
+ << node_->local_name () << "_Context_T<CONTAINER_TYPE, BASE>::push_"
<< port_name << " (" << be_idt_nl
<< "::" << fname << " * ev)" << be_uidt_nl
<< "{" << be_idt_nl;
@@ -142,8 +156,9 @@ be_visitor_context_svs::visit_publishes (be_publishes *node)
<< "}";
os_ << be_nl_2
+ << "template <typename CONTAINER_TYPE, typename BASE>" << be_nl
<< "::Components::Cookie *" << be_nl
- << node_->local_name () << "_Context::subscribe_"
+ << node_->local_name () << "_Context_T<CONTAINER_TYPE, BASE>::subscribe_"
<< port_name << " (" << be_idt_nl
<< "::" << fname << "Consumer_ptr c)" << be_uidt_nl
<< "{" << be_idt_nl
@@ -189,8 +204,9 @@ be_visitor_context_svs::visit_publishes (be_publishes *node)
<< "}";
os_ << be_nl_2
+ << "template <typename CONTAINER_TYPE, typename BASE>" << be_nl
<< "::" << fname << "Consumer_ptr" << be_nl
- << node_->local_name () << "_Context::unsubscribe_"
+ << node_->local_name () << "_Context_T<CONTAINER_TYPE, BASE>::unsubscribe_"
<< port_name << " (" << be_idt_nl
<< "::Components::Cookie * ck)" << be_uidt_nl
<< "{" << be_idt_nl
@@ -239,7 +255,7 @@ be_visitor_context_svs::visit_publishes (be_publishes *node)
}
int
-be_visitor_context_svs::visit_emits (be_emits *node)
+be_visitor_context_svts::visit_emits (be_emits *node)
{
AST_Type *obj = node->emits_type ();
const char *port_name =
@@ -249,8 +265,9 @@ be_visitor_context_svs::visit_emits (be_emits *node)
const char *lname = obj->local_name ()->get_string ();
os_ << be_nl_2
+ << "template <typename CONTAINER_TYPE, typename BASE>" << be_nl
<< "void" << be_nl
- << node_->local_name () << "_Context::push_" << port_name
+ << node_->local_name () << "_Context_T<CONTAINER_TYPE, BASE>::push_" << port_name
<< " (" << be_idt_nl
<< "::" << fname << " * ev)" << be_uidt_nl
<< "{" << be_idt_nl
@@ -263,8 +280,9 @@ be_visitor_context_svs::visit_emits (be_emits *node)
<< "}";
os_ << be_nl_2
+ << "template <typename CONTAINER_TYPE, typename BASE>" << be_nl
<< "void" << be_nl
- << node_->local_name () << "_Context::connect_" << port_name
+ << node_->local_name () << "_Context_T<CONTAINER_TYPE, BASE>::connect_" << port_name
<< " (" << be_idt_nl
<< "::" << fname << "Consumer_ptr c)" << be_uidt_nl
<< "{" << be_idt_nl
@@ -284,8 +302,9 @@ be_visitor_context_svs::visit_emits (be_emits *node)
<< "}";
os_ << be_nl_2
+ << "template <typename CONTAINER_TYPE, typename BASE>" << be_nl
<< "::" << fname << "Consumer_ptr" << be_nl
- << node_->local_name () << "_Context::disconnect_"
+ << node_->local_name () << "_Context_T<CONTAINER_TYPE, BASE>::disconnect_"
<< port_name << " (void)" << be_nl
<< "{" << be_idt_nl
<< "::" << fname << "Consumer_var ciao_emits_" << port_name << " =" << be_idt_nl
@@ -303,14 +322,15 @@ be_visitor_context_svs::visit_emits (be_emits *node)
}
void
-be_visitor_context_svs::gen_uses_simplex (AST_Type *obj,
+be_visitor_context_svts::gen_uses_simplex (AST_Type *obj,
const char *port_name)
{
const char *fname = obj->full_name ();
os_ << be_nl_2
+ << "template <typename CONTAINER_TYPE, typename BASE>" << be_nl
<< "::" << fname << "_ptr" << be_nl
- << node_->local_name () << "_Context::get_connection_"
+ << node_->local_name () << "_Context_T<CONTAINER_TYPE, BASE>::get_connection_"
<< port_name << " (void)" << be_nl
<< "{" << be_idt_nl
<< "return ::" << fname << "::_duplicate (" << be_idt_nl
@@ -319,8 +339,9 @@ be_visitor_context_svs::gen_uses_simplex (AST_Type *obj,
<< "}";
os_ << be_nl_2
+ << "template <typename CONTAINER_TYPE, typename BASE>" << be_nl
<< "void" << be_nl
- << node_->local_name () << "_Context::connect_"
+ << node_->local_name () << "_Context_T<CONTAINER_TYPE, BASE>::connect_"
<< port_name << " (" << be_idt_nl
<< "::" << fname << "_ptr c)" << be_uidt_nl
<< "{" << be_idt_nl
@@ -339,8 +360,9 @@ be_visitor_context_svs::gen_uses_simplex (AST_Type *obj,
<< "}";
os_ << be_nl_2
+ << "template <typename CONTAINER_TYPE, typename BASE>" << be_nl
<< "::" << fname << "_ptr" << be_nl
- << node_->local_name () << "_Context::disconnect_"
+ << node_->local_name () << "_Context_T<CONTAINER_TYPE, BASE>::disconnect_"
<< port_name << " (void)" << be_nl
<< "{" << be_idt_nl
<< "::" << fname << "_var ciao_uses_" << port_name << " =" << be_idt_nl
@@ -356,16 +378,17 @@ be_visitor_context_svs::gen_uses_simplex (AST_Type *obj,
}
void
-be_visitor_context_svs::gen_uses_multiplex (
+be_visitor_context_svts::gen_uses_multiplex (
AST_Type *obj,
const char *port_name)
{
const char *fname = obj->full_name ();
os_ << be_nl_2
+ << "template <typename CONTAINER_TYPE, typename BASE>" << be_nl
<< "::" << node_->full_name () << "::" << port_name
<< "Connections *" << be_nl
- << node_->local_name () << "_Context::get_connections_"
+ << node_->local_name () << "_Context_T<CONTAINER_TYPE, BASE>::get_connections_"
<< port_name << " (void)" << be_nl
<< "{" << be_idt_nl;
@@ -407,8 +430,9 @@ be_visitor_context_svs::gen_uses_multiplex (
<< "}";
os_ << be_nl_2
+ << "template <typename CONTAINER_TYPE, typename BASE>" << be_nl
<< "::Components::Cookie *" << be_nl
- << node_->local_name () << "_Context::connect_"
+ << node_->local_name () << "_Context_T<CONTAINER_TYPE, BASE>::connect_"
<< port_name << " (" << be_idt_nl
<< "::" << fname << "_ptr c)" << be_uidt_nl
<< "{" << be_idt_nl
@@ -453,8 +477,9 @@ be_visitor_context_svs::gen_uses_multiplex (
<< "}";
os_ << be_nl_2
+ << "template <typename CONTAINER_TYPE, typename BASE>" << be_nl
<< "::" << fname << "_ptr" << be_nl
- << node_->local_name () << "_Context::disconnect_"
+ << node_->local_name () << "_Context_T<CONTAINER_TYPE, BASE>::disconnect_"
<< port_name << " (" << be_idt_nl
<< "::Components::Cookie * ck)" << be_uidt_nl
<< "{" << be_idt_nl
diff --git a/TAO/TAO_IDL/be/be_visitor_component/facet_ex_idl.cpp b/TAO/TAO_IDL/be/be_visitor_component/facet_ex_idl.cpp
deleted file mode 100644
index 5ec8c36f277..00000000000
--- a/TAO/TAO_IDL/be/be_visitor_component/facet_ex_idl.cpp
+++ /dev/null
@@ -1,55 +0,0 @@
-
-//=============================================================================
-/**
- * @file facet_ex_idl.cpp
- *
- * $Id$
- *
- * Visitor generating code for facets in the CIAO executor IDL.
- *
- *
- * @author Jeff Parsons
- */
-//=============================================================================
-
-be_visitor_facet_ex_idl::be_visitor_facet_ex_idl (
- be_visitor_context *ctx)
- : be_visitor_component_scope (ctx)
-{
-}
-
-be_visitor_facet_ex_idl::~be_visitor_facet_ex_idl (void)
-{
-}
-
-int
-be_visitor_facet_ex_idl::visit_provides (be_provides *node)
-{
- be_type *impl = node->provides_type ();
-
- if (impl->ex_idl_facet_gen ())
- {
- return 0;
- }
-
- be_util::gen_nesting_open (os_, impl);
-
- os_ << be_nl
- << "local interface CCM_"
- << impl->original_local_name ()->get_string ()
- << " : ::"
- << IdentifierHelper::orig_sn (impl->name ()).c_str ()
- << be_nl
- << "{" << be_idt;
-
- os_ << be_uidt_nl
- << "};";
-
- be_util::gen_nesting_close (os_, impl);
-
- impl->ex_idl_facet_gen (true);
-
- return 0;
-}
-
-
diff --git a/TAO/TAO_IDL/be/be_visitor_component/facet_svth.cpp b/TAO/TAO_IDL/be/be_visitor_component/facet_svth.cpp
deleted file mode 100644
index 8bfe0c7b184..00000000000
--- a/TAO/TAO_IDL/be/be_visitor_component/facet_svth.cpp
+++ /dev/null
@@ -1,52 +0,0 @@
-
-//=============================================================================
-/**
- * @file facet_svth.cpp
- *
- * $Id$
- *
- * Visitor generating code for a facet servant class in the
- * servant header.
- *
- *
- * @author Jeff Parsons
- */
-//=============================================================================
-
-be_visitor_facet_svth::be_visitor_facet_svth (be_visitor_context *ctx)
- : be_visitor_component_scope (ctx)
-{
-}
-
-be_visitor_facet_svth::~be_visitor_facet_svth (void)
-{
-}
-
-int
-be_visitor_facet_svth::visit_provides (be_provides *node)
-{
- if (node->gen_facet_svnt_tmpl_decl (os_) == -1)
- {
- ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT ("be_visitor_facet_svth")
- ACE_TEXT ("::visit_provides - ")
- ACE_TEXT ("gen_facet_svnt_decl() ")
- ACE_TEXT ("failed\n")),
- -1);
- }
- return 0;
-}
-
-int
-be_visitor_facet_svth::visit_component (be_component *node)
-{
- this->visit_component_scope (node);
-
- return 0;
-}
-
-int
-be_visitor_facet_svth::visit_connector (be_connector *node)
-{
- return this->visit_component (node);
-}
diff --git a/TAO/TAO_IDL/be/be_visitor_component/facet_svts.cpp b/TAO/TAO_IDL/be/be_visitor_component/facet_svts.cpp
deleted file mode 100644
index 6c403855962..00000000000
--- a/TAO/TAO_IDL/be/be_visitor_component/facet_svts.cpp
+++ /dev/null
@@ -1,53 +0,0 @@
-
-//=============================================================================
-/**
- * @file facet_svts.cpp
- *
- * $Id$
- *
- * Visitor generating code for a facet servant class in the
- * servant source.
- *
- *
- * @author Jeff Parsons
- */
-//=============================================================================
-
-be_visitor_facet_svts::be_visitor_facet_svts (be_visitor_context *ctx)
- : be_visitor_component_scope (ctx)
-{
-}
-
-be_visitor_facet_svts::~be_visitor_facet_svts (void)
-{
-}
-
-int
-be_visitor_facet_svts::visit_provides (be_provides *node)
-{
- if (node->gen_facet_svnt_tmpl_defn (os_) == -1)
- {
- ACE_ERROR_RETURN ((LM_ERROR,
- ACE_TEXT ("be_visitor_facet_svts")
- ACE_TEXT ("::visit_provides - ")
- ACE_TEXT ("gen_facet_svnt_defn() ")
- ACE_TEXT ("failed\n")),
- -1);
- }
- return 0;
-}
-
-int
-be_visitor_facet_svts::visit_component (be_component *node)
-{
- this->visit_component_scope (node);
- return 0;
-}
-
-int
-be_visitor_facet_svts::visit_connector (be_connector *node)
-{
- return this->visit_component (node);
-}
-
-
diff --git a/TAO/TAO_IDL/be/be_visitor_component/servant_svh.cpp b/TAO/TAO_IDL/be/be_visitor_component/servant_svh.cpp
index 315309b808e..4f8006b1030 100644
--- a/TAO/TAO_IDL/be/be_visitor_component/servant_svh.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_component/servant_svh.cpp
@@ -40,16 +40,24 @@ be_visitor_servant_svh::visit_component (be_component *node)
const char *global = (sname_str == "" ? "" : "::");
+// ::CIAO::Session_Context_Impl<
+// ::Inherited::CCM_Base_comp_Context,
+// ::Inherited::Base_comp>
+
os_ << be_nl_2
<< "class " << export_macro_.c_str () << " " << lname
<< "_Servant" << be_idt_nl
<< ": public virtual" << be_idt << be_idt_nl
<< "::CIAO::" << be_global->ciao_container_type ()
- << "_Servant_Impl<" << be_idt_nl
+ << "_Servant_Impl_T<" << be_idt_nl
<< "::" << node_->full_skel_name () << "," << be_nl
<< global << sname << "::CCM_" << lname << "," << be_nl
- << lname << "_Context>"
- << be_uidt << be_uidt << be_uidt << be_uidt_nl
+ << lname << "_Context_T< " << be_idt_nl
+ << "::CIAO::" << be_global->ciao_container_type ()
+ << "_Container, ::CIAO::" << be_global->ciao_container_type () << "_Context_Impl_T< "
+ << be_idt_nl << global << sname << "::CCM_" << lname << "_Context, " << be_nl
+ << global << sname << "::" << lname << "> > >"
+ << be_uidt << be_uidt << be_uidt << be_uidt << be_uidt << be_uidt_nl
<< "{" << be_nl
<< "public:" << be_idt_nl;
diff --git a/TAO/TAO_IDL/be/be_visitor_component/servant_svs.cpp b/TAO/TAO_IDL/be/be_visitor_component/servant_svs.cpp
index d86de6b4ae1..dfe6485fb6f 100644
--- a/TAO/TAO_IDL/be/be_visitor_component/servant_svs.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_component/servant_svs.cpp
@@ -67,13 +67,17 @@ be_visitor_servant_svs::visit_component (be_component *node)
<< ": ::CIAO::" << opt_conn
<< "Servant_Impl_Base (h, hs, c)," << be_idt_nl
<< "::CIAO::" << be_global->ciao_container_type ()
- << "_Servant_Impl<" << be_idt_nl
+ << "_Servant_Impl_T<" << be_idt_nl
<< "::" << node_->full_skel_name ()
<< "," << be_nl
<< global << sname << "::CCM_"
<< lname << "," << be_nl
- << lname << "_Context> (exe, h, ins_name, hs, c)"
- << be_uidt << be_uidt << be_uidt_nl
+ << lname << "_Context_T< " << be_idt_nl
+ << "::CIAO::" << be_global->ciao_container_type ()
+ << "_Container, ::CIAO::" << be_global->ciao_container_type () << "_Context_Impl_T< "
+ << be_idt_nl << global << sname << "::CCM_" << lname << "_Context, " << be_nl
+ << global << sname << "::" << lname << "> > > (exe, h, ins_name, hs, c)"
+ << be_uidt << be_uidt << be_uidt << be_uidt << be_uidt_nl
<< "{" << be_idt_nl;
be_visitor_obv_factory_reg ofr_visitor (this->ctx_);
@@ -81,7 +85,7 @@ be_visitor_servant_svs::visit_component (be_component *node)
if (ofr_visitor.visit_component_scope (node) == -1)
{
ACE_ERROR_RETURN ((LM_ERROR,
- "be_visitor_component_svs::"
+ "be_visitor_servant_svs::"
"visit_component - "
"OBV factory registration failed\n"),
-1);
@@ -97,7 +101,7 @@ be_visitor_servant_svs::visit_component (be_component *node)
if (ppt_visitor.visit_component_scope (node) == -1)
{
ACE_ERROR_RETURN ((LM_ERROR,
- "be_visitor_component_svs::"
+ "be_visitor_servant_svs::"
"visit_component - "
"populate port tables visitor failed\n"),
-1);
@@ -171,7 +175,7 @@ be_visitor_servant_svs::visit_component (be_component *node)
if (status == -1)
{
ACE_ERROR_RETURN ((LM_ERROR,
- "be_visitor_component_svs::"
+ "be_visitor_servant_svs::"
"visit_component - "
"inheritance graph traversal failed\n"),
-1);
@@ -198,7 +202,7 @@ be_visitor_servant_svs::visit_component (be_component *node)
if (this->visit_component_scope (node) == -1)
{
ACE_ERROR_RETURN ((LM_ERROR,
- "be_visitor_component_svs::"
+ "be_visitor_servant_svs::"
"visit_component - "
"visit_component_scope() failed\n"),
-1);
@@ -687,7 +691,7 @@ be_visitor_servant_svs::gen_provides_top (void)
if (feb_visitor.visit_component_scope (node_) == -1)
{
ACE_ERROR ((LM_ERROR,
- "be_visitor_component_svs::"
+ "be_visitor_servant_svs::"
"gen_provides_top - "
"facet executor block visitor failed\n"));
@@ -725,7 +729,7 @@ be_visitor_servant_svs::gen_publishes_top (void)
if (sb_visitor.visit_component_scope (node_) == -1)
{
ACE_ERROR ((LM_ERROR,
- "be_visitor_component_svs::"
+ "be_visitor_servant_svs::"
"gen_publishes_top - "
"subscribe block visitor failed\n"));
@@ -754,7 +758,7 @@ be_visitor_servant_svs::gen_publishes_top (void)
if (ub_visitor.visit_component_scope (node_) == -1)
{
ACE_ERROR ((LM_ERROR,
- "be_visitor_component_svs::"
+ "be_visitor_servant_svs::"
"gen_publishes_top - "
"unsubscribe block visitor failed\n"));
@@ -791,7 +795,7 @@ be_visitor_servant_svs::gen_publishes_top (void)
if (esd_visitor.visit_component_scope (node_) == -1)
{
ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("be_visitor_component_svs::")
+ ACE_TEXT ("be_visitor_servant_svs::")
ACE_TEXT ("gen_publishes_top - ")
ACE_TEXT ("event source description ")
ACE_TEXT ("visitor failed\n")));
@@ -831,7 +835,7 @@ be_visitor_servant_svs::gen_uses_top (void)
if (cb_visitor.visit_component_scope (node_) == -1)
{
ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("be_visitor_component_svs::")
+ ACE_TEXT ("be_visitor_servant_svs::")
ACE_TEXT ("gen_uses_top - ")
ACE_TEXT ("connect block visitor failed\n")));
@@ -861,7 +865,7 @@ be_visitor_servant_svs::gen_uses_top (void)
if (db_visitor.visit_component_scope (node_) == -1)
{
ACE_ERROR ((LM_ERROR,
- "be_visitor_component_svs::"
+ "be_visitor_servant_svs::"
"gen_uses_top - "
"disconnect block visitor failed\n"));
@@ -898,7 +902,7 @@ be_visitor_servant_svs::gen_uses_top (void)
if (rd_visitor.visit_component_scope (node_) == -1)
{
ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("be_visitor_component_svs::")
+ ACE_TEXT ("be_visitor_servant_svs::")
ACE_TEXT ("gen_uses_top - ")
ACE_TEXT ("receptacle description ")
ACE_TEXT ("visitor failed\n")));
@@ -948,7 +952,7 @@ be_visitor_servant_svs::gen_emits_top (void)
if (ccb_visitor.visit_component_scope (node_) == -1)
{
ACE_ERROR ((LM_ERROR,
- "be_visitor_component_svs::"
+ "be_visitor_servant_svs::"
"gen_emits_top - "
"connect consumer block visitor failed\n"));
@@ -976,7 +980,7 @@ be_visitor_servant_svs::gen_emits_top (void)
if (dcb_visitor.visit_component_scope (node_) == -1)
{
ACE_ERROR ((LM_ERROR,
- "be_visitor_component_svs::"
+ "be_visitor_servant_svs::"
"gen_emits_top - "
"disconnect consumer block visitor failed\n"));
@@ -1017,7 +1021,7 @@ be_visitor_servant_svs::gen_get_all_emitters (void)
if (ed_visitor.visit_component_scope (node_) == -1)
{
ACE_ERROR ((LM_ERROR,
- "be_visitor_component_svs::"
+ "be_visitor_servant_svs::"
"gen_emits_top - "
"emitter description visitor failed\n"));
diff --git a/TAO/TAO_IDL/be/be_visitor_interface.cpp b/TAO/TAO_IDL/be/be_visitor_interface.cpp
index b77d531b463..06e16268a68 100644
--- a/TAO/TAO_IDL/be/be_visitor_interface.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_interface.cpp
@@ -67,8 +67,8 @@
#include "be_visitor_interface/interface_ss.cpp"
#include "be_visitor_interface/interface_is.cpp"
#include "be_visitor_interface/interface_ex_idl.cpp"
-#include "be_visitor_interface/interface_svh.cpp"
-#include "be_visitor_interface/interface_svs.cpp"
+#include "be_visitor_interface/interface_svth.cpp"
+#include "be_visitor_interface/interface_svts.cpp"
#include "be_visitor_interface/tie_sh.cpp"
#include "be_visitor_interface/tie_ss.cpp"
#include "be_visitor_interface/any_op_ch.cpp"
@@ -78,6 +78,10 @@
#include "be_visitor_interface/smart_proxy_ch.cpp"
#include "be_visitor_interface/smart_proxy_cs.cpp"
+// Facets
+#include "be_visitor_interface/facet_svth.cpp"
+#include "be_visitor_interface/facet_svts.cpp"
+
// Proxy Impls
#include "be_visitor_interface/direct_proxy_impl_sh.cpp"
#include "be_visitor_interface/direct_proxy_impl_ss.cpp"
diff --git a/TAO/TAO_IDL/be/be_visitor_interface/facet_svth.cpp b/TAO/TAO_IDL/be/be_visitor_interface/facet_svth.cpp
new file mode 100644
index 00000000000..1649eecdd11
--- /dev/null
+++ b/TAO/TAO_IDL/be/be_visitor_interface/facet_svth.cpp
@@ -0,0 +1,100 @@
+
+//=============================================================================
+/**
+ * @file facet_svth.cpp
+ *
+ * $Id$
+ *
+ * Visitor generating code for a facet servant class in the
+ * servant header.
+ *
+ *
+ * @author Jeff Parsons
+ */
+//=============================================================================
+
+be_visitor_facet_svth::be_visitor_facet_svth (be_visitor_context *ctx)
+ : be_visitor_interface (ctx)
+{
+}
+
+be_visitor_facet_svth::~be_visitor_facet_svth (void)
+{
+}
+
+int
+be_visitor_facet_svth::visit_interface (be_interface *node)
+{
+
+ if (node->imported () ||
+ node->svnt_src_facet_gen () ||
+ idl_global->ami_connector_seen_ ||
+ node->original_interface () ||
+ node->is_local ())
+ {
+ return 0;
+ }
+
+ const char *lname = node->local_name ();
+
+ be_decl *scope =
+ be_scope::narrow_from_scope (node->defined_in ())->decl ();
+ ACE_CString suffix (scope->flat_name ());
+
+ if (suffix != "")
+ {
+ suffix = ACE_CString ("_") + suffix;
+ }
+
+ os_ << be_nl_2
+ << "namespace CIAO_FACET" << suffix.c_str () << be_nl
+ << "{" << be_idt_nl;
+
+ bool is_intf = node->node_type () == AST_Decl::NT_interface;
+
+ os_ << "template <typename BASE, typename EXEC, typename CONTEXT>" << be_nl
+ << "class " << lname << "_Servant_T" << be_idt_nl
+ << ": public ::CIAO::Facet_Servant_Base_T<BASE, EXEC, "
+ << "CONTEXT>" << be_uidt_nl << "{" << be_nl
+ << "public:" << be_idt_nl;
+
+ AST_Decl *s = ScopeAsDecl (node->defined_in ());
+ ACE_CString sname_str (s->full_name ());
+
+ os_ << lname << "_Servant_T (" << be_idt_nl
+ << "typename EXEC::_ptr_type executor," << be_nl
+ << "::Components::CCMContext_ptr ctx);" << be_uidt_nl << be_nl;
+
+ os_ << "virtual ~" << lname << "_Servant_T (void);";
+
+ if (is_intf)
+ {
+ be_interface *intf =
+ be_interface::narrow_from_decl (node);
+
+ be_global->in_facet_servant (true);
+
+ int status =
+ intf->traverse_inheritance_graph (
+ be_interface::op_attr_decl_helper,
+ &os_);
+
+ be_global->in_facet_servant (false);
+
+ if (status == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("be_provides::gen_facet - ")
+ ACE_TEXT ("traverse_inheritance_graph()")
+ ACE_TEXT (" failed\n")),
+ -1);
+ }
+ }
+
+ os_ << be_uidt_nl << "};" << be_nl << be_uidt_nl;
+
+ os_ << "}";
+
+ node->svnt_hdr_facet_gen (true);
+ return 0;
+}
diff --git a/TAO/TAO_IDL/be/be_visitor_interface/facet_svts.cpp b/TAO/TAO_IDL/be/be_visitor_interface/facet_svts.cpp
new file mode 100644
index 00000000000..2fac8037062
--- /dev/null
+++ b/TAO/TAO_IDL/be/be_visitor_interface/facet_svts.cpp
@@ -0,0 +1,202 @@
+
+//=============================================================================
+/**
+ * @file facet_svts.cpp
+ *
+ * $Id$
+ *
+ * Visitor generating code for a facet servant class in the
+ * servant source.
+ *
+ *
+ * @author Jeff Parsons
+ */
+//=============================================================================
+
+be_visitor_facet_svts::be_visitor_facet_svts (be_visitor_context *ctx)
+ : be_visitor_interface (ctx)
+{
+}
+
+be_visitor_facet_svts::~be_visitor_facet_svts (void)
+{
+}
+
+int
+be_visitor_facet_svts::visit_interface (be_interface *node)
+{
+ if (node->imported () ||
+ node->svnt_src_facet_gen () ||
+ idl_global->ami_connector_seen_ ||
+ node->original_interface () ||
+ node->is_local ())
+ {
+ return 0;
+ }
+
+ const char *lname = node->local_name ();
+
+ be_decl *scope =
+ be_scope::narrow_from_scope (node->defined_in ())->decl ();
+
+ ACE_CString sname_str (scope->full_name ());
+
+ const char *global = (sname_str == "" ? "" : "::");
+
+ ACE_CString suffix (scope->flat_name ());
+
+ if (suffix != "")
+ {
+ suffix = ACE_CString ("_") + suffix;
+ }
+
+ os_ << be_nl_2
+ << "namespace CIAO_FACET" << suffix.c_str () << be_nl
+ << "{" << be_idt_nl;
+
+ os_ << "template <typename BASE, typename EXEC, typename CONTEXT>" << be_nl
+ << lname << "_Servant_T<BASE, EXEC, CONTEXT>::"
+ << lname << "_Servant_T (" << be_idt << be_idt_nl
+ << "typename EXEC::_ptr_type executor," << be_nl
+ << "::Components::CCMContext_ptr ctx)" << be_uidt_nl
+ << ": " << global << "CIAO::Facet_Servant_Base_T<BASE, EXEC, "
+ << "CONTEXT> (executor, ctx)"
+ << be_uidt_nl
+ << "{" << be_nl
+ << "}";
+
+ os_ << be_nl_2 << "template <typename BASE, typename EXEC, typename CONTEXT>" << be_nl
+ << lname << "_Servant_T<BASE, EXEC, CONTEXT>::~"
+ << lname << "_Servant_T (void)" << be_nl
+ << "{" << be_nl
+ << "}";
+
+ bool is_intf = node->node_type () == AST_Decl::NT_interface;
+
+ if (is_intf)
+ {
+ be_interface *op_scope =
+ be_interface::narrow_from_decl (node);
+
+ os_ << be_nl_2
+ << "// All facet operations and attributes.";
+
+ /// The overload of traverse_inheritance_graph() used here
+ /// doesn't automatically prime the queues.
+ op_scope->get_insert_queue ().reset ();
+ op_scope->get_del_queue ().reset ();
+ op_scope->get_insert_queue ().enqueue_tail (op_scope);
+
+ be_facet_op_attr_defn_helper helper (op_scope);
+
+ int status =
+ op_scope->traverse_inheritance_graph (helper,
+ &os_,
+ false,
+ false);
+
+ if (status == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("be_provides::")
+ ACE_TEXT ("gen_facet_svnt_defn - ")
+ ACE_TEXT ("traverse_inheritance_graph() ")
+ ACE_TEXT ("failed\n")),
+ -1);
+ }
+ }
+
+ os_ << be_uidt_nl << "}";
+
+ node->svnt_src_facet_gen (true);
+ return 0;
+}
+
+// ********************************************
+
+be_facet_op_attr_defn_helper::be_facet_op_attr_defn_helper (
+ be_interface *op_scope)
+ : op_scope_ (op_scope)
+{
+}
+
+int
+be_facet_op_attr_defn_helper::emit (be_interface * /* derived_interface */,
+ TAO_OutStream *os,
+ be_interface *base_interface)
+{
+ AST_Decl::NodeType nt = base_interface->node_type ();
+
+ if (nt == AST_Decl::NT_component || nt == AST_Decl::NT_connector)
+ {
+ return 0;
+ }
+
+ be_visitor_context ctx;
+ ctx.stream (os);
+ ctx.state (TAO_CodeGen::TAO_ROOT_SVTS);
+
+ for (UTL_ScopeActiveIterator i (base_interface, UTL_Scope::IK_decls);
+ !i.is_done ();
+ i.next ())
+ {
+ AST_Decl *d = i.item ();
+ AST_Decl::NodeType nt = d->node_type ();
+
+ switch (nt)
+ {
+ case AST_Decl::NT_op:
+ {
+ be_operation *op =
+ be_operation::narrow_from_decl (d);
+
+ /// If AMI implied IDL was generated for the
+ /// original interface, we don't want those
+ /// extra operations in the facet servant.
+ if (op->is_sendc_ami ())
+ {
+ continue;
+ }
+
+ be_visitor_operation_svs v (&ctx);
+ v.scope (op_scope_);
+
+ if (v.visit_operation (op) == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("be_facet_op_attr_defn_helper")
+ ACE_TEXT ("::emit - ")
+ ACE_TEXT ("visit_operation() failed\n")),
+ -1);
+ }
+
+ break;
+ }
+ case AST_Decl::NT_attr:
+ {
+ be_attribute *attr =
+ be_attribute::narrow_from_decl (d);
+
+ be_visitor_attribute v (&ctx);
+ v.op_scope (op_scope_);
+
+ if (v.visit_attribute (attr) == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("be_facet_op_attr_defn_helper")
+ ACE_TEXT ("::emit - ")
+ ACE_TEXT ("visit_attribute() failed\n")),
+ -1);
+ }
+
+ break;
+ }
+ default:
+ continue;
+ }
+ }
+
+ return 0;
+}
+
+// ********************************************
diff --git a/TAO/TAO_IDL/be/be_visitor_interface/interface_ex_idl.cpp b/TAO/TAO_IDL/be/be_visitor_interface/interface_ex_idl.cpp
index 7026dc09caa..68e5ab4dcf3 100644
--- a/TAO/TAO_IDL/be/be_visitor_interface/interface_ex_idl.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_interface/interface_ex_idl.cpp
@@ -30,16 +30,6 @@ be_visitor_interface_ex_idl::~be_visitor_interface_ex_idl (void)
int
be_visitor_interface_ex_idl::visit_interface (be_interface *node)
{
- // In other words, we proceed only if -Glem is present
- // (without which this visitor wouldn't have been created) and
- // -Glfa is not. Use of -Glfa implies that the local CCM_*
- // interface will be generated by traversing a component's
- // facets, whether in the main IDL file or not.
- if (be_global->gen_lem_force_all ())
- {
- return 0;
- }
-
// Skip implied IDL nodes.
if (node->original_interface () != 0)
{
diff --git a/TAO/TAO_IDL/be/be_visitor_interface/interface_svh.cpp b/TAO/TAO_IDL/be/be_visitor_interface/interface_svh.cpp
deleted file mode 100644
index eef8deab7ab..00000000000
--- a/TAO/TAO_IDL/be/be_visitor_interface/interface_svh.cpp
+++ /dev/null
@@ -1,67 +0,0 @@
-
-//=============================================================================
-/**
- * @file interface_svh.cpp
- *
- * $Id$
- *
- * Visitor generating code for Interfaces in the
- * CIAO servant header file.
- *
- *
- * @author Jeff Parsons <j.parsons@vanderbilt.edu>
- */
-//=============================================================================
-
-
-// ************************************************************
-// Interface visitor for CIAO servant header.
-// ************************************************************
-
-be_visitor_interface_svh::be_visitor_interface_svh (
- be_visitor_context *ctx)
- : be_visitor_interface (ctx)
-{
-}
-
-be_visitor_interface_svh::~be_visitor_interface_svh (void)
-{
-}
-
-int
-be_visitor_interface_svh::visit_interface (be_interface *node)
-{
- if (! be_global->gen_lem_force_all ())
- {
- return 0;
- }
-
- // Skip implied IDL nodes.
- if (node->original_interface () != 0)
- {
- return 0;
- }
-
- if (node->is_local () || node->imported () || node->is_abstract ())
- {
- return 0;
- }
-
- return node->gen_facet_svnt_hdr (this, *this->ctx_->stream ());
-}
-
-int
-be_visitor_interface_svh::visit_operation (be_operation *node)
-{
- be_visitor_operation_ch v (this->ctx_);
- return v.visit_operation (node);
-}
-
-int
-be_visitor_interface_svh::visit_attribute (be_attribute *node)
-{
- be_visitor_attribute v (this->ctx_);
- return v.visit_attribute (node);
-}
-
-
diff --git a/TAO/TAO_IDL/be/be_visitor_interface/interface_svth.cpp b/TAO/TAO_IDL/be/be_visitor_interface/interface_svth.cpp
new file mode 100644
index 00000000000..4ad5e102f9e
--- /dev/null
+++ b/TAO/TAO_IDL/be/be_visitor_interface/interface_svth.cpp
@@ -0,0 +1,61 @@
+
+//=============================================================================
+/**
+ * @file interface_svth.cpp
+ *
+ * $Id$
+ *
+ * Visitor generating code for Interfaces in the
+ * CIAO template servant header file.
+ *
+ *
+ * @author Marcel Smit
+ */
+//=============================================================================
+
+
+// ************************************************************
+// Interface visitor for CIAO template servant header.
+// ************************************************************
+
+be_visitor_interface_svth::be_visitor_interface_svth (
+ be_visitor_context *ctx)
+ : be_visitor_interface (ctx)
+{
+}
+
+be_visitor_interface_svth::~be_visitor_interface_svth (void)
+{
+}
+
+int
+be_visitor_interface_svth::visit_interface (be_interface *node)
+{
+ be_visitor_facet_svth facet_svth(this->ctx_);
+
+ if (facet_svth.visit_interface (node) == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("be_visitor_component_svth::")
+ ACE_TEXT ("visit_provides - ")
+ ACE_TEXT ("facet visitor failed\n")),
+ -1);
+ }
+ return 0;
+}
+
+int
+be_visitor_interface_svth::visit_operation (be_operation *node)
+{
+ be_visitor_operation_ch v (this->ctx_);
+ return v.visit_operation (node);
+}
+
+int
+be_visitor_interface_svth::visit_attribute (be_attribute *node)
+{
+ be_visitor_attribute v (this->ctx_);
+ return v.visit_attribute (node);
+}
+
+
diff --git a/TAO/TAO_IDL/be/be_visitor_interface/interface_svs.cpp b/TAO/TAO_IDL/be/be_visitor_interface/interface_svts.cpp
index d493009484a..364a8ec4bb6 100644
--- a/TAO/TAO_IDL/be/be_visitor_interface/interface_svs.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_interface/interface_svts.cpp
@@ -1,57 +1,51 @@
//=============================================================================
/**
- * @file interface_svs.cpp
+ * @file interface_svts.cpp
*
* $Id$
*
* Visitor generating code for Interfaces in the
- * CIAO servant source file.
+ * CIAO template servant source file.
*
*
- * @author Jeff Parsons <j.parsons@vanderbilt.edu>
+ * @author Marcel Smit
*/
//=============================================================================
// ************************************************************
-// Interface visitor for CIAO servant source.
+// Interface visitor for CIAO template servant source.
// ************************************************************
-be_visitor_interface_svs::be_visitor_interface_svs (
+be_visitor_interface_svts::be_visitor_interface_svts (
be_visitor_context *ctx)
: be_visitor_interface (ctx)
{
}
-be_visitor_interface_svs::~be_visitor_interface_svs (void)
+be_visitor_interface_svts::~be_visitor_interface_svts (void)
{
}
int
-be_visitor_interface_svs::visit_interface (be_interface *node)
+be_visitor_interface_svts::visit_interface (be_interface *node)
{
- if (! be_global->gen_lem_force_all ())
- {
- return 0;
- }
-
- // Skip implied IDL nodes.
- if (node->original_interface () != 0)
- {
- return 0;
- }
+ be_visitor_facet_svts facet_svts (this->ctx_);
- if (node->is_local () || node->imported () || node->is_abstract ())
+ if (facet_svts.visit_interface (node) == -1)
{
- return 0;
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("be_visitor_component_svts::")
+ ACE_TEXT ("visit_provides - ")
+ ACE_TEXT ("facet visitor failed\n")),
+ -1);
}
-
- return node->gen_facet_svnt_src (this, *this->ctx_->stream ());
+ return 0;
}
int
-be_visitor_interface_svs::visit_operation (be_operation *node)
+be_visitor_interface_svts::visit_operation (be_operation *node)
{
be_visitor_operation_svs v (this->ctx_);
v.scope (be_interface::narrow_from_decl (
@@ -61,7 +55,7 @@ be_visitor_interface_svs::visit_operation (be_operation *node)
}
int
-be_visitor_interface_svs::visit_attribute (be_attribute *node)
+be_visitor_interface_svts::visit_attribute (be_attribute *node)
{
be_visitor_attribute v (this->ctx_);
diff --git a/TAO/TAO_IDL/be/be_visitor_module/module.cpp b/TAO/TAO_IDL/be/be_visitor_module/module.cpp
index 8402c983f6f..b63f5783a1c 100644
--- a/TAO/TAO_IDL/be/be_visitor_module/module.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_module/module.cpp
@@ -331,24 +331,24 @@ be_visitor_module::visit_interface (be_interface *node)
status = node->accept (&visitor);
break;
}
- case TAO_CodeGen::TAO_ROOT_SVH:
+ case TAO_CodeGen::TAO_ROOT_SVTH:
{
- be_visitor_interface_svh visitor (&ctx);
+ be_visitor_interface_svth visitor (&ctx);
status = node->accept (&visitor);
break;
}
- case TAO_CodeGen::TAO_ROOT_SVS:
+ case TAO_CodeGen::TAO_ROOT_SVTS:
{
- be_visitor_interface_svs visitor (&ctx);
+ be_visitor_interface_svts visitor (&ctx);
status = node->accept (&visitor);
break;
}
+ case TAO_CodeGen::TAO_ROOT_SVH:
+ case TAO_CodeGen::TAO_ROOT_SVS:
case TAO_CodeGen::TAO_ROOT_EXH:
case TAO_CodeGen::TAO_ROOT_EXS:
case TAO_CodeGen::TAO_ROOT_CNH:
case TAO_CodeGen::TAO_ROOT_CNS:
- case TAO_CodeGen::TAO_ROOT_SVTH:
- case TAO_CodeGen::TAO_ROOT_SVTS:
{
// Nothing to be done for these cases.
return 0;
@@ -669,13 +669,13 @@ be_visitor_module::visit_component (be_component *node)
break;
case TAO_CodeGen::TAO_ROOT_SVTH:
{
- be_visitor_facet_svth visitor (&ctx);
+ be_visitor_component_svth visitor (&ctx);
status = node->accept (&visitor);
break;
}
case TAO_CodeGen::TAO_ROOT_SVTS:
{
- be_visitor_facet_svts visitor (&ctx);
+ be_visitor_component_svts visitor (&ctx);
status = node->accept (&visitor);
break;
}
diff --git a/TAO/TAO_IDL/be/be_visitor_operation/direct_proxy_impl_ss.cpp b/TAO/TAO_IDL/be/be_visitor_operation/direct_proxy_impl_ss.cpp
index 6cc527087ba..f1437a53200 100644
--- a/TAO/TAO_IDL/be/be_visitor_operation/direct_proxy_impl_ss.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_operation/direct_proxy_impl_ss.cpp
@@ -94,7 +94,7 @@ be_visitor_operation_direct_proxy_impl_ss::visit_operation (
*os << "if (!_tao_ptr)" << be_idt_nl
<< "{" << be_idt_nl
- << "throw CORBA::INTERNAL ();" << be_uidt_nl
+ << "throw ::CORBA::INTERNAL ();" << be_uidt_nl
<< "}" << be_uidt_nl << be_nl;
if (!node->void_return_type ())
diff --git a/TAO/TAO_IDL/be/be_visitor_operation/operation_ss.cpp b/TAO/TAO_IDL/be/be_visitor_operation/operation_ss.cpp
index 80a6ff9a21b..5f904971f49 100644
--- a/TAO/TAO_IDL/be/be_visitor_operation/operation_ss.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_operation/operation_ss.cpp
@@ -189,10 +189,10 @@ be_visitor_operation_ss::gen_skel_operation_body (be_operation * node,
}
*os << this->ctx_->port_prefix ().c_str () << node->local_name ()
- << "_skel (" << be_idt << be_idt_nl
+ << "_skel (" << be_idt_nl
<< "TAO_ServerRequest & server_request," << be_nl
<< "TAO::Portable_Server::Servant_Upcall *TAO_INTERCEPTOR (servant_upcall)," << be_nl
- << "TAO_ServantBase *servant)" << be_uidt << be_uidt_nl;
+ << "TAO_ServantBase *servant)" << be_uidt_nl;
// Generate the actual code for the skeleton. However, if any of the
// argument types is "native", we do not generate any skeleton
@@ -247,11 +247,15 @@ be_visitor_operation_ss::gen_skel_operation_body (be_operation * node,
// Get the right object implementation.
*os << intf->full_skel_name () << " * const impl =" << be_idt_nl
<< "dynamic_cast<"
- << intf->full_skel_name () << " *> (servant);" << be_uidt << be_uidt_nl;
+ << intf->full_skel_name () << " *> (servant);" << be_uidt << be_nl_2;
+
+ *os << "if (!impl)" << be_idt_nl
+ << "{" << be_idt_nl
+ << "throw ::CORBA::INTERNAL ();" << be_uidt_nl
+ << "}" << be_uidt << be_nl_2;
// Upcall_Command instantiation.
- *os << be_idt_nl
- << upcall_command_name.c_str()
+ *os << upcall_command_name.c_str()
<< " command (" << be_idt_nl
<< "impl";
diff --git a/TAO/TAO_IDL/be/be_visitor_operation/operation_svs.cpp b/TAO/TAO_IDL/be/be_visitor_operation/operation_svs.cpp
index 4b6d36e3524..907b334733c 100644
--- a/TAO/TAO_IDL/be/be_visitor_operation/operation_svs.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_operation/operation_svs.cpp
@@ -105,13 +105,21 @@ be_visitor_operation_svs::gen_op_body (be_operation *node)
ACE_CString sname_str (ScopeAsDecl (scope_->defined_in ())->full_name ());
const char *global = (sname_str == "" ? "" : "::");
- os_ << "::" << sname_str << global << "CCM_" << scope_->original_local_name ()
- << "_var executor = " << be_idt_nl
- << "::" << sname_str << global << "CCM_" << scope_->original_local_name ()
- << "::_duplicate (this->executor_.in ());" << be_uidt
- << be_nl_2;
+ if (this->ctx_->state () == TAO_CodeGen::TAO_ROOT_SVTS)
+ {
+ os_ << "typename EXEC::_var_type executor = " << be_idt_nl
+ << "EXEC::_duplicate (this->executor_.in ());" << be_uidt;
+ }
+ else
+ {
+ os_ << "::" << sname_str << global << "CCM_" << scope_->original_local_name ()
+ << "_var executor = " << be_idt_nl
+ << "::" << sname_str << global << "CCM_" << scope_->original_local_name ()
+ << "::_duplicate (this->executor_.in ());" << be_uidt;
+ }
- os_ << "if ( ::CORBA::is_nil (executor.in ()))"
+ os_ << be_nl_2
+ << "if ( ::CORBA::is_nil (executor.in ()))"
<< be_idt_nl
<< "{"<< be_idt_nl
<< "throw ::CORBA::INV_OBJREF ();" << be_uidt_nl
diff --git a/TAO/TAO_IDL/be_include/be_codegen.h b/TAO/TAO_IDL/be_include/be_codegen.h
index 03f7442c765..6347041e5c0 100644
--- a/TAO/TAO_IDL/be_include/be_codegen.h
+++ b/TAO/TAO_IDL/be_include/be_codegen.h
@@ -421,6 +421,7 @@ private:
/// Used if one or both of the CIAO code gen flags are set.
void gen_svnt_hdr_includes (TAO_OutStream *stream);
void gen_svnt_src_includes (TAO_OutStream *stream);
+ void gen_svnt_tmpl_hdr_includes (TAO_OutStream *stream);
void gen_exec_hdr_includes (void);
void gen_exec_src_includes (void);
void gen_exec_idl_includes (void);
@@ -428,6 +429,8 @@ private:
void gen_conn_src_includes (void);
void gen_ami_conn_idl_includes (void);
+ bool is_system_file (const char * idl_name) const;
+
void gen_export_file (const char *filename,
const char *macro,
const char *msg,
diff --git a/TAO/TAO_IDL/be_include/be_global.h b/TAO/TAO_IDL/be_include/be_global.h
index e65c4d30646..ccbafd08853 100644
--- a/TAO/TAO_IDL/be_include/be_global.h
+++ b/TAO/TAO_IDL/be_include/be_global.h
@@ -164,6 +164,10 @@ public:
UTL_String *idl_file_name,
bool base_name_only = false);
+ static const char *be_get_svnt_template_hdr (
+ UTL_String *idl_file_name,
+ bool base_name_only = false);
+
static const char *be_get_implementation_hdr (
UTL_String *idl_file_name,
bool base_name_only = false);
@@ -876,9 +880,6 @@ public:
bool gen_conn_export_hdr_file (void) const;
void gen_conn_export_hdr_file (bool val);
- bool gen_lem_force_all (void) const;
- void gen_lem_force_all (bool val);
-
bool alt_mapping (void) const;
void alt_mapping (bool val);
@@ -1252,10 +1253,6 @@ private:
bool gen_exec_export_hdr_file_;
bool gen_conn_export_hdr_file_;
- /// Toggles generation of exec IDL for facets with imported
- /// interface types (not in main IDL file).
- bool gen_lem_force_all_;
-
/// 2 spaces by default, can be set from the command line.
unsigned int tab_size_;
diff --git a/TAO/TAO_IDL/be_include/be_helper.h b/TAO/TAO_IDL/be_include/be_helper.h
index a34083dc2af..c8311a73aee 100644
--- a/TAO/TAO_IDL/be_include/be_helper.h
+++ b/TAO/TAO_IDL/be_include/be_helper.h
@@ -115,6 +115,7 @@ public:
CIAO_EXEC_HDR,
CIAO_EXEC_IMPL,
CIAO_EXEC_IDL,
+ CIAO_EXEC_SVNT,
CIAO_CONN_HDR,
CIAO_CONN_IMPL,
CIAO_AMI4CCM_CONN_IDL,
diff --git a/TAO/TAO_IDL/be_include/be_interface.h b/TAO/TAO_IDL/be_include/be_interface.h
index 46e95ec8235..70e7a47339c 100644
--- a/TAO/TAO_IDL/be_include/be_interface.h
+++ b/TAO/TAO_IDL/be_include/be_interface.h
@@ -256,10 +256,6 @@ public:
* facet generation for all interfaces.
*/
void gen_facet_idl (TAO_OutStream &os);
- int gen_facet_svnt_hdr (be_visitor *visitor,
- TAO_OutStream &os);
- int gen_facet_svnt_src (be_visitor *visitor,
- TAO_OutStream &os);
/// Used with ami4ccm.
int gen_ami4ccm_idl (TAO_OutStream *os);
diff --git a/TAO/TAO_IDL/be_include/be_provides.h b/TAO/TAO_IDL/be_include/be_provides.h
index 6c32155c6b1..e6df1c95500 100644
--- a/TAO/TAO_IDL/be_include/be_provides.h
+++ b/TAO/TAO_IDL/be_include/be_provides.h
@@ -24,10 +24,6 @@ public:
// Non-virtual override of frontend method.
be_type *provides_type (void) const;
- // Common code called by visitors.
- int gen_facet_svnt_tmpl_decl (TAO_OutStream &os);
- int gen_facet_svnt_tmpl_defn (TAO_OutStream &os);
-
// Narrowing.
DEF_NARROW_FROM_DECL(be_provides);
@@ -38,21 +34,5 @@ public:
virtual void destroy (void);
};
-// ====================================================
-
-class be_facet_op_attr_defn_helper
- : public TAO_IDL_Inheritance_Hierarchy_Worker
-{
-public:
- be_facet_op_attr_defn_helper (be_interface *op_scope);
-
- virtual int emit (be_interface *derived_interface,
- TAO_OutStream *os,
- be_interface *base_interface);
-
-private:
- be_interface *op_scope_;
-};
-
#endif // BE_PROVIDES_H
diff --git a/TAO/TAO_IDL/be_include/be_visitor_component.h b/TAO/TAO_IDL/be_include/be_visitor_component.h
index 1fd4cfdf9b1..ca6ca974ea0 100644
--- a/TAO/TAO_IDL/be_include/be_visitor_component.h
+++ b/TAO/TAO_IDL/be_include/be_visitor_component.h
@@ -21,15 +21,14 @@
#include "be_visitor_component/component.h"
#include "be_visitor_component/component_svh.h"
-#include "be_visitor_component/facet_svth.h"
-#include "be_visitor_component/context_svh.h"
+#include "be_visitor_component/component_svth.h"
+#include "be_visitor_component/context_svth.h"
#include "be_visitor_component/servant_svh.h"
#include "be_visitor_component/component_svs.h"
-#include "be_visitor_component/facet_svts.h"
-#include "be_visitor_component/context_svs.h"
+#include "be_visitor_component/component_svts.h"
+#include "be_visitor_component/context_svts.h"
#include "be_visitor_component/servant_svs.h"
#include "be_visitor_component/component_ex_idl.h"
-#include "be_visitor_component/facet_ex_idl.h"
#include "be_visitor_component/executor_ex_idl.h"
#include "be_visitor_component/context_ex_idl.h"
#include "be_visitor_component/component_exh.h"
diff --git a/TAO/TAO_IDL/be_include/be_visitor_component/component_svth.h b/TAO/TAO_IDL/be_include/be_visitor_component/component_svth.h
new file mode 100644
index 00000000000..fb92dc03c87
--- /dev/null
+++ b/TAO/TAO_IDL/be_include/be_visitor_component/component_svth.h
@@ -0,0 +1,42 @@
+/* -*- c++ -*- */
+//=============================================================================
+/**
+ * @file component_svth.h
+ *
+ * $Id$
+ *
+ * Concrete visitor for the Component node.
+ * This provides for code generation in the templated servant header
+ *
+ *
+ * @author Marcel Smit
+ */
+//=============================================================================
+
+#ifndef _BE_COMPONENT_COMPONENT_SVTH_H_
+#define _BE_COMPONENT_COMPONENT_SVTH_H_
+
+/**
+ * @class be_visitor_component_svth
+ *
+ * @brief be_visitor_component_svth
+ *
+ * This is a concrete visitor to generate the servant header for component.
+ */
+class be_visitor_component_svth : public be_visitor_component
+{
+public:
+ be_visitor_component_svth (be_visitor_context *ctx);
+
+ ~be_visitor_component_svth (void);
+
+ virtual int visit_component (be_component *node);
+ virtual int visit_connector (be_connector *node);
+
+private:
+ TAO_OutStream &os_;
+ ACE_CString export_macro_;
+};
+
+#endif /* _BE_COMPONENT_COMPONENT_SVTH_H_ */
+
diff --git a/TAO/TAO_IDL/be_include/be_visitor_component/component_svts.h b/TAO/TAO_IDL/be_include/be_visitor_component/component_svts.h
new file mode 100644
index 00000000000..957aa44d0a5
--- /dev/null
+++ b/TAO/TAO_IDL/be_include/be_visitor_component/component_svts.h
@@ -0,0 +1,43 @@
+/* -*- c++ -*- */
+//=============================================================================
+/**
+ * @file component_svts.h
+ *
+ * $Id$
+ *
+ * Concrete visitor for the Component node.
+ * This provides for code generation in the templated servant source
+ *
+ *
+ * @author Marcel Smit
+ */
+//=============================================================================
+
+#ifndef _BE_COMPONENT_COMPONENT_SVTS_H_
+#define _BE_COMPONENT_COMPONENT_SVTS_H_
+
+/**
+ * @class be_visitor_component_svts
+ *
+ * @brief be_visitor_component_svts
+ *
+ * This is a concrete visitor to generate the servant
+ * source for component.
+ */
+class be_visitor_component_svts : public be_visitor_component
+{
+public:
+ be_visitor_component_svts (be_visitor_context *ctx);
+
+ ~be_visitor_component_svts (void);
+
+ virtual int visit_component (be_component *node);
+ virtual int visit_connector (be_connector *node);
+
+private:
+ TAO_OutStream &os_;
+ ACE_CString export_macro_;
+};
+
+#endif /* _BE_COMPONENT_COMPONENT_SVTS_H_ */
+
diff --git a/TAO/TAO_IDL/be_include/be_visitor_component/context_svh.h b/TAO/TAO_IDL/be_include/be_visitor_component/context_svth.h
index 9384a0d0c2f..1f2e6c518a7 100644
--- a/TAO/TAO_IDL/be_include/be_visitor_component/context_svh.h
+++ b/TAO/TAO_IDL/be_include/be_visitor_component/context_svth.h
@@ -18,19 +18,19 @@
#define _BE_COMPONENT_CONTEXT_SVH_H_
/**
- * @class be_visitor_context_svh
+ * @class be_visitor_context_svth
*
- * @brief be_visitor_context_svh
+ * @brief be_visitor_context_svth
*
* This is a concrete visitor to generate the context class decl
* for a component.
*/
-class be_visitor_context_svh : public be_visitor_component_scope
+class be_visitor_context_svth : public be_visitor_component_scope
{
public:
- be_visitor_context_svh (be_visitor_context *ctx);
+ be_visitor_context_svth (be_visitor_context *ctx);
- ~be_visitor_context_svh (void);
+ ~be_visitor_context_svth (void);
virtual int visit_component (be_component *node);
virtual int visit_connector (be_connector *node);
diff --git a/TAO/TAO_IDL/be_include/be_visitor_component/context_svs.h b/TAO/TAO_IDL/be_include/be_visitor_component/context_svts.h
index e94633b3f6a..77d23ec62c8 100644
--- a/TAO/TAO_IDL/be_include/be_visitor_component/context_svs.h
+++ b/TAO/TAO_IDL/be_include/be_visitor_component/context_svts.h
@@ -18,19 +18,19 @@
#define _BE_COMPONENT_CONTEXT_SVS_H_
/**
- * @class be_visitor_context_svs
+ * @class be_visitor_context_svts
*
- * @brief be_visitor_context_svs
+ * @brief be_visitor_context_svts
*
* This is a concrete visitor to generate the context class defn
* for a component.
*/
-class be_visitor_context_svs : public be_visitor_component_scope
+class be_visitor_context_svts : public be_visitor_component_scope
{
public:
- be_visitor_context_svs (be_visitor_context *ctx);
+ be_visitor_context_svts (be_visitor_context *ctx);
- ~be_visitor_context_svs (void);
+ ~be_visitor_context_svts (void);
virtual int visit_component (be_component *node);
virtual int visit_connector (be_connector *node);
diff --git a/TAO/TAO_IDL/be_include/be_visitor_component/facet_ex_idl.h b/TAO/TAO_IDL/be_include/be_visitor_component/facet_ex_idl.h
deleted file mode 100644
index 9d0d502ad09..00000000000
--- a/TAO/TAO_IDL/be_include/be_visitor_component/facet_ex_idl.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/* -*- c++ -*- */
-//=============================================================================
-/**
- * @file facet_ex_idl.h
- *
- * $Id$
- *
- * Concrete visitor for the Component node.
- * Provides code generation for facets in the CIAO executor IDL
- *
- *
- * @author Jeff Parsons
- */
-//=============================================================================
-
-#ifndef _BE_COMPONENT_FACET_EX_IDL_H_
-#define _BE_COMPONENT_FACET_EX_IDL_H_
-
-/**
- * This is a concrete visitor to generate the
- * CIAO executor IDL for facets.
- */
-class be_visitor_facet_ex_idl
- : public be_visitor_component_scope
-{
-public:
- be_visitor_facet_ex_idl (be_visitor_context *ctx);
-
- ~be_visitor_facet_ex_idl (void);
-
- virtual int visit_provides (be_provides *node);
-};
-
-#endif /* _BE_COMPONENT_FACET_EX_IDL_H_ */
-
diff --git a/TAO/TAO_IDL/be_include/be_visitor_interface.h b/TAO/TAO_IDL/be_include/be_visitor_interface.h
index a9334086554..57ab2ee668d 100644
--- a/TAO/TAO_IDL/be_include/be_visitor_interface.h
+++ b/TAO/TAO_IDL/be_include/be_visitor_interface.h
@@ -30,8 +30,8 @@
#include "be_visitor_interface/interface_ss.h"
#include "be_visitor_interface/interface_is.h"
#include "be_visitor_interface/interface_ex_idl.h"
-#include "be_visitor_interface/interface_svh.h"
-#include "be_visitor_interface/interface_svs.h"
+#include "be_visitor_interface/interface_svth.h"
+#include "be_visitor_interface/interface_svts.h"
#include "be_visitor_interface/any_op_ch.h"
#include "be_visitor_interface/any_op_cs.h"
#include "be_visitor_interface/cdr_op_ch.h"
@@ -41,6 +41,10 @@
#include "be_visitor_interface/smart_proxy_ch.h"
#include "be_visitor_interface/smart_proxy_cs.h"
+// Facets
+#include "be_visitor_interface/facet_svth.h"
+#include "be_visitor_interface/facet_svts.h"
+
// Proxy Impls
#include "be_visitor_interface/direct_proxy_impl_sh.h"
#include "be_visitor_interface/direct_proxy_impl_ss.h"
diff --git a/TAO/TAO_IDL/be_include/be_visitor_component/facet_svth.h b/TAO/TAO_IDL/be_include/be_visitor_interface/facet_svth.h
index 819e0dc8161..17453f027f7 100644
--- a/TAO/TAO_IDL/be_include/be_visitor_component/facet_svth.h
+++ b/TAO/TAO_IDL/be_include/be_visitor_interface/facet_svth.h
@@ -5,7 +5,7 @@
*
* $Id$
*
- * Concrete visitor for the Component node.
+ * Concrete visitor for the Interface node.
* This provides for code generation for the facet servant
* class declaration
*
@@ -25,16 +25,14 @@
* This is a concrete visitor to generate the facet servant decl
* for a component.
*/
-class be_visitor_facet_svth : public be_visitor_component_scope
+class be_visitor_facet_svth : public be_visitor_interface
{
public:
be_visitor_facet_svth (be_visitor_context *ctx);
~be_visitor_facet_svth (void);
- virtual int visit_connector (be_connector *node);
- virtual int visit_component (be_component *node);
- virtual int visit_provides (be_provides *node);
+ virtual int visit_interface (be_interface *node);
};
#endif /* _BE_COMPONENT_FACET_SVH_H_ */
diff --git a/TAO/TAO_IDL/be_include/be_visitor_component/facet_svts.h b/TAO/TAO_IDL/be_include/be_visitor_interface/facet_svts.h
index 771fd5c74df..56f4db7aef4 100644
--- a/TAO/TAO_IDL/be_include/be_visitor_component/facet_svts.h
+++ b/TAO/TAO_IDL/be_include/be_visitor_interface/facet_svts.h
@@ -25,16 +25,30 @@
* This is a concrete visitor to generate the facet servant defn
* for a component.
*/
-class be_visitor_facet_svts : public be_visitor_component_scope
+class be_visitor_facet_svts : public be_visitor_interface
{
public:
be_visitor_facet_svts (be_visitor_context *ctx);
~be_visitor_facet_svts (void);
- virtual int visit_connector (be_connector *node);
- virtual int visit_component (be_component *node);
- virtual int visit_provides (be_provides *node);
+ virtual int visit_interface (be_interface *node);
+};
+
+// ====================================================
+
+class be_facet_op_attr_defn_helper
+ : public TAO_IDL_Inheritance_Hierarchy_Worker
+{
+public:
+ be_facet_op_attr_defn_helper (be_interface *op_scope);
+
+ virtual int emit (be_interface *derived_interface,
+ TAO_OutStream *os,
+ be_interface *base_interface);
+
+private:
+ be_interface *op_scope_;
};
#endif /* _BE_COMPONENT_FACET_SVS_H_ */
diff --git a/TAO/TAO_IDL/be_include/be_visitor_interface/interface_svh.h b/TAO/TAO_IDL/be_include/be_visitor_interface/interface_svth.h
index b16fa01d8dc..cb6801b7f5c 100644
--- a/TAO/TAO_IDL/be_include/be_visitor_interface/interface_svh.h
+++ b/TAO/TAO_IDL/be_include/be_visitor_interface/interface_svth.h
@@ -1,7 +1,7 @@
//=============================================================================
/**
- * @file interface_svh.h
+ * @file interface_svth.h
*
* $Id$
*
@@ -10,32 +10,32 @@
* servant header
*
*
- * @author Jeff Parsons <j.parsons@vanderbilt.edu>
+ * @author Marcel Smit
*/
//=============================================================================
-#ifndef _BE_INTERFACE_INTERFACE_SVH_H_
-#define _BE_INTERFACE_INTERFACE_SVH_H_
+#ifndef _BE_INTERFACE_INTERFACE_SVTH_H_
+#define _BE_INTERFACE_INTERFACE_SVTH_H_
/**
- * @class be_visitor_interface_svh
+ * @class be_visitor_interface_svth
*
- * @brief be_visitor_interface_svh
+ * @brief be_visitor_interface_svth
*
* This is a concrete visitor to generate the
* CIAO servant header for interface
*/
-class be_visitor_interface_svh : public be_visitor_interface
+class be_visitor_interface_svth : public be_visitor_interface
{
public:
- be_visitor_interface_svh (be_visitor_context *ctx);
+ be_visitor_interface_svth (be_visitor_context *ctx);
- ~be_visitor_interface_svh (void);
+ ~be_visitor_interface_svth (void);
virtual int visit_interface (be_interface *node);
virtual int visit_operation (be_operation *node);
virtual int visit_attribute (be_attribute *node);
};
-#endif /* _BE_INTERFACE_INTERFACE_SVH_H_ */
+#endif /* _BE_INTERFACE_INTERFACE_SVTH_H_ */
diff --git a/TAO/TAO_IDL/be_include/be_visitor_interface/interface_svs.h b/TAO/TAO_IDL/be_include/be_visitor_interface/interface_svts.h
index d17fc2be936..ccd94bb289d 100644
--- a/TAO/TAO_IDL/be_include/be_visitor_interface/interface_svs.h
+++ b/TAO/TAO_IDL/be_include/be_visitor_interface/interface_svts.h
@@ -1,7 +1,7 @@
//=============================================================================
/**
- * @file interface_svs.h
+ * @file interface_svts.h
*
* $Id$
*
@@ -10,32 +10,32 @@
* servant sourc e
*
*
- * @author Jeff Parsons <j.parsons@vanderbilt.edu>
+ * @author Marcel Smit
*/
//=============================================================================
-#ifndef _BE_INTERFACE_INTERFACE_SVS_H_
-#define _BE_INTERFACE_INTERFACE_SVS_H_
+#ifndef _BE_INTERFACE_INTERFACE_SVTS_H_
+#define _BE_INTERFACE_INTERFACE_SVTS_H_
/**
- * @class be_visitor_interface_svs
+ * @class be_visitor_interface_svts
*
- * @brief be_visitor_interface_svs
+ * @brief be_visitor_interface_svts
*
* This is a concrete visitor to generate the
* CIAO servant source for interface
*/
-class be_visitor_interface_svs : public be_visitor_interface
+class be_visitor_interface_svts : public be_visitor_interface
{
public:
- be_visitor_interface_svs (be_visitor_context *ctx);
+ be_visitor_interface_svts (be_visitor_context *ctx);
- ~be_visitor_interface_svs (void);
+ ~be_visitor_interface_svts (void);
virtual int visit_interface (be_interface *node);
virtual int visit_operation (be_operation *node);
virtual int visit_attribute (be_attribute *node);
};
-#endif /* _BE_INTERFACE_INTERFACE_SVS_H_ */
+#endif /* _BE_INTERFACE_INTERFACE_SVTS_H_ */
diff --git a/TAO/docs/compiler.html b/TAO/docs/compiler.html
index a9afc4c9c24..3a7f4fb5971 100644
--- a/TAO/docs/compiler.html
+++ b/TAO/docs/compiler.html
@@ -1003,7 +1003,7 @@ also receives other options that are specific to it.<p>
(if Any support in general is not suppressed) the generation
of <code>Any_Insert_Policy_AnyTypeCode_Adapter</code> for the
last template parameter. This option is used when generating
- arg traits for the sequences of basic types in the ORB, so
+ arg traits for the sequences of basic types in the ORB, so
their arg traits may be included in files generated from
application IDL whether Any support is suppressed in the
application IDL processing or not.</td>
@@ -1060,20 +1060,6 @@ also receives other options that are specific to it.<p>
<td>Replaces code generation formerly done by the CIAO CIDL compiler.</td>
</tr>
- <tr><a name="Glfa">
- <td><tt>-Glfa</tt></td>
-
- <td>Generate CIAO facet servant IDL and C++ for all interfaces</td>
- <td>Replaces the CIDL compiler option <tt>--lem-force-all</tt>. This
- option causes facet executor IDL and a facet servant C++ class to be
- gnerated for each interface in the translation unit (default behavior
- is to navigate to such interfaces from component <tt>provides</tt>
- declarations). This option allows facet servant code to be shared
- among components that use the same interface as a facet. Care must be
- taken by the user to apply this option consistently to all builds
- where this behavior is desired.</td>
- </tr>
-
<tr><a name="Gsw">
<td><tt>-Gsw</tt></td>
diff --git a/TAO/tests/Mixed_Sync_ASync_Events/test_i.cpp b/TAO/tests/Mixed_Sync_ASync_Events/test_i.cpp
index 1dfb79e253c..e7288c42745 100644
--- a/TAO/tests/Mixed_Sync_ASync_Events/test_i.cpp
+++ b/TAO/tests/Mixed_Sync_ASync_Events/test_i.cpp
@@ -190,7 +190,7 @@ TestHandler::handle_timeout (const ACE_Time_Value &,
if ((ACE_OS::rand_r (&this->seed_) % 2) == 0)
{
A::FollowUp followup;
- if (!CORBA::is_nil (this->opponent_))
+ if (!CORBA::is_nil (this->opponent_.in ()))
{
this->opponent_->request(A::RQM_SYNCH, this->counter_, followup);
this->handle_followup (followup, this->counter_);
@@ -198,7 +198,7 @@ TestHandler::handle_timeout (const ACE_Time_Value &,
}
else
{
- if (!CORBA::is_nil (this->opponent_))
+ if (!CORBA::is_nil (this->opponent_.in ()))
{
this->opponent_->sendc_request(this->rh_.in (), A::RQM_ASYNCH, this->counter_);
}