diff options
author | mcorino <mcorino@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2011-01-20 12:11:28 +0000 |
---|---|---|
committer | mcorino <mcorino@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2011-01-20 12:11:28 +0000 |
commit | 1ff84a46c62fb482bd62a384b34f4b9c1e7e2ca5 (patch) | |
tree | 78fc0571a66bb48c5b2565e10ceef69cfe5afff2 /CIAO | |
parent | 6f8f4ebd99e45fe3e24a40c6cc7cf03bf8d31c24 (diff) | |
download | ATCD-1ff84a46c62fb482bd62a384b34f4b9c1e7e2ca5.tar.gz |
Merged RemedyWork branch.
ChangeLogTag: Thu Jan 20 11:42:53 UTC 2010 Martin Corino <mcorino@remedy.nl>
Diffstat (limited to 'CIAO')
299 files changed, 9633 insertions, 5363 deletions
diff --git a/CIAO/CIAO_TAO.mwc b/CIAO/CIAO_TAO.mwc index 708772065cd..4068f8ff613 100644 --- a/CIAO/CIAO_TAO.mwc +++ b/CIAO/CIAO_TAO.mwc @@ -10,7 +10,6 @@ workspace { $(TAO_ROOT)/tao $(TAO_ROOT)/TAO_IDL $(TAO_ROOT)/utils - $(TAO_ROOT)/orbsvcs/orbsvcs/CosEvent.mpc $(TAO_ROOT)/orbsvcs/orbsvcs/CosNaming.mpc $(TAO_ROOT)/orbsvcs/orbsvcs/CosNaming_Serv.mpc $(TAO_ROOT)/orbsvcs/orbsvcs/CosNaming_Skel.mpc diff --git a/CIAO/CIAO_TAO_DAnCE.mwc b/CIAO/CIAO_TAO_DAnCE.mwc index a4d6ebb3787..f34144eb1b4 100644 --- a/CIAO/CIAO_TAO_DAnCE.mwc +++ b/CIAO/CIAO_TAO_DAnCE.mwc @@ -14,7 +14,6 @@ workspace { $(TAO_ROOT)/orbsvcs/orbsvcs/CosNaming_Skel.mpc $(TAO_ROOT)/orbsvcs/Naming_Service $(TAO_ROOT)/orbsvcs/orbsvcs/Svc_Utils.mpc - $(TAO_ROOT)/orbsvcs/orbsvcs/CosEvent.mpc ccm ciao $(DANCE_ROOT) diff --git a/CIAO/COPYING b/CIAO/COPYING index 551231de6cf..a9bbf1d9e0f 100644 --- a/CIAO/COPYING +++ b/CIAO/COPYING @@ -8,7 +8,7 @@ (henceforth referred to as "DOC software") are copyrighted by [5]Douglas C. Schmidt and his [6]research group at [7]Washington University, [8]University of California, Irvine, and [9]Vanderbilt - University, Copyright (c) 1993-2009, all rights reserved. Since DOC + University, Copyright (c) 1993-2011, all rights reserved. Since DOC software is open-source, freely available software, you are free to use, modify, copy, and distribute--perpetually and irrevocably--the DOC software source code and object code produced from the source, as diff --git a/CIAO/ChangeLog b/CIAO/ChangeLog index 9eb4a17c7a0..8cf759ff1a6 100644 --- a/CIAO/ChangeLog +++ b/CIAO/ChangeLog @@ -1,3 +1,739 @@ +Thu Jan 20 11:42:53 UTC 2010 Martin Corino <mcorino@remedy.nl> + + Merged changes from Remedy work branch. + + === start changelog === + + Wed Jan 19 13:03:24 UTC 2011 Marcel Smit <msmit@remedy.nl> + + * ciao/Deployment/Handlers/Connection_Handler.h: + * ciao/Deployment/Handlers/Connection_Handler.cpp: + Resolved some issues regarding disconnecting event ports. + + Wed Jan 19 12:11:00 UTC 2011 Martin Corino <mcorino@remedy.nl> + + * bin/ciao_tests.lst: + Exclude DAnCE/LocalityManager/CommandlinePassage/run_test_cmd + test from running on Windows. + + Tue Jan 18 18:30:39 UTC 2011 Johnny Willemsen <jwillemsen@remedy.nl> + + * examples/BasicSP/README.html: + Removed references cidl + + Tue Jan 18 18:25:03 UTC 2011 Johnny Willemsen <jwillemsen@remedy.nl> + + * docs/Porting_Hints.txt: + * docs/releasenotes/switch.html: + * examples/BasicSP/README.html: + * examples/BasicSP/RepoMan_Usage.html: + * examples/Display/README.html: + * examples/Display/descriptors/basicNodeDaemon.pl: + * examples/Display/descriptors/run_NodeDaemons.pl: + * examples/Hello/descriptors/run_NodeDaemons.pl: + * examples/Hello/step-by-step.html: + * tests/Bug_2130_Regression/descriptors/run_test.pl: + * tutorials/Quoter/Simple/04.html: + * tutorials/Quoter/Simple/README.html: + Updated executable names and locations + + Tue Jan 18 14:50:14 UTC 2011 Johnny Willemsen <jwillemsen@remedy.nl> + + * docs/com-impl.html: + * docs/new_components.html: + Small change, needs more updates + + * docs/RT-Extension.html: + * docs/XML/ciao_rt_cad_ext.dtd: + Removed these files, obsolete + + Tue Jan 18 14:11:53 UTC 2011 Marcel Smit <msmit@remedy.nl> + + * ciao/Deployment/Handlers/Connection_Handler.h: + * ciao/Deployment/Handlers/Connection_Handler.cpp: + Implement disconnect_publisher. + + Tue Jan 18 11:33:18 UTC 2011 Marcel Smit <msmit@remedy.nl> + + * ciao/Deployment/Handlers/Connection_Handler.cpp: + Resolved runtime test errors. Also optimized logging + and code layout. + + Mon Jan 17 15:13:22 UTC 2011 Marcel Smit <msmit@remedy.nl> + + * ciao/Deployment/Handlers/Connection_Handler.cpp: + Resolved runtime issues related to cookies. + + Mon Jan 17 14:18:33 UTC 2011 Marcel Smit <msmit@remedy.nl> + + * ciao/Deployment/Handlers/Connection_Handler.cpp: + Storing cookies in a _var first. + Optimized logging. + + Mon Jan 17 13:05:58 UTC 2011 Marcel Smit <msmit@remedy.nl> + + * ciao/Containers/Servant_Activator.cpp: + Resolved valgrind errors. + + * ciao/Deployment/Handlers/Connection_Handler.cpp: + Resolved valgrind errors. Optimized logging. + + Mon Jan 17 11:02:27 UTC 2011 Marcel Smit <msmit@remedy.nl> + + * ciao/Deployment/Handlers/Component_Handler.cpp: + * ciao/Deployment/Handlers/Connection_Handler.h: + * ciao/Deployment/Handlers/Connection_Handler.cpp: + Resolved runtime issues related to disconnect non local + connections. + + * connectors/dds4ccm/impl/ndds/Subscriber.cpp: + Resolved valgrind errors. + + Fri Jan 14 15:41:23 UTC 2011 Marcel Smit <msmit@remedy.nl> + + * ciao/Deployment/Handlers/Connection_Handler.h: + * ciao/Deployment/Handlers/Connection_Handler.cpp: + Implemented disconnect_consumer + + * tests/DAnCE/NodeManager-Deployments/PublishConnectionExplicitHome.cdp: + Added extra connection in order to check cookie mechanism. + + Fri Jan 14 10:24:23 UTC 2011 Marcel Smit <msmit@remedy.nl> + + * ciao/Deployment/Handlers/Connection_Handler.cpp: + Resolved issues regarding disconnect non local connections. + + Thu Jan 13 18:16:14 UTC 2011 Marcel Smit <msmit@remedy.nl> + + * ciao/Containers/Container_Base_T.h: + * ciao/Containers/Container_Base_T.cpp: + * ciao/Containers/Extension/Extension_Container.cpp: + * ciao/Containers/Session/Session_Container.cpp: + Changed method header of prepare_installation + + * connectors/ami4ccm/tests/SimplexMulti/Sender/UsesSM_Sender_exec.cpp: + * connectors/ami4ccm/tests/UsesMulti/Sender/UsesMulti_Sender_exec.cpp: + Optimized logging. + + Thu Jan 13 17:33:38 UTC 2011 Marcel Smit <msmit@remedy.nl> + + * ciao/Containers/Container_Base_T.h: + * ciao/Containers/Container_Base_T.cpp: + * ciao/Containers/Extension/Extension_Container.cpp: + * ciao/Containers/Session/Session_Container.cpp: + Merged double code into one method. + + * ciao/Deployment/Handlers/Connection_Handler.h: + * ciao/Deployment/Handlers/Connection_Handler.cpp: + Reorganized code. Added a method to disconnect + non local connections. + + Wed Jan 12 15:15:09 UTC 2011 Marcel Smit <msmit@remedy.nl> + + * ciao/Containers/Extension/Extension_Container.h: + * ciao/Containers/Extension/Extension_Container.cpp: + * ciao/Containers/Session/Session_Container.cpp: + Resolved link/compile issues on windows. + + * ciao/Deployment/Handlers/Connection_Handler.cpp: + Resolved runtime errors regarding cookie registration. + + Wed Jan 12 14:43:37 UTC 2011 Marcel Smit <msmit@remedy.nl> + + * ciao/Containers/Container_Base_T.h: + * ciao/Containers/Container_Base_T.cpp: + * ciao/Containers/Extension/Extension_Container.h: + * ciao/Containers/Extension/Extension_Container.cpp: + * ciao/Containers/Extension/Extension_Container.mpc: + * ciao/Containers/Session/Session_Container.h: + * ciao/Containers/Session/Session_Container.cpp: + * ciao/Containers/Session/Session_Container.mpc: + * ciao/Containers/Extension/Extension_Container.inl: + * ciao/Containers/Session/Session_Container.inl: + Reorganized code. Moved as much as possible code to the base class. + + * ciao/Deployment/Handlers/Connection_Handler.h: + * ciao/Deployment/Handlers/Connection_Handler.cpp: + Check whether the Cookie was succesfully inserted into the internal + map. If not, throw an InvalidConnection exception since disconnect + will certainly fail. Also remove the cookie and CCMObject again. + + Wed Jan 12 09:56:24 UTC 2011 Marcel Smit <msmit@remedy.nl> + + * tests/DAnCE/PartialShutdown/Component1/Component1_exec.cpp: + * tests/DAnCE/PartialShutdown/Component2/Component2_exec.cpp: + * tests/DAnCE/PartialShutdown/Component3/Component3_exec.cpp: + Shutting down tickers of component 3 on ccm_passivate. + Resolved valgrind issues. + + Mon Jan 10 11:26:19 UTC 2011 Johnny Willemsen <jwillemsen@remedy.nl> + + * connectors/dds4ccm/impl/DDS_Base_Connector_T.h: + Fixed doxygen warnings + + * connectors/dds4ccm/impl/ndds/Utils.cpp: + Fixed fuzz + + Mon Jan 10 09:19:06 UTC 2011 Johnny Willemsen <jwillemsen@remedy.nl> + + * etc/ciao.doxygen: + * etc/ciao_dds4ccm.doxygen: + Removed deprecated macros + + * tests/IDL_Test/Cornucopia/Cornucopia.doxygen: + * tests/IDL_Test/Cornucopia/run_test.pl: + Run doxygen on the generated executor file and see if no errors + or warnings are triggered as part of our test. + + * bin/ciao_tests.lst: + Added new test only when DOXYGEN is deifned + + Mon Jan 10 08:24:37 UTC 2011 Johnny Willemsen <jwillemsen@remedy.nl> + + * connectors/ami4ccm/tests/AsynchT/Receiver/AsynchT_Receiver_exec.h: + * connectors/ami4ccm/tests/DelReplyH/Receiver/DelReplyH_Receiver_exec.h: + * connectors/ami4ccm/tests/Exceptions/Receiver/ExceptionT_Receiver_exec.h: + * connectors/ami4ccm/tests/GetComp/Receiver/GetComp_Receiver_exec.h: + * connectors/ami4ccm/tests/InterInArgs/Receiver/InterInArgsT_Receiver_exec.h: + * connectors/ami4ccm/tests/InterInOutArgs/Receiver/InterInOutT_Receiver_exec.h: + * connectors/ami4ccm/tests/InterMulti/Receiver/InterMulti_Receiver_exec.h: + * connectors/ami4ccm/tests/InterOutArgs/Receiver/InterOutArgsT_Receiver_exec.h: + * connectors/ami4ccm/tests/InterReturn/Receiver/InterReturnT_Receiver_exec.h: + * connectors/ami4ccm/tests/NoReplyH/Receiver/NoReplyH_Receiver_exec.h: + * connectors/ami4ccm/tests/OneProcess/Receiver/OneProcess_Receiver_exec.h: + * connectors/ami4ccm/tests/OneReplyH/Receiver/OneReplyH_Receiver_exec.h: + * connectors/ami4ccm/tests/SimplexMulti/Receiver/UsesSM_Receiver_exec.h: + * connectors/ami4ccm/tests/ThreeComp/Receiver/ThreeComp_Receiver_exec.h: + * connectors/ami4ccm/tests/ThreeComp/Sender/ThreeComp_Sender_exec.h: + * connectors/ami4ccm/tests/UsesMulti/Receiver/UsesMulti_Receiver_exec.h: + * connectors/ami4ccm/tutorials/Hello/Hello_asm/Receiver_comp/src/Hello_Receiver_comp_exec.h: + * connectors/ami4ccm/tutorials/Hello/Tutorial/Code/GeneratedExec/Hello_Receiver_comp_exec.h: + * connectors/ami4ccm/tutorials/Hello/Tutorial/Code/ImplementedExec/Hello_Receiver_comp_exec.h: + * connectors/dds4ccm/examples/Hello/Receiver/Hello_Receiver_exec.h: + * connectors/dds4ccm/examples/Hello/Sender/Hello_Sender_exec.h: + * connectors/dds4ccm/examples/Large_Deployment/DDS_Sub/DDS_Sub_exec.h: + * connectors/dds4ccm/examples/Large_Deployment/Single_Service/Single_Service_exec.h: + * connectors/dds4ccm/examples/Quoter/Broker/Broker_exec.h: + * connectors/dds4ccm/examples/Quoter/Distributor/Distributor_exec.h: + * connectors/dds4ccm/examples/Shapes/Receiver/Shapes_Receiver_exec.h: + * connectors/dds4ccm/performance-tests/Keyed/Receiver/Perf_Keyed_Test_Receiver_exec.h: + * connectors/dds4ccm/performance-tests/Keyed/Sender/Perf_Keyed_Test_Sender_exec.h: + * connectors/dds4ccm/performance-tests/Latency/Receiver/LatencyTT_Test_Receiver_exec.h: + * connectors/dds4ccm/performance-tests/Latency/Sender/LatencyTT_Test_Sender_exec.h: + * connectors/dds4ccm/performance-tests/Throughput/Receiver/Throughput_Receiver_exec.h: + * connectors/dds4ccm/performance-tests/Throughput/Sender/Throughput_Sender_exec.h: + * connectors/dds4ccm/tests/CSLSampleRejected/Receiver/CSL_SRTest_Receiver_exec.h: + * connectors/dds4ccm/tests/CSLUnexpStat/Receiver/CSL_USTest_Receiver_exec.h: + * connectors/dds4ccm/tests/CSLUnexpStat/Sender/CSL_USTest_Sender_exec.h: + * connectors/dds4ccm/tests/CoherentUpdater/Receiver/CoherentUpdate_Test_Receiver_exec.h: + * connectors/dds4ccm/tests/CoherentUpdater/Sender/CoherentUpdate_Test_Sender_exec.h: + * connectors/dds4ccm/tests/CoherentWriter/Receiver/CoherentWrite_Test_Receiver_exec.h: + * connectors/dds4ccm/tests/CoherentWriter/Sender/CoherentWrite_Test_Sender_exec.h: + * connectors/dds4ccm/tests/ContentFilteredTopic/EventListener/Receiver/CFTLE_Test_Receiver_exec.h: + * connectors/dds4ccm/tests/ContentFilteredTopic/ReadGet/Receiver/ReadGet_Test_Receiver_exec.h: + * connectors/dds4ccm/tests/ContentFilteredTopic/ReadGet/Sender/ReadGet_Test_Sender_exec.h: + * connectors/dds4ccm/tests/DDSEntity/Receiver/Writer_Receiver_exec.h: + * connectors/dds4ccm/tests/Getter/Receiver/Getter_Test_Receiver_exec.h: + * connectors/dds4ccm/tests/Getter/Sender/Getter_Test_Sender_exec.h: + * connectors/dds4ccm/tests/KeyedSamples/Receiver/Keyed_Test_Receiver_exec.h: + * connectors/dds4ccm/tests/KeyedWriter/Receiver/Writer_Receiver_exec.h: + * connectors/dds4ccm/tests/LateBinding/ReadGet/Receiver/RG_LateBinding_Receiver_exec.h: + * connectors/dds4ccm/tests/LateBinding/UpdateWrite/Receiver/WU_LateBinding_Receiver_exec.h: + * connectors/dds4ccm/tests/ListenNotEnabled/Receiver/LNE_Test_Receiver_exec.h: + * connectors/dds4ccm/tests/MultiTopic/Receiver/MultiTopic_Receiver_exec.h: + * connectors/dds4ccm/tests/PSLDeadline/Receiver/PSL_DeadlineTest_Receiver_exec.h: + * connectors/dds4ccm/tests/PSLDeadline/Sender/PSL_DeadlineTest_Sender_exec.h: + * connectors/dds4ccm/tests/PSLSampleLost/Receiver/PSL_SampleLost_Receiver_exec.h: + * connectors/dds4ccm/tests/Proxies/ReadWrite/Receiver/Proxy_RW_Test_Receiver_exec.h: + * connectors/dds4ccm/tests/Proxies/ReadWrite/Sender/Proxy_RW_Test_Sender_exec.h: + * connectors/dds4ccm/tests/QueryCondition/Different/Receiver/Different_Test_Receiver_exec.h: + * connectors/dds4ccm/tests/QueryCondition/EventListener/Receiver/QCLE_Test_Receiver_exec.h: + * connectors/dds4ccm/tests/QueryCondition/ReadGet/Receiver/ReadGet_Test_Receiver_exec.h: + * connectors/dds4ccm/tests/QueryCondition/ReadGet/Sender/ReadGet_Test_Sender_exec.h: + * connectors/dds4ccm/tests/QueryCondition/StateListener/Receiver/QCLS_Test_Receiver_exec.h: + * connectors/dds4ccm/tests/QueryCondition/TwoListeners/Receiver/QCTL_Test_Receiver_exec.h: + * connectors/dds4ccm/tests/QueryCondition/TwoQueries/Receiver/QCTQ_Test_Receiver_exec.h: + * connectors/dds4ccm/tests/QueryCondition/TwoQueries/Sender/QCTQ_Test_Sender_exec.h: + * connectors/dds4ccm/tests/Reader/Receiver/Reader_Test_Receiver_exec.h: + * connectors/dds4ccm/tests/Reader/Sender/Reader_Test_Sender_exec.h: + * connectors/dds4ccm/tests/SLDisabled/Receiver/SL_Disabled_Receiver_exec.h: + * connectors/dds4ccm/tests/SLManyByMany/Receiver/SL_ManyByMany_Receiver_exec.h: + * connectors/dds4ccm/tests/SLOneByOne/Receiver/SL_OneByOne_Receiver_exec.h: + * connectors/dds4ccm/tests/UnkeyedSamples/Receiver/Unkeyed_Test_Receiver_exec.h: + * connectors/dds4ccm/tests/UnkeyedWriter/Receiver/Writer_Receiver_exec.h: + * connectors/dds4ccm/tests/Updater/Receiver/Updater_Receiver_exec.h: + * connectors/dds4ccm/tutorials/Shapes/Shapes_asm/Shapes_Receiver_comp/src/Shapes_Receiver_comp_exec.h: + * connectors/dds4ccm/tutorials/Shapes/Shapes_asm/Shapes_Sender_comp/src/Shapes_Sender_comp_exec.h: + * connectors/dds4ccm/tutorials/Shapes/Tutorial/Code/Shapes_Receiver_comp/Shapes_Receiver_comp_exec.h: + * connectors/dds4ccm/tutorials/Shapes/Tutorial/Code/Shapes_Sender_comp/Shapes_Sender_comp_exec.h: + * examples/Hello/Sender/Sender_exec.h: + * examples/Null_Component/Null_Component_exec.h: + * examples/Null_Component_Glfa/Null_Component_exec.h: + * tests/Bug_3834_Regression/CompA_exec.h: + * tests/CIF/Component/CIF_Component_exec.h: + * tests/DAnCE/Components/Progressive_exec.h: + * tests/DAnCE/PartialShutdown/Component1/Component1_exec.h: + * tests/DAnCE/PartialShutdown/Component2/Component2_exec.h: + * tests/DAnCE/PartialShutdown/Component3/Component3_exec.h: + * tests/Thread/Sender/Sender_exec.h: + * tutorials/Quoter/Simple/Distributor/StockDistributor_exec.h: + Fixed doxygen warnings + + Fri Jan 7 16:05:10 UTC 2011 Marcel Smit <msmit@remedy.nl> + + * ciao/Deployment/Handlers/Connection_Handler.cpp: + Resolved disconnect issues. + + Fri Jan 7 14:49:14 UTC 2011 Johnny Willemsen <jwillemsen@remedy.nl> + + * connectors/ami4ccm/tests/IDL_Test/Hello.idl: + Added oneway method + + Fri Jan 7 12:52:54 UTC 2011 Marcel Smit <msmit@remedy.nl> + + * MPC/config/ndds_stub.mpb: + * connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Base/I2C_ShapeType.mpc: + Optimized MPC-file's. + + Fri Jan 7 12:06:51 UTC 2011 Marcel Smit <msmit@remedy.nl> + + * connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Common/I2C_Shapes_Common.h: + * connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Common/I2C_Shapes_Common.cpp: + * connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Receiver/I2C_Shapes_Receiver.cpp: + * connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Sender/I2C_Shapes_Sender.cpp: + * connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/descriptors/USER_QOS_PROFILES.xml: + Created a profile and using the _with_profile methods in this example. + + Fri Jan 7 11:51:27 UTC 2011 Marcel Smit <msmit@remedy.nl> + + * connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Common/I2C_Shapes_Common.h: + * connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Common/I2C_Shapes_Common.cpp: + * connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Receiver/I2C_Shapes_Receiver.cpp: + * connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Sender/I2C_Shapes_Sender.cpp: + Layout changes. + + Fri Jan 7 09:24:16 UTC 2011 Marcel Smit <msmit@remedy.nl> + + * tests/Cookies/Cookie.cpp: + Removed unnecessary debug statements. + + Fri Jan 7 09:04:25 UTC 2011 Marcel Smit <msmit@remedy.nl> + + * bin/ciao_tests.lst: + * tests/Cookies: + * tests/Cookies/Cookie.h: + * tests/Cookies/Cookie.cpp: + * tests/Cookies/Cookies.mpc: + * tests/Cookies/Test.idl: + * tests/Cookies/client.cpp: + * tests/Cookies/run_test.pl: + * tests/Cookies/server.cpp: + Added test which explicitly tests the cookie implementation. + + * ciao/Containers/Container_Base_T.cpp: + No need to catch the CookieRequired exception anymore. + + * ciao/Deployment/Handlers/Connection_Handler.cpp: + Remove cookie from the map on disconnect. + + * connectors/dds4ccm/tests/MultiTopic/Connector/MultiTopic_Connector_T.cpp: + Resolved compile issues related to qos_profile name. + + Thu Jan 6 10:33:41 UTC 2011 Marcel Smit <msmit@remedy.nl> + + * ciao/Containers/Container_Base.idl: + * ciao/Containers/Container_Base_T.h: + * ciao/Containers/Container_Base_T.cpp: + * ciao/Containers/Extension/Extension_Container.h: + * ciao/Containers/Extension/Extension_Container.cpp: + * ciao/Containers/Session/Session_Container.h: + * ciao/Containers/Session/Session_Container.cpp: + * ciao/Deployment/Handlers/Connection_Handler.h: + * ciao/Deployment/Handlers/Connection_Handler.cpp: + Moved (dis)connect methods to the base. Making use of the cookie + functionality when (dis)connecting local connections. + + * connectors/dds4ccm/impl/DDS_Base_Connector_T.cpp: + Fixed typo. + + * connectors/dds4ccm/impl/ndds/Utils.h: + * connectors/dds4ccm/impl/ndds/Utils.cpp: + Added. + + Wed Jan 5 14:18:54 UTC 2011 Marcel Smit <msmit@remedy.nl> + + * connectors/dds4ccm/idl/ndds/ndds_dcps.idl: + * connectors/dds4ccm/impl/DDS_Base_Connector_T.h: + * connectors/dds4ccm/impl/DDS_Base_Connector_T.cpp: + * connectors/dds4ccm/impl/DDS_Event_Connector_T.cpp: + * connectors/dds4ccm/impl/DDS_Get_T.h: + * connectors/dds4ccm/impl/DDS_Get_T.cpp: + * connectors/dds4ccm/impl/DDS_State_Connector_T.cpp: + * connectors/dds4ccm/impl/DDS_Subscriber_Base_T.h: + * connectors/dds4ccm/impl/DDS_Subscriber_Base_T.cpp: + * connectors/dds4ccm/impl/DDS_Update_T.h: + * connectors/dds4ccm/impl/DDS_Update_T.cpp: + * connectors/dds4ccm/impl/DDS_Write_T.h: + * connectors/dds4ccm/impl/DDS_Write_T.cpp: + * connectors/dds4ccm/impl/Utils.h: + * connectors/dds4ccm/impl/ndds/DomainParticipant.h: + * connectors/dds4ccm/impl/ndds/DomainParticipant.cpp: + * connectors/dds4ccm/impl/ndds/DomainParticipantFactory.h: + * connectors/dds4ccm/impl/ndds/DomainParticipantFactory.cpp: + * connectors/dds4ccm/impl/ndds/Publisher.h: + * connectors/dds4ccm/impl/ndds/Publisher.cpp: + * connectors/dds4ccm/impl/ndds/Subscriber.h: + * connectors/dds4ccm/impl/ndds/Subscriber.cpp: + * connectors/dds4ccm/impl/ndds/ndds.mpc: + Replaced all libary_name/profile_name combination with one + string (qos_profile). Substract the library_name and profile_name in + the NDDS library (instead of the core). + + Wed Jan 5 11:42:01 UTC 2011 Johnny Willemsen <jwillemsen@remedy.nl> + + * bin/ciao_tests.lst: + Added 3944 + + * tests/Bug_3944_Regression: + * tests/Bug_3944_Regression/base_connector_conn.idl: + * tests/Bug_3944_Regression/connector_conn.idl: + * tests/Bug_3944_Regression/connector_inst_conn.idl: + * tests/Bug_3944_Regression/run_test.pl: + New test for bugzilla 3944 + + Wed Jan 5 11:01:04 UTC 2011 Marcel Smit <msmit@remedy.nl> + + * tests/DAnCE/PartialShutdown/Base/PartialShutdown.mpc: + Resolved link issues on windows. + + Wed Jan 5 10:56:02 UTC 2011 Marcel Smit <msmit@remedy.nl> + + * tests/DAnCE/PartialShutdown/Component1/Component1.mpc: + * tests/DAnCE/PartialShutdown/Component2/Component2.mpc: + * tests/DAnCE/PartialShutdown/Component3/Component3.mpc: + Resolved compile issues on windows. + + Wed Jan 5 09:15:01 UTC 2011 Marcel Smit <msmit@remedy.nl> + + * connectors/dds4ccm/performance-tests/DDSLatency/DDS_Receiver/Latency_Receiver.cpp: + Resolved runtime issues. + + Sun Jan 2 13:28:25 UTC 2011 Johnny Willemsen <jwillemsen@remedy.nl> + + * CIAO_TAO.mwc: + * CIAO_TAO_DAnCE.mwc: + + * connectors/ami4ccm/examples/Hello/Sender/Hello_Sender_exec.cpp: + + * connectors/ami4ccm/tests/AsynchT/Receiver/AsynchT_Receiver_exec.cpp: + + * connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Common/I2C_Shapes_Common.cpp: + + * connectors/dds4ccm/examples/Shapes/descriptors/run_test.pl: + + * connectors/dds4ccm/tests/MultipleTemp/Receiver/MultipleTemp_Receiver.mpc: + + * connectors/dds4ccm/tests/MultipleTemp/Sender/MultipleTemp_Sender.mpc: + + Tue Dec 28 14:42:56 UTC 2010 Marcel Smit <msmit@remedy.nl> + + * connectors/dds4ccm/performance-tests/DDSThroughput/DDS_Sender/Throughput_Sender.cpp: + Resolved test errors. + + Tue Dec 28 07:56:38 UTC 2010 Marcel Smit <msmit@remedy.nl> + + * connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Base/I2C_ShapeType.mpc: + Resolved compile issues on linux. + + Mon Dec 27 15:10:50 UTC 2010 Marcel Smit <msmit@remedy.nl> + + * bin/ciao_tests.lst: + + * tests/DAnCE/PartialShutdown/*: + Test which tests whether all connections are correctly shutdown + when one component is shutdown using a deploymentplan. + For now it tests whether all connections were shutdown properly. + + Mon Dec 27 12:47:16 UTC 2010 Marcel Smit <msmit@remedy.nl> + + * MPC/config/dds4ccm_ts_default.mpb: + * MPC/config/ndds_ts_default.mpb: + Ability for users to create their ndds-only projects. + + * connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Base/I2C_ShapeType.mpc: + * connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Base/I2C_Shapes_Base.mpc: + * connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Common/I2C_Shapes_Common.mpc: + * connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Receiver/I2C_Shapes_Receiver.mpc: + * connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Sender/I2C_Shapes_Sender.mpc: + Changed mpc files to only use ndds base projects. + + Mon Dec 27 10:42:34 UTC 2010 Marcel Smit <msmit@remedy.nl> + + * MPC/config/dds4ccm.mpb: + * MPC/config/dds4ccm_base.mpb: + Corrected base projects. + + Mon Dec 27 10:30:27 UTC 2010 Marcel Smit <msmit@remedy.nl> + + * MPC/config/dds4ccm.mpb: + * MPC/config/dds4ccm_base.mpb: + Resolved linker errors on windows. + + Mon Dec 27 10:15:26 UTC 2010 Marcel Smit <msmit@remedy.nl> + + * connectors/dds4ccm/idl/ndds/ndds_dcps.idl: + * connectors/dds4ccm/idl/ndds/ndds_dcps_i_handle.idl: + * connectors/dds4ccm/idl/ndds/ndds_dcps_instance_handle.idl: + * connectors/dds4ccm/idl/ndds/ndds_dcps_instance_handleC.h: + * connectors/dds4ccm/idl/ndds/ndds_dcps_instance_handleC.cpp: + * connectors/dds4ccm/idl/ndds/ndds_dcps_instance_handleEC.h: + * connectors/dds4ccm/idl/ndds/ndds_dcps_instance_handleS.h: + * connectors/dds4ccm/idl/ndds/ndds_lem_stub.mpc: + * connectors/dds4ccm/idl/ndds/ndds_skel.mpc: + * connectors/dds4ccm/idl/ndds/ndds_stub.mpc: + * connectors/dds4ccm/idl/ndds/dds_rtf2_dcps_i_handle.idl: + * connectors/dds4ccm/idl/ndds/dds_rtf2_dcps_instance_handle.idl: + * connectors/dds4ccm/idl/ndds/dds_rtf2_dcps_instance_handleC.h: + * connectors/dds4ccm/idl/ndds/dds_rtf2_dcps_instance_handleC.cpp: + * connectors/dds4ccm/idl/ndds/dds_rtf2_dcps_instance_handleEC.h: + * connectors/dds4ccm/idl/ndds/dds_rtf2_dcps_instance_handleS.h: + Renamed dds_rtf2_dcps to ndds_dcps. + + Mon Dec 27 09:34:09 UTC 2010 Marcel Smit <msmit@remedy.nl> + + * MPC/config/dds4ccm.mpb: + * MPC/config/dds4ccm_base.mpb: + * MPC/config/ndds.mpb: + * MPC/config/ndds_lem_stub.mpb: + * MPC/config/ndds_skel.mpb: + * MPC/config/ndds_stub.mpb: + * connectors/dds4ccm/idl/dds4ccm_lem_stub.mpc: + * connectors/dds4ccm/idl/dds4ccm_skel.mpc: + * connectors/dds4ccm/idl/dds4ccm_stub.mpc: + * connectors/dds4ccm/idl/dds_rtf2_dcps.idl: + * connectors/dds4ccm/idl/ndds: + * connectors/dds4ccm/idl/ndds/dds_rtf2_dcps_i_handle.idl: + * connectors/dds4ccm/idl/ndds/dds_rtf2_dcps_instance_handle.idl: + * connectors/dds4ccm/idl/ndds/dds_rtf2_dcps_instance_handleC.h: + * connectors/dds4ccm/idl/ndds/dds_rtf2_dcps_instance_handleC.cpp: + * connectors/dds4ccm/idl/ndds/dds_rtf2_dcps_instance_handleEC.h: + * connectors/dds4ccm/idl/ndds/dds_rtf2_dcps_instance_handleS.h: + * connectors/dds4ccm/idl/ndds/ndds_dcps.idl: + * connectors/dds4ccm/idl/ndds/ndds_lem_stub.mpc: + * connectors/dds4ccm/idl/ndds/ndds_skel.mpc: + * connectors/dds4ccm/idl/ndds/ndds_stub.mpc: + * connectors/dds4ccm/impl/ConditionManager.h: + * connectors/dds4ccm/impl/ConditionManager.cpp: + * connectors/dds4ccm/impl/DataReaderHandler_T.cpp: + * connectors/dds4ccm/impl/DataReaderStateListener_T.cpp: + * connectors/dds4ccm/impl/Getter_T.h: + * connectors/dds4ccm/impl/Reader_T.cpp: + * connectors/dds4ccm/impl/TopicListener.cpp: + * connectors/dds4ccm/impl/Utils.h: + * connectors/dds4ccm/impl/dds4ccm_impl.mpc: + * connectors/dds4ccm/impl/ndds/Condition.h: + * connectors/dds4ccm/impl/ndds/Condition.cpp: + * connectors/dds4ccm/impl/ndds/ContentFilteredTopic.h: + * connectors/dds4ccm/impl/ndds/DataReader.h: + * connectors/dds4ccm/impl/ndds/DataReaderListener.h: + * connectors/dds4ccm/impl/ndds/DataReader_T.h: + * connectors/dds4ccm/impl/ndds/DataReader_T.cpp: + * connectors/dds4ccm/impl/ndds/DataWriter.h: + * connectors/dds4ccm/impl/ndds/DataWriterListener.h: + * connectors/dds4ccm/impl/ndds/DataWriter_T.h: + * connectors/dds4ccm/impl/ndds/DomainParticipant.h: + * connectors/dds4ccm/impl/ndds/DomainParticipant.cpp: + * connectors/dds4ccm/impl/ndds/DomainParticipantFactory.h: + * connectors/dds4ccm/impl/ndds/DomainParticipantListener.h: + * connectors/dds4ccm/impl/ndds/Publisher.h: + * connectors/dds4ccm/impl/ndds/Publisher.cpp: + * connectors/dds4ccm/impl/ndds/PublisherListener.h: + * connectors/dds4ccm/impl/ndds/QueryCondition.h: + * connectors/dds4ccm/impl/ndds/ReadCondition.h: + * connectors/dds4ccm/impl/ndds/StatusCondition.h: + * connectors/dds4ccm/impl/ndds/Subscriber.h: + * connectors/dds4ccm/impl/ndds/Subscriber.cpp: + * connectors/dds4ccm/impl/ndds/SubscriberListener.h: + * connectors/dds4ccm/impl/ndds/Topic.h: + * connectors/dds4ccm/impl/ndds/TopicDescription.h: + * connectors/dds4ccm/impl/ndds/TopicListener.h: + * connectors/dds4ccm/impl/ndds/TypeSupport.h: + * connectors/dds4ccm/impl/ndds/WaitSet.h: + * connectors/dds4ccm/impl/ndds/WaitSet.cpp: + * connectors/dds4ccm/impl/ndds/ndds.mpc: + * connectors/dds4ccm/idl/dds_rtf2_dcps_i_handle.idl: + * connectors/dds4ccm/idl/dds_rtf2_dcps_instance_handle.idl: + * connectors/dds4ccm/idl/dds_rtf2_dcps_instance_handleC.h: + * connectors/dds4ccm/idl/dds_rtf2_dcps_instance_handleC.cpp: + * connectors/dds4ccm/idl/dds_rtf2_dcps_instance_handleEC.h: + * connectors/dds4ccm/idl/dds_rtf2_dcps_instance_handleS.h: + Splitted dds_rtf2_dcps.idl into two parts, given ndds it's own idl file with its own. + stub and skeleton projects. The NDDS wrapper library now inherits from these stub and + skeleton projects + + Fri Dec 24 09:13:51 UTC 2010 Marcel Smit <msmit@remedy.nl> + + * connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Receiver/I2C_Shapes_Receiver.mpc: + Fuzz. + + * connectors/dds4ccm/impl/Getter_T.cpp: + ::DDS::xxx instead of DDS_xxx. + + Thu Dec 23 10:28:43 UTC 2010 Marcel Smit <msmit@remedy.nl> + + * connectors/dds4ccm/tests/MultipleTemp/Connector/MultipleTemp_Connector_T.h: + * connectors/dds4ccm/tests/MultipleTemp/Connector/MultipleTemp_Connector_T.cpp: + Implemented unregister_type since this one is pure virtual in the + base class. + + Thu Dec 23 09:02:00 UTC 2010 Marcel Smit <msmit@remedy.nl> + + * connectors/dds4ccm/tests/MultiTopic/Connector/ccm_dds_mt.idl: + Derive from DDS_Base instead of DDS_TopicBase. + + * connectors/dds4ccm/tests/MultipleTemp/Connector/MultipleTemp_Connector_T.h: + * connectors/dds4ccm/tests/MultipleTemp/Connector/MultipleTemp_Connector_T.cpp: + Removed unnecessary template parameters. + Fuzz. + + Thu Dec 23 08:11:40 UTC 2010 Marcel Smit <msmit@remedy.nl> + + * tests/IDL_Test/NonTopic_Connector/NonTopic_Connector_T.h: + * tests/IDL_Test/NonTopic_Connector/NonTopic_Connector_T.cpp: + Removed template parameters due to changes in the IDL compiler. + + Wed Dec 22 15:44:43 UTC 2010 Marcel Smit <msmit@remedy.nl> + + * connectors/dds4ccm/tests/Derived/DDS_Derived_Connector_T.h: + * connectors/dds4ccm/tests/PSAT/DDS_PSAT_Connector_T.h: + Removed fith template parameter due to changes in the IDL compiler. + + Wed Dec 22 14:43:46 UTC 2010 Marcel Smit <msmit@remedy.nl> + + * connectors/dds4ccm/impl/DDS_Event_Connector_T.h: + * connectors/dds4ccm/impl/DDS_Event_Connector_T.cpp: + * connectors/dds4ccm/impl/DDS_State_Connector_T.h: + * connectors/dds4ccm/impl/DDS_State_Connector_T.cpp: + * connectors/dds4ccm/tests/MultiTopic/Connector/MultiTopic_Connector_T.h: + * connectors/dds4ccm/tests/MultiTopic/Connector/MultiTopic_Connector_T.cpp: + Removed fith template parameter due to changes in the IDL compiler. + + Wed Dec 22 14:03:38 UTC 2010 Marcel Smit <msmit@remedy.nl> + + * connectors/dds4ccm/performance-tests/DDSLatency/DDS_Sender/Latency_Sender.cpp: + * connectors/dds4ccm/performance-tests/DDSLatency/DDS_Sender/NDDS_Latency_Sender.cpp: + * connectors/dds4ccm/performance-tests/Latency/Sender/LatencyTT_Test_Sender_exec.cpp: + Resolved valgrind warnings/errors. + + Wed Dec 22 13:29:28 UTC 2010 Marcel Smit <msmit@remedy.nl> + + * connectors/dds4ccm/performance-tests/DDSLatency/DDS_Sender/Latency_Sender.cpp: + * connectors/dds4ccm/performance-tests/DDSLatency/DDS_Sender/NDDS_Latency_Sender.cpp: + Resolved memory leaks. + + Wed Dec 22 13:08:01 UTC 2010 Marcel Smit <msmit@remedy.nl> + + * connectors/dds4ccm/tests/ListenNotEnabled/Sender/LNE_Test_Sender_exec.h: + * connectors/dds4ccm/tests/ListenNotEnabled/Sender/LNE_Test_Sender_exec.cpp: + Resolved memory leak. + + Wed Dec 22 12:59:57 UTC 2010 Marcel Smit <msmit@remedy.nl> + + * connectors/dds4ccm/tests/SharedDomainParticipant/DifferentDatatype/Component/Component_exec.h: + * connectors/dds4ccm/tests/SharedDomainParticipant/DifferentDatatype/Component/Component_exec.cpp: + Resolved memory leaks. + + Wed Dec 22 12:34:50 UTC 2010 Marcel Smit <msmit@remedy.nl> + + * connectors/dds4ccm/impl/DDS_Write_T.cpp: + Layout changes + + * connectors/dds4ccm/tests/SharedDomainParticipant/SameDatatype/Component/Component_exec.h: + Removed unused class variables. + + * connectors/dds4ccm/tests/SharedDomainParticipant/SameDatatype/Component/Component_exec.cpp: + Resolved memory leaks. + + Wed Dec 22 11:42:32 UTC 2010 Marcel Smit <msmit@remedy.nl> + + * connectors/dds4ccm/examples/Shapes/Receiver/Shapes_Receiver.mpc: + * connectors/dds4ccm/examples/Shapes/Receiver/Shapes_Receiver_exec.h: + * connectors/dds4ccm/examples/Shapes/Receiver/Shapes_Receiver_exec.cpp: + * connectors/dds4ccm/examples/Shapes/Sender/Shapes_Sender.mpc: + * connectors/dds4ccm/examples/Shapes/Sender/Shapes_Sender_exec.h: + * connectors/dds4ccm/examples/Shapes/Sender/Shapes_Sender_exec.cpp: + * connectors/dds4ccm/examples/Shapes/descriptors/Plan.cdp: + Rewritten, using the generated executor code. + + * connectors/dds4ccm/tests/ContentFilteredTopic/StateListener/descriptors/run_test.pl: + Given the application some extra time to run + + Tue Dec 21 14:52:07 UTC 2010 Marcel Smit <msmit@remedy.nl> + + * connectors/dds4ccm/impl/DDS_Base_Connector_T.cpp: + Removed implementation of register_type and unregister_type + since they're pure virtual. + + Tue Dec 21 14:21:43 UTC 2010 Marcel Smit <msmit@remedy.nl> + + * connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Receiver/I2C_Shapes_Receiver.cpp: + * connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Sender/I2C_Shapes_Sender.cpp: + Using the IDL defined type specific datareader/datawriter. + + Tue Dec 21 13:43:17 UTC 2010 Marcel Smit <msmit@remedy.nl> + + * connectors/dds4ccm/impl/DDS_Base_Connector_T.h: + register_type and unregister_type are now pure virtual. + + Tue Dec 21 13:33:27 UTC 2010 Marcel Smit <msmit@remedy.nl> + + * connectors/ami4ccm/tests/GetComp/Sender/GetComp_Sender_exec.cpp: + Resolve compile error on windows. + + Tue Dec 21 13:29:51 UTC 2010 Marcel Smit <msmit@remedy.nl> + + * connectors/ami4ccm/tests/InterInArgs/Sender/InterInArgsT_Sender_exec.cpp: + Resolved compile error. + + * connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Base/I2C_ShapeType.idl: + * connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Base/I2C_ShapeType.mpc: + * connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Base/I2C_Shapes_Traits.h: + * connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Common/I2C_Shapes_Common.mpc: + * connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Receiver/I2C_Shapes_Receiver.mpc: + * connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Sender/I2C_Shapes_Sender.mpc: + * connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Base/I2C_Shapes_Connector.idl: + * connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Base/I2C_Shapes_Connector.mpc: + Renamed xxx_Connector.* files since these files do not contain connector stuff. + + Tue Dec 21 13:11:30 UTC 2010 Marcel Smit <msmit@remedy.nl> + + * connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Connector: + * connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Connector/I2C_Shapes_Connector.idl: + * connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Connector/I2C_Shapes_Connector.mpc: + * connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Connector/I2C_Shapes_Traits.h: + Removed these files. + + Tue Dec 21 13:09:03 UTC 2010 Marcel Smit <msmit@remedy.nl> + + * connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Base/I2C_Shapes_Connector.idl: + * connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Base/I2C_Shapes_Connector.mpc: + * connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Base/I2C_Shapes_Traits.h: + * connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Common/I2C_Shapes_Common.h: + Moved Connector/* files to Base. + + Tue Dec 21 10:44:56 UTC 2010 Marcel Smit <msmit@remedy.nl> + + * connectors/dds4ccm/impl/ndds/DomainParticipant.cpp: + * connectors/dds4ccm/impl/ndds/DomainParticipantFactory.cpp: + * connectors/dds4ccm/impl/ndds/Publisher.cpp: + * connectors/dds4ccm/impl/ndds/Subscriber.cpp: + Optimized logging for with_profile methods. + + * connectors/dds4ccm/tests/CSLSampleRejected/Sender/CSL_SRTest_Sender_exec.h: + Removed unused class variable. + + === end changelog === + Mon Dec 20 19:10:15 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl> * connectors/dds4ccm/impl/ndds/ndds.mpc: diff --git a/CIAO/MPC/config/dds4ccm.mpb b/CIAO/MPC/config/dds4ccm.mpb index eaf3dff0db1..53b0a98b5da 100644 --- a/CIAO/MPC/config/dds4ccm.mpb +++ b/CIAO/MPC/config/dds4ccm.mpb @@ -20,16 +20,11 @@ feature(dds4ccm_splice) : taoidldefaults { includes += $(CIAO_ROOT)/connectors/dds4ccm/idl } -feature(dds4ccm_ndds) : taoidldefaults { - macros += CIAO_DDS4CCM_NDDS=1 - idlflags += -DCIAO_DDS4CCM_NDDS=1 \ - -Wb,dds_impl=ndds \ - -I $(CIAO_ROOT)/connectors \ - -I $(CIAO_ROOT)/connectors/dds4ccm/idl - includes += $(CIAO_ROOT)/connectors/dds4ccm/idl +feature(dds4ccm_ndds) : ndds { + after += CIAO_NDDS_stub + libs += CIAO_NDDS_stub } feature(!dds4ccm_opendds, !dds4ccm_ndds, !dds4ccm_splice) { requires += dummy_label } - diff --git a/CIAO/MPC/config/dds4ccm_base.mpb b/CIAO/MPC/config/dds4ccm_base.mpb index d7defd153ae..3d6d2e6538d 100644 --- a/CIAO/MPC/config/dds4ccm_base.mpb +++ b/CIAO/MPC/config/dds4ccm_base.mpb @@ -11,7 +11,7 @@ feature(dds4ccm_splice) : dds4ccm, ciao_connector_base { libs += DDS4CCM_stub } -feature(dds4ccm_ndds) : dds4ccm, ciao_connector_base, nddslib, nddsmonitor { +feature(dds4ccm_ndds) : ndds_lem_stub, ndds_impl, ciao_connector_base { after += DDS4CCM_stub DDS4CCM_lem_gen libs += DDS4CCM_stub } diff --git a/CIAO/MPC/config/dds4ccm_ts_default.mpb b/CIAO/MPC/config/dds4ccm_ts_default.mpb index 35737ae4082..0f65a16f6c0 100644 --- a/CIAO/MPC/config/dds4ccm_ts_default.mpb +++ b/CIAO/MPC/config/dds4ccm_ts_default.mpb @@ -16,18 +16,7 @@ feature(dds4ccm_splice) : dds4ccm, splice_ts_defaults { } } -feature(dds4ccm_ndds) : dds4ccm, ndds_ts_defaults, nddslib, typecode { - Define_Custom(DDSGenerator) : NDDSTypeSupport { - commandflags += -typeSequenceSuffix RTISeq -enableEscapeChar -verbosity 1 -I $(CIAO_ROOT)/connectors/dds4ccm/idl -I $(CIAO_ROOT)/ccm -I $(CIAO_ROOT) - keyword dds_ts_flags = commandflags - } - - dynamicflags += NDDS_USER_DLL_EXPORT - - verbatim(gnuace, macros) { - override no_hidden_visibility = 1 - override no_strict_aliasing = 1 - } +feature(dds4ccm_ndds) : dds4ccm, ndds_ts_default { } feature(!dds4ccm_opendds) { diff --git a/CIAO/MPC/config/ndds.mpb b/CIAO/MPC/config/ndds.mpb new file mode 100644 index 00000000000..5da89588de9 --- /dev/null +++ b/CIAO/MPC/config/ndds.mpb @@ -0,0 +1,14 @@ +// -*- MPC -*- +// $Id$ + +project : nddslib, nddsmonitor, taoidldefaults { + macros += CIAO_DDS4CCM_NDDS=1 + idlflags += -DCIAO_DDS4CCM_NDDS=1 \ + -Wb,dds_impl=ndds \ + -I $(CIAO_ROOT)/connectors \ + -I $(CIAO_ROOT)/connectors/dds4ccm/idl \ + -I $(CIAO_ROOT)/connectors/dds4ccm/idl/ndds + includes += $(CIAO_ROOT)/connectors/dds4ccm/idl \ + $(CIAO_ROOT)/connectors/dds4ccm/idl/ndds \ + $(CIAO_ROOT)/connectors +} diff --git a/CIAO/MPC/config/ndds_lem_stub.mpb b/CIAO/MPC/config/ndds_lem_stub.mpb new file mode 100644 index 00000000000..9f066892ea7 --- /dev/null +++ b/CIAO/MPC/config/ndds_lem_stub.mpb @@ -0,0 +1,7 @@ +// -*- MPC -*- +// $Id$ + +project : ndds_stub, ccm_session_stub { + libs += CIAO_NDDS_lem_stub + after += CIAO_NDDS_lem_stub +}
\ No newline at end of file diff --git a/CIAO/MPC/config/ndds_skel.mpb b/CIAO/MPC/config/ndds_skel.mpb new file mode 100644 index 00000000000..a35469f9a9e --- /dev/null +++ b/CIAO/MPC/config/ndds_skel.mpb @@ -0,0 +1,7 @@ +// -*- MPC -*- +// $Id$ + +project : ndds_stub { + libs += CIAO_NDDS_skel + after += CIAO_NDDS_skel +}
\ No newline at end of file diff --git a/CIAO/MPC/config/ndds_stub.mpb b/CIAO/MPC/config/ndds_stub.mpb new file mode 100644 index 00000000000..78e241c1cb6 --- /dev/null +++ b/CIAO/MPC/config/ndds_stub.mpb @@ -0,0 +1,8 @@ +// -*- MPC -*- +// $Id$ + +project : ndds { + includes += $(ACE_ROOT) $(CIAO_ROOT) + libs += CIAO_NDDS_stub + after += CIAO_NDDS_stub +}
\ No newline at end of file diff --git a/CIAO/MPC/config/ndds_ts_default.mpb b/CIAO/MPC/config/ndds_ts_default.mpb new file mode 100644 index 00000000000..facbe03a3af --- /dev/null +++ b/CIAO/MPC/config/ndds_ts_default.mpb @@ -0,0 +1,17 @@ +// -*- MPC -*- +// $Id$ + +project : ndds_ts_defaults, nddslib, typecode { + Define_Custom(DDSGenerator) : NDDSTypeSupport { + commandflags += -typeSequenceSuffix RTISeq -enableEscapeChar -verbosity 1 -I $(CIAO_ROOT)/connectors/dds4ccm/idl -I $(CIAO_ROOT)/ccm -I $(CIAO_ROOT) + keyword dds_ts_flags = commandflags + } + + dynamicflags += NDDS_USER_DLL_EXPORT + + verbatim(gnuace, macros) { + override no_hidden_visibility = 1 + override no_strict_aliasing = 1 + } + +}
\ No newline at end of file diff --git a/CIAO/bin/ciao_tests.lst b/CIAO/bin/ciao_tests.lst index 21b227886c3..b5e70c9c146 100644 --- a/CIAO/bin/ciao_tests.lst +++ b/CIAO/bin/ciao_tests.lst @@ -31,6 +31,9 @@ TAO/CIAO/tests/IDL3/Connectors/run_test.pl !CCM_NOEVENT TAO/CIAO/tests/Bug_3832_Regression/run_test.pl: !STATIC !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !NOXERCES !ACE_FOR_TAO !ST TAO/CIAO/tests/Bug_3936_Regression/run_test.pl TAO/CIAO/tests/Bug_3937_Regression/run_test.pl +TAO/CIAO/tests/Bug_3944_Regression/run_test.pl +TAO/CIAO/tests/IDL_Test/Cornucopia/run_test.pl: DOXYGEN +TAO/CIAO/tests/Cookies/run_test.pl #COPI needs the extension container #TAO/CIAO/tests/COPI/Registration/Client/descriptors/run_test.pl: !STATIC !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !NOXERCES !ACE_FOR_TAO !ST #TAO/CIAO/tests/COPI/Registration/Servant/descriptors/run_test.pl: !STATIC !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !NOXERCES !ACE_FOR_TAO !ST @@ -136,6 +139,7 @@ TAO/CIAO/tests/DAnCE/EM-Redeployment/run_test.pl: !STATIC !MINIMUM !CORBA_E_COMP TAO/CIAO/tests/DAnCE/EM-Launch-Failures/run_test.pl: !STATIC !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !NOXERCES !ACE_FOR_TAO !ST !LabVIEW_RT !WinCE TAO/CIAO/tests/DAnCE/EM-Shutdown-Failures/run_test.pl: !STATIC !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !NOXERCES !ACE_FOR_TAO !ST !LabVIEW_RT !WinCE TAO/CIAO/tests/DAnCE/Executor-Destructor/run_test.pl: !STATIC !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !NOXERCES !ACE_FOR_TAO !ST !LabVIEW_RT !WinCE +TAO/CIAO/tests/DAnCE/PartialShutdown/descriptors/run_test.pl: !STATIC !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !NOXERCES !ACE_FOR_TAO !ST !LabVIEW_RT !WinCE TAO/CIAO/tests/IDL3_to_XMI/Bug_3607_Regression/run_test.pl: !STATIC !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !NOXERCES !ACE_FOR_TAO !ST !LabVIEW_RT !WinCE !NO_IDL3_TO_XMI !CCM_NOEVENT TAO/CIAO/tests/IDL3_to_XMI/XMI_For_Array/run_test.pl: !STATIC !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !NOXERCES !ACE_FOR_TAO !ST !LabVIEW_RT !WinCE !NO_IDL3_TO_XMI !CCM_NOEVENT TAO/CIAO/tests/IDL3_to_XMI/XMI_For_Included_File/run_test.pl: !STATIC !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !NOXERCES !ACE_FOR_TAO !ST !LabVIEW_RT !WinCE !NO_IDL3_TO_XMI !CCM_NOEVENT @@ -145,5 +149,5 @@ TAO/CIAO/tests/IDL3_to_XMI/XMI_For_Sequence/run_test.pl: !STATIC !MINIMUM !CORBA TAO/CIAO/tests/IDL3_to_XMI/IDL2XMI_Test/run_test.pl: !FIXED_BUGS_ONLY !STATIC !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !NOXERCES !ACE_FOR_TAO !ST !LabVIEW_RT !WinCE !NO_IDL3_TO_XMI !CCM_NOEVENT TAO/CIAO/tests/DAnCE/LocalityManager/CPUAffinity/run_test.pl: !STATIC !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !NOXERCES !ACE_FOR_TAO !ST LINUX TAO/CIAO/tests/DAnCE/LocalityManager/CommandlinePassage/run_test.pl: !STATIC !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !NOXERCES !ACE_FOR_TAO !ST -TAO/CIAO/tests/DAnCE/LocalityManager/CommandlinePassage/run_test_cmd.pl: !STATIC !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !NOXERCES !ACE_FOR_TAO !ST +TAO/CIAO/tests/DAnCE/LocalityManager/CommandlinePassage/run_test_cmd.pl: !STATIC !MINIMUM !CORBA_E_COMPACT !CORBA_E_MICRO !NOXERCES !ACE_FOR_TAO !ST !Win32 diff --git a/CIAO/ciao/Containers/Container_Base.idl b/CIAO/ciao/Containers/Container_Base.idl index 33cf25cd7e4..6f7f5373609 100644 --- a/CIAO/ciao/Containers/Container_Base.idl +++ b/CIAO/ciao/Containers/Container_Base.idl @@ -7,6 +7,7 @@ #include "tao/PortableServer/PortableServer_include.pidl" #include "ccm/CCM_Home.idl" +#include "ccm/CCM_Cookie.idl" #include "ccm/CCM_Base.idl" #include "ccm/CCM_StandardConfigurator.idl" #include "ccm/CCM_CCMException.idl" @@ -100,17 +101,20 @@ module CIAO void uninstall_component (in Components::CCMObject compptr); - void connect_local_facet (in ::Components::CCMObject provider_ref, + Components::Cookie connect_local_facet ( + in ::Components::CCMObject provider_ref, in string provider_port, in ::Components::CCMObject user_ref, in string user_port) raises (::Components::InvalidConnection, ::Components::AlreadyConnected); - void disconnect_local_facet (in ::Components::CCMObject provider_ref, - in string provider_port, - in ::Components::CCMObject user_ref, - in string user_port) + void disconnect_local_facet ( + in Components::Cookie cookie, + in ::Components::CCMObject provider_ref, + in string provider_port, + in ::Components::CCMObject user_ref, + in string user_port) raises (::Components::InvalidConnection); // *** Methods used by component specific container portions diff --git a/CIAO/ciao/Containers/Container_Base_T.cpp b/CIAO/ciao/Containers/Container_Base_T.cpp index c04b1fcd144..ab740a400c6 100644 --- a/CIAO/ciao/Containers/Container_Base_T.cpp +++ b/CIAO/ciao/Containers/Container_Base_T.cpp @@ -6,6 +6,7 @@ #include "ciao/Logger/Log_Macros.h" #include "tao/Utils/PolicyList_Destroyer.h" #include "ciao/Containers/Servant_Activator.h" +#include "ciao/Servants/Connector_Servant_Impl_Base.h" namespace CIAO { @@ -23,7 +24,7 @@ namespace CIAO { } -template <typename BASE> + template <typename BASE> void Container_i<BASE>::fini (void) { @@ -82,6 +83,550 @@ template <typename BASE> template <typename BASE> CORBA::Object_ptr + Container_i<BASE>::install_servant (PortableServer::Servant p, + Container_Types::OA_Type t, + PortableServer::ObjectId_out oid) + { + CIAO_TRACE ("Container_i::install_servant"); + + PortableServer::POA_ptr tmp = PortableServer::POA::_nil(); + + if (t == Container_Types::COMPONENT_t || + t == Container_Types::HOME_t) + { + tmp = this->component_poa_.in (); + } + else + { + tmp = this->facet_cons_poa_.in (); + } + + PortableServer::ObjectId_var tmp_id = tmp->activate_object (p); + CORBA::Object_var objref = tmp->id_to_reference (tmp_id.in ()); + oid = tmp_id._retn (); + + return objref._retn (); + } + + template <typename BASE> + void + Container_i<BASE>::uninstall (CORBA::Object_ptr objref, + Container_Types::OA_Type y) + { + CIAO_TRACE ("Container_i::uninstall"); + + PortableServer::ServantBase_var svnt; + + switch (y) + { + case Container_Types::COMPONENT_t: + case Container_Types::HOME_t: + svnt = this->component_poa_->reference_to_servant (objref); + break; + default: + svnt = this->facet_cons_poa_->reference_to_servant (objref); + break; + } + + PortableServer::ObjectId_var oid; + this->uninstall_servant (svnt.in (), y, oid.out ()); + } + + template <typename BASE> + void + Container_i<BASE>::prepare_installation (const char *entity, + const char *primary_artifact, + const char *entry_point, + const char *servant_artifact, + const char *servant_entrypoint, + const char *name, + ACE_DLL &executor_dll, + ACE_DLL &servant_dll) + { + CIAO_TRACE ("Container_i::prepare_installation"); + + CIAO_DEBUG (6, + (LM_DEBUG, + CLINFO + "Container_i::prepare_installation <%C> - " + "Loading %C [%C] from shared libraries\n", + entity, entity, name)); + + CIAO_DEBUG (6, + (LM_DEBUG, + CLINFO + "Container_i::prepare_installation <%C> - " + "Executor library [%C] with entrypoint [%C]\n", + entity, + primary_artifact, + entry_point)); + + CIAO_DEBUG (6, + (LM_DEBUG, + CLINFO + "Container_i::prepare_installation <%C> - " + "Servant library [%C] with entrypoint [%C]\n", + entity, + servant_artifact, + servant_entrypoint)); + + if (!primary_artifact) + { + CIAO_ERROR (1, + (LM_ERROR, + CLINFO + "Container_i::prepare_installation <%C> - " + "ERROR: Null component executor DLL name\n", + entity)); + + throw Components::Deployment::UnknownImplId (); + } + + if (!servant_artifact) + { + CIAO_ERROR (1, + (LM_ERROR, + CLINFO + "Container_i::prepare_installation <%C> - " + "ERROR: Null component servant DLL name\n", + entity)); + + throw Components::Deployment::UnknownImplId (); + } + + if (!entry_point) + { + CIAO_ERROR (1, + (LM_ERROR, + CLINFO + "Container_i::prepare_installation <%C> - " + "ERROR: Null entry point for " + "executor DLL [%C]\n", + entity, + primary_artifact)); + + throw Components::Deployment::ImplEntryPointNotFound (); + } + + if (!servant_entrypoint) + { + CIAO_ERROR (1, + (LM_ERROR, + CLINFO + "Container_i::prepare_installation <%C> - " + "ERROR: Null entry point for " + "servant DLL [%C]\n", + entity, + servant_artifact)); + + throw Components::Deployment::ImplEntryPointNotFound (); + } + + if (executor_dll.open (ACE_TEXT_CHAR_TO_TCHAR (primary_artifact), + ACE_DEFAULT_SHLIB_MODE, + false) != 0) + { + const ACE_TCHAR* error = executor_dll.error (); + + CIAO_ERROR (1, + (LM_ERROR, + CLINFO + "Container_i::prepare_installation <%C> - " + "ERROR in opening the executor " + "DLL [%C] with error [%s]\n", + entity, + primary_artifact, + error)); + + throw Components::Deployment::UnknownImplId (); + } + else + { + CIAO_DEBUG (9, + (LM_TRACE, + CLINFO + "Container_i::prepare_installation <%C> - " + "Executor DLL [%C] successfully opened\n", + entity, + primary_artifact)); + } + + if (servant_dll.open (ACE_TEXT_CHAR_TO_TCHAR (servant_artifact), + ACE_DEFAULT_SHLIB_MODE, + false) != 0) + { + const ACE_TCHAR* error = servant_dll.error (); + + CIAO_ERROR (1, + (LM_ERROR, + CLINFO + "Container_i::prepare_installation <%C> - " + "ERROR in opening the servant " + "DLL [%C] with error [%s]\n", + entity, + servant_artifact, + error)); + + throw Components::Deployment::UnknownImplId (); + } + else + { + CIAO_DEBUG (9, + (LM_TRACE, + CLINFO + "Container_i::prepare_installation <%C> - " + "Servant DLL [%C] successfully openend\n", + entity, + servant_artifact)); + } + } + + template <typename BASE> + void + Container_i<BASE>::uninstall_home ( + Components::CCMHome_ptr homeref) + { + CIAO_TRACE ("Container_i::uninstall_home"); + + this->uninstall (homeref, Container_Types::HOME_t); + } + + template <typename BASE> + void + Container_i<BASE>::uninstall_component ( + Components::CCMObject_ptr homeref) + { + CIAO_TRACE ("Container_i::uninstall_component"); + + PortableServer::ServantBase_var srv_tmp = + this->component_poa_->reference_to_servant (homeref); + CIAO::Connector_Servant_Impl_Base * svnt = + dynamic_cast <CIAO::Connector_Servant_Impl_Base *> ( + srv_tmp.in ()); + + if (!svnt) + { + CIAO_ERROR (1, + (LM_ERROR, + CLINFO + "Container_i::uninstall_component - " + "Unable to convert provided servant " + "reference to servant implementation.")); + + throw ::Components::RemoveFailure (); + } + else + { + svnt->remove (); + } + } + + template <typename BASE> + void + Container_i<BASE>::uninstall_servant (PortableServer::Servant svnt, + Container_Types::OA_Type t, + PortableServer::ObjectId_out oid) + { + CIAO_TRACE ("Container_i::uninstall_servant"); + + PortableServer::POA_ptr tmp = PortableServer::POA::_nil(); + + if ((t == Container_Types::COMPONENT_t) || + (t == Container_Types::HOME_t)) + { + CIAO_DEBUG (9, + (LM_TRACE, + CLINFO + "Container_i::uninstall_servant - " + "Removing component or home servant\n")); + + tmp = this->component_poa_.in (); + } + else + { + CIAO_DEBUG (9, + (LM_TRACE, + CLINFO + "Container_i::uninstall_servant - " + "Removing facet or consumer servant\n")); + + tmp = this->facet_cons_poa_.in (); + } + + try + { + PortableServer::ObjectId_var tmp_id = tmp->servant_to_id (svnt); + tmp->deactivate_object (tmp_id); + + CIAO_DEBUG (9, + (LM_TRACE, + CLINFO + "Container_i::uninstall_servant - " + "Servant successfully removed, " + "reference count is %u\n", + svnt->_refcount_value () - 1)); + + oid = tmp_id._retn (); + } + catch (const CORBA::Exception &ex) + { + CIAO_ERROR (1, + (LM_ERROR, + CLINFO + "Container_i::uninstall_servant - " + "Caught CORBA exception while " + "uninstalling servant: %C\n", + ex._info ().c_str ())); + + throw Components::RemoveFailure (); + } + } + + template <typename BASE> + void + Container_i<BASE>::activate_component ( + Components::CCMObject_ptr compref) + { + CIAO_TRACE("Container_i::activate_component"); + + try + { + + CIAO::Connector_Servant_Impl_Base * svt = 0; + PortableServer::ServantBase_var servant_from_reference; + + try + { + servant_from_reference = + this->component_poa_->reference_to_servant (compref); + svt = + dynamic_cast<CIAO::Connector_Servant_Impl_Base *> ( + servant_from_reference.in ()); + } + catch (...) + { + throw InvalidComponent (); + } + + if (!svt) + { + throw CIAO::InvalidComponent (); + } + else + { + CIAO_DEBUG (9, + (LM_TRACE, + CLINFO + "Container_i::activate_component - " + "Invoking CCM activate on provided " + "component object reference.\n")); + + svt->activate_component (); + } + } + catch (const CIAO::InvalidComponent &) + { + CIAO_ERROR (1, + (LM_ERROR, + CLINFO + "Container_i::activate_component - " + "Failed to retrieve servant and/or cast " + "to servant pointer.\n")); + throw; + } + catch (const CORBA::Exception &ex) + { + CIAO_ERROR (1, + (LM_ERROR, + CLINFO + "Container_i::activate_component - " + "Caught CORBA exception while activating " + "a component: %C\n", + ex._info ().c_str ())); + throw; + } + catch (...) + { + CIAO_ERROR (1, + (LM_ERROR, + CLINFO + "Container_i::activate_component - " + "Caught unknown C++ exception while " + "activating a component.\n")); + + throw; + } + } + + template <typename BASE> + void + Container_i<BASE>::passivate_component (Components::CCMObject_ptr compref) + { + CIAO_TRACE ("Container_i::passivate_component"); + + try + { + CIAO::Connector_Servant_Impl_Base * svt = 0; + PortableServer::ServantBase_var servant_from_reference; + + try + { + servant_from_reference = + this->component_poa_->reference_to_servant (compref); + svt = + dynamic_cast<CIAO::Connector_Servant_Impl_Base *> ( + servant_from_reference.in ()); + } + catch (...) + { + throw InvalidComponent (); + } + + if (!svt) + { + throw CIAO::InvalidComponent (); + } + else + { + CIAO_DEBUG (9, + (LM_TRACE, + CLINFO + "Container_i::passivate_component - " + "Invoking CCM passivate on provided " + "component object reference.\n")); + + svt->passivate_component (); + } + } + catch (const CORBA::Exception &ex) + { + CIAO_ERROR (1, + (LM_ERROR, + CLINFO + "Container_i::passivate_component - " + "Caught CORBA exception while passivating " + "a component: %C\n", + ex._info ().c_str ())); + + throw; + } + catch (...) + { + CIAO_ERROR (1, + (LM_ERROR, + CLINFO + "Container_i::passivate_component - " + "Caught unknown C++ exception while " + "passivating a component.\n")); + + throw; + } + } + + template <typename BASE> + void + Container_i<BASE>::set_attributes (CORBA::Object_ptr compref, + const ::Components::ConfigValues & values) + { + CIAO_TRACE("Container_i::set_attributes"); + + try + { + PortableServer::ServantBase_var svt; + + try + { + svt = this->component_poa_->reference_to_servant (compref); + } + catch (CORBA::Exception &ex) + { + CIAO_ERROR (1, (LM_ERROR, CLINFO + "Container_i::set_attributes - " + "Caught CORBA exception while retrieving servant: %C", + ex._info ().c_str ())); + throw CIAO::InvalidComponent (); + } + catch (...) + { + CIAO_ERROR (1, (LM_EMERGENCY, "ex in ref to servant\n")); + throw CIAO::InvalidComponent (); + } + + if (!svt) + { + CIAO_ERROR (1, (LM_EMERGENCY, "invalid servant reference\n")); + throw CIAO::InvalidComponent (); + } + else + { + CIAO::Connector_Servant_Impl_Base * comp = 0; + CIAO::Home_Servant_Impl_Base *home = 0; + + if ((comp = dynamic_cast <CIAO::Connector_Servant_Impl_Base *> (svt.in ()))) + { + CIAO_DEBUG (9, + (LM_TRACE, + CLINFO + "Container_i::set_attributes - " + "Configuring attribute values on " + "component object reference.\n")); + + comp->set_attributes (values); + } + else if ((home = dynamic_cast <CIAO::Home_Servant_Impl_Base *> (svt.in ()))) + { + CIAO_DEBUG (9, + (LM_TRACE, + CLINFO + "Container_i::set_attributes - " + "Configuring attribute values on " + "home object reference.\n")); + + home->set_attributes (values); + } + else + { + CIAO_ERROR (1, (LM_EMERGENCY, "not home or component\n")); + throw CIAO::InvalidComponent (); + } + } + } + catch (const CIAO::InvalidComponent &) + { + CIAO_ERROR (1, + (LM_ERROR, + CLINFO + "Container_i::set_attributes - " + "Failed to retrieve servant and/or cast " + "to servant pointer.\n")); + throw; + } + catch (const CORBA::Exception &ex) + { + CIAO_ERROR (1, + (LM_ERROR, + CLINFO + "Container_i::set_attributes - " + "Caught CORBA exception while configuring " + "component attributes: %C\n", + ex._info ().c_str ())); + throw; + } + catch (...) + { + CIAO_ERROR (1, + (LM_ERROR, + CLINFO + "Container_i::set_attributes - " + "Caught unknown C++ exception while " + "configuring component attributes.\n")); + + throw; + } + } + + template <typename BASE> + CORBA::Object_ptr Container_i<BASE>::resolve_service_reference(const char *service_id) { if (ACE_OS::strcmp (service_id, "POA") == 0) @@ -163,6 +708,291 @@ template <typename BASE> this->facet_cons_poa_->set_servant_manager (this->sa_.in ()); } + + template <typename BASE> + ::Components::Cookie * + Container_i<BASE>::connect_local_facet (::Components::CCMObject_ptr provider, + const char * provider_port, + ::Components::CCMObject_ptr user, + const char * user_port) + { + CIAO_TRACE ("Container_i::connect_local_facet"); + + if (!provider_port || !user_port) + { + CIAO_ERROR (1, + (LM_ERROR, + CLINFO + "Container_i::connect_local_facet - " + "Nil port name provided to connect local " + "facet, throwing exception\n")); + + throw ::Components::InvalidConnection (); + } + + try + { + PortableServer::ServantBase_var provider_tmp = + this->component_poa_->reference_to_servant (provider); + + CIAO_DEBUG (9, + (LM_TRACE, + CLINFO + "Container_i::connect_local_facet - " + "Successfully fetched provider servant" + " [%C] from POA\n", + provider_port)); + + CIAO::Connector_Servant_Impl_Base *prov_serv = + dynamic_cast<CIAO::Connector_Servant_Impl_Base *> (provider_tmp.in ()); + + if (!prov_serv) + { + CIAO_ERROR (1, + (LM_ERROR, + CLINFO + "Container_i::connect_local_facet - " + "Unable to cast to provider servant " + "implementation\n")); + throw ::Components::InvalidConnection (); + } + + PortableServer::ServantBase_var user_tmp = + this->component_poa_->reference_to_servant (user); + + CIAO_DEBUG (9, (LM_TRACE, CLINFO "Container_i::connect_local_facet - " + "Successfully fetched user servant [%C] from POA\n", user_port)); + + CIAO::Connector_Servant_Impl_Base *user_serv = + dynamic_cast<CIAO::Connector_Servant_Impl_Base *> (user_tmp.in ()); + + if (user_serv == 0) + { + CIAO_ERROR (1, + (LM_ERROR, + CLINFO + "Container_i::connect_local_facet - " + "Unable to cast to user " + "servant implementation\n")); + + throw ::Components::InvalidConnection (); + } + + ::CORBA::Object_var exec = + prov_serv->get_facet_executor (provider_port); + + // Note: Spec says that facet executor provided by component MAY BE NIL + if (!::CORBA::is_nil (exec.in ())) + { + CIAO_DEBUG (6, + (LM_DEBUG, + CLINFO + "Container_i::connect_local_facet - " + "Create connection between [%C]" + " and [%C]\n", + user_port, + provider_port)); + ::Components::Cookie_var cookie = + user_serv->connect (user_port, exec.in ()); + return cookie._retn (); + } + else + { + CIAO_DEBUG (6, + (LM_DEBUG, + CLINFO + "Container_i::connect_local_facet - " + "Got nil facet executor for [%C]\n", + provider_port)); + } + } + catch (const ::Components::InvalidConnection &ex) + { + throw ex; + } + catch (const ::Components::InvalidName &ex) + { + CIAO_ERROR (1, + (LM_ERROR, + CLINFO + "Container_i::connect_local_facet - " + "Caught exception InvalidName while connecting " + "<%C> to <%C>\n", + provider_port, + user_port)); + + throw ex; + } + catch (const ::CORBA::Exception &ex) + { + CIAO_ERROR (1, + (LM_ERROR, + CLINFO + "Container_i::connect_local_facet - " + "Caught exception %C.\n", + ex._info ().c_str ())); + throw; + } + catch (...) + { + CIAO_ERROR (1, + (LM_ERROR, + CLINFO + "Container_i::connect_local_facet - " + "Attempting to connect components not " + "managed by this container.\n")); + + throw ::Components::InvalidConnection (); + } + return 0; + } + + template <typename BASE> + void + Container_i<BASE>::disconnect_local_facet ( + ::Components::Cookie * cookie, + ::Components::CCMObject_ptr provider, + const char * provider_port, + ::Components::CCMObject_ptr user, + const char * user_port) + { + CIAO_TRACE ("Container_i::disconnect_local_facet"); + + try + { + PortableServer::ServantBase_var srv_tmp = + this->component_poa_->reference_to_servant (provider); + + CIAO_DEBUG (9, + (LM_TRACE, + CLINFO + "Container_i::disconnect_local_facet - " + "Successfully fetched provider servant from POA\n")); + + CIAO::Connector_Servant_Impl_Base *prov_serv = + dynamic_cast<CIAO::Connector_Servant_Impl_Base *> (srv_tmp.in ()); + + if (prov_serv == 0) + { + CIAO_ERROR (1, + (LM_ERROR, + CLINFO + "Container_i::disconnect_local_facet - " + "Unable to cast to provider servant " + "implementation\n")); + + throw ::Components::InvalidConnection (); + } + + srv_tmp = this->component_poa_->reference_to_servant (user); + + CIAO_DEBUG (9, + (LM_TRACE, + CLINFO + "Container_i::disconnect_local_facet - " + "Successfully fetched user servant from POA\n")); + + CIAO::Connector_Servant_Impl_Base *user_serv = + dynamic_cast<CIAO::Connector_Servant_Impl_Base *> (srv_tmp.in ()); + + if (user_serv == 0) + { + CIAO_ERROR (1, + (LM_ERROR, + CLINFO + "Container_i::disconnect_local_facet - " + "Unable to cast to user servant " + "implementation\n")); + + throw ::Components::InvalidConnection (); + } + + ::CORBA::Object_var exec = + prov_serv->get_facet_executor (provider_port); + + // Note: Spec says that facet executor provided by component MAY BE NIL + if (!::CORBA::is_nil (exec.in ())) + { + ::CORBA::Object_var port = user_serv->disconnect (user_port, cookie); + } + else + { + throw ::Components::InvalidConnection (); + } + } + catch (const ::Components::InvalidConnection &) + { + throw; + } + catch (const ::CORBA::Exception &ex) + { + CIAO_ERROR (1, + (LM_ERROR, + CLINFO + "Container_i::disconnect_local_facet - " + "Caught exception %C.\n", + ex._info ().c_str ())); + + throw; + } + catch (...) + { + CIAO_ERROR (1, + (LM_ERROR, + CLINFO + "Container_i::disconnect_local_facet - " + "Attempting to connect components not " + "managed by this container.\n")); + + throw ::Components::InvalidConnection (); + } + } + + template <typename BASE> + ::CORBA::Object_ptr + Container_i<BASE>::get_objref (PortableServer::Servant p) + { + return this->the_POA ()->servant_to_reference (p); + } + + template <typename BASE> + ::CIAO::Servant_Activator_ptr + Container_i<BASE>::ports_servant_activator (void) + { + return Servant_Activator::_duplicate(this->sa_.in ()); + } + + template <typename BASE> + CORBA::Object_ptr + Container_i<BASE>::generate_reference (const char *obj_id, + const char *repo_id, + Container_Types::OA_Type t) + { + CIAO_TRACE ("Container_i::generate_reference"); + + PortableServer::POA_ptr tmp = PortableServer::POA::_nil(); + + if (t == Container_Types::COMPONENT_t + || t == Container_Types::HOME_t) + { + tmp = this->component_poa_.in (); + } + else + { + tmp = this->facet_cons_poa_.in (); + } + + PortableServer::ObjectId_var oid = + PortableServer::string_to_ObjectId (obj_id); + + CORBA::String_var str = + PortableServer::ObjectId_to_string (oid.in ()); + + CORBA::Object_var objref = + tmp->create_reference_with_id (oid.in (), repo_id); + + return objref._retn (); + } } #endif /* CIAO_CONTAINERBASE_IMPL_T_C */ diff --git a/CIAO/ciao/Containers/Container_Base_T.h b/CIAO/ciao/Containers/Container_Base_T.h index 44167b2afad..8bc3ae4176a 100644 --- a/CIAO/ciao/Containers/Container_Base_T.h +++ b/CIAO/ciao/Containers/Container_Base_T.h @@ -71,7 +71,7 @@ namespace CIAO const char *name) = 0; /// Uninstall a servant for component or home. - virtual void uninstall_home (Components::CCMHome_ptr homeref) = 0; + virtual void uninstall_home (Components::CCMHome_ptr homeref); virtual Components::CCMObject_ptr install_component (const char *primary_artifact, const char *entry_point, @@ -79,23 +79,58 @@ namespace CIAO const char *servant_entrypoint, const char *name) = 0; - virtual void uninstall_component (Components::CCMObject_ptr compref) = 0; + virtual void set_attributes (CORBA::Object_ptr compref, + const ::Components::ConfigValues & values); - virtual CORBA::Object_ptr get_objref (PortableServer::Servant p) = 0; + /// Activate component + virtual void activate_component (Components::CCMObject_ptr compref); + + /// Passivate a component + virtual void passivate_component (Components::CCMObject_ptr compref); + + /// Uninstall a given component + virtual void uninstall_component (Components::CCMObject_ptr compref); + + /// Connect a local facet + virtual ::Components::Cookie * + connect_local_facet (::Components::CCMObject_ptr provider, + const char * provider_port, + ::Components::CCMObject_ptr user, + const char * user_port); + + /// Disconnect a local facet + virtual void + disconnect_local_facet (::Components::Cookie * cookie, + ::Components::CCMObject_ptr provider, + const char * provider_port, + ::Components::CCMObject_ptr user, + const char * user_port); virtual CORBA::Object_ptr install_servant (PortableServer::Servant objref, Container_Types::OA_Type type, - PortableServer::ObjectId_out oid) = 0; + PortableServer::ObjectId_out oid); /// Uninstall a servant for component. virtual void uninstall_servant (PortableServer::Servant objref, Container_Types::OA_Type type, - PortableServer::ObjectId_out oid) = 0; + PortableServer::ObjectId_out oid); + + /// Return the servant activator factory that activates the + /// servants for facets and consumers. + virtual ::CIAO::Servant_Activator_ptr ports_servant_activator (void); + + virtual CORBA::Object_ptr get_objref (PortableServer::Servant p); + + /// Analog of the POA method that creates an object reference from + /// an object id string. + virtual CORBA::Object_ptr generate_reference (const char *obj_id, + const char *repo_id, + Container_Types::OA_Type t); /// Get a reference to the underlying ORB. CORBA::ORB_ptr the_ORB (void) const; - virtual CORBA::Object_ptr resolve_service_reference(const char *service_id); + virtual CORBA::Object_ptr resolve_service_reference (const char *service_id); protected: /// Reference to the ORB @@ -120,6 +155,18 @@ namespace CIAO /// consumer servants. Servant_Activator_var sa_; + /// Uninstall a servant for component or home. + void uninstall (CORBA::Object_ptr objref, Container_Types::OA_Type t); + + void prepare_installation (const char *entity, + const char *primary_artifact, + const char *entry_point, + const char *servant_artifact, + const char *servant_entrypoint, + const char *name, + ACE_DLL &executor_dll, + ACE_DLL &servant_dll); + private: /// Not allowed to be used Container_i (void); diff --git a/CIAO/ciao/Containers/Extension/Extension_Container.cpp b/CIAO/ciao/Containers/Extension/Extension_Container.cpp index 7677ccbff40..b4d10c848f2 100644 --- a/CIAO/ciao/Containers/Extension/Extension_Container.cpp +++ b/CIAO/ciao/Containers/Extension/Extension_Container.cpp @@ -10,10 +10,6 @@ #include "ciao/Containers/Extension/ServerContainerInterceptorRegistration_Impl.h" #include "ciao/Containers/Extension/StubContainerInterceptorRegistration_Impl.h" -#if !defined (__ACE_INLINE__) -# include "Extension_Container.inl" -#endif /* __ACE_INLINE__ */ - namespace CIAO { /////////////////////////////////////////////////////////////// @@ -68,32 +64,6 @@ namespace CIAO Container_i < ::CIAO::Extension_Container>::fini (); } - CORBA::Object_ptr - Extension_Container_i::install_servant (PortableServer::Servant p, - Container_Types::OA_Type t, - PortableServer::ObjectId_out oid) - { - CIAO_TRACE ("Extension_Container_i::install_servant"); - - PortableServer::POA_ptr tmp = PortableServer::POA::_nil(); - - if (t == Container_Types::COMPONENT_t || - t == Container_Types::HOME_t) - { - tmp = this->component_poa_.in (); - } - else - { - tmp = this->facet_cons_poa_.in (); - } - - PortableServer::ObjectId_var tmp_id = tmp->activate_object (p); - CORBA::Object_var objref = tmp->id_to_reference (tmp_id.in ()); - oid = tmp_id._retn (); - - return objref._retn (); - } - //@@ Apparently we need to be cautious when handling the exception // thrown here. We should make sure that new DnC interfaces // NodeApplication/NodeApplicationManager etc will cache the new @@ -108,149 +78,26 @@ namespace CIAO { CIAO_TRACE ("Extension_Container_i::install_home"); - HomeFactory hcreator = 0; - HomeServantFactory screator = 0; - - CIAO_DEBUG (6, - (LM_DEBUG, - CLINFO - "Extension_Container_i::install_home - " - "Loading home [%C] from shared libraries\n", - name)); - - CIAO_DEBUG (6, - (LM_DEBUG, - CLINFO - "Extension_Container_i::install_home - " - "Executor library [%C] with entrypoint [%C]\n", - primary_artifact, - entry_point)); - - CIAO_DEBUG (6, - (LM_DEBUG, - CLINFO - "Extension_Container_i::install_home - " - "Servant library [%C] with entrypoint [%C]\n", - servant_artifact, - servant_entrypoint)); - - if (!primary_artifact) - { - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Extension_Container_i::install_home - " - "ERROR: Null component executor DLL name\n")); - - throw Components::Deployment::UnknownImplId (); - } - - if (!servant_artifact) - { - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Extension_Container_i::install_home - " - "ERROR: Null component servant DLL name\n")); - - throw Components::Deployment::UnknownImplId (); - } - - if (!entry_point) - { - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Extension_Container_i::install_home - " - "ERROR: Null entry point for " - "executor DLL [%C]\n", - primary_artifact)); - - throw Components::Deployment::ImplEntryPointNotFound (); - } - - if (!servant_entrypoint) - { - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Extension_Container_i::install_home - " - "ERROR: Null entry point for " - "servant DLL [%C]\n", - servant_artifact)); - - throw Components::Deployment::ImplEntryPointNotFound (); - } - ACE_DLL executor_dll; - if (executor_dll.open (ACE_TEXT_CHAR_TO_TCHAR (primary_artifact), - ACE_DEFAULT_SHLIB_MODE, - false) != 0) - { - const ACE_TCHAR* error = executor_dll.error (); - - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Extension_Container_i::install_home - " - "ERROR in opening the executor " - "DLL [%C] with error [%s]\n", - primary_artifact, - error)); - - throw Components::Deployment::UnknownImplId (); - } - else - { - CIAO_DEBUG (9, - (LM_TRACE, - CLINFO - "Extension_Container_i::install_home - " - "Executor DLL [%C] successfully opened\n", - primary_artifact)); - } - ACE_DLL servant_dll; - if (servant_dll.open (ACE_TEXT_CHAR_TO_TCHAR (servant_artifact), - ACE_DEFAULT_SHLIB_MODE, - false) != 0) - { - const ACE_TCHAR* error = servant_dll.error (); + Container_i < ::CIAO::Extension_Container>::prepare_installation ("Extension Home", + primary_artifact, + entry_point, + servant_artifact, + servant_entrypoint, + name, + executor_dll, + servant_dll); - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Extension_Container_i::install_home - " - "ERROR in opening the servant " - "DLL [%C] with error [%s]\n", - servant_artifact, - error)); - - throw Components::Deployment::UnknownImplId (); - } - else - { - CIAO_DEBUG (9, - (LM_TRACE, - CLINFO - "Extension_Container_i::install_home - " - "Servant DLL [%C] successfully openend\n", - servant_artifact)); - } + void *void_ptr_executor = executor_dll.symbol (ACE_TEXT_CHAR_TO_TCHAR (entry_point)); + void *void_ptr_servant = servant_dll.symbol (ACE_TEXT_CHAR_TO_TCHAR (servant_entrypoint)); - // We have to do this casting in two steps because the C++ - // standard forbids casting a pointer-to-object (including - // void*) directly to a pointer-to-function. - void *void_ptr = - executor_dll.symbol (ACE_TEXT_CHAR_TO_TCHAR (entry_point)); - ptrdiff_t tmp_ptr = reinterpret_cast<ptrdiff_t> (void_ptr); - hcreator = reinterpret_cast<HomeFactory> (tmp_ptr); + ptrdiff_t tmp_ptr = reinterpret_cast<ptrdiff_t> (void_ptr_executor); + HomeFactory hcreator = reinterpret_cast<HomeFactory> (tmp_ptr); - void_ptr = - servant_dll.symbol (ACE_TEXT_CHAR_TO_TCHAR (servant_entrypoint)); - tmp_ptr = reinterpret_cast<ptrdiff_t> (void_ptr); - screator = reinterpret_cast<HomeServantFactory> (tmp_ptr); + tmp_ptr = reinterpret_cast<ptrdiff_t> (void_ptr_servant); + HomeServantFactory screator = reinterpret_cast<HomeServantFactory> (tmp_ptr); if (!hcreator) { @@ -358,154 +205,33 @@ namespace CIAO { CIAO_TRACE ("Extension_Container_i::install_component"); - ComponentFactory ccreator = 0; - ComponentServantFactory screator = 0; - - CIAO_DEBUG (6, - (LM_DEBUG, - CLINFO - "Extension_Container_i::install_component - " - "Loading component [%C] from shared libraries\n", - name)); - - CIAO_DEBUG (6, - (LM_DEBUG, - CLINFO - "Extension_Container_i::install_component - " - "Executor library [%C] with entrypoint [%C]\n", - primary_artifact, - entry_point)); - - CIAO_DEBUG (6, - (LM_DEBUG, - CLINFO - "Extension_Container_i::install_component - " - "Servant library [%C] with entrypoint [%C]\n", - servant_artifact, - servant_entrypoint)); - - if (primary_artifact == 0) - { - CIAO_ERROR (1, (LM_ERROR, CLINFO - "Extension_Container_i::install_component - " - "ERROR: Null component executor DLL name\n")); - throw Components::Deployment::UnknownImplId (); - } - - if (servant_artifact == 0) - { - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Extension_Container_i::install_component - " - "ERROR: Null component servant DLL name\n")); - - throw Components::Deployment::UnknownImplId (); - } - - if (entry_point == 0) - { - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Extension_Container_i::install_component - " - "ERROR: Null entry point " - "for executor DLL [%C]\n", - primary_artifact)); - - throw Components::Deployment::ImplEntryPointNotFound (); - } - - if (servant_entrypoint == 0) - { - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Extension_Container_i::install_component - " - "ERROR: Null entry point for servant DLL [%C]\n", - servant_artifact)); - - throw Components::Deployment::ImplEntryPointNotFound (); - } - - ACE_DLL executor_dll; - - if (executor_dll.open (ACE_TEXT_CHAR_TO_TCHAR (primary_artifact), - ACE_DEFAULT_SHLIB_MODE, - 0) != 0) - { - const ACE_TCHAR* error = executor_dll.error (); - - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Extension_Container_i::install_component - " - "ERROR in opening the executor " - "DLL [%C] with error [%s]\n", - primary_artifact, - error)); - - throw Components::Deployment::UnknownImplId (); - } - else - { - CIAO_DEBUG (9, - (LM_TRACE, - CLINFO - "Extension_Container_i::install_component" - " - Executor [%C] DLL successfully opened\n", - primary_artifact)); - } - ACE_DLL servant_dll; - if (servant_dll.open (ACE_TEXT_CHAR_TO_TCHAR (servant_artifact), - ACE_DEFAULT_SHLIB_MODE, - 0) != 0) - { - const ACE_TCHAR* error = servant_dll.error (); + Container_i < ::CIAO::Extension_Container>::prepare_installation ("Extension Component", + primary_artifact, + entry_point, + servant_artifact, + servant_entrypoint, + name, + executor_dll, + servant_dll); - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Extension_Container_i::install_component - " - "ERROR in opening the servant DLL" - " [%C] with error [%s]\n", - servant_artifact, - error)); - - throw Components::Deployment::UnknownImplId (); - } - else - { - CIAO_DEBUG (9, - (LM_TRACE, - CLINFO - "Extension_Container_i::install_component " - "- Servant DLL [%C] successfully openend\n", - servant_artifact)); - } + void *void_ptr_executor = executor_dll.symbol (ACE_TEXT_CHAR_TO_TCHAR (entry_point)); + void *void_ptr_servant = servant_dll.symbol (ACE_TEXT_CHAR_TO_TCHAR (servant_entrypoint)); - // We have to do this casting in two steps because the C++ - // standard forbids casting a pointer-to-object (including - // void*) directly to a pointer-to-function. - void *void_ptr = - executor_dll.symbol (ACE_TEXT_CHAR_TO_TCHAR (entry_point)); - ptrdiff_t tmp_ptr = reinterpret_cast<ptrdiff_t> (void_ptr); - ccreator = reinterpret_cast<ComponentFactory> (tmp_ptr); + ptrdiff_t tmp_ptr = reinterpret_cast<ptrdiff_t> (void_ptr_executor); + ComponentFactory ccreator = reinterpret_cast<ComponentFactory> (tmp_ptr); - void_ptr = - servant_dll.symbol (ACE_TEXT_CHAR_TO_TCHAR (servant_entrypoint)); - tmp_ptr = reinterpret_cast<ptrdiff_t> (void_ptr); - screator = reinterpret_cast<ComponentServantFactory> (tmp_ptr); + tmp_ptr = reinterpret_cast<ptrdiff_t> (void_ptr_servant); + ComponentServantFactory screator = reinterpret_cast<ComponentServantFactory> (tmp_ptr); if (ccreator == 0) { CIAO_ERROR (1, (LM_ERROR, CLINFO - "Extension_Container_i::install_home " + "Extension_Container_i::install_component " "- Error: Entry point [%C] " "invalid in dll [%C]\n", entry_point, @@ -519,7 +245,7 @@ namespace CIAO CIAO_ERROR (1, (LM_ERROR, CLINFO - "Extension_Container_i::install_home " + "Extension_Container_i::install_component " "- Error: Entry point [%C] " "invalid in dll [%C]\n", servant_entrypoint, @@ -595,646 +321,6 @@ namespace CIAO return componentref._retn (); } - void - Extension_Container_i::connect_local_facet ( - ::Components::CCMObject_ptr provider, - const char * provider_port, - ::Components::CCMObject_ptr user, - const char * user_port) - { - CIAO_TRACE ("Extension_Container_i::connect_local_facet"); - - if (!provider_port || !user_port) - { - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Extension_Container_i::connect_local_facet - " - "Nil port name provided to connect local " - "facet, throwing exception\n")); - - throw ::Components::InvalidConnection (); - } - - try - { - PortableServer::ServantBase_var provider_tmp = - this->component_poa_->reference_to_servant (provider); - - CIAO_DEBUG (9, - (LM_TRACE, - CLINFO - "Extension_Container_i::connect_local_facet - " - "Successfully fetched provider servant" - " [%C] from POA\n", - provider_port)); - - CIAO::Connector_Servant_Impl_Base *prov_serv = - dynamic_cast<CIAO::Connector_Servant_Impl_Base *> (provider_tmp.in ()); - - if (!prov_serv) - { - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Extension_Container_i::connect_local_facet - " - "Unable to cast to provider servant " - "implementation\n")); - throw ::Components::InvalidConnection (); - } - - PortableServer::ServantBase_var user_tmp = - this->component_poa_->reference_to_servant (user); - - CIAO_DEBUG (9, (LM_TRACE, CLINFO "Extension_Container_i::connect_local_facet - " - "Successfully fetched user servant [%C] from POA\n", user_port)); - - CIAO::Connector_Servant_Impl_Base *user_serv = - dynamic_cast<CIAO::Connector_Servant_Impl_Base *> (user_tmp.in ()); - - if (user_serv == 0) - { - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Extension_Container_i::connect_local_facet - " - "Unable to cast to user " - "servant implementation\n")); - - throw ::Components::InvalidConnection (); - } - - ::CORBA::Object_var exec = - prov_serv->get_facet_executor (provider_port); - - // Note: Spec says that facet executor provided by component MAY BE NIL - if (!::CORBA::is_nil (exec.in ())) - { - CIAO_DEBUG (6, - (LM_DEBUG, - CLINFO - "Extension_Container_i::connect_local_facet - " - "Create connection between [%C]" - " and [%C]\n", - user_port, - provider_port)); - - ::Components::Cookie_var cookie = - user_serv->connect (user_port, exec.in ()); - } - else - { - CIAO_DEBUG (6, - (LM_DEBUG, - CLINFO - "Extension_Container_i::connect_local_facet - " - "Got nil facet executor for [%C]\n", - provider_port)); - } - } - catch (const ::Components::InvalidConnection &ex) - { - throw ex; - } - catch (const ::Components::InvalidName &ex) - { - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Extension_Container_i::connect_local_facet - " - "Caught exception InvalidName while connecting " - "<%C> to <%C>\n", - provider_port, - user_port)); - - throw ex; - } - catch (const ::CORBA::Exception &ex) - { - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Extension_Container_i::connect_local_facet - " - "Caught exception %C.\n", - ex._info ().c_str ())); - throw; - } - catch (...) - { - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Extension_Container_i::connect_local_facet - " - "Attempting to connect components not " - "managed by this container.\n")); - - throw ::Components::InvalidConnection (); - } - } - - void - Extension_Container_i::disconnect_local_facet ( - ::Components::CCMObject_ptr provider, - const char * provider_port, - ::Components::CCMObject_ptr user, - const char * user_port) - { - CIAO_TRACE ("Extension_Container_i::disconnect_local_facet"); - - try - { - PortableServer::ServantBase_var srv_tmp = - this->component_poa_->reference_to_servant (provider); - - CIAO_DEBUG (9, - (LM_TRACE, - CLINFO - "Extension_Container_i::disconnect_local_facet - " - "Successfully fetched provider servant from POA\n")); - - CIAO::Connector_Servant_Impl_Base *prov_serv = - dynamic_cast<CIAO::Connector_Servant_Impl_Base *> (srv_tmp.in ()); - - if (prov_serv == 0) - { - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Extension_Container_i::disconnect_local_facet - " - "Unable to cast to provider servant " - "implementation\n")); - - throw ::Components::InvalidConnection (); - } - - srv_tmp = this->component_poa_->reference_to_servant (user); - - CIAO_DEBUG (9, - (LM_TRACE, - CLINFO - "Extension_Container_i::disconnect_local_facet - " - "Successfully fetched user servant from POA\n")); - - CIAO::Connector_Servant_Impl_Base *user_serv = - dynamic_cast<CIAO::Connector_Servant_Impl_Base *> (srv_tmp.in ()); - - if (user_serv == 0) - { - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Extension_Container_i::disconnect_local_facet - " - "Unable to cast to user servant " - "implementation\n")); - - throw ::Components::InvalidConnection (); - } - - ::CORBA::Object_var exec = - prov_serv->get_facet_executor (provider_port); - - // Note: Spec says that facet executor provided by component MAY BE NIL - if (!::CORBA::is_nil (exec.in ())) - { - try - { - ::CORBA::Object_var port = user_serv->disconnect (user_port, 0); - } - catch (const ::Components::CookieRequired&ex) - { - CIAO_ERROR (6, - (LM_ERROR, - CLINFO - "Extension_Container_i::disconnect_local_facet - " - "Ingnoring exception %C.\n", - ex._info ().c_str ())); - - // mcorino@remedy.nl - Ignore this for now; disconnect behaviour will be fixed properly - } - } - else - { - throw ::Components::InvalidConnection (); - } - } - catch (const ::Components::InvalidConnection &) - { - throw; - } - catch (const ::CORBA::Exception &ex) - { - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Extension_Container_i::disconnect_local_facet - " - "Caught exception %C.\n", - ex._info ().c_str ())); - - throw; - } - catch (...) - { - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Extension_Container_i::disconnect_local_facet - " - "Attempting to connect components not " - "managed by this container.\n")); - - throw ::Components::InvalidConnection (); - } - } - - void - Extension_Container_i::set_attributes (CORBA::Object_ptr compref, - const ::Components::ConfigValues & values) - { - CIAO_TRACE("Extension_Container_i::set_attributes"); - - try - { - PortableServer::ServantBase_var svt; - - try - { - svt = this->component_poa_->reference_to_servant (compref); - } - catch (CORBA::Exception &ex) - { - CIAO_ERROR (1, (LM_ERROR, CLINFO - "Extension_Container_i::set_attributes - " - "Caught CORBA exception while retrieving servant: %C", - ex._info ().c_str ())); - throw CIAO::InvalidComponent (); - } - catch (...) - { - CIAO_ERROR (1, (LM_EMERGENCY, "ex in ref to servant\n")); - throw CIAO::InvalidComponent (); - } - - if (!svt) - { - CIAO_ERROR (1, (LM_EMERGENCY, "invalid servant reference\n")); - throw CIAO::InvalidComponent (); - } - else - { - CIAO::Connector_Servant_Impl_Base * comp = 0; - CIAO::Home_Servant_Impl_Base *home = 0; - - if ((comp = dynamic_cast <CIAO::Connector_Servant_Impl_Base *> (svt.in ()))) - { - CIAO_DEBUG (9, - (LM_TRACE, - CLINFO - "Extension_Container_i::set_attributes - " - "Configuring attribute values on " - "component object reference.\n")); - - comp->set_attributes (values); - } - else if ((home = dynamic_cast <CIAO::Home_Servant_Impl_Base *> (svt.in ()))) - { - CIAO_DEBUG (9, - (LM_TRACE, - CLINFO - "Extension_Container_i::set_attributes - " - "Configuring attribute values on " - "home object reference.\n")); - - home->set_attributes (values); - } - else - { - CIAO_ERROR (1, (LM_EMERGENCY, "not home or component\n")); - throw CIAO::InvalidComponent (); - } - } - } - catch (const CIAO::InvalidComponent &) - { - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Extension_Container_i::set_attributes - " - "Failed to retrieve servant and/or cast " - "to servant pointer.\n")); - throw; - } - catch (const CORBA::Exception &ex) - { - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Extension_Container_i::set_attributes - " - "Caught CORBA exception while configuring " - "component attributes: %C\n", - ex._info ().c_str ())); - throw; - } - catch (...) - { - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Extension_Container_i::set_attributes - " - "Caught unknown C++ exception while " - "configuring component attributes.\n")); - - throw; - } - } - - void - Extension_Container_i::activate_component ( - Components::CCMObject_ptr compref) - { - CIAO_TRACE("Extension_Container_i::activate_component"); - - try - { - - CIAO::Connector_Servant_Impl_Base * svt = 0; - PortableServer::ServantBase_var servant_from_reference; - - try - { - servant_from_reference = - this->component_poa_->reference_to_servant (compref); - svt = - dynamic_cast<CIAO::Connector_Servant_Impl_Base *> ( - servant_from_reference.in ()); - } - catch (...) - { - throw InvalidComponent (); - } - - if (!svt) - { - throw CIAO::InvalidComponent (); - } - else - { - CIAO_DEBUG (9, - (LM_TRACE, - CLINFO - "Extension_Container_i::activate_component - " - "Invoking CCM activate on provided " - "component object reference.\n")); - - svt->activate_component (); - } - } - catch (const CIAO::InvalidComponent &) - { - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Extension_Container_i::activate_component - " - "Failed to retrieve servant and/or cast " - "to servant pointer.\n")); - throw; - } - catch (const CORBA::Exception &ex) - { - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Extension_Container_i::activate_component - " - "Caught CORBA exception while activating " - "a component: %C\n", - ex._info ().c_str ())); - throw; - } - catch (...) - { - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Extension_Container_i::activate_component - " - "Caught unknown C++ exception while " - "activating a component.\n")); - - throw; - } - } - - void - Extension_Container_i::passivate_component (Components::CCMObject_ptr compref) - { - CIAO_TRACE ("Extension_Container_i::passivate_component"); - - try - { - CIAO::Connector_Servant_Impl_Base * svt = 0; - PortableServer::ServantBase_var servant_from_reference; - - try - { - servant_from_reference = - this->component_poa_->reference_to_servant (compref); - svt = - dynamic_cast<CIAO::Connector_Servant_Impl_Base *> ( - servant_from_reference.in ()); - } - catch (...) - { - throw InvalidComponent (); - } - - if (!svt) - { - throw CIAO::InvalidComponent (); - } - else - { - CIAO_DEBUG (9, - (LM_TRACE, - CLINFO - "Extension_Container_i::passivate_component - " - "Invoking CCM passivate on provided " - "component object reference.\n")); - - svt->passivate_component (); - } - } - catch (const CORBA::Exception &ex) - { - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Extension_Container_i::passivate_component - " - "Caught CORBA exception while passivating " - "a component: %C\n", - ex._info ().c_str ())); - - throw; - } - catch (...) - { - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Extension_Container_i::passivate_component - " - "Caught unknown C++ exception while " - "passivating a component.\n")); - - throw; - } - } - - void - Extension_Container_i::uninstall (CORBA::Object_ptr objref, - Container_Types::OA_Type y) - { - CIAO_TRACE ("Extension_Container_i::uninstall"); - - PortableServer::ServantBase_var svnt; - - switch (y) - { - case Container_Types::COMPONENT_t: - case Container_Types::HOME_t: - svnt = this->component_poa_->reference_to_servant (objref); - break; - default: - svnt = this->facet_cons_poa_->reference_to_servant (objref); - break; - } - - PortableServer::ObjectId_var oid; - this->uninstall_servant (svnt.in (), y, oid.out ()); - } - - void - Extension_Container_i::uninstall_home (Components::CCMHome_ptr homeref) - { - CIAO_TRACE ("Extension_Container_i::uninstall_home"); - - this->uninstall (homeref, Container_Types::HOME_t); - } - - void - Extension_Container_i::uninstall_component ( - Components::CCMObject_ptr homeref) - { - CIAO_TRACE ("Extension_Container_i::uninstall_component"); - - PortableServer::ServantBase_var srv_tmp = - this->component_poa_->reference_to_servant (homeref); - CIAO::Connector_Servant_Impl_Base * svnt = - dynamic_cast <CIAO::Connector_Servant_Impl_Base *> ( - srv_tmp.in ()); - - if (!svnt) - { - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Extension_Container_i::uninstall_component - " - "Unable to convert provided servant " - "reference to servant implementation.")); - - throw ::Components::RemoveFailure (); - } - else - { - svnt->remove (); - } - } - - void - Extension_Container_i::uninstall_servant (PortableServer::Servant svnt, - Container_Types::OA_Type t, - PortableServer::ObjectId_out oid) - { - CIAO_TRACE ("Extension_Container_i::uninstall_servant"); - - PortableServer::POA_ptr tmp = PortableServer::POA::_nil(); - - if ((t == Container_Types::COMPONENT_t) || - (t == Container_Types::HOME_t)) - { - CIAO_DEBUG (9, - (LM_TRACE, - CLINFO - "Extension_Container_i::uninstall_servant - " - "Removing component or home servant\n")); - - tmp = this->component_poa_.in (); - } - else - { - CIAO_DEBUG (9, - (LM_TRACE, - CLINFO - "Extension_Container_i::uninstall_servant - " - "Removing facet or consumer servant\n")); - - tmp = this->facet_cons_poa_.in (); - } - - try - { - PortableServer::ObjectId_var tmp_id = tmp->servant_to_id (svnt); - tmp->deactivate_object (tmp_id); - - CIAO_DEBUG (9, - (LM_TRACE, - CLINFO - "Extension_Container_i::uninstall_servant - " - "Servant successfully removed, " - "reference count is %u\n", - svnt->_refcount_value () - 1)); - - oid = tmp_id._retn (); - } - catch (const CORBA::Exception &ex) - { - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Extension_Container_i::uninstall_servant - " - "Caught CORBA exception while " - "uninstalling servant: %C\n", - ex._info ().c_str ())); - - throw Components::RemoveFailure (); - } - } - - CORBA::Object_ptr - Extension_Container_i::generate_reference (const char *obj_id, - const char *repo_id, - Container_Types::OA_Type t) - { - CIAO_TRACE ("Extension_Container_i::generate_reference"); - - PortableServer::POA_ptr tmp = PortableServer::POA::_nil(); - - if (t == Container_Types::COMPONENT_t - || t == Container_Types::HOME_t) - { - tmp = this->component_poa_.in (); - } - else - { - tmp = this->facet_cons_poa_.in (); - } - - PortableServer::ObjectId_var oid = - PortableServer::string_to_ObjectId (obj_id); - - CORBA::String_var str = - PortableServer::ObjectId_to_string (oid.in ()); - - CORBA::Object_var objref = - tmp->create_reference_with_id (oid.in (), repo_id); - - return objref._retn (); - } Components::Cookie * Extension_Container_i::install_service_reference (const char * service_id, diff --git a/CIAO/ciao/Containers/Extension/Extension_Container.h b/CIAO/ciao/Containers/Extension/Extension_Container.h index 03554b5130b..8b8ca2f4591 100644 --- a/CIAO/ciao/Containers/Extension/Extension_Container.h +++ b/CIAO/ciao/Containers/Extension/Extension_Container.h @@ -110,8 +110,6 @@ namespace CIAO const char *servant_entrypoint, const char *name); - virtual void uninstall_home (Components::CCMHome_ptr homeref); - /// Install a new component virtual Components::CCMObject_ptr install_component (const char *primary_artifact, const char *entry_point, @@ -119,60 +117,6 @@ namespace CIAO const char *servant_entrypoint, const char *name); - /// Connect a local facet - virtual void connect_local_facet (::Components::CCMObject_ptr provider, - const char * provider_port, - ::Components::CCMObject_ptr user, - const char * user_port); - - /// Disconnect a local facet - virtual void disconnect_local_facet (::Components::CCMObject_ptr provider, - const char * provider_port, - ::Components::CCMObject_ptr user, - const char * user_port); - - /// Set attributes on a component - virtual void set_attributes (CORBA::Object_ptr compref, - const ::Components::ConfigValues & values); - - /// Activate component - virtual void activate_component (Components::CCMObject_ptr compref); - - /// Passivate a component - virtual void passivate_component (Components::CCMObject_ptr compref); - - /// Uninstall a component - virtual void uninstall_component (Components::CCMObject_ptr compref); - - /// Uninstall a servant - virtual void uninstall_servant (PortableServer::Servant objref, - Container_Types::OA_Type type, - PortableServer::ObjectId_out oid); - - /// Install a servant for component or home. - virtual CORBA::Object_ptr install_servant (PortableServer::Servant p, - Container_Types::OA_Type type, - PortableServer::ObjectId_out oid); - - /// Get an object reference to a component or home from the servant. - virtual CORBA::Object_ptr get_objref (PortableServer::Servant p); - - /// Uninstall a servant for component or home. - void uninstall (CORBA::Object_ptr objref, Container_Types::OA_Type t); - - /// Uninstall a servant for component or home. - void uninstall (PortableServer::Servant svt, Container_Types::OA_Type t); - - /// Analog of the POA method that creates an object reference from - /// an object id string. - CORBA::Object_ptr generate_reference (const char *obj_id, - const char *repo_id, - Container_Types::OA_Type t); - - /// Return the servant activator factory that activates the - /// servants for facets and consumers. - ::CIAO::Servant_Activator_ptr ports_servant_activator (void); - // @{ /// Inherited from extension context. Components::Cookie * install_service_reference (const char * service_id, @@ -180,7 +124,7 @@ namespace CIAO CORBA::Object_ptr uninstall_service_reference (Components::Cookie * ck); - CORBA::Object_ptr resolve_service_reference(const char *service_id); + CORBA::Object_ptr resolve_service_reference (const char *service_id); // @} // @{ @@ -223,10 +167,6 @@ namespace CIAO }; } -#if defined (__ACE_INLINE__) -# include "Extension_Container.inl" -#endif /* __ACE_INLINE__ */ - #include /**/ "ace/post.h" #endif /* CIAO_EXTENSION_CONTAINER_H */ diff --git a/CIAO/ciao/Containers/Extension/Extension_Container.inl b/CIAO/ciao/Containers/Extension/Extension_Container.inl deleted file mode 100644 index 1b9fc323ab6..00000000000 --- a/CIAO/ciao/Containers/Extension/Extension_Container.inl +++ /dev/null @@ -1,13 +0,0 @@ -// $Id$ -*- C++ -*- - -ACE_INLINE CORBA::Object_ptr -CIAO::Extension_Container_i::get_objref (PortableServer::Servant p) -{ - return this->the_POA ()->servant_to_reference (p); -} - -ACE_INLINE CIAO::Servant_Activator_ptr -CIAO::Extension_Container_i::ports_servant_activator (void) -{ - return Servant_Activator::_duplicate(this->sa_.in ()); -} diff --git a/CIAO/ciao/Containers/Extension/Extension_Container.mpc b/CIAO/ciao/Containers/Extension/Extension_Container.mpc index 1192e77eca5..8aa548c955d 100644 --- a/CIAO/ciao/Containers/Extension/Extension_Container.mpc +++ b/CIAO/ciao/Containers/Extension/Extension_Container.mpc @@ -54,7 +54,6 @@ project(CIAO_Extension_Container) : install, ccm_svnt, ciao_lib, ciao_extension_ StubContainerInterceptorRegistration_Impl.cpp } Inline_Files { - Extension_Container.inl } Header_Files { Extension_Container.h diff --git a/CIAO/ciao/Containers/Servant_Activator.cpp b/CIAO/ciao/Containers/Servant_Activator.cpp index 1eb782bf71e..7da2a332b71 100644 --- a/CIAO/ciao/Containers/Servant_Activator.cpp +++ b/CIAO/ciao/Containers/Servant_Activator.cpp @@ -151,14 +151,14 @@ namespace CIAO guard, this->mutex_, false); - + CORBA::String_var safe_oid (pa->oid ()); + ::CORBA::String_var safe_name (pa->name ()); CIAO_DEBUG (6, (LM_INFO, CLINFO "Servant_Activator_i::register_port_activator - " "Registering a port activator for port [%C] with ObjectID [%C]\n", - pa->name (), pa->oid ())); + safe_name.in (), safe_oid. in ())); try { - CORBA::String_var safe_oid (pa->oid ()); this->pa_ [safe_oid.in ()] = Port_Activator::_duplicate (pa); } catch (...) diff --git a/CIAO/ciao/Containers/Session/Session_Container.cpp b/CIAO/ciao/Containers/Session/Session_Container.cpp index 6a3303b2f34..7a23c4bda4d 100644 --- a/CIAO/ciao/Containers/Session/Session_Container.cpp +++ b/CIAO/ciao/Containers/Session/Session_Container.cpp @@ -5,10 +5,6 @@ #include "ciao/Servants/Servant_Impl_Base.h" #include "ciao/Logger/Log_Macros.h" -#if !defined (__ACE_INLINE__) -# include "Session_Container.inl" -#endif /* __ACE_INLINE__ */ - namespace CIAO { /////////////////////////////////////////////////////////////// @@ -38,32 +34,6 @@ namespace CIAO Container_i < ::CIAO::Session_Container>::fini (); } - CORBA::Object_ptr - Session_Container_i::install_servant (PortableServer::Servant p, - Container_Types::OA_Type t, - PortableServer::ObjectId_out oid) - { - CIAO_TRACE ("Session_Container_i::install_servant"); - - PortableServer::POA_ptr tmp = PortableServer::POA::_nil(); - - if (t == Container_Types::COMPONENT_t || - t == Container_Types::HOME_t) - { - tmp = this->component_poa_.in (); - } - else - { - tmp = this->facet_cons_poa_.in (); - } - - PortableServer::ObjectId_var tmp_id = tmp->activate_object (p); - CORBA::Object_var objref = tmp->id_to_reference (tmp_id.in ()); - oid = tmp_id._retn (); - - return objref._retn (); - } - //@@ Apparently we need to be cautious when handling the exception // thrown here. We should make sure that new DnC interfaces // NodeApplication/NodeApplicationManager etc will cache the new @@ -78,149 +48,26 @@ namespace CIAO { CIAO_TRACE ("Session_Container_i::install_home"); - HomeFactory hcreator = 0; - HomeServantFactory screator = 0; - - CIAO_DEBUG (6, - (LM_DEBUG, - CLINFO - "Session_Container_i::install_home - " - "Loading home [%C] from shared libraries\n", - name)); - - CIAO_DEBUG (6, - (LM_DEBUG, - CLINFO - "Session_Container_i::install_home - " - "Executor library [%C] with entrypoint [%C]\n", - primary_artifact, - entry_point)); - - CIAO_DEBUG (6, - (LM_DEBUG, - CLINFO - "Session_Container_i::install_home - " - "Servant library [%C] with entrypoint [%C]\n", - servant_artifact, - servant_entrypoint)); - - if (!primary_artifact) - { - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Session_Container_i::install_home - " - "ERROR: Null component executor DLL name\n")); - - throw Components::Deployment::UnknownImplId (); - } - - if (!servant_artifact) - { - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Session_Container_i::install_home - " - "ERROR: Null component servant DLL name\n")); - - throw Components::Deployment::UnknownImplId (); - } - - if (!entry_point) - { - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Session_Container_i::install_home - " - "ERROR: Null entry point for " - "executor DLL [%C]\n", - primary_artifact)); - - throw Components::Deployment::ImplEntryPointNotFound (); - } - - if (!servant_entrypoint) - { - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Session_Container_i::install_home - " - "ERROR: Null entry point for " - "servant DLL [%C]\n", - servant_artifact)); - - throw Components::Deployment::ImplEntryPointNotFound (); - } - ACE_DLL executor_dll; - if (executor_dll.open (ACE_TEXT_CHAR_TO_TCHAR (primary_artifact), - ACE_DEFAULT_SHLIB_MODE, - false) != 0) - { - const ACE_TCHAR* error = executor_dll.error (); - - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Session_Container_i::install_home - " - "ERROR in opening the executor " - "DLL [%C] with error [%s]\n", - primary_artifact, - error)); - - throw Components::Deployment::UnknownImplId (); - } - else - { - CIAO_DEBUG (9, - (LM_TRACE, - CLINFO - "Session_Container_i::install_home - " - "Executor DLL [%C] successfully opened\n", - primary_artifact)); - } - ACE_DLL servant_dll; - if (servant_dll.open (ACE_TEXT_CHAR_TO_TCHAR (servant_artifact), - ACE_DEFAULT_SHLIB_MODE, - false) != 0) - { - const ACE_TCHAR* error = servant_dll.error (); - - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Session_Container_i::install_home - " - "ERROR in opening the servant " - "DLL [%C] with error [%s]\n", - servant_artifact, - error)); + Container_i < ::CIAO::Session_Container>::prepare_installation ("Session Home", + primary_artifact, + entry_point, + servant_artifact, + servant_entrypoint, + name, + executor_dll, + servant_dll); - throw Components::Deployment::UnknownImplId (); - } - else - { - CIAO_DEBUG (9, - (LM_TRACE, - CLINFO - "Session_Container_i::install_home - " - "Servant DLL [%C] successfully openend\n", - servant_artifact)); - } + void *void_ptr_executor = executor_dll.symbol (ACE_TEXT_CHAR_TO_TCHAR (entry_point)); + void *void_ptr_servant = servant_dll.symbol (ACE_TEXT_CHAR_TO_TCHAR (servant_entrypoint)); - // We have to do this casting in two steps because the C++ - // standard forbids casting a pointer-to-object (including - // void*) directly to a pointer-to-function. - void *void_ptr = - executor_dll.symbol (ACE_TEXT_CHAR_TO_TCHAR (entry_point)); - ptrdiff_t tmp_ptr = reinterpret_cast<ptrdiff_t> (void_ptr); - hcreator = reinterpret_cast<HomeFactory> (tmp_ptr); + ptrdiff_t tmp_ptr = reinterpret_cast<ptrdiff_t> (void_ptr_executor); + HomeFactory hcreator = reinterpret_cast<HomeFactory> (tmp_ptr); - void_ptr = - servant_dll.symbol (ACE_TEXT_CHAR_TO_TCHAR (servant_entrypoint)); - tmp_ptr = reinterpret_cast<ptrdiff_t> (void_ptr); - screator = reinterpret_cast<HomeServantFactory> (tmp_ptr); + tmp_ptr = reinterpret_cast<ptrdiff_t> (void_ptr_servant); + HomeServantFactory screator = reinterpret_cast<HomeServantFactory> (tmp_ptr); if (!hcreator) { @@ -325,147 +172,26 @@ namespace CIAO { CIAO_TRACE ("Session_Container_i::install_component"); - ComponentFactory ccreator = 0; - ComponentServantFactory screator = 0; - - CIAO_DEBUG (6, - (LM_DEBUG, - CLINFO - "Session_Container_i::install_component - " - "Loading component [%C] from shared libraries\n", - name)); - - CIAO_DEBUG (6, - (LM_DEBUG, - CLINFO - "Session_Container_i::install_component - " - "Executor library [%C] with entrypoint [%C]\n", - primary_artifact, - entry_point)); - - CIAO_DEBUG (6, - (LM_DEBUG, - CLINFO - "Session_Container_i::install_component - " - "Servant library [%C] with entrypoint [%C]\n", - servant_artifact, - servant_entrypoint)); - - if (primary_artifact == 0) - { - CIAO_ERROR (1, (LM_ERROR, CLINFO - "Session_Container_i::install_component - " - "ERROR: Null component executor DLL name\n")); - throw Components::Deployment::UnknownImplId (); - } - - if (servant_artifact == 0) - { - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Session_Container_i::install_component - " - "ERROR: Null component servant DLL name\n")); - - throw Components::Deployment::UnknownImplId (); - } - - if (entry_point == 0) - { - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Session_Container_i::install_component - " - "ERROR: Null entry point " - "for executor DLL [%C]\n", - primary_artifact)); - - throw Components::Deployment::ImplEntryPointNotFound (); - } - - if (servant_entrypoint == 0) - { - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Session_Container_i::install_component - " - "ERROR: Null entry point for servant DLL [%C]\n", - servant_artifact)); - - throw Components::Deployment::ImplEntryPointNotFound (); - } - - ACE_DLL executor_dll; - - if (executor_dll.open (ACE_TEXT_CHAR_TO_TCHAR (primary_artifact), - ACE_DEFAULT_SHLIB_MODE, - 0) != 0) - { - const ACE_TCHAR* error = executor_dll.error (); - - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Session_Container_i::install_component - " - "ERROR in opening the executor " - "DLL [%C] with error [%s]\n", - primary_artifact, - error)); - - throw Components::Deployment::UnknownImplId (); - } - else - { - CIAO_DEBUG (9, - (LM_TRACE, - CLINFO - "Session_Container_i::install_component" - " - Executor DLL [%C] successfully opened\n", - primary_artifact)); - } - ACE_DLL servant_dll; - if (servant_dll.open (ACE_TEXT_CHAR_TO_TCHAR (servant_artifact), - ACE_DEFAULT_SHLIB_MODE, - 0) != 0) - { - const ACE_TCHAR* error = servant_dll.error (); + Container_i < ::CIAO::Session_Container>::prepare_installation ("Session Component", + primary_artifact, + entry_point, + servant_artifact, + servant_entrypoint, + name, + executor_dll, + servant_dll); - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Session_Container_i::install_component - " - "ERROR in opening the servant DLL" - " [%C] with error [%s]\n", - servant_artifact, - error)); + void *void_ptr_executor = executor_dll.symbol (ACE_TEXT_CHAR_TO_TCHAR (entry_point)); + void *void_ptr_servant = servant_dll.symbol (ACE_TEXT_CHAR_TO_TCHAR (servant_entrypoint)); - throw Components::Deployment::UnknownImplId (); - } - else - { - CIAO_DEBUG (9, - (LM_TRACE, - CLINFO - "Session_Container_i::install_component " - "- Servant DLL [%C] successfully openend\n", - servant_artifact)); - } - - // We have to do this casting in two steps because the C++ - // standard forbids casting a pointer-to-object (including - // void*) directly to a pointer-to-function. - void *void_ptr = - executor_dll.symbol (ACE_TEXT_CHAR_TO_TCHAR (entry_point)); - ptrdiff_t tmp_ptr = reinterpret_cast<ptrdiff_t> (void_ptr); - ccreator = reinterpret_cast<ComponentFactory> (tmp_ptr); + ptrdiff_t tmp_ptr = reinterpret_cast<ptrdiff_t> (void_ptr_executor); + ComponentFactory ccreator = reinterpret_cast<ComponentFactory> (tmp_ptr); - void_ptr = - servant_dll.symbol (ACE_TEXT_CHAR_TO_TCHAR (servant_entrypoint)); - tmp_ptr = reinterpret_cast<ptrdiff_t> (void_ptr); - screator = reinterpret_cast<ComponentServantFactory> (tmp_ptr); + tmp_ptr = reinterpret_cast<ptrdiff_t> (void_ptr_servant); + ComponentServantFactory screator = reinterpret_cast<ComponentServantFactory> (tmp_ptr); if (ccreator == 0) { @@ -561,610 +287,4 @@ namespace CIAO return componentref._retn (); } - - void - Session_Container_i::connect_local_facet ( - ::Components::CCMObject_ptr provider, - const char * provider_port, - ::Components::CCMObject_ptr user, - const char * user_port) - { - CIAO_TRACE ("Session_Container_i::connect_local_facet"); - - if (!provider_port || !user_port) - { - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Session_Container_i::connect_local_facet - " - "Nil port name provided to connect local " - "facet, throwing exception\n")); - - throw ::Components::InvalidConnection (); - } - - try - { - PortableServer::ServantBase_var provider_tmp = - this->component_poa_->reference_to_servant (provider); - - CIAO_DEBUG (9, - (LM_TRACE, - CLINFO - "Session_Container_i::connect_local_facet - " - "Successfully fetched provider servant" - " [%C] from POA\n", - provider_port)); - - CIAO::Connector_Servant_Impl_Base *prov_serv = - dynamic_cast<CIAO::Connector_Servant_Impl_Base *> (provider_tmp.in ()); - - if (!prov_serv) - { - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Session_Container_i::connect_local_facet - " - "Unable to cast to provider servant " - "implementation\n")); - throw ::Components::InvalidConnection (); - } - - PortableServer::ServantBase_var user_tmp = - this->component_poa_->reference_to_servant (user); - - CIAO_DEBUG (9, (LM_TRACE, CLINFO "Session_Container_i::connect_local_facet - " - "Successfully fetched user servant [%C] from POA\n", user_port)); - - CIAO::Connector_Servant_Impl_Base *user_serv = - dynamic_cast<CIAO::Connector_Servant_Impl_Base *> (user_tmp.in ()); - - if (user_serv == 0) - { - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Session_Container_i::connect_local_facet - " - "Unable to cast to user " - "servant implementation\n")); - - throw ::Components::InvalidConnection (); - } - - ::CORBA::Object_var exec = - prov_serv->get_facet_executor (provider_port); - - // Note: Spec says that facet executor provided by component MAY BE NIL - if (!::CORBA::is_nil (exec.in ())) - { - CIAO_DEBUG (6, - (LM_DEBUG, - CLINFO - "Session_Container_i::connect_local_facet - " - "Create connection between [%C]" - " and [%C]\n", - user_port, - provider_port)); - - ::Components::Cookie_var cookie = - user_serv->connect (user_port, exec.in ()); - } - else - { - CIAO_DEBUG (6, - (LM_DEBUG, - CLINFO - "Session_Container_i::connect_local_facet - " - "Got nil facet executor for [%C]\n", - provider_port)); - } - } - catch (const ::Components::InvalidConnection &ex) - { - throw ex; - } - catch (const ::Components::InvalidName &ex) - { - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Session_Container_i::connect_local_facet - " - "Caught exception InvalidName while connecting " - "<%C> to <%C>\n", - provider_port, - user_port)); - - throw ex; - } - catch (const ::CORBA::Exception &ex) - { - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Session_Container_i::connect_local_facet - " - "Caught exception %C.\n", - ex._info ().c_str ())); - throw; - } - catch (...) - { - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Session_Container_i::connect_local_facet - " - "Attempting to connect components not " - "managed by this container.\n")); - - throw ::Components::InvalidConnection (); - } - } - - void - Session_Container_i::disconnect_local_facet ( - ::Components::CCMObject_ptr, - const char *, - ::Components::CCMObject_ptr user, - const char * user_port) - { - CIAO_TRACE ("Session_Container_i::disconnect_local_facet"); - - try - { - PortableServer::ServantBase_var srv_tmp = - this->component_poa_->reference_to_servant (user); - - CIAO_DEBUG (9, - (LM_TRACE, - CLINFO - "Session_Container_i::disconnect_local_facet - " - "Successfully fetched user servant from POA for user port <%C>\n", - user_port)); - - CIAO::Connector_Servant_Impl_Base *user_serv = - dynamic_cast<CIAO::Connector_Servant_Impl_Base *> (srv_tmp.in ()); - - if (user_serv == 0) - { - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Session_Container_i::disconnect_local_facet - " - "Unable to cast to user servant " - "implementation\n")); - - throw ::Components::InvalidConnection (); - } - - try - { - ::CORBA::Object_var port = user_serv->disconnect (user_port, 0); - } - catch (const ::Components::CookieRequired&ex) - { - CIAO_ERROR (6, - (LM_ERROR, - CLINFO - "Session_Container_i::disconnect_local_facet - " - "Ingnoring exception %C.\n", - ex._info ().c_str ())); - - // mcorino@remedy.nl - Ignore this for now; disconnect behaviour will be fixed properly - } - } - catch (const ::Components::InvalidConnection &) - { - throw; - } - catch (const ::CORBA::Exception &ex) - { - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Session_Container_i::disconnect_local_facet - " - "Caught exception %C.\n", - ex._info ().c_str ())); - - throw; - } - catch (...) - { - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Session_Container_i::disconnect_local_facet - " - "Attempting to connect components not " - "managed by this container.\n")); - - throw ::Components::InvalidConnection (); - } - } - - void - Session_Container_i::set_attributes (CORBA::Object_ptr compref, - const ::Components::ConfigValues & values) - { - CIAO_TRACE("Session_Container_i::set_attributes"); - - try - { - PortableServer::ServantBase_var svt; - - try - { - svt = this->component_poa_->reference_to_servant (compref); - } - catch (CORBA::Exception &ex) - { - CIAO_ERROR (1, (LM_ERROR, CLINFO - "Session_Container_i::set_attributes - " - "Caught CORBA exception while retrieving servant: %C", - ex._info ().c_str ())); - throw CIAO::InvalidComponent (); - } - catch (...) - { - CIAO_ERROR (1, (LM_EMERGENCY, "ex in ref to servant\n")); - throw CIAO::InvalidComponent (); - } - - if (!svt) - { - CIAO_ERROR (1, (LM_EMERGENCY, "invalid servant reference\n")); - throw CIAO::InvalidComponent (); - } - else - { - CIAO::Connector_Servant_Impl_Base * comp = 0; - CIAO::Home_Servant_Impl_Base *home = 0; - - if ((comp = dynamic_cast <CIAO::Connector_Servant_Impl_Base *> (svt.in ()))) - { - CIAO_DEBUG (9, - (LM_TRACE, - CLINFO - "Session_Container_i::set_attributes - " - "Configuring attribute values on " - "component object reference.\n")); - - comp->set_attributes (values); - } - else if ((home = dynamic_cast <CIAO::Home_Servant_Impl_Base *> (svt.in ()))) - { - CIAO_DEBUG (9, - (LM_TRACE, - CLINFO - "Session_Container_i::set_attributes - " - "Configuring attribute values on " - "home object reference.\n")); - - home->set_attributes (values); - } - else - { - CIAO_ERROR (1, (LM_EMERGENCY, "not home or component\n")); - throw CIAO::InvalidComponent (); - } - } - } - catch (const CIAO::InvalidComponent &) - { - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Session_Container_i::set_attributes - " - "Failed to retrieve servant and/or cast " - "to servant pointer.\n")); - throw; - } - catch (const CORBA::Exception &ex) - { - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Session_Container_i::set_attributes - " - "Caught CORBA exception while configuring " - "component attributes: %C\n", - ex._info ().c_str ())); - throw; - } - catch (...) - { - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Session_Container_i::set_attributes - " - "Caught unknown C++ exception while " - "configuring component attributes.\n")); - - throw; - } - } - - void - Session_Container_i::activate_component ( - Components::CCMObject_ptr compref) - { - CIAO_TRACE("Session_Container_i::activate_component"); - - try - { - - CIAO::Connector_Servant_Impl_Base * svt = 0; - - try - { - PortableServer::ServantBase_var servant_from_reference = - this->component_poa_->reference_to_servant (compref); - svt = - dynamic_cast<CIAO::Connector_Servant_Impl_Base *> ( - servant_from_reference.in ()); - } - catch (...) - { - throw InvalidComponent (); - } - - if (!svt) - { - throw CIAO::InvalidComponent (); - } - else - { - CIAO_DEBUG (9, - (LM_TRACE, - CLINFO - "Session_Container_i::activate_component - " - "Invoking CCM activate on provided " - "component object reference.\n")); - - svt->activate_component (); - } - } - catch (const CIAO::InvalidComponent &) - { - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Session_Container_i::activate_component - " - "Failed to retrieve servant and/or cast " - "to servant pointer.\n")); - throw; - } - catch (const CORBA::Exception &ex) - { - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Session_Container_i::activate_component - " - "Caught CORBA exception while activating " - "a component: %C\n", - ex._info ().c_str ())); - throw; - } - catch (...) - { - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Session_Container_i::activate_component - " - "Caught unknown C++ exception while " - "activating a component.\n")); - - throw; - } - } - - void - Session_Container_i::passivate_component (Components::CCMObject_ptr compref) - { - CIAO_TRACE ("Session_Container_i::passivate_component"); - - try - { - CIAO::Connector_Servant_Impl_Base * svt = 0; - - try - { - PortableServer::ServantBase_var servant_from_reference = - this->component_poa_->reference_to_servant (compref); - svt = - dynamic_cast<CIAO::Connector_Servant_Impl_Base *> ( - servant_from_reference.in ()); - } - catch (...) - { - throw InvalidComponent (); - } - - if (!svt) - { - throw CIAO::InvalidComponent (); - } - else - { - CIAO_DEBUG (9, - (LM_TRACE, - CLINFO - "Session_Container_i::passivate_component - " - "Invoking CCM passivate on provided " - "component object reference.\n")); - - svt->passivate_component (); - } - } - catch (const CORBA::Exception &ex) - { - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Session_Container_i::passivate_component - " - "Caught CORBA exception while passivating " - "a component: %C\n", - ex._info ().c_str ())); - - throw; - } - catch (...) - { - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Session_Container_i::passivate_component - " - "Caught unknown C++ exception while " - "passivating a component.\n")); - - throw; - } - } - - void - Session_Container_i::uninstall (CORBA::Object_ptr objref, - Container_Types::OA_Type y) - { - CIAO_TRACE ("Session_Container_i::uninstall"); - - PortableServer::ServantBase_var svnt; - - switch (y) - { - case Container_Types::COMPONENT_t: - case Container_Types::HOME_t: - svnt = this->component_poa_->reference_to_servant (objref); - break; - default: - svnt = this->facet_cons_poa_->reference_to_servant (objref); - break; - } - - PortableServer::ObjectId_var oid; - this->uninstall_servant (svnt.in (), y, oid.out ()); - } - - void - Session_Container_i::uninstall_home (Components::CCMHome_ptr homeref) - { - CIAO_TRACE ("Session_Container_i::uninstall_home"); - - this->uninstall (homeref, Container_Types::HOME_t); - } - - void - Session_Container_i::uninstall_component ( - Components::CCMObject_ptr homeref) - { - CIAO_TRACE ("Session_Container_i::uninstall_component"); - - PortableServer::ServantBase_var srv_tmp = - this->component_poa_->reference_to_servant (homeref); - CIAO::Connector_Servant_Impl_Base * svnt = - dynamic_cast <CIAO::Connector_Servant_Impl_Base *> ( - srv_tmp.in ()); - - if (!svnt) - { - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Session_Container_i::uninstall_component - " - "Unable to convert provided servant " - "reference to servant implementation.")); - - throw ::Components::RemoveFailure (); - } - else - { - svnt->remove (); - } - } - - void - Session_Container_i::uninstall_servant (PortableServer::Servant svnt, - Container_Types::OA_Type t, - PortableServer::ObjectId_out oid) - { - CIAO_TRACE ("Session_Container_i::uninstall_servant"); - - PortableServer::POA_ptr tmp = PortableServer::POA::_nil(); - - if ((t == Container_Types::COMPONENT_t) || - (t == Container_Types::HOME_t)) - { - CIAO_DEBUG (9, - (LM_TRACE, - CLINFO - "Session_Container_i::uninstall_servant - " - "Removing component or home servant\n")); - - tmp = this->component_poa_.in (); - } - else - { - CIAO_DEBUG (9, - (LM_TRACE, - CLINFO - "Session_Container_i::uninstall_servant - " - "Removing facet or consumer servant\n")); - - tmp = this->facet_cons_poa_.in (); - } - - try - { - PortableServer::ObjectId_var tmp_id = tmp->servant_to_id (svnt); - tmp->deactivate_object (tmp_id); - - CIAO_DEBUG (9, - (LM_TRACE, - CLINFO - "Session_Container_i::uninstall_servant - " - "Servant successfully removed, " - "reference count is %u\n", - svnt->_refcount_value () - 1)); - - oid = tmp_id._retn (); - } - catch (const CORBA::Exception &ex) - { - CIAO_ERROR (1, - (LM_ERROR, - CLINFO - "Session_Container_i::uninstall_servant - " - "Caught CORBA exception while " - "uninstalling servant: %C\n", - ex._info ().c_str ())); - - throw Components::RemoveFailure (); - } - } - - CORBA::Object_ptr - Session_Container_i::generate_reference (const char *obj_id, - const char *repo_id, - Container_Types::OA_Type t) - { - CIAO_TRACE ("Session_Container_i::generate_reference"); - - PortableServer::POA_ptr tmp = PortableServer::POA::_nil(); - - if (t == Container_Types::COMPONENT_t - || t == Container_Types::HOME_t) - { - tmp = this->component_poa_.in (); - } - else - { - tmp = this->facet_cons_poa_.in (); - } - - PortableServer::ObjectId_var oid = - PortableServer::string_to_ObjectId (obj_id); - - CORBA::String_var str = - PortableServer::ObjectId_to_string (oid.in ()); - - CORBA::Object_var objref = - tmp->create_reference_with_id (oid.in (), repo_id); - - return objref._retn (); - } } diff --git a/CIAO/ciao/Containers/Session/Session_Container.h b/CIAO/ciao/Containers/Session/Session_Container.h index 4f33bd3ca8a..72829454b0e 100644 --- a/CIAO/ciao/Containers/Session/Session_Container.h +++ b/CIAO/ciao/Containers/Session/Session_Container.h @@ -101,8 +101,6 @@ namespace CIAO const char *servant_entrypoint, const char *name); - virtual void uninstall_home (Components::CCMHome_ptr homeref); - /// Install a new component virtual Components::CCMObject_ptr install_component (const char *primary_artifact, const char *entry_point, @@ -110,70 +108,12 @@ namespace CIAO const char *servant_entrypoint, const char *name); - /// Connect a local facet - virtual void connect_local_facet (::Components::CCMObject_ptr provider, - const char * provider_port, - ::Components::CCMObject_ptr user, - const char * user_port); - - /// Disconnect a local facet - virtual void disconnect_local_facet (::Components::CCMObject_ptr provider, - const char * provider_port, - ::Components::CCMObject_ptr user, - const char * user_port); - - /// Set attributes on a component - virtual void set_attributes (CORBA::Object_ptr compref, - const ::Components::ConfigValues & values); - - /// Activate component - virtual void activate_component (Components::CCMObject_ptr compref); - - /// Passivate a component - virtual void passivate_component (Components::CCMObject_ptr compref); - - /// Uninstall a component - virtual void uninstall_component (Components::CCMObject_ptr compref); - - /// Uninstall a servant - virtual void uninstall_servant (PortableServer::Servant objref, - Container_Types::OA_Type type, - PortableServer::ObjectId_out oid); - - /// Install a servant for component or home. - virtual CORBA::Object_ptr install_servant (PortableServer::Servant p, - Container_Types::OA_Type type, - PortableServer::ObjectId_out oid); - - /// Get an object reference to a component or home from the servant. - virtual CORBA::Object_ptr get_objref (PortableServer::Servant p); - - /// Uninstall a servant for component or home. - void uninstall (CORBA::Object_ptr objref, Container_Types::OA_Type t); - - /// Uninstall a servant for component or home. - void uninstall (PortableServer::Servant svt, Container_Types::OA_Type t); - - /// Analog of the POA method that creates an object reference from - /// an object id string. - CORBA::Object_ptr generate_reference (const char *obj_id, - const char *repo_id, - Container_Types::OA_Type t); - - /// Return the servant activator factory that activates the - /// servants for facets and consumers. - ::CIAO::Servant_Activator_ptr ports_servant_activator (void); - private: /// Not allowed to be Session_Container_i (void); }; } -#if defined (__ACE_INLINE__) -# include "Session_Container.inl" -#endif /* __ACE_INLINE__ */ - #include /**/ "ace/post.h" #endif /* CIAO_SESSION_CONTAINER_H */ diff --git a/CIAO/ciao/Containers/Session/Session_Container.inl b/CIAO/ciao/Containers/Session/Session_Container.inl deleted file mode 100644 index 18764bed5f2..00000000000 --- a/CIAO/ciao/Containers/Session/Session_Container.inl +++ /dev/null @@ -1,13 +0,0 @@ -// $Id$ -*- C++ -*- - -ACE_INLINE CORBA::Object_ptr -CIAO::Session_Container_i::get_objref (PortableServer::Servant p) -{ - return this->the_POA ()->servant_to_reference (p); -} - -ACE_INLINE CIAO::Servant_Activator_ptr -CIAO::Session_Container_i::ports_servant_activator (void) -{ - return Servant_Activator::_duplicate(this->sa_.in ()); -} diff --git a/CIAO/ciao/Containers/Session/Session_Container.mpc b/CIAO/ciao/Containers/Session/Session_Container.mpc index 0a500379873..45e500e93e7 100644 --- a/CIAO/ciao/Containers/Session/Session_Container.mpc +++ b/CIAO/ciao/Containers/Session/Session_Container.mpc @@ -49,7 +49,6 @@ project(CIAO_Session_Container) : install, ccm_svnt, ciao_lib, utils, ciao_base Session_Container.cpp } Inline_Files { - Session_Container.inl } Header_Files { Session_Container.h diff --git a/CIAO/ciao/Deployment/Handlers/Component_Handler.cpp b/CIAO/ciao/Deployment/Handlers/Component_Handler.cpp index 20c33ac3ce5..9538abf7ddb 100644 --- a/CIAO/ciao/Deployment/Handlers/Component_Handler.cpp +++ b/CIAO/ciao/Deployment/Handlers/Component_Handler.cpp @@ -410,7 +410,7 @@ namespace CIAO ::CIAO::Container_var container = DEPLOYMENT_STATE::instance ()->fetch_container (cont_id); - if (CORBA::is_nil (container)) + if (CORBA::is_nil (container.in ())) { CIAO_ERROR (1, (LM_INFO, CLINFO "Component_Handler_i::remove_instance - " diff --git a/CIAO/ciao/Deployment/Handlers/Connection_Handler.cpp b/CIAO/ciao/Deployment/Handlers/Connection_Handler.cpp index a010b26e833..2e171286ea0 100644 --- a/CIAO/ciao/Deployment/Handlers/Connection_Handler.cpp +++ b/CIAO/ciao/Deployment/Handlers/Connection_Handler.cpp @@ -3,6 +3,7 @@ #include "ciao/Logger/Log_Macros.h" #include "dance/Deployment/Deployment_InvalidConnectionC.h" #include "CIAO_State.h" + namespace CIAO { void @@ -52,7 +53,7 @@ namespace CIAO endpoint_reference = out; - if (this->is_local_facet (conn)) + if (this->is_local_connection (conn)) (*out) <<= comp.in (); else { @@ -229,8 +230,21 @@ namespace CIAO i < conn.internalEndpoint.length (); ++i) { - if (conn.internalEndpoint[i].provider) - endpoint = i; + if (conn.internalEndpoint[i].kind == Deployment::EventEmitter || + conn.internalEndpoint[i].kind == Deployment::EventPublisher || + conn.internalEndpoint[i].kind == Deployment::EventConsumer) + { + if (!conn.internalEndpoint[i].provider) + { + endpoint = i; + break; + } + } + else if (conn.internalEndpoint[i].provider) + { + endpoint = i; + break; + } } } @@ -313,7 +327,7 @@ namespace CIAO conn.name.in (), plan.instance[endpoint.instanceRef].name.in ())); - if (this->is_local_facet (conn)) + if (this->is_local_connection (conn)) { CORBA::ULong other_endpointRef = (endpointRef + 1) % 2; if (conn.internalEndpoint.length () == 2 && @@ -325,7 +339,8 @@ namespace CIAO this->connect_local_port (plan.instance[endpoint.instanceRef].name.in (), endpoint.portName.in (), plan.instance[other_endpoint.instanceRef].name.in (), - other_endpoint.portName.in ()); + other_endpoint.portName.in (), + conn.name.in ()); return; } else @@ -340,11 +355,29 @@ namespace CIAO "Local facet connections require exactly 2 internalEndpoints"); } } + this->connect_non_local_facet (plan, + connectionRef, + endpointRef, + provided_reference); + } + + void + Connection_Handler::connect_non_local_facet (const ::Deployment::DeploymentPlan & plan, + ::CORBA::ULong connectionRef, + ::CORBA::ULong endpointRef, + const ::CORBA::Any & provided_reference) + { + CIAO_TRACE ("Connection_Handler::connect_non_local_facet"); + + const ::Deployment::PlanConnectionDescription &conn = + plan.connection[connectionRef]; + const ::Deployment::PlanSubcomponentPortEndpoint &endpoint = + conn.internalEndpoint[endpointRef]; if (conn.externalReference.length () == 0) { CIAO_ERROR (1, (LM_ERROR, CLINFO - "Connection_Handler::connect_facet - " + "Connection_Handler::connect_non_local_facet - " "Error: Expected external reference endpoint for connection <%C>", conn.name.in ())); throw ::Deployment::InvalidConnection (conn.name.in (), @@ -359,7 +392,7 @@ namespace CIAO if (CORBA::is_nil (provided)) { CIAO_ERROR (1, (LM_ERROR, CLINFO - "Connection_Handler::connect_facet - " + "Connection_Handler::connect_non_local_facet - " "While connecting <%C>:" "Provided reference for connection where primary is Facet must be " "non-nil.\n", @@ -376,7 +409,7 @@ namespace CIAO if (CORBA::is_nil (facet_provider)) { CIAO_ERROR (1, (LM_ERROR, CLINFO - "Connection_Handler::connect_facet - " + "Connection_Handler::connect_non_local_facet - " "While connecting <%C>:" "Providing component not deployed.", plan.connection[connectionRef].name.in ())); @@ -389,14 +422,14 @@ namespace CIAO ::Components::Cookie_var cookie = provided->connect (conn.externalReference[0].portName.in (), facet.in ()); - CIAO_DEBUG (5, (LM_INFO, CLINFO - "Connection_Handler::connect_facet - " + "Connection_Handler::connect_non_local_facet - " "Connection <%C> successfully established.\n", conn.name.in ())); - this->cookies_[conn.name.in ()] = CONNECTION_INFO (cookie, - ::Components::CCMObject::_duplicate (provided)); + CONNECTION_INFO conn_info = CONNECTION_INFO (cookie._retn (), + ::Components::CCMObject::_duplicate (provided.in ())); + this->insert_cookie (conn.name.in (), conn_info); } void @@ -405,6 +438,8 @@ namespace CIAO ::CORBA::ULong endpointRef, const ::CORBA::Any & provided_reference) { + CIAO_TRACE ("Component_Handler_i::connect_receptacle"); + const ::Deployment::PlanConnectionDescription &conn = plan.connection[connectionRef]; const ::Deployment::PlanSubcomponentPortEndpoint &endpoint = @@ -416,7 +451,7 @@ namespace CIAO conn.name.in (), plan.instance[endpoint.instanceRef].name.in ())); - if (this->is_local_facet (conn)) + if (this->is_local_connection (conn)) { CORBA::ULong other_endpointRef = (endpointRef + 1) % 2; if (conn.internalEndpoint.length () == 2 && @@ -427,7 +462,8 @@ namespace CIAO this->connect_local_port (plan.instance[other_endpoint.instanceRef].name.in (), other_endpoint.portName.in (), plan.instance[endpoint.instanceRef].name.in (), - endpoint.portName.in ()); + endpoint.portName.in (), + conn.name.in ()); return; } else @@ -441,13 +477,31 @@ namespace CIAO "Local receptacle connections require exactly 2 internalEndpoints"); } } + this->connect_non_local_receptacle (plan, + connectionRef, + endpointRef, + provided_reference); + } + + void + Connection_Handler::connect_non_local_receptacle (const ::Deployment::DeploymentPlan & plan, + ::CORBA::ULong connectionRef, + ::CORBA::ULong endpointRef, + const ::CORBA::Any & provided_reference) + { + CIAO_TRACE ("Component_Handler_i::connect_non_local_receptacle"); + + const ::Deployment::PlanConnectionDescription &conn = + plan.connection[connectionRef]; + const ::Deployment::PlanSubcomponentPortEndpoint &endpoint = + conn.internalEndpoint[endpointRef]; ::CORBA::Object_var provided; if (!(provided_reference >>= CORBA::Any::to_object (provided))) { CIAO_ERROR (1, (LM_ERROR, CLINFO - "Connection_Handler::connect_facet - " + "Connection_Handler::connect_non_local_receptacle - " "Unable to extract provided reference to CORBA::Object\n", plan.connection[connectionRef].name.in ())); throw ::Deployment::InvalidConnection (plan.connection[connectionRef].name.in (), @@ -464,7 +518,7 @@ namespace CIAO if (CORBA::is_nil (facet_provider.in ())) { CIAO_ERROR (1, (LM_ERROR, CLINFO - "Connection_Handler::connect_facet - " + "Connection_Handler::connect_non_local_receptacle - " "Unable to narrow provided external reference " "to CCMObject in connection <%C> for port <%C>\n", conn.name.in (), @@ -481,10 +535,10 @@ namespace CIAO ::Components::CCMObject_var receptacle = DEPLOYMENT_STATE::instance ()->fetch_component (plan.instance[endpoint.instanceRef].name.in ()); - if (CORBA::is_nil (receptacle)) + if (CORBA::is_nil (receptacle.in ())) { CIAO_ERROR (1, (LM_ERROR, CLINFO - "Connection_Handler::connect_receptacle - " + "Connection_Handler::connect_non_local_receptacle - " "While connecting <%C>:" "Receptacle component <%C> not deployed.\n", plan.connection[connectionRef].name.in (), @@ -496,13 +550,15 @@ namespace CIAO ::Components::Cookie_var cookie = receptacle->connect (endpoint.portName.in (), provided.in ()); CIAO_DEBUG (5, (LM_INFO, CLINFO - "Connection_Handler::connect_receptacle - " + "Connection_Handler::connect_non_local_receptacle - " "Connection <%C> successfully established.\n", conn.name.in ())); - this->cookies_[conn.name.in ()] = CONNECTION_INFO (cookie, - ::Components::CCMObject::_duplicate (receptacle.in ())); + CONNECTION_INFO conn_info = CONNECTION_INFO (cookie._retn (), + ::Components::CCMObject::_duplicate (receptacle.in ())); + this->insert_cookie (conn.name.in (), conn_info); } + #if !defined (CCM_NOEVENT) void Connection_Handler::connect_publisher (const ::Deployment::DeploymentPlan & plan, @@ -552,19 +608,20 @@ namespace CIAO throw ::Deployment::InvalidConnection (conn.name.in (), "Publisher component not deployed."); } - Components::Cookie_var cookie = publisher->subscribe (endpoint.portName.in (), - event.in ()); + event.in ()); CIAO_DEBUG (5, (LM_INFO, CLINFO "Connection_Handler::connect_publisher - " "Connection <%C> successfully established.\n", conn.name.in ())); - this->cookies_[conn.name.in ()] = CONNECTION_INFO (cookie, - ::Components::CCMObject::_duplicate (publisher.in ())); + CONNECTION_INFO conn_info = CONNECTION_INFO (cookie._retn (), + ::Components::CCMObject::_duplicate (publisher.in ())); + this->insert_cookie (conn.name.in (), conn_info); } #endif + #if !defined (CCM_NOEVENT) void Connection_Handler::connect_consumer (const ::Deployment::DeploymentPlan & plan, @@ -572,7 +629,7 @@ namespace CIAO ::CORBA::ULong endpointRef, const ::CORBA::Any &) { - CIAO_TRACE ("Connection_Handler::connect_subscriber"); + CIAO_TRACE ("Connection_Handler::connect_consumer"); const ::Deployment::PlanConnectionDescription &conn = plan.connection[connectionRef]; @@ -651,10 +708,12 @@ namespace CIAO ::Components::Cookie_var nil_cookie; - this->cookies_[conn.name.in ()] = CONNECTION_INFO (nil_cookie, - ::Components::CCMObject::_duplicate (emitter.in ())); + CONNECTION_INFO conn_info = CONNECTION_INFO (nil_cookie._retn (), + ::Components::CCMObject::_duplicate (emitter.in ())); + this->insert_cookie (conn.name.in (), conn_info); } #endif + void Connection_Handler::disconnect_facet (const ::Deployment::DeploymentPlan &plan, ::CORBA::ULong connectionRef, @@ -662,6 +721,7 @@ namespace CIAO { CIAO_TRACE ("Connection_Handler::disconnect_facet"); + const ::Deployment::PlanConnectionDescription &conn = plan.connection[connectionRef]; const ::Deployment::PlanSubcomponentPortEndpoint &endpoint = @@ -673,7 +733,7 @@ namespace CIAO conn.name.in (), plan.instance[endpoint.instanceRef].name.in ())); - if (this->is_local_facet (conn)) + if (this->is_local_connection (conn)) { CORBA::ULong other_endpointRef = (endpointRef + 1) % 2; if (conn.internalEndpoint.length () == 2 && @@ -682,43 +742,140 @@ namespace CIAO { const ::Deployment::PlanSubcomponentPortEndpoint &other_endpoint = conn.internalEndpoint[other_endpointRef]; + + this->disconnect_local_port (plan.instance[endpoint.instanceRef].name.in (), endpoint.portName.in (), plan.instance[other_endpoint.instanceRef].name.in (), - other_endpoint.portName.in ()); + other_endpoint.portName.in (), + conn.name.in ()); return; } else { CIAO_ERROR (1, (LM_ERROR, CLINFO "Connection_Handler::disconnect_facet - " - "Error: Wrong number of internal endpoints for local facet connection: " - "expected <2> - found <%d>\n", + "Error: Wrong number of internal endpoints for local facet " + "connection: expected <2> - found <%d>\n", conn.internalEndpoint.length ())); throw ::Deployment::InvalidConnection (conn.name.in (), - "Local facet connections require exactly 2 internalEndpoints"); + "Local facet connections require exactly 2 " + "internalEndpoints"); } } + this->disconnect_non_local (conn); + } + + void + Connection_Handler::disconnect_non_local (const ::Deployment::PlanConnectionDescription &conn) + { + CIAO_TRACE ("Connection_Handler::disconnect_non_local"); + + if (conn.internalEndpoint.length () == 0) + { + CIAO_ERROR (1, (LM_ERROR, CLINFO + "Connection_Handler::disconnect_non_local - " + "Error: Expected internal endpoints for connection <%C>\n", + conn.name.in ())); + throw ::Deployment::InvalidConnection (conn.name.in (), + "Expected internal endpoints."); + } + + ::Components::CCMObject_var obj = this->get_ccm_object (conn.name.in ()); + ::CORBA::Object_var safe_tmp = + obj->disconnect (conn.internalEndpoint[0].portName.in (), + this->get_cookie (conn.name.in ())); + this->remove_cookie (conn.name.in ()); } void - Connection_Handler::disconnect_receptacle (const ::Deployment::DeploymentPlan &, - ::CORBA::ULong, - ::CORBA::ULong) + Connection_Handler::disconnect_receptacle (const ::Deployment::DeploymentPlan &plan, + ::CORBA::ULong connectionRef, + ::CORBA::ULong endpointRef) { CIAO_TRACE ("Connection_Handler::disconnect_receptacle"); + + const ::Deployment::PlanConnectionDescription &conn = + plan.connection[connectionRef]; + const ::Deployment::PlanSubcomponentPortEndpoint &endpoint = + conn.internalEndpoint[endpointRef]; + + CIAO_DEBUG (6, (LM_DEBUG, CLINFO + "Connection_Handler::disconnect_receptacle - " + "Disconnecting connection <%C> on instance <%C>\n", + conn.name.in (), + plan.instance[endpoint.instanceRef].name.in ())); + if (this->is_local_connection (conn)) + { + CORBA::ULong other_endpointRef = (endpointRef + 1) % 2; + if (conn.internalEndpoint.length () == 2 && + conn.internalEndpoint[other_endpointRef].kind == ::Deployment::Facet) + { + const ::Deployment::PlanSubcomponentPortEndpoint &other_endpoint = + conn.internalEndpoint[other_endpointRef]; + + + this->disconnect_local_port (plan.instance[endpoint.instanceRef].name.in (), + endpoint.portName.in (), + plan.instance[other_endpoint.instanceRef].name.in (), + other_endpoint.portName.in (), + conn.name.in ()); + return; + } + else + { + CIAO_ERROR (1, (LM_ERROR, CLINFO + "Connection_Handler::disconnect_receptacle - " + "Error: Wrong number of internal endpoints for local receptacle " + "connection: expected <2> - found <%d>\n", + conn.internalEndpoint.length ())); + + throw ::Deployment::InvalidConnection (conn.name.in (), + "Local receptacle connections require exactly 2 " + "internalEndpoints"); + } + } + this->disconnect_non_local (conn); } #if !defined (CCM_NOEVENT) void - Connection_Handler::disconnect_publisher (const ::Deployment::DeploymentPlan &, - ::CORBA::ULong, - ::CORBA::ULong) + Connection_Handler::disconnect_publisher (const ::Deployment::DeploymentPlan &plan, + ::CORBA::ULong connectionRef, + ::CORBA::ULong endpointRef) { CIAO_TRACE ("Connection_Handler::disconnect_publisher"); + + const ::Deployment::PlanConnectionDescription &conn = + plan.connection[connectionRef]; + const ::Deployment::PlanSubcomponentPortEndpoint &endpoint = + conn.internalEndpoint[endpointRef]; + + CIAO_DEBUG (6, (LM_DEBUG, CLINFO + "Connection_Handler::disconnect_publisher - " + "Disconnecting connection <%C> on instance <%C>. " + "Portname: [%C]\n", + conn.name.in (), + plan.instance[endpoint.instanceRef].name.in (), + endpoint.portName. in ())); + + if (conn.internalEndpoint.length () == 0) + { + CIAO_ERROR (1, (LM_ERROR, CLINFO + "Connection_Handler::disconnect_event_port - " + "Error: Expected internal endpoints for connection <%C>\n", + conn.name.in ())); + throw ::Deployment::InvalidConnection (conn.name.in (), + "Expected internal endpoints."); + } + ::Components::CCMObject_var obj = this->get_ccm_object (conn.name.in ()); + + ::Components::EventConsumerBase_var safe_temp = + obj->unsubscribe (endpoint.portName.in (), + this->get_cookie (conn.name.in ())); } #endif @@ -735,12 +892,39 @@ namespace CIAO #if !defined (CCM_NOEVENT) void - Connection_Handler::disconnect_consumer (const ::Deployment::DeploymentPlan &, - ::CORBA::ULong, - ::CORBA::ULong) + Connection_Handler::disconnect_consumer (const ::Deployment::DeploymentPlan &plan, + ::CORBA::ULong connectionRef, + ::CORBA::ULong endpointRef) { CIAO_TRACE ("Connection_Handler::disconnect_consumer"); + + const ::Deployment::PlanConnectionDescription &conn = + plan.connection[connectionRef]; + const ::Deployment::PlanSubcomponentPortEndpoint &endpoint = + conn.internalEndpoint[endpointRef]; + + CIAO_DEBUG (6, (LM_DEBUG, CLINFO + "Connection_Handler::disconnect_consumer - " + "Disconnecting connection <%C> on instance <%C>. " + "Portname: [%C]\n", + conn.name.in (), + plan.instance[endpoint.instanceRef].name.in (), + endpoint.portName. in ())); + + if (conn.internalEndpoint.length () == 0) + { + CIAO_ERROR (1, (LM_ERROR, CLINFO + "Connection_Handler::disconnect_event_port - " + "Error: Expected internal endpoints for connection <%C>\n", + conn.name.in ())); + throw ::Deployment::InvalidConnection (conn.name.in (), + "Expected internal endpoints."); + } + ::Components::CCMObject_var obj = this->get_ccm_object (conn.name.in ()); + + ::Components::EventConsumerBase_var safe_temp = + obj->disconnect_consumer (endpoint.portName.in ()); } #endif @@ -748,7 +932,8 @@ namespace CIAO Connection_Handler::connect_local_port (const char *facet_id, const char *facet_port, const char *receptacle_id, - const char *receptacle_port) + const char *receptacle_port, + const char *connection_name) { CIAO_TRACE ("Connection_Handler::connect_local_port"); @@ -780,22 +965,27 @@ namespace CIAO facet = DEPLOYMENT_STATE::instance ()->fetch_component (facet_id), receptacle = DEPLOYMENT_STATE::instance ()->fetch_component (receptacle_id); - cont->connect_local_facet (facet, - facet_port, - receptacle, - receptacle_port); + ::Components::Cookie_var cookie = cont->connect_local_facet (facet, + facet_port, + receptacle, + receptacle_port); CIAO_DEBUG (5, (LM_INFO, CLINFO "Connection_Handler::connect_local_port - " "Connected local port <%C>:<%C> to <%C>:<%C>\n", facet_id, facet_port, receptacle_id, receptacle_port)); + + CONNECTION_INFO conn_info = CONNECTION_INFO (cookie._retn (), + ::Components::CCMObject::_duplicate (receptacle.in ())); + this->insert_cookie (connection_name, conn_info); } void Connection_Handler::disconnect_local_port (const char *facet_id, const char *facet_port, const char *receptacle_id, - const char *receptacle_port) + const char *receptacle_port, + const char *connection_name) { CIAO_TRACE ("Connection_Handler::disconnect_local_port"); @@ -827,10 +1017,15 @@ namespace CIAO facet = DEPLOYMENT_STATE::instance ()->fetch_component (facet_id), receptacle = DEPLOYMENT_STATE::instance ()->fetch_component (receptacle_id); - cont->disconnect_local_facet (facet, + cont->disconnect_local_facet ( + this->get_cookie (connection_name), + facet, facet_port, receptacle, receptacle_port); + + this->remove_cookie (connection_name); + CIAO_DEBUG (5, (LM_INFO, CLINFO "Connection_Handler::disconnect_local_port - " "Disconnected local port <%C>:<%C> to <%C>:<%C>\n", @@ -839,9 +1034,10 @@ namespace CIAO } bool - Connection_Handler::is_local_facet (const ::Deployment::PlanConnectionDescription &conn) + Connection_Handler::is_local_connection (const ::Deployment::PlanConnectionDescription &conn) { - CIAO_TRACE ("Connection_Handler::is_local_facet"); + CIAO_TRACE ("Connection_Handler::is_local_connection"); + Deployment::Requirements const& deploy_req = conn.deployRequirement; for (CORBA::ULong i = 0; i < deploy_req.length (); i++) { @@ -853,4 +1049,105 @@ namespace CIAO } return false; } + + void + Connection_Handler::insert_cookie (const char * connection_name, + const CONNECTION_INFO conn_info) + { + CIAO_TRACE ("Connection_Handler::insert_cookie"); + + std::pair <std::string, CONNECTION_INFO> value_to_insert (connection_name, + conn_info); + std::pair<COOKIES::iterator, bool> ret = this->cookies_.insert (value_to_insert); + if (!ret.second) + { + CIAO_ERROR (1, (LM_ERROR, CLINFO + "Connection_Handler::insert_cookie - " + "Error inserting new cookie\n")); + conn_info.first->_remove_ref (); + conn_info.second->_remove_ref (); + throw ::Deployment::InvalidConnection (connection_name, + "Unable to insert cookie."); + } + else + { + CIAO_DEBUG (5, (LM_DEBUG, CLINFO + "Connection_Handler::insert_cookie - " + "Inserted cookie for [%C].\n", + connection_name)); + } + } + + void + Connection_Handler::remove_cookie (const char* connection_name) + { + CIAO_TRACE ("Connection_Handler::remove_cookie"); + + COOKIES::iterator it = this->cookies_.find (connection_name); + if (it == this->cookies_.end ()) + { + CIAO_ERROR (1, (LM_ERROR, CLINFO + "Connection_Handler::remove_cookie - " + "Unable to delete cookie for connection <%C>\n", + connection_name)); + return; + } + CIAO_DEBUG (5, (LM_DEBUG, CLINFO + "Connection_Handler::remove_cookie - " + "About to remove cookie for [%C].\n", + connection_name)); + it->second.second = ::Components::CCMObject::_nil (); + this->cookies_.erase (it); + } + + ::Components::Cookie * + Connection_Handler::get_cookie (const char * connection_name) + { + CIAO_TRACE ("Connection_Handler::get_cookie"); + + COOKIES::iterator it = this->cookies_.find (connection_name); + if (it == this->cookies_.end ()) + { + CIAO_ERROR (1, (LM_ERROR, CLINFO + "Connection_Handler::get_cookie - " + "Cookie for <%C> not found\n", + connection_name)); + throw ::Deployment::InvalidConnection (connection_name, + "Unable to find correct cookie"); + } + else + { + CIAO_DEBUG (5, (LM_DEBUG, CLINFO + "Connection_Handler::get_cookie - " + "Found cookie for [%C]\n", + connection_name)); + } + return it->second.first.in (); + } + + ::Components::CCMObject_ptr + Connection_Handler::get_ccm_object (const char * connection_name) + { + COOKIES::iterator it = this->cookies_.find (connection_name); + if (it == this->cookies_.end ()) + { + CIAO_ERROR (1, (LM_ERROR, CLINFO + "Connection_Handler::get_ccm_object - " + "Cookie for <%C> not found\n", + connection_name)); + throw ::Deployment::InvalidConnection (connection_name, + "Unable to find correct cookie"); + } + ::Components::CCMObject_var ret = it->second.second; + if (::CORBA::is_nil (ret.in ())) + { + CIAO_ERROR (1, (LM_ERROR, CLINFO + "Connection_Handler::get_ccm_object - " + "Error: Stored CCM object seems to be nil.\n", + connection_name)); + throw ::Deployment::InvalidConnection (connection_name, + "Stored CCM object seems nil"); + } + return ::Components::CCMObject::_duplicate (ret.in ()); + } } diff --git a/CIAO/ciao/Deployment/Handlers/Connection_Handler.h b/CIAO/ciao/Deployment/Handlers/Connection_Handler.h index c310fca0805..7ba406bc2e4 100644 --- a/CIAO/ciao/Deployment/Handlers/Connection_Handler.h +++ b/CIAO/ciao/Deployment/Handlers/Connection_Handler.h @@ -42,6 +42,7 @@ namespace CIAO ::CORBA::ULong connectionRef, ::CORBA::ULong endpoint, const ::CORBA::Any & provided_reference); + #if !defined (CCM_NOEVENT) void connect_publisher (const ::Deployment::DeploymentPlan & plan, ::CORBA::ULong connectionRef, @@ -93,20 +94,43 @@ namespace CIAO void connect_local_port (const char *facet_id, const char *facet_port, const char *receptacle_id, - const char *receptacle_port); + const char *receptacle_port, + const char *connection_name); void disconnect_local_port (const char *facet_id, const char *facet_port, const char *receptacle_id, - const char *receptacle_port); + const char *receptacle_port, + const char *connection_name); + + void connect_non_local_receptacle (const ::Deployment::DeploymentPlan & plan, + ::CORBA::ULong connectionRef, + ::CORBA::ULong endpoint, + const ::CORBA::Any & provided_reference); + + void connect_non_local_facet (const ::Deployment::DeploymentPlan & plan, + ::CORBA::ULong connectionRef, + ::CORBA::ULong endpointRef, + const ::CORBA::Any & provided_reference); + + void disconnect_non_local (const ::Deployment::PlanConnectionDescription &conn); - bool is_local_facet (const ::Deployment::PlanConnectionDescription &conn); + bool is_local_connection (const ::Deployment::PlanConnectionDescription &conn); typedef std::pair < ::Components::Cookie_var, ::Components::CCMObject_var> CONNECTION_INFO; typedef std::map <std::string, CONNECTION_INFO> COOKIES; + void insert_cookie (const char * connection_name, + const CONNECTION_INFO conn_info); + + ::Components::Cookie * get_cookie (const char * connection_name); + + void remove_cookie (const char * connection_name); + + ::Components::CCMObject_ptr get_ccm_object (const char * connection_name); + COOKIES cookies_; }; } diff --git a/CIAO/connectors/ami4ccm/ami4ccm/ami4ccm.idl b/CIAO/connectors/ami4ccm/ami4ccm/ami4ccm.idl index cfd7d2518f1..7e2601bb79b 100644 --- a/CIAO/connectors/ami4ccm/ami4ccm/ami4ccm.idl +++ b/CIAO/connectors/ami4ccm/ami4ccm/ami4ccm.idl @@ -28,7 +28,7 @@ module CCM_AMI }; /** - * Templated Connector module for AMI4CC. Expects + * Templated Connector module for AMI4CCM. Expects * two template arguments, the original interface and * its AMI4CCM counterpart */ diff --git a/CIAO/connectors/ami4ccm/tests/AsynchT/Receiver/AsynchT_Receiver_exec.cpp b/CIAO/connectors/ami4ccm/tests/AsynchT/Receiver/AsynchT_Receiver_exec.cpp index 7f3b0da1a20..d2a25f8b095 100644 --- a/CIAO/connectors/ami4ccm/tests/AsynchT/Receiver/AsynchT_Receiver_exec.cpp +++ b/CIAO/connectors/ami4ccm/tests/AsynchT/Receiver/AsynchT_Receiver_exec.cpp @@ -54,7 +54,7 @@ namespace CIAO_AsynchT_Receiver_Impl { if (cmd == 1) { - ACE_OS::sleep(2); + ACE_OS::sleep(2); } answer = CORBA::string_dup ("Hi from receiver."); return cmd; @@ -72,7 +72,7 @@ namespace CIAO_AsynchT_Receiver_Impl do_my_foo_exec_i::rw_attrib (void) { ACE_OS::sleep (ACE_OS::rand () % 2); - return 3; + return 3; } void @@ -85,8 +85,8 @@ namespace CIAO_AsynchT_Receiver_Impl do_my_foo_exec_i::ro_attrib (void) { ACE_OS::sleep (2); - return 4; - } + return 4; + } /** * Component Executor Implementation Class: Receiver_exec_i diff --git a/CIAO/connectors/ami4ccm/tests/AsynchT/Receiver/AsynchT_Receiver_exec.h b/CIAO/connectors/ami4ccm/tests/AsynchT/Receiver/AsynchT_Receiver_exec.h index 6f05c1652ff..64cc390711d 100644 --- a/CIAO/connectors/ami4ccm/tests/AsynchT/Receiver/AsynchT_Receiver_exec.h +++ b/CIAO/connectors/ami4ccm/tests/AsynchT/Receiver/AsynchT_Receiver_exec.h @@ -55,7 +55,7 @@ namespace CIAO_AsynchT_Receiver_Impl virtual ~do_my_foo_exec_i (void); //@{ - /** Operations and attributes from ::AsynchT::MyFoo. */ + /** Operations and attributes from AsynchT::MyFoo. */ virtual ::CORBA::Long foo (const char * in_str, diff --git a/CIAO/connectors/ami4ccm/tests/DelReplyH/Receiver/DelReplyH_Receiver_exec.h b/CIAO/connectors/ami4ccm/tests/DelReplyH/Receiver/DelReplyH_Receiver_exec.h index 0677808973c..955743141a8 100644 --- a/CIAO/connectors/ami4ccm/tests/DelReplyH/Receiver/DelReplyH_Receiver_exec.h +++ b/CIAO/connectors/ami4ccm/tests/DelReplyH/Receiver/DelReplyH_Receiver_exec.h @@ -54,7 +54,7 @@ namespace CIAO_DelReplyH_Receiver_Impl virtual ~do_my_foo_exec_i (void); //@{ - /** Operations and attributes from ::DelReplyH::MyFoo. */ + /** Operations and attributes from DelReplyH::MyFoo. */ virtual ::CORBA::Long foo (const char * in_str, diff --git a/CIAO/connectors/ami4ccm/tests/Exceptions/Receiver/ExceptionT_Receiver_exec.h b/CIAO/connectors/ami4ccm/tests/Exceptions/Receiver/ExceptionT_Receiver_exec.h index 30c1612f943..f57f7248a76 100644 --- a/CIAO/connectors/ami4ccm/tests/Exceptions/Receiver/ExceptionT_Receiver_exec.h +++ b/CIAO/connectors/ami4ccm/tests/Exceptions/Receiver/ExceptionT_Receiver_exec.h @@ -52,7 +52,7 @@ namespace CIAO_ExceptionT_Receiver_Impl virtual ~do_my_foo_exec_i (void); //@{ - /** Operations and attributes from ::ExceptionT::MyFoo. */ + /** Operations and attributes from ExceptionT::MyFoo. */ virtual ::CORBA::Long foo (const char * in_str, diff --git a/CIAO/connectors/ami4ccm/tests/GetComp/Receiver/GetComp_Receiver_exec.h b/CIAO/connectors/ami4ccm/tests/GetComp/Receiver/GetComp_Receiver_exec.h index 3c95581c563..a4edb74527a 100644 --- a/CIAO/connectors/ami4ccm/tests/GetComp/Receiver/GetComp_Receiver_exec.h +++ b/CIAO/connectors/ami4ccm/tests/GetComp/Receiver/GetComp_Receiver_exec.h @@ -55,7 +55,7 @@ namespace CIAO_GetComp_Receiver_Impl virtual ~do_my_foo_exec_i (void); //@{ - /** Operations and attributes from ::GetComp::MyFoo. */ + /** Operations and attributes from GetComp::MyFoo. */ virtual ::CORBA::Long foo (const char * in_str, diff --git a/CIAO/connectors/ami4ccm/tests/IDL_Test/Hello.idl b/CIAO/connectors/ami4ccm/tests/IDL_Test/Hello.idl index e3ccc724f10..af9b631a22a 100644 --- a/CIAO/connectors/ami4ccm/tests/IDL_Test/Hello.idl +++ b/CIAO/connectors/ami4ccm/tests/IDL_Test/Hello.idl @@ -33,6 +33,8 @@ module Hello interface MyFoo { + oneway void foo_oneway (in string in_str); + long foo_return (in string in_str, out string answer) raises (InternalError); void foo_no_return (in string in_str, out string answer) diff --git a/CIAO/connectors/ami4ccm/tests/InterInArgs/Receiver/InterInArgsT_Receiver_exec.h b/CIAO/connectors/ami4ccm/tests/InterInArgs/Receiver/InterInArgsT_Receiver_exec.h index 219d8c36b67..568337963af 100644 --- a/CIAO/connectors/ami4ccm/tests/InterInArgs/Receiver/InterInArgsT_Receiver_exec.h +++ b/CIAO/connectors/ami4ccm/tests/InterInArgs/Receiver/InterInArgsT_Receiver_exec.h @@ -55,7 +55,7 @@ namespace CIAO_InterInArgsT_Receiver_Impl virtual ~do_my_foo_exec_i (void); //@{ - /** Operations and attributes from ::InterInArgsT::MyFoo. */ + /** Operations and attributes from InterInArgsT::MyFoo. */ virtual ::CORBA::Long foo (const char * in_str, diff --git a/CIAO/connectors/ami4ccm/tests/InterInOutArgs/Receiver/InterInOutT_Receiver_exec.h b/CIAO/connectors/ami4ccm/tests/InterInOutArgs/Receiver/InterInOutT_Receiver_exec.h index 15fb73421e7..e0f3d604701 100644 --- a/CIAO/connectors/ami4ccm/tests/InterInOutArgs/Receiver/InterInOutT_Receiver_exec.h +++ b/CIAO/connectors/ami4ccm/tests/InterInOutArgs/Receiver/InterInOutT_Receiver_exec.h @@ -55,7 +55,7 @@ namespace CIAO_InterInOutT_Receiver_Impl virtual ~do_my_foo_exec_i (void); //@{ - /** Operations and attributes from ::InterInOutT::MyFoo. */ + /** Operations and attributes from InterInOutT::MyFoo. */ virtual ::CORBA::Long foo (const char * in_str, diff --git a/CIAO/connectors/ami4ccm/tests/InterMulti/Receiver/InterMulti_Receiver_exec.h b/CIAO/connectors/ami4ccm/tests/InterMulti/Receiver/InterMulti_Receiver_exec.h index 786f02ee452..988cade6db5 100644 --- a/CIAO/connectors/ami4ccm/tests/InterMulti/Receiver/InterMulti_Receiver_exec.h +++ b/CIAO/connectors/ami4ccm/tests/InterMulti/Receiver/InterMulti_Receiver_exec.h @@ -54,7 +54,7 @@ namespace CIAO_InterMulti_Receiver_Impl virtual ~do_my_one_exec_i (void); //@{ - /** Operations and attributes from ::InterMulti::One. */ + /** Operations and attributes from InterMulti::One. */ virtual ::CORBA::Long foo (const char * in_str, @@ -80,7 +80,7 @@ namespace CIAO_InterMulti_Receiver_Impl virtual ~do_my_two_exec_i (void); //@{ - /** Operations and attributes from ::InterMulti::Two. */ + /** Operations and attributes from InterMulti::Two. */ virtual void bar (::CORBA::Long cmd, @@ -105,7 +105,7 @@ namespace CIAO_InterMulti_Receiver_Impl virtual ~do_my_three_exec_i (void); //@{ - /** Operations and attributes from ::InterMulti::Three. */ + /** Operations and attributes from InterMulti::Three. */ virtual ::CORBA::Long foo (const char * in_str, diff --git a/CIAO/connectors/ami4ccm/tests/InterMulti/descriptors/run_test.pl b/CIAO/connectors/ami4ccm/tests/InterMulti/descriptors/run_test.pl index 2a8c52c0780..2a8c52c0780 100644..100755 --- a/CIAO/connectors/ami4ccm/tests/InterMulti/descriptors/run_test.pl +++ b/CIAO/connectors/ami4ccm/tests/InterMulti/descriptors/run_test.pl diff --git a/CIAO/connectors/ami4ccm/tests/InterOutArgs/Receiver/InterOutArgsT_Receiver_exec.h b/CIAO/connectors/ami4ccm/tests/InterOutArgs/Receiver/InterOutArgsT_Receiver_exec.h index 0d317b6f256..f422b78f89b 100644 --- a/CIAO/connectors/ami4ccm/tests/InterOutArgs/Receiver/InterOutArgsT_Receiver_exec.h +++ b/CIAO/connectors/ami4ccm/tests/InterOutArgs/Receiver/InterOutArgsT_Receiver_exec.h @@ -55,7 +55,7 @@ namespace CIAO_InterOutArgsT_Receiver_Impl virtual ~do_my_foo_exec_i (void); //@{ - /** Operations and attributes from ::InterOutArgsT::MyFoo. */ + /** Operations and attributes from InterOutArgsT::MyFoo. */ virtual void var_outs (const char * in_str, diff --git a/CIAO/connectors/ami4ccm/tests/InterOutArgs/descriptors/run_test.pl b/CIAO/connectors/ami4ccm/tests/InterOutArgs/descriptors/run_test.pl index 2691006fa9a..2691006fa9a 100644..100755 --- a/CIAO/connectors/ami4ccm/tests/InterOutArgs/descriptors/run_test.pl +++ b/CIAO/connectors/ami4ccm/tests/InterOutArgs/descriptors/run_test.pl diff --git a/CIAO/connectors/ami4ccm/tests/InterReturn/Receiver/InterReturnT_Receiver_exec.h b/CIAO/connectors/ami4ccm/tests/InterReturn/Receiver/InterReturnT_Receiver_exec.h index 950772a0c2b..e55a06ac217 100644 --- a/CIAO/connectors/ami4ccm/tests/InterReturn/Receiver/InterReturnT_Receiver_exec.h +++ b/CIAO/connectors/ami4ccm/tests/InterReturn/Receiver/InterReturnT_Receiver_exec.h @@ -55,7 +55,7 @@ namespace CIAO_InterReturnT_Receiver_Impl virtual ~do_my_foo_exec_i (void); //@{ - /** Operations and attributes from ::InterReturnT::MyFoo. */ + /** Operations and attributes from InterReturnT::MyFoo. */ virtual void ret_void (const char * in_str, diff --git a/CIAO/connectors/ami4ccm/tests/InterReturn/descriptors/run_test.pl b/CIAO/connectors/ami4ccm/tests/InterReturn/descriptors/run_test.pl index 2691006fa9a..2691006fa9a 100644..100755 --- a/CIAO/connectors/ami4ccm/tests/InterReturn/descriptors/run_test.pl +++ b/CIAO/connectors/ami4ccm/tests/InterReturn/descriptors/run_test.pl diff --git a/CIAO/connectors/ami4ccm/tests/NoReplyH/Receiver/NoReplyH_Receiver_exec.h b/CIAO/connectors/ami4ccm/tests/NoReplyH/Receiver/NoReplyH_Receiver_exec.h index 67bc3d1ef6b..a375afdaefd 100644 --- a/CIAO/connectors/ami4ccm/tests/NoReplyH/Receiver/NoReplyH_Receiver_exec.h +++ b/CIAO/connectors/ami4ccm/tests/NoReplyH/Receiver/NoReplyH_Receiver_exec.h @@ -56,7 +56,7 @@ namespace CIAO_NoReplyH_Receiver_Impl virtual ~do_my_foo_exec_i (void); //@{ - /** Operations and attributes from ::NoReplyH::MyFoo. */ + /** Operations and attributes from NoReplyH::MyFoo. */ virtual ::CORBA::Long foo (const char * in_str, diff --git a/CIAO/connectors/ami4ccm/tests/OneProcess/Receiver/OneProcess_Receiver_exec.h b/CIAO/connectors/ami4ccm/tests/OneProcess/Receiver/OneProcess_Receiver_exec.h index 68e4aae0e6b..1aceca02b72 100644 --- a/CIAO/connectors/ami4ccm/tests/OneProcess/Receiver/OneProcess_Receiver_exec.h +++ b/CIAO/connectors/ami4ccm/tests/OneProcess/Receiver/OneProcess_Receiver_exec.h @@ -55,7 +55,7 @@ namespace CIAO_OneProcess_Receiver_Impl virtual ~do_my_foo_exec_i (void); //@{ - /** Operations and attributes from ::OneProcess::MyFoo. */ + /** Operations and attributes from OneProcess::MyFoo. */ virtual ::CORBA::Long foo (const char * in_str, diff --git a/CIAO/connectors/ami4ccm/tests/OneReplyH/Receiver/OneReplyH_Receiver_exec.h b/CIAO/connectors/ami4ccm/tests/OneReplyH/Receiver/OneReplyH_Receiver_exec.h index 661c09a8c5c..5fe18e5c9e3 100644 --- a/CIAO/connectors/ami4ccm/tests/OneReplyH/Receiver/OneReplyH_Receiver_exec.h +++ b/CIAO/connectors/ami4ccm/tests/OneReplyH/Receiver/OneReplyH_Receiver_exec.h @@ -55,7 +55,7 @@ namespace CIAO_OneReplyH_Receiver_Impl virtual ~do_my_foo_exec_i (void); //@{ - /** Operations and attributes from ::OneReplyH::MyFoo. */ + /** Operations and attributes from OneReplyH::MyFoo. */ virtual ::CORBA::Long foo (const char * in_str, diff --git a/CIAO/connectors/ami4ccm/tests/SimplexMulti/Receiver/UsesSM_Receiver_exec.h b/CIAO/connectors/ami4ccm/tests/SimplexMulti/Receiver/UsesSM_Receiver_exec.h index f238f76a998..3131bcea35d 100644 --- a/CIAO/connectors/ami4ccm/tests/SimplexMulti/Receiver/UsesSM_Receiver_exec.h +++ b/CIAO/connectors/ami4ccm/tests/SimplexMulti/Receiver/UsesSM_Receiver_exec.h @@ -57,7 +57,7 @@ namespace CIAO_UsesSM_Receiver_Impl virtual ~do_my_one_exec_i (void); //@{ - /** Operations and attributes from ::UsesSM::One. */ + /** Operations and attributes from UsesSM::One. */ virtual ::CORBA::Long foo (const char * in_str, @@ -86,7 +86,7 @@ namespace CIAO_UsesSM_Receiver_Impl virtual ~do_my_two_exec_i (void); //@{ - /** Operations and attributes from ::UsesSM::Two. */ + /** Operations and attributes from UsesSM::Two. */ virtual void bar (::CORBA::Long cmd, diff --git a/CIAO/connectors/ami4ccm/tests/SimplexMulti/Sender/UsesSM_Sender_exec.cpp b/CIAO/connectors/ami4ccm/tests/SimplexMulti/Sender/UsesSM_Sender_exec.cpp index 7751e877220..3c08952099e 100644 --- a/CIAO/connectors/ami4ccm/tests/SimplexMulti/Sender/UsesSM_Sender_exec.cpp +++ b/CIAO/connectors/ami4ccm/tests/SimplexMulti/Sender/UsesSM_Sender_exec.cpp @@ -78,7 +78,7 @@ namespace CIAO_UsesSM_Sender_Impl switch (i) { case 0: - test = CORBA::string_dup ("Asynch. foo call one."); + test = CORBA::string_dup ("Asynch. foo call one"); break; case 1: test = CORBA::string_dup ("Asynch. foo call two"); diff --git a/CIAO/connectors/ami4ccm/tests/SimplexMulti/descriptors/run_test.pl b/CIAO/connectors/ami4ccm/tests/SimplexMulti/descriptors/run_test.pl index 2a8c52c0780..2a8c52c0780 100644..100755 --- a/CIAO/connectors/ami4ccm/tests/SimplexMulti/descriptors/run_test.pl +++ b/CIAO/connectors/ami4ccm/tests/SimplexMulti/descriptors/run_test.pl diff --git a/CIAO/connectors/ami4ccm/tests/ThreeComp/Receiver/ThreeComp_Receiver_exec.h b/CIAO/connectors/ami4ccm/tests/ThreeComp/Receiver/ThreeComp_Receiver_exec.h index 855e2b257f4..0303e5d98d5 100644 --- a/CIAO/connectors/ami4ccm/tests/ThreeComp/Receiver/ThreeComp_Receiver_exec.h +++ b/CIAO/connectors/ami4ccm/tests/ThreeComp/Receiver/ThreeComp_Receiver_exec.h @@ -57,7 +57,7 @@ namespace CIAO_ThreeComp_Receiver_Impl virtual ~do_my_foo_exec_i (void); //@{ - /** Operations and attributes from ::ThreeComp::MyFoo. */ + /** Operations and attributes from ThreeComp::MyFoo. */ virtual ::CORBA::Long foo (::CORBA::Long cmd, diff --git a/CIAO/connectors/ami4ccm/tests/ThreeComp/Sender/ThreeComp_Sender_exec.h b/CIAO/connectors/ami4ccm/tests/ThreeComp/Sender/ThreeComp_Sender_exec.h index dacd4941254..94144be799c 100644 --- a/CIAO/connectors/ami4ccm/tests/ThreeComp/Sender/ThreeComp_Sender_exec.h +++ b/CIAO/connectors/ami4ccm/tests/ThreeComp/Sender/ThreeComp_Sender_exec.h @@ -86,7 +86,7 @@ namespace CIAO_ThreeComp_Sender_Impl virtual ~do_my_state_exec_i (void); //@{ - /** Operations and attributes from ::ThreeComp::State. */ + /** Operations and attributes from ThreeComp::State. */ virtual ::CORBA::Long bar (::CORBA::Long cmd, @@ -111,7 +111,7 @@ namespace CIAO_ThreeComp_Sender_Impl virtual ~do_my_bar_exec_i (void); //@{ - /** Operations and attributes from ::ThreeComp::MyBar. */ + /** Operations and attributes from ThreeComp::MyBar. */ virtual ::CORBA::Long testbar (::CORBA::Long cmd, diff --git a/CIAO/connectors/ami4ccm/tests/UsesMulti/Receiver/UsesMulti_Receiver_exec.h b/CIAO/connectors/ami4ccm/tests/UsesMulti/Receiver/UsesMulti_Receiver_exec.h index 77464be15c8..313205abbad 100644 --- a/CIAO/connectors/ami4ccm/tests/UsesMulti/Receiver/UsesMulti_Receiver_exec.h +++ b/CIAO/connectors/ami4ccm/tests/UsesMulti/Receiver/UsesMulti_Receiver_exec.h @@ -57,7 +57,7 @@ namespace CIAO_UsesMulti_Receiver_Impl virtual ~do_my_one_exec_i (void); //@{ - /** Operations and attributes from ::UsesMulti::One. */ + /** Operations and attributes from UsesMulti::One. */ virtual ::CORBA::Long foo (const char * in_str, diff --git a/CIAO/connectors/ami4ccm/tests/UsesMulti/Sender/UsesMulti_Sender_exec.cpp b/CIAO/connectors/ami4ccm/tests/UsesMulti/Sender/UsesMulti_Sender_exec.cpp index 26a8cf2069a..73f8cfc7f43 100644 --- a/CIAO/connectors/ami4ccm/tests/UsesMulti/Sender/UsesMulti_Sender_exec.cpp +++ b/CIAO/connectors/ami4ccm/tests/UsesMulti/Sender/UsesMulti_Sender_exec.cpp @@ -62,7 +62,7 @@ namespace CIAO_UsesMulti_Sender_Impl switch (i) { case 0: - test = CORBA::string_dup ("Asynch. call one."); + test = CORBA::string_dup ("Asynch. call one"); break; case 1: test = CORBA::string_dup ("Asynch. call two"); diff --git a/CIAO/connectors/ami4ccm/tutorials/Hello/Hello_asm/Receiver_comp/src/Hello_Receiver_comp_exec.h b/CIAO/connectors/ami4ccm/tutorials/Hello/Hello_asm/Receiver_comp/src/Hello_Receiver_comp_exec.h index bfa50933f51..36de1475129 100644 --- a/CIAO/connectors/ami4ccm/tutorials/Hello/Hello_asm/Receiver_comp/src/Hello_Receiver_comp_exec.h +++ b/CIAO/connectors/ami4ccm/tutorials/Hello/Hello_asm/Receiver_comp/src/Hello_Receiver_comp_exec.h @@ -55,7 +55,7 @@ namespace CIAO_Hello_Receiver_comp_Impl ::Hello::CCM_Receiver_comp_Context_ptr ctx); virtual ~do_my_foo_exec_i (void); - // Operations and attributes from ::Hello::MyFoo_obj + // Operations and attributes from Hello::MyFoo_obj virtual ::CORBA::Long foo (const char * in_str, diff --git a/CIAO/connectors/ami4ccm/tutorials/Hello/Tutorial/Code/GeneratedExec/Hello_Receiver_comp_exec.h b/CIAO/connectors/ami4ccm/tutorials/Hello/Tutorial/Code/GeneratedExec/Hello_Receiver_comp_exec.h index 9c757bf157e..c0180aaf574 100644 --- a/CIAO/connectors/ami4ccm/tutorials/Hello/Tutorial/Code/GeneratedExec/Hello_Receiver_comp_exec.h +++ b/CIAO/connectors/ami4ccm/tutorials/Hello/Tutorial/Code/GeneratedExec/Hello_Receiver_comp_exec.h @@ -53,7 +53,7 @@ namespace CIAO_Hello_Receiver_comp_Impl ::Hello::CCM_Receiver_comp_Context_ptr ctx); virtual ~do_my_foo_exec_i (void); - // Operations and attributes from ::Hello::MyFoo_obj + // Operations and attributes from Hello::MyFoo_obj virtual ::CORBA::Long foo (const char * in_str, diff --git a/CIAO/connectors/ami4ccm/tutorials/Hello/Tutorial/Code/ImplementedExec/Hello_Receiver_comp_exec.h b/CIAO/connectors/ami4ccm/tutorials/Hello/Tutorial/Code/ImplementedExec/Hello_Receiver_comp_exec.h index bfa50933f51..36de1475129 100644 --- a/CIAO/connectors/ami4ccm/tutorials/Hello/Tutorial/Code/ImplementedExec/Hello_Receiver_comp_exec.h +++ b/CIAO/connectors/ami4ccm/tutorials/Hello/Tutorial/Code/ImplementedExec/Hello_Receiver_comp_exec.h @@ -55,7 +55,7 @@ namespace CIAO_Hello_Receiver_comp_Impl ::Hello::CCM_Receiver_comp_Context_ptr ctx); virtual ~do_my_foo_exec_i (void); - // Operations and attributes from ::Hello::MyFoo_obj + // Operations and attributes from Hello::MyFoo_obj virtual ::CORBA::Long foo (const char * in_str, diff --git a/CIAO/connectors/dds4ccm/examples/Hello/Receiver/Hello_Receiver_exec.h b/CIAO/connectors/dds4ccm/examples/Hello/Receiver/Hello_Receiver_exec.h index 26b8a1ee437..f1d79e4a66d 100644 --- a/CIAO/connectors/dds4ccm/examples/Hello/Receiver/Hello_Receiver_exec.h +++ b/CIAO/connectors/dds4ccm/examples/Hello/Receiver/Hello_Receiver_exec.h @@ -36,7 +36,7 @@ namespace CIAO_Hello_Receiver_Impl virtual ~info_out_data_listener_exec_i (void); - // Operations and attributes from ::Hello::Listener + // Operations and attributes from Hello::Listener virtual void on_one_data ( @@ -66,7 +66,7 @@ namespace CIAO_Hello_Receiver_Impl Atomic_ULong &lost); virtual ~info_out_status_exec_i (void); - // Operations and attributes from ::CCM_DDS::PortStatusListener + // Operations and attributes from CCM_DDS::PortStatusListener virtual void on_requested_deadline_missed ( @@ -94,7 +94,7 @@ namespace CIAO_Hello_Receiver_Impl ::Hello::CCM_Receiver_Context_ptr ctx); virtual ~info_out_connector_status_exec_i (void); - // Operations and attributes from ::CCM_DDS::ConnectorStatusListener + // Operations and attributes from CCM_DDS::ConnectorStatusListener virtual void on_inconsistent_topic ( diff --git a/CIAO/connectors/dds4ccm/examples/Hello/Sender/Hello_Sender_exec.h b/CIAO/connectors/dds4ccm/examples/Hello/Sender/Hello_Sender_exec.h index 0f2605ca785..7126b1daeb7 100644 --- a/CIAO/connectors/dds4ccm/examples/Hello/Sender/Hello_Sender_exec.h +++ b/CIAO/connectors/dds4ccm/examples/Hello/Sender/Hello_Sender_exec.h @@ -32,7 +32,7 @@ namespace CIAO_Hello_Sender_Impl Atomic_Boolean &ready_to_start); virtual ~connector_status_exec_i (void); - // Operations and attributes from ::CCM_DDS::ConnectorStatusListener + // Operations and attributes from CCM_DDS::ConnectorStatusListener virtual void on_inconsistent_topic ( diff --git a/CIAO/connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Connector/I2C_Shapes_Connector.idl b/CIAO/connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Base/I2C_ShapeType.idl index 799284b51fd..998079340e8 100755 --- a/CIAO/connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Connector/I2C_Shapes_Connector.idl +++ b/CIAO/connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Base/I2C_ShapeType.idl @@ -1,18 +1,18 @@ // $Id$ /** - * @file I2C_Shapes_Connector.idl + * @file I2C_ShapeType.idl * @author */ -#ifndef I2C_SHAPES_CONNECTOR_IDL_ -#define I2C_SHAPES_CONNECTOR_IDL_ +#ifndef I2C_SHAPE_TYPE_IDL_ +#define I2C_SHAPE_TYPE_IDL_ #include "connectors/dds4ccm/idl/dds4ccm_Entity.idl" #include "Base/I2C_Shapes_Base.idl" -#pragma ciao lem "Connector/I2C_Shapes_ConnectorE.idl" +#pragma ciao lem "Base/I2C_ShapeTypeE.idl" module I2C_Typed <typename T, sequence<T> TSeq> { alias DDS_Entity<T, TSeq> DDS_Typed_Entity; @@ -22,6 +22,7 @@ module I2C_Typed <typename T, sequence<T> TSeq> { module ::I2C_Typed < ::ShapeType, ::ShapeTypeSeq> I2C_Shapes; -#endif /* I2C_SHAPES_CONNECTOR_IDL_ */ +#endif /* #ifndef I2C_SHAPE_TYPE_IDL_ + */ diff --git a/CIAO/connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Base/I2C_ShapeType.mpc b/CIAO/connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Base/I2C_ShapeType.mpc new file mode 100755 index 00000000000..abc7169aee8 --- /dev/null +++ b/CIAO/connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Base/I2C_ShapeType.mpc @@ -0,0 +1,79 @@ +// $Id$ + +project(I2C_ShapeType_idl_gen) : connectoridldefaults, ndds, ndds_stub { + after += DDS4CCM_idl_gen + custom_only = 1 + idlflags += -Wb,stub_export_macro=I2C_SHAPES_CONNECTOR_STUB_Export \ + -Wb,stub_export_include=I2C_ShapeType_stub_export.h \ + -I.. + idlflags -= -Gcn -Gxhcn + IDL_Files { + I2C_ShapeType.idl + } +} + +project(I2C_ShapeType_lem_gen) : ciaoidldefaults, ndds_stub { + custom_only = 1 + after += I2C_ShapeType_idl_gen + idlflags += -Wb,stub_export_macro=I2C_SHAPES_CONNECTOR_LEM_STUB_Export \ + -Wb,stub_export_include=I2C_ShapeType_lem_stub_export.h \ + -SS -Gxhst \ + -I .. + + IDL_Files { + I2C_ShapeTypeE.idl + } +} + +project(I2C_ShapeType_lem_stub) : ndds_lem_stub { + after += I2C_ShapeType_lem_gen I2C_ShapeType_stub I2C_Shapes_Base_stub + libs += I2C_Shapes_Base_stub I2C_ShapeType_stub + libpaths += ../lib + libout = ../lib + includes += .. + sharedname = I2C_ShapeType_lem_stub + dynamicflags += I2C_SHAPES_CONNECTOR_LEM_STUB_BUILD_DLL + + IDL_Files { + } + + Source_Files { + I2C_ShapeTypeEC.cpp + } + + Header_Files { + I2C_ShapeTypeEC.h + I2C_ShapeType_lem_stub_export.h + } + + Inline_Files { + I2C_ShapeTypeEC.inl + } +} + +project(I2C_ShapeType_stub) : ndds_ts_default, ndds_stub { + after += I2C_ShapeType_idl_gen I2C_Shapes_Base_stub + libs += I2C_Shapes_Base_stub + libpaths += ../lib + libout = ../lib + includes += .. + sharedname = I2C_ShapeType_stub + dynamicflags += I2C_SHAPES_CONNECTOR_STUB_BUILD_DLL + + IDL_Files { + } + + Source_Files { + I2C_ShapeTypeC.cpp + } + + Header_Files { + I2C_ShapeTypeC.h + I2C_ShapeType_stub_export.h + I2C_Shapes_Traits.h + } + + Inline_Files { + I2C_ShapeTypeC.inl + } +} diff --git a/CIAO/connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Base/I2C_Shapes_Base.mpc b/CIAO/connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Base/I2C_Shapes_Base.mpc index 708ea1bdd0f..b2c2b0e94d6 100755 --- a/CIAO/connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Base/I2C_Shapes_Base.mpc +++ b/CIAO/connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Base/I2C_Shapes_Base.mpc @@ -1,6 +1,6 @@ // $Id$ -project(I2C_Shapes_Base_stub) : taoidldefaults, dds4ccm_ts_default { +project(I2C_Shapes_Base_stub) : taoidldefaults, ndds_ts_default { sharedname = I2C_Shapes_Base_stub dynamicflags += SHAPES_BASE_STUB_BUILD_DLL libout = ../lib diff --git a/CIAO/connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Connector/I2C_Shapes_Traits.h b/CIAO/connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Base/I2C_Shapes_Traits.h index 369f1401842..626c77e6cf2 100755 --- a/CIAO/connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Connector/I2C_Shapes_Traits.h +++ b/CIAO/connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Base/I2C_Shapes_Traits.h @@ -5,7 +5,7 @@ #define I2C_SHAPES_TRAITS_H_ #include "Base/I2C_Shapes_BaseSupport.h" -#include "Connector/I2C_Shapes_ConnectorC.h" +#include "Base/I2C_ShapeTypeC.h" struct ShapeType_DDS_Traits { diff --git a/CIAO/connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Common/I2C_Shapes_Common.cpp b/CIAO/connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Common/I2C_Shapes_Common.cpp index 27f03b8e9cb..3061e3eff4a 100755 --- a/CIAO/connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Common/I2C_Shapes_Common.cpp +++ b/CIAO/connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Common/I2C_Shapes_Common.cpp @@ -9,7 +9,6 @@ #define TOPIC_NAME "Square" - I2C_Shapes_Common::I2C_Shapes_Common (void) : factory_ (0) { @@ -27,10 +26,7 @@ I2C_Shapes_Common::I2C_Shapes_Common (void) I2C_Shapes_Common::~I2C_Shapes_Common (void) { - if (this->factory_) - { - delete this->factory_; - } + delete this->factory_; } int @@ -44,10 +40,9 @@ I2C_Shapes_Common::get_domain_id (void) void I2C_Shapes_Common::initialize (void) { - ::DDS::DomainParticipantQos dp_qos; - this->participant_ = this->participant_factory_.create_participant ( + this->participant_ = this->participant_factory_.create_participant_with_profile ( this->get_domain_id (), - dp_qos, + QOS_PROFILE, ::DDS::DomainParticipantListener::_nil (), 0); @@ -80,10 +75,9 @@ I2C_Shapes_Common::initialize (void) "I2C_Shapes_Common::initialize - Unable to register type\n")); throw ::CORBA::INTERNAL (); } - ::DDS::TopicQos tqos; - this->topic_ = this->participant_->create_topic (TOPIC_NAME, + this->topic_ = this->participant_->create_topic_with_profile (TOPIC_NAME, typesupport_name, - tqos, + QOS_PROFILE, ::DDS::TopicListener::_nil (), 0); if (::CORBA::is_nil (this->topic_.in ())) @@ -107,9 +101,8 @@ I2C_Shapes_Common::create_publisher (void) { initialize(); } - ::DDS::Publisher_var publisher; - ::DDS::PublisherQos pqos; - publisher = participant_->create_publisher (pqos, + ::DDS::Publisher_var publisher = participant_->create_publisher_with_profile ( + QOS_PROFILE, ::DDS::PublisherListener::_nil (), 0); return publisher._retn (); @@ -122,9 +115,8 @@ I2C_Shapes_Common::create_subscriber (void) { initialize(); } - ::DDS::Subscriber_var subscriber; - ::DDS::SubscriberQos sqos; - subscriber = participant_->create_subscriber (sqos, + ::DDS::Subscriber_var subscriber = participant_->create_subscriber_with_profile ( + QOS_PROFILE, ::DDS::SubscriberListener::_nil (), 0); return subscriber._retn (); diff --git a/CIAO/connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Common/I2C_Shapes_Common.h b/CIAO/connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Common/I2C_Shapes_Common.h index 29efe23f274..665e89e6556 100755 --- a/CIAO/connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Common/I2C_Shapes_Common.h +++ b/CIAO/connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Common/I2C_Shapes_Common.h @@ -4,15 +4,17 @@ #define I2C_SHAPES_COMMON_H_ #include "I2C_Shapes_Common_export.h" -#include "Connector/I2C_Shapes_Traits.h" #include "connectors/dds4ccm/impl/ndds/DomainParticipant.h" #include "connectors/dds4ccm/impl/ndds/DomainParticipantFactory.h" #include "connectors/dds4ccm/impl/ndds/TypeSupport.h" +#include "Base/I2C_Shapes_Traits.h" /** * Pulse generator */ +#define QOS_PROFILE "Shapes_Library#Shapes_Profile" + class I2C_SHAPES_Export I2C_Shapes_Common { public: diff --git a/CIAO/connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Common/I2C_Shapes_Common.mpc b/CIAO/connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Common/I2C_Shapes_Common.mpc index d326296f72e..2852e1beafc 100755 --- a/CIAO/connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Common/I2C_Shapes_Common.mpc +++ b/CIAO/connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Common/I2C_Shapes_Common.mpc @@ -1,11 +1,11 @@ // $Id$ -project(I2C_Shapes_Common) : ndds_impl, dds4ccm_stub, dds4ccm_logger, dds4ccm_ts_default { +project(I2C_Shapes_Common) : ndds_impl, ndds_stub, dds4ccm_logger, ndds_ts_default { sharedname = I2C_Shapes_Common dynamicflags += I2C_SHAPES_COMMON_BUILD_DLL - after += I2C_Shapes_Base_stub I2C_Shapes_Connector_stub - libs += I2C_Shapes_Base_stub I2C_Shapes_Connector_stub + after += I2C_Shapes_Base_stub I2C_ShapeType_stub + libs += I2C_Shapes_Base_stub I2C_ShapeType_stub libout = ../lib libpaths += ../lib diff --git a/CIAO/connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Connector/I2C_Shapes_Connector.mpc b/CIAO/connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Connector/I2C_Shapes_Connector.mpc deleted file mode 100755 index cc80d6a0e61..00000000000 --- a/CIAO/connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Connector/I2C_Shapes_Connector.mpc +++ /dev/null @@ -1,80 +0,0 @@ -// $Id$ - -// project(I2C_Shapes_Connector_idl_gen) : connectoridldefaults, dds4ccm { -project(I2C_Shapes_Connector_idl_gen) : connectoridldefaults, dds4ccm { - after += DDS4CCM_idl_gen - custom_only = 1 - idlflags += -Wb,stub_export_macro=I2C_SHAPES_CONNECTOR_STUB_Export \ - -Wb,stub_export_include=I2C_Shapes_Connector_stub_export.h \ - -I.. - idlflags -= -Gcn -Gxhcn - IDL_Files { - I2C_Shapes_Connector.idl - } -} - -project(I2C_Shapes_Connector_lem_gen) : ciaoidldefaults, dds4ccm { - custom_only = 1 - after += I2C_Shapes_Connector_idl_gen - idlflags += -Wb,stub_export_macro=I2C_SHAPES_CONNECTOR_LEM_STUB_Export \ - -Wb,stub_export_include=I2C_Shapes_Connector_lem_stub_export.h \ - -SS -Gxhst \ - -I .. - - IDL_Files { - I2C_Shapes_ConnectorE.idl - } -} - -project(I2C_Shapes_Connector_lem_stub) : ccm_svnt, dds4ccm_lem_stub { - after += I2C_Shapes_Connector_lem_gen I2C_Shapes_Connector_stub I2C_Shapes_Base_stub - libs += I2C_Shapes_Base_stub I2C_Shapes_Connector_stub - libpaths += ../lib - libout = ../lib - includes += .. - sharedname = I2C_Shapes_Connector_lem_stub - dynamicflags += I2C_SHAPES_CONNECTOR_LEM_STUB_BUILD_DLL - - IDL_Files { - } - - Source_Files { - I2C_Shapes_ConnectorEC.cpp - } - - Header_Files { - I2C_Shapes_ConnectorEC.h - I2C_Shapes_Connector_lem_stub_export.h - } - - Inline_Files { - I2C_Shapes_ConnectorEC.inl - } -} - -project(I2C_Shapes_Connector_stub) : ccm_stub, dds4ccm_base { - after += I2C_Shapes_Connector_idl_gen I2C_Shapes_Base_stub - libs += I2C_Shapes_Base_stub - libpaths += ../lib - libout = ../lib - includes += .. - sharedname = I2C_Shapes_Connector_stub - dynamicflags += I2C_SHAPES_CONNECTOR_STUB_BUILD_DLL - - IDL_Files { - } - - Source_Files { - I2C_Shapes_ConnectorC.cpp - } - - Header_Files { - I2C_Shapes_ConnectorC.h - I2C_Shapes_Connector_stub_export.h - I2C_Shapes_Traits.h - } - - Inline_Files { - I2C_Shapes_ConnectorC.inl - } -} diff --git a/CIAO/connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Receiver/I2C_Shapes_Receiver.cpp b/CIAO/connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Receiver/I2C_Shapes_Receiver.cpp index fb39c89d298..5eb637a19fd 100755 --- a/CIAO/connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Receiver/I2C_Shapes_Receiver.cpp +++ b/CIAO/connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Receiver/I2C_Shapes_Receiver.cpp @@ -5,15 +5,10 @@ #include "ace/OS_NS_unistd.h" -typedef ::CIAO::NDDS::DataReader_T<ShapeType_DDS_Traits::datareader_type, - ShapeType_DDS_Traits::typed_reader_type, - ShapeType_DDS_Traits::value_type, - ShapeTypeSeq, - ShapeType_DDS_Traits::dds_seq_type> - ShapesDataReader; +typedef ::I2C_Shapes::DataReader TypedDataReader; void -read (ShapesDataReader* shapes_dr) +read (TypedDataReader::_ptr_type shapes_dr) { int samples_received = 0; if (shapes_dr) @@ -23,7 +18,7 @@ read (ShapesDataReader* shapes_dr) //start to read ShapeTypeSeq data; ::DDS::SampleInfoSeq info; - ::DDS::ReturnCode_t retcode = shapes_dr->read ( + ::DDS::ReturnCode_t retcode = shapes_dr->take ( data, info, ::DDS::LENGTH_UNLIMITED, @@ -74,15 +69,14 @@ int ACE_TMAIN (int , ACE_TCHAR *[]) } ::DDS::Topic_var topic = common.get_topic (); - ::DDS::DataReader_var dr; - ::DDS::DataReaderQos dqos; - dr = subscriber->create_datareader (topic.in (), - dqos, + ::DDS::DataReader_var dr = subscriber->create_datareader_with_profile ( + topic.in (), + QOS_PROFILE, ::DDS::DataReaderListener::_nil (), 0); - ShapesDataReader * shapes_dr = dynamic_cast <ShapesDataReader *>(dr.in ()); - read (shapes_dr); + TypedDataReader::_var_type shapes_dr = TypedDataReader::_narrow (dr.in ()); + read (shapes_dr.in ()); } catch (::CORBA::Exception &e) { diff --git a/CIAO/connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Receiver/I2C_Shapes_Receiver.mpc b/CIAO/connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Receiver/I2C_Shapes_Receiver.mpc index 8e4b2a14897..e34f940b46a 100755 --- a/CIAO/connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Receiver/I2C_Shapes_Receiver.mpc +++ b/CIAO/connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Receiver/I2C_Shapes_Receiver.mpc @@ -1,12 +1,12 @@ // $Id$ -project(*i2c_shapes_receiver) : ndds_impl, dds4ccm_stub, dds4ccm_ts_default { +project(*i2c_shapes_rec) : ndds_impl, ndds_stub, ndds_ts_default { exename = I2C_Shapes_Receiver - after += I2C_Shapes_Base_Stub I2C_Shapes_Connector_stub I2C_Shapes_Common + after += I2C_Shapes_Base_Stub I2C_ShapeType_stub I2C_Shapes_Common includes += .. $(CIAO_ROOT) $(CIAO_ROOT)/connectors - libs += I2C_Shapes_Base_stub I2C_Shapes_Connector_stub I2C_Shapes_Common + libs += I2C_Shapes_Base_stub I2C_ShapeType_stub I2C_Shapes_Common libpaths += ../lib exeout += ../lib diff --git a/CIAO/connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Sender/I2C_Shapes_Sender.cpp b/CIAO/connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Sender/I2C_Shapes_Sender.cpp index ececa972aa3..d849a80f1bb 100755 --- a/CIAO/connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Sender/I2C_Shapes_Sender.cpp +++ b/CIAO/connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Sender/I2C_Shapes_Sender.cpp @@ -7,13 +7,10 @@ #define MAX_X_Y 250 -typedef ::CIAO::NDDS::DataWriter_T<ShapeType_DDS_Traits::datawriter_type, - ShapeType_DDS_Traits::typed_writer_type, - ShapeType_DDS_Traits::value_type> - ShapesDataWriter; +typedef ::I2C_Shapes::DataWriter TypedDataWriter; void -write (ShapesDataWriter * shapes_dw) +write (TypedDataWriter::_ptr_type shapes_dw) { if (shapes_dw) { @@ -70,8 +67,7 @@ int ACE_TMAIN (int , ACE_TCHAR *[]) I2C_Shapes_Common common; try { - ::DDS::Publisher_var publisher; - publisher = common.create_publisher (); + ::DDS::Publisher_var publisher = common.create_publisher (); if (::CORBA::is_nil (publisher.in ())) { ACE_ERROR ((LM_ERROR, "ACE_TMAIN - Publisher seems to be nil\n")); @@ -79,14 +75,13 @@ int ACE_TMAIN (int , ACE_TCHAR *[]) } ::DDS::Topic_var topic = common.get_topic (); - ::DDS::DataWriter_var dw; - ::DDS::DataWriterQos wqos; - dw = publisher->create_datawriter (topic.in (), - wqos, + ::DDS::DataWriter_var dw = publisher->create_datawriter_with_profile ( + topic.in (), + QOS_PROFILE, ::DDS::DataWriterListener::_nil (), 0); - ShapesDataWriter * shapes_dw = dynamic_cast <ShapesDataWriter *>(dw.in ()); + TypedDataWriter::_var_type shapes_dw = TypedDataWriter::_narrow (dw.in ()); write (shapes_dw); } catch (::CORBA::Exception &e) diff --git a/CIAO/connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Sender/I2C_Shapes_Sender.mpc b/CIAO/connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Sender/I2C_Shapes_Sender.mpc index 74935878905..6df7f441f7d 100755 --- a/CIAO/connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Sender/I2C_Shapes_Sender.mpc +++ b/CIAO/connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/Sender/I2C_Shapes_Sender.mpc @@ -1,13 +1,13 @@ // $Id$ -project(*i2c_shapes_sender) : ndds_impl, dds4ccm_stub, dds4ccm_ts_default { +project(*i2c_shapes_sender) : ndds_impl, ndds_stub, ndds_ts_default { exename = I2C_Shapes_Sender - after += I2C_Shapes_Base_Stub I2C_Shapes_Connector_stub I2C_Shapes_Common + after += I2C_Shapes_Base_Stub I2C_ShapeType_stub I2C_Shapes_Common includes += .. $(CIAO_ROOT) $(CIAO_ROOT)/connectors exeout += ../lib - libs += I2C_Shapes_Base_stub I2C_Shapes_Connector_stub I2C_Shapes_Common + libs += I2C_Shapes_Base_stub I2C_ShapeType_stub I2C_Shapes_Common libpaths += ../lib Source_Files { diff --git a/CIAO/connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/descriptors/USER_QOS_PROFILES.xml b/CIAO/connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/descriptors/USER_QOS_PROFILES.xml new file mode 100644 index 00000000000..88a80a396e4 --- /dev/null +++ b/CIAO/connectors/dds4ccm/examples/IDL2CPPWrapper/Shapes/descriptors/USER_QOS_PROFILES.xml @@ -0,0 +1,64 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + +Description +XML QoS Profile + +The QoS configuration of the DDS entities in the generated example is +loaded from this file. + +This file is used only when it is in the current working directory +or when the enviroment variable +NDDS_QOS_PROFILES is defined and points to this file. + +For more information about XML QoS Profiles see Chapter 15 in the +RTI Data Distribution Service user manual. +--> +<dds xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="c:/ndds/ndds.4.4d/scripts/../resource/rtiddsgen/../qos_profiles_4.4d/schema/rti_dds_qos_profiles.xsd" version="4.4d"> + <!-- QoS Library containing the QoS profile used in the generated example. + + A QoS library is a named set of QoS profiles. + --> + <qos_library name="Shapes_Library"> + <!-- QoS profile used to configure reliable communication between the DataWriter + and DataReader created in the example code. + + A QoS profile groups a set of related QoS. + --> + <qos_profile name="Shapes_Profile" is_default_qos="true"> + <!-- QoS used to configure the data writer created in the example code --> + <datawriter_qos> + <reliability> + <kind>RELIABLE_RELIABILITY_QOS</kind> + <max_blocking_time> + <sec>10</sec> + <nanosec>0</nanosec> + </max_blocking_time> + </reliability> + <durability> + <kind>TRANSIENT_DURABILITY_QOS</kind> + </durability> + <history> + <kind>KEEP_ALL_HISTORY_QOS</kind> + </history> + <protocol> + <rtps_reliable_writer> + <max_heartbeat_retries>10</max_heartbeat_retries> + </rtps_reliable_writer> + </protocol> + </datawriter_qos> + <!-- QoS used to configure the data reader created in the example code --> + <datareader_qos> + <reliability> + <kind>RELIABLE_RELIABILITY_QOS</kind> + </reliability> + <history> + <kind>KEEP_ALL_HISTORY_QOS</kind> + </history> + <durability> + <kind>TRANSIENT_LOCAL_DURABILITY_QOS</kind> + </durability> + </datareader_qos> + </qos_profile> + </qos_library> +</dds> diff --git a/CIAO/connectors/dds4ccm/examples/Large_Deployment/DDS_Sub/DDS_Sub_exec.h b/CIAO/connectors/dds4ccm/examples/Large_Deployment/DDS_Sub/DDS_Sub_exec.h index 4f461606c02..5309e211c51 100644 --- a/CIAO/connectors/dds4ccm/examples/Large_Deployment/DDS_Sub/DDS_Sub_exec.h +++ b/CIAO/connectors/dds4ccm/examples/Large_Deployment/DDS_Sub/DDS_Sub_exec.h @@ -55,7 +55,7 @@ namespace CIAO_DDS_Sub_Impl Listener_exec_i (void); virtual ~Listener_exec_i (void); - // Operations and attributes from ::LargeTypeConn::Listener + // Operations and attributes from LargeTypeConn::Listener // TAO_IDL - Generated from // be/be_visitor_operation/operation_ch.cpp:37 @@ -85,7 +85,7 @@ namespace CIAO_DDS_Sub_Impl PortStatusListener_exec_i (void); virtual ~PortStatusListener_exec_i (void); - // Operations and attributes from ::CCM_DDS::PortStatusListener + // Operations and attributes from CCM_DDS::PortStatusListener // TAO_IDL - Generated from // be/be_visitor_operation/operation_ch.cpp:37 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 index 830fd52f77e..cbe4bd81665 100644 --- 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 @@ -55,7 +55,7 @@ namespace CIAO_Single_Service_Impl Simple_Service_exec_i (void); virtual ~Simple_Service_exec_i (void); - // Operations and attributes from ::Simple_Service + // Operations and attributes from Simple_Service // TAO_IDL - Generated from // be/be_visitor_operation/operation_ch.cpp:37 diff --git a/CIAO/connectors/dds4ccm/examples/Quoter/Broker/Broker_exec.h b/CIAO/connectors/dds4ccm/examples/Quoter/Broker/Broker_exec.h index 837f2c1aa3f..cbea0493206 100644 --- a/CIAO/connectors/dds4ccm/examples/Quoter/Broker/Broker_exec.h +++ b/CIAO/connectors/dds4ccm/examples/Quoter/Broker/Broker_exec.h @@ -55,7 +55,7 @@ namespace CIAO_Quoter_Broker_Impl virtual ~info_out_data_listener_exec_i (void); //@{ - /** Operations and attributes from ::Quoter::Listener. */ + /** Operations and attributes from Quoter::Listener. */ virtual void on_one_data (const ::Quoter::Stock_Info & datum, @@ -84,7 +84,7 @@ namespace CIAO_Quoter_Broker_Impl virtual ~info_out_status_exec_i (void); //@{ - /** Operations and attributes from ::CCM_DDS::PortStatusListener. */ + /** Operations and attributes from CCM_DDS::PortStatusListener. */ virtual void on_requested_deadline_missed (::DDS::DataReader_ptr the_reader, diff --git a/CIAO/connectors/dds4ccm/examples/Quoter/Distributor/Distributor_exec.h b/CIAO/connectors/dds4ccm/examples/Quoter/Distributor/Distributor_exec.h index 1c26ec9adbb..0c4cfdb2d40 100644 --- a/CIAO/connectors/dds4ccm/examples/Quoter/Distributor/Distributor_exec.h +++ b/CIAO/connectors/dds4ccm/examples/Quoter/Distributor/Distributor_exec.h @@ -78,7 +78,7 @@ namespace CIAO_Quoter_Distributor_Impl virtual ~info_out_connector_status_exec_i (void); //@{ - /** Operations and attributes from ::CCM_DDS::ConnectorStatusListener. */ + /** Operations and attributes from CCM_DDS::ConnectorStatusListener. */ virtual void on_inconsistent_topic (::DDS::Topic_ptr the_topic, diff --git a/CIAO/connectors/dds4ccm/examples/Shapes/Receiver/Shapes_Receiver.mpc b/CIAO/connectors/dds4ccm/examples/Shapes/Receiver/Shapes_Receiver.mpc index 426e7b34e5f..4f0560a4fdd 100644 --- a/CIAO/connectors/dds4ccm/examples/Shapes/Receiver/Shapes_Receiver.mpc +++ b/CIAO/connectors/dds4ccm/examples/Shapes/Receiver/Shapes_Receiver.mpc @@ -11,7 +11,8 @@ project(DDS_Shapes_Receiver_idl_gen) : componentidldefaults, dds4ccm { -Wb,svnt_export_macro=RECEIVER_SVNT_Export \ -Wb,svnt_export_include=Receiver_svnt_export.h \ -Wb,exec_export_macro=RECEIVER_EXEC_Export \ - -Wb,exec_export_include=Receiver_exec_export.h -I.. + -Wb,exec_export_include=Receiver_exec_export.h \ + -I.. IDL_Files { Shapes_Receiver.idl @@ -83,9 +84,9 @@ project(DDS_Shapes_Receiver_stub) : ccm_stub, dds4ccm_base { } project(DDS_Shapes_Receiver_exec) : ciao_executor, dds4ccm_lem_stub { - after += DDS_Shapes_Receiver_lem_stub DDS_Shapes_Receiver_stub DDS_Shapes_Base_stub DDS_Shapes_Connector_stub DDS_Shapes_Connector_lem_stub + after += DDS_Shapes_Receiver_lem_stub DDS_Shapes_Receiver_stub DDS_Shapes_Base_stub DDS_Shapes_Connector_stub DDS_Shapes_Connector_lem_stub sharedname = Receiver_exec - libs += Receiver_stub Receiver_lem_stub DDS_Shapes_Base_stub DDS_Shapes_Connector_stub DDS_Shapes_Connector_lem_stub + libs += Receiver_stub Receiver_lem_stub DDS_Shapes_Base_stub DDS_Shapes_Connector_stub DDS_Shapes_Connector_lem_stub libpaths += ../lib libout = ../lib includes += .. @@ -109,9 +110,9 @@ project(DDS_Shapes_Receiver_exec) : ciao_executor, dds4ccm_lem_stub { project(DDS_Shapes_Receiver_svnt) : ciao_servant, dds4ccm_lem_stub, dds4ccm_skel { - after += DDS_Shapes_Receiver_lem_stub DDS_Shapes_Base_stub DDS_Shapes_Connector_stub DDS_Shapes_Connector_svnt DDS_Shapes_Receiver_exec DDS_Shapes_Connector_lem_stub + after += DDS_Shapes_Receiver_lem_stub DDS_Shapes_Base_stub DDS_Shapes_Connector_stub DDS_Shapes_Connector_svnt DDS_Shapes_Receiver_exec DDS_Shapes_Connector_lem_stub sharedname = Receiver_svnt - libs += Receiver_stub Receiver_lem_stub DDS_Shapes_Base_stub DDS_Shapes_Connector_stub DDS_Shapes_Connector_svnt Receiver_exec DDS_Shapes_Connector_lem_stub + libs += Receiver_stub Receiver_lem_stub DDS_Shapes_Base_stub DDS_Shapes_Connector_stub DDS_Shapes_Connector_svnt Receiver_exec DDS_Shapes_Connector_lem_stub libpaths += ../lib libout = ../lib includes += .. diff --git a/CIAO/connectors/dds4ccm/examples/Shapes/Receiver/Shapes_Receiver_exec.cpp b/CIAO/connectors/dds4ccm/examples/Shapes/Receiver/Shapes_Receiver_exec.cpp index d70f08e717b..a32b1a09c0b 100644 --- a/CIAO/connectors/dds4ccm/examples/Shapes/Receiver/Shapes_Receiver_exec.cpp +++ b/CIAO/connectors/dds4ccm/examples/Shapes/Receiver/Shapes_Receiver_exec.cpp @@ -1,17 +1,43 @@ // -*- C++ -*- // $Id$ +/** + * Code generated by the The ACE ORB (TAO) IDL Compiler v2.0.0 + * 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 + **/ + #include "Shapes_Receiver_exec.h" -#include "ace/Log_Msg.h" #include "tao/ORB_Core.h" -#include "ace/OS_NS_time.h" #include "ace/Reactor.h" +#include "ace/OS_NS_time.h" + namespace CIAO_Shapes_Receiver_Impl { - //============================================================ - // read_action_Generator - //============================================================ + + /** + * Read action generator + */ + read_action_Generator::read_action_Generator (Receiver_exec_i &callback) : pulse_callback_ (callback) { @@ -32,87 +58,151 @@ namespace CIAO_Shapes_Receiver_Impl if (pulse_callback_.get_data ()) { this->pulse_callback_.get_one (); - this->pulse_callback_.get_all (); } return 0; } - //============================================================ - // ShapeType_Listener_exec_i - //============================================================ - ShapeType_Listener_exec_i::ShapeType_Listener_exec_i (void) + + /** + * Facet Executor Implementation Class: info_out_data_listener_exec_i + */ + + info_out_data_listener_exec_i::info_out_data_listener_exec_i ( + ::Shapes::CCM_Receiver_Context_ptr ctx) + : ciao_context_ ( + ::Shapes::CCM_Receiver_Context::_duplicate (ctx)) { } - ShapeType_Listener_exec_i::~ShapeType_Listener_exec_i (void) + info_out_data_listener_exec_i::~info_out_data_listener_exec_i (void) { } - // Operations from ::CCM_DDS::ShapeType_Listener + // Operations from ::Shapes::Listener + void - ShapeType_Listener_exec_i::on_many_data ( - const ShapeTypeSeq & /* an_instance */, - const ::CCM_DDS::ReadInfoSeq & /* info */) + info_out_data_listener_exec_i::on_one_data (const ::ShapeType & datum, + const ::CCM_DDS::ReadInfo & /* info */) { + ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("ShapeType_Listener: ") + ACE_TEXT ("received shape_info for <%C> at %u:%u:%u\n"), + datum.color.in (), + datum.x, + datum.y, + datum.shapesize)); } void - ShapeType_Listener_exec_i::on_one_data ( - const ShapeType & an_instance , - const ::CCM_DDS::ReadInfo & /* info */) + info_out_data_listener_exec_i::on_many_data (const ::ShapeTypeSeq & /* data */, + const ::CCM_DDS::ReadInfoSeq & /* infos */) { - ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("ShapeType_Listener: ") - ACE_TEXT ("received shape_info for <%C> at %u:%u:%u\n"), - an_instance.color.in (), - an_instance.x, - an_instance.y, - an_instance.shapesize)); + /* Your code here. */ } - //============================================================ - // PortStatusListener_exec_i - //============================================================ - PortStatusListener_exec_i::PortStatusListener_exec_i (void) + /** + * Facet Executor Implementation Class: info_out_status_exec_i + */ + + info_out_status_exec_i::info_out_status_exec_i ( + ::Shapes::CCM_Receiver_Context_ptr ctx) + : ciao_context_ ( + ::Shapes::CCM_Receiver_Context::_duplicate (ctx)) { } - PortStatusListener_exec_i::~PortStatusListener_exec_i (void) + info_out_status_exec_i::~info_out_status_exec_i (void) { } // Operations from ::CCM_DDS::PortStatusListener + void - PortStatusListener_exec_i::on_requested_deadline_missed ( - ::DDS::DataReader_ptr /* the_reader */, - const ::DDS::RequestedDeadlineMissedStatus & /* status */) + info_out_status_exec_i::on_requested_deadline_missed (::DDS::DataReader_ptr /* the_reader */, + const ::DDS::RequestedDeadlineMissedStatus & /* status */) { + /* Your code here. */ } void - PortStatusListener_exec_i::on_sample_lost ( - ::DDS::DataReader_ptr /* the_reader */, - const ::DDS::SampleLostStatus & /* status */) + info_out_status_exec_i::on_sample_lost (::DDS::DataReader_ptr /* the_reader */, + const ::DDS::SampleLostStatus & /* status */) { + /* Your code here. */ } - //============================================================ - // Receiver_exec_i - //============================================================ - Receiver_exec_i::Receiver_exec_i (void) - : rate_ (0), - get_data_ (true), - read_data_ (true), - raw_listen_ (false) + /** + * Facet Executor Implementation Class: info_get_status_exec_i + */ + + info_get_status_exec_i::info_get_status_exec_i ( + ::Shapes::CCM_Receiver_Context_ptr ctx) + : ciao_context_ ( + ::Shapes::CCM_Receiver_Context::_duplicate (ctx)) + { + } + + info_get_status_exec_i::~info_get_status_exec_i (void) + { + } + // Operations from ::CCM_DDS::PortStatusListener + + void + info_get_status_exec_i::on_requested_deadline_missed (::DDS::DataReader_ptr /* the_reader */, + const ::DDS::RequestedDeadlineMissedStatus & /* status */) + { + /* Your code here. */ + } + + void + info_get_status_exec_i::on_sample_lost (::DDS::DataReader_ptr /* the_reader */, + const ::DDS::SampleLostStatus & /* status */) { - this->ticker_ = new read_action_Generator (*this); + /* Your code here. */ + } + + /** + * Component Executor Implementation Class: Receiver_exec_i + */ + + Receiver_exec_i::Receiver_exec_i (void) + : rate_ (0) + , get_data_ (true) + , read_data_ (true) + , raw_listen_ (false) + { + ACE_NEW_THROW_EX (this->ticker_, + read_action_Generator (*this), + ::CORBA::NO_MEMORY ()); } Receiver_exec_i::~Receiver_exec_i (void) { + delete this->ticker_; } // Supported operations and attributes. + ACE_Reactor* + Receiver_exec_i::reactor (void) + { + ACE_Reactor* reactor = 0; + ::CORBA::Object_var ccm_object = + this->ciao_context_->get_CCM_object(); + if (! ::CORBA::is_nil (ccm_object.in ())) + { + ::CORBA::ORB_var orb = ccm_object->_get_orb (); + if (! ::CORBA::is_nil (orb.in ())) + { + reactor = orb->orb_core ()->reactor (); + } + } + if (reactor == 0) + { + throw ::CORBA::INTERNAL (); + } + return reactor; + } + void Receiver_exec_i::read_one (void) { @@ -122,21 +212,31 @@ namespace CIAO_Shapes_Receiver_Impl try { - this->reader_->read_one_last (shape_info, readinfo, ::DDS::HANDLE_NIL); - time_t tim = readinfo.source_timestamp.sec; - tm* time = ACE_OS::localtime(&tim); - ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("READ_ONE Read_Info ") - ACE_TEXT (" -> date = %02d:%02d:%02d.%d\n"), - time->tm_hour, - time->tm_min, - time->tm_sec, - readinfo.source_timestamp.nanosec)); - ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("READ ON shape info : ") - ACE_TEXT ("received shape_info for <%C> at %u:%u:%u\n"), - shape_info.color.in (), - shape_info.x, - shape_info.y, - shape_info.shapesize)); + ::Shapes::Reader_var reader = + this->ciao_context_->get_connection_info_out_data (); + if (! ::CORBA::is_nil (reader.in ())) + { + reader->read_one_last (shape_info, readinfo, ::DDS::HANDLE_NIL); + time_t tim = readinfo.source_timestamp.sec; + tm* time = ACE_OS::localtime(&tim); + ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("READ_ONE Read_Info ") + ACE_TEXT (" -> date = %02d:%02d:%02d.%d\n"), + time->tm_hour, + time->tm_min, + time->tm_sec, + readinfo.source_timestamp.nanosec)); + ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("READ ON shape info : ") + ACE_TEXT ("received shape_info for <%C> at %u:%u:%u\n"), + shape_info.color.in (), + shape_info.x, + shape_info.y, + shape_info.shapesize)); + } + else + { + ACE_ERROR ((LM_ERROR, "Receiver_exec_i::read_one - " + "ERROR: reader seems to be nil.\n")); + } } catch(const CCM_DDS::NonExistent& ) { @@ -150,27 +250,37 @@ namespace CIAO_Shapes_Receiver_Impl { ShapeTypeSeq shape_infos; ::CCM_DDS::ReadInfoSeq readinfoseq; - this->reader_->read_all(shape_infos, readinfoseq); - for(CORBA::ULong i = 0; i < readinfoseq.length(); ++i) + ::Shapes::Reader_var reader = + this->ciao_context_->get_connection_info_out_data (); + if (! ::CORBA::is_nil (reader.in ())) { - time_t tim = readinfoseq[i].source_timestamp.sec; - tm* time = ACE_OS::localtime(&tim); - ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("READ_ALL ReadInfo ") - ACE_TEXT ("-> UTC date = %02d:%02d:%02d.%d\n"), - time->tm_hour, - time->tm_min, - time->tm_sec, - readinfoseq[i].source_timestamp.nanosec)); + reader->read_all(shape_infos, readinfoseq); + for(CORBA::ULong i = 0; i < readinfoseq.length(); ++i) + { + time_t tim = readinfoseq[i].source_timestamp.sec; + tm* time = ACE_OS::localtime(&tim); + ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("READ_ALL ReadInfo ") + ACE_TEXT ("-> UTC date = %02d:%02d:%02d.%d\n"), + time->tm_hour, + time->tm_min, + time->tm_sec, + readinfoseq[i].source_timestamp.nanosec)); + } + for(CORBA::ULong i = 0; i < shape_infos.length(); ++i) + { + ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("READ_ALL Shape Info : ") + ACE_TEXT ("Number <%d> : received shape_info for <%C> at %u:%u:%u\n"), + i, + shape_infos[i].color.in (), + shape_infos[i].x, + shape_infos[i].y, + shape_infos[i].shapesize)); + } } - for(CORBA::ULong i = 0; i < shape_infos.length(); ++i) + else { - ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("READ_ALL Shape Info : ") - ACE_TEXT ("Number <%d> : received shape_info for <%C> at %u:%u:%u\n"), - i, - shape_infos[i].color.in (), - shape_infos[i].x, - shape_infos[i].y, - shape_infos[i].shapesize)); + ACE_ERROR ((LM_ERROR, "Receiver_exec_i::read_all - " + "ERROR: reader seems to be nil.\n")); } } @@ -182,27 +292,37 @@ namespace CIAO_Shapes_Receiver_Impl try { - if (this->getter_->get_one (shape_info.out (), readinfo.out ())) + ::Shapes::Getter_var getter = + this->ciao_context_->get_connection_info_get_fresh_data (); + if (! ::CORBA::is_nil (getter.in ())) { - time_t tim = readinfo->source_timestamp.sec; - tm* time = ACE_OS::localtime(&tim); - ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("GET_ONE ReadInfo -> ") - ACE_TEXT ("date = %02d:%02d:%02d.%d\n"), - time->tm_hour, - time->tm_min, - time->tm_sec, - readinfo->source_timestamp.nanosec)); - ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("GET_ONE ShapeType : ") - ACE_TEXT ("received shape_info for <%C> at %u:%u:%u\n"), - shape_info->color.in (), - shape_info->x, - shape_info->y, - shape_info->shapesize)); + if (getter->get_one (shape_info.out (), readinfo.out ())) + { + time_t tim = readinfo->source_timestamp.sec; + tm* time = ACE_OS::localtime(&tim); + ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("GET_ONE ReadInfo -> ") + ACE_TEXT ("date = %02d:%02d:%02d.%d\n"), + time->tm_hour, + time->tm_min, + time->tm_sec, + readinfo->source_timestamp.nanosec)); + ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("GET_ONE ShapeType : ") + ACE_TEXT ("received shape_info for <%C> at %u:%u:%u\n"), + shape_info->color.in (), + shape_info->x, + shape_info->y, + shape_info->shapesize)); + } + else + { + ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("GET_ONE No data available for <%C>\n"), + shape_info->color.in ())); + } } else { - ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("GET_ONE No data available for <%C>\n"), - shape_info->color.in ())); + ACE_ERROR ((LM_ERROR, "Receiver_exec_i::get_one - " + "ERROR: Getter seems nil\n")); } } catch(const CCM_DDS::NonExistent& ) @@ -211,12 +331,68 @@ namespace CIAO_Shapes_Receiver_Impl } } - void - Receiver_exec_i::get_all (void) + // Component attributes and port operations. + + ::Shapes::CCM_Listener_ptr + Receiver_exec_i::get_info_out_data_listener (void) + { + if ( ::CORBA::is_nil (this->ciao_info_out_data_listener_.in ())) + { + info_out_data_listener_exec_i *tmp = 0; + ACE_NEW_RETURN ( + tmp, + info_out_data_listener_exec_i ( + this->ciao_context_.in ()), + ::Shapes::CCM_Listener::_nil ()); + + this->ciao_info_out_data_listener_ = tmp; + } + + return + ::Shapes::CCM_Listener::_duplicate ( + this->ciao_info_out_data_listener_.in ()); + } + + ::CCM_DDS::CCM_PortStatusListener_ptr + Receiver_exec_i::get_info_out_status (void) + { + if ( ::CORBA::is_nil (this->ciao_info_out_status_.in ())) + { + info_out_status_exec_i *tmp = 0; + ACE_NEW_RETURN ( + tmp, + info_out_status_exec_i ( + this->ciao_context_.in ()), + ::CCM_DDS::CCM_PortStatusListener::_nil ()); + + this->ciao_info_out_status_ = tmp; + } + + return + ::CCM_DDS::CCM_PortStatusListener::_duplicate ( + this->ciao_info_out_status_.in ()); + } + + ::CCM_DDS::CCM_PortStatusListener_ptr + Receiver_exec_i::get_info_get_status (void) { + if ( ::CORBA::is_nil (this->ciao_info_get_status_.in ())) + { + info_get_status_exec_i *tmp = 0; + ACE_NEW_RETURN ( + tmp, + info_get_status_exec_i ( + this->ciao_context_.in ()), + ::CCM_DDS::CCM_PortStatusListener::_nil ()); + + this->ciao_info_get_status_ = tmp; + } + + return + ::CCM_DDS::CCM_PortStatusListener::_duplicate ( + this->ciao_info_get_status_.in ()); } - // Component attributes. ::CORBA::ULong Receiver_exec_i::rate (void) { @@ -224,7 +400,8 @@ namespace CIAO_Shapes_Receiver_Impl } void - Receiver_exec_i::rate (::CORBA::ULong rate) + Receiver_exec_i::rate ( + const ::CORBA::ULong rate) { this->rate_ = rate; } @@ -236,7 +413,8 @@ namespace CIAO_Shapes_Receiver_Impl } void - Receiver_exec_i::get_data (::CORBA::Boolean get_data) + Receiver_exec_i::get_data ( + const ::CORBA::Boolean get_data) { this->get_data_ = get_data; } @@ -248,7 +426,8 @@ namespace CIAO_Shapes_Receiver_Impl } void - Receiver_exec_i::read_data (::CORBA::Boolean read_data) + Receiver_exec_i::read_data ( + const ::CORBA::Boolean read_data) { this->read_data_ = read_data; } @@ -260,41 +439,22 @@ namespace CIAO_Shapes_Receiver_Impl } void - Receiver_exec_i::raw_listen (::CORBA::Boolean raw_listen) + Receiver_exec_i::raw_listen ( + const ::CORBA::Boolean raw_listen) { this->raw_listen_ = raw_listen; } - // Port operations. - ::Shapes::CCM_Listener_ptr - Receiver_exec_i::get_info_out_data_listener (void) - { - ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("new ShapeType RAW listener\n"))); - return new ShapeType_Listener_exec_i (); - } - - ::CCM_DDS::CCM_PortStatusListener_ptr - Receiver_exec_i::get_info_out_status (void) - { - ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("new PortStatuslistener\n"))); - return new PortStatusListener_exec_i (); - } - - ::CCM_DDS::CCM_PortStatusListener_ptr - Receiver_exec_i::get_info_get_status (void) - { - ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("new PortStatuslistener\n"))); - return new PortStatusListener_exec_i (); - } - // Operations from Components::SessionComponent. + void Receiver_exec_i::set_session_context ( ::Components::SessionContext_ptr ctx) { - this->context_ = + this->ciao_context_ = ::Shapes::CCM_Receiver_Context::_narrow (ctx); - if ( ::CORBA::is_nil (this->context_.in ())) + + if ( ::CORBA::is_nil (this->ciao_context_.in ())) { throw ::CORBA::INTERNAL (); } @@ -303,21 +463,14 @@ namespace CIAO_Shapes_Receiver_Impl void Receiver_exec_i::configuration_complete (void) { - if (this->read_data ()) - { - this->reader_ = this->context_->get_connection_info_out_data (); - } - if (this->get_data ()) - { - this->getter_ = this->context_->get_connection_info_get_fresh_data (); - } + /* Your code here. */ } void Receiver_exec_i::ccm_activate (void) { ::CCM_DDS::DataListenerControl_var lc = - this->context_->get_connection_info_out_data_control (); + this->ciao_context_->get_connection_info_out_data_control (); if (::CORBA::is_nil (lc.in ())) { @@ -329,8 +482,7 @@ namespace CIAO_Shapes_Receiver_Impl // calculate the interval time long const usec = 1000000 / this->rate_; - if (this->context_->get_CCM_object()->_get_orb ()->orb_core ()->reactor ()->schedule_timer ( - this->ticker_, + if (this->reactor ()->schedule_timer (this->ticker_, 0, ACE_Time_Value(0, usec), ACE_Time_Value(0, usec)) == -1) @@ -342,13 +494,13 @@ namespace CIAO_Shapes_Receiver_Impl void Receiver_exec_i::ccm_passivate (void) { - this->context_->get_CCM_object()->_get_orb ()->orb_core ()->reactor ()->cancel_timer (this->ticker_); - delete this->ticker_; + this->reactor ()->cancel_timer (this->ticker_); } void Receiver_exec_i::ccm_remove (void) { + /* Your code here. */ } extern "C" RECEIVER_EXEC_Export ::Components::EnterpriseComponent_ptr @@ -364,4 +516,3 @@ namespace CIAO_Shapes_Receiver_Impl return retval; } } - diff --git a/CIAO/connectors/dds4ccm/examples/Shapes/Receiver/Shapes_Receiver_exec.h b/CIAO/connectors/dds4ccm/examples/Shapes/Receiver/Shapes_Receiver_exec.h index 791eb0750aa..4bdaaddbe1d 100644 --- a/CIAO/connectors/dds4ccm/examples/Shapes/Receiver/Shapes_Receiver_exec.h +++ b/CIAO/connectors/dds4ccm/examples/Shapes/Receiver/Shapes_Receiver_exec.h @@ -1,22 +1,47 @@ // -*- C++ -*- // $Id$ -#ifndef CIAO_RECEIVER_EXEC_H_ -#define CIAO_RECEIVER_EXEC_H_ +/** + * Code generated by the The ACE ORB (TAO) IDL Compiler v2.0.0 + * 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 + **/ +#ifndef CIAO_SHAPES_RECEIVER_EXEC_4YQX0E_H_ +#define CIAO_SHAPES_RECEIVER_EXEC_4YQX0E_H_ + +#include /**/ "ace/pre.h" #include "Shapes_ReceiverEC.h" -#include /**/ "Receiver_exec_export.h" - #if !defined (ACE_LACKS_PRAGMA_ONCE) # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ +#include /**/ "Receiver_exec_export.h" #include "tao/LocalObject.h" namespace CIAO_Shapes_Receiver_Impl { class Receiver_exec_i; + /** * @class reader activity generator * @@ -39,47 +64,98 @@ namespace CIAO_Shapes_Receiver_Impl }; - //============================================================ - // ShapeType_Listener_exec_i - //============================================================ - class RECEIVER_EXEC_Export ShapeType_Listener_exec_i + /** + * Provider Executor Implementation Class: info_out_data_listener_exec_i + */ + + class info_out_data_listener_exec_i : public virtual ::Shapes::CCM_Listener, public virtual ::CORBA::LocalObject { public: - ShapeType_Listener_exec_i (void); - virtual ~ShapeType_Listener_exec_i (void); - - virtual void - on_one_data ( - const ShapeType & an_instance, - const ::CCM_DDS::ReadInfo & info); - virtual void - on_many_data ( - const ShapeTypeSeq & an_instance, - const ::CCM_DDS::ReadInfoSeq & info); + info_out_data_listener_exec_i ( + ::Shapes::CCM_Receiver_Context_ptr ctx); + virtual ~info_out_data_listener_exec_i (void); + + //@{ + /** Operations and attributes from Shapes::Listener. */ + + virtual + void on_one_data (const ::ShapeType & datum, + const ::CCM_DDS::ReadInfo & info); + + virtual + void on_many_data (const ::ShapeTypeSeq & data, + const ::CCM_DDS::ReadInfoSeq & infos); + //@} + + private: + ::Shapes::CCM_Receiver_Context_var ciao_context_; }; - class RECEIVER_EXEC_Export PortStatusListener_exec_i + /** + * Provider Executor Implementation Class: info_out_status_exec_i + */ + + class info_out_status_exec_i : public virtual ::CCM_DDS::CCM_PortStatusListener, public virtual ::CORBA::LocalObject { public: - PortStatusListener_exec_i (void); - virtual ~PortStatusListener_exec_i (void); - - virtual void - on_requested_deadline_missed ( - ::DDS::DataReader_ptr the_reader, - const ::DDS::RequestedDeadlineMissedStatus & status); - - virtual void - on_sample_lost ( - ::DDS::DataReader_ptr the_reader, - const ::DDS::SampleLostStatus & status); + info_out_status_exec_i ( + ::Shapes::CCM_Receiver_Context_ptr ctx); + virtual ~info_out_status_exec_i (void); + + //@{ + /** Operations and attributes from CCM_DDS::PortStatusListener. */ + + virtual + void on_requested_deadline_missed (::DDS::DataReader_ptr the_reader, + const ::DDS::RequestedDeadlineMissedStatus & status); + + virtual + void on_sample_lost (::DDS::DataReader_ptr the_reader, + const ::DDS::SampleLostStatus & status); + //@} + + private: + ::Shapes::CCM_Receiver_Context_var ciao_context_; }; - class RECEIVER_EXEC_Export Receiver_exec_i + /** + * Provider Executor Implementation Class: info_get_status_exec_i + */ + + class info_get_status_exec_i + : public virtual ::CCM_DDS::CCM_PortStatusListener, + public virtual ::CORBA::LocalObject + { + public: + info_get_status_exec_i ( + ::Shapes::CCM_Receiver_Context_ptr ctx); + virtual ~info_get_status_exec_i (void); + + //@{ + /** Operations and attributes from CCM_DDS::PortStatusListener. */ + + virtual + void on_requested_deadline_missed (::DDS::DataReader_ptr the_reader, + const ::DDS::RequestedDeadlineMissedStatus & status); + + virtual + void on_sample_lost (::DDS::DataReader_ptr the_reader, + const ::DDS::SampleLostStatus & status); + //@} + + private: + ::Shapes::CCM_Receiver_Context_var ciao_context_; + }; + + /** + * Component Executor Implementation Class: Receiver_exec_i + */ + + class Receiver_exec_i : public virtual Receiver_Exec, public virtual ::CORBA::LocalObject { @@ -87,13 +163,23 @@ namespace CIAO_Shapes_Receiver_Impl Receiver_exec_i (void); virtual ~Receiver_exec_i (void); - // Supported operations and attributes. - void read_one (void); - void read_all (void); - void get_one (void); - void get_all (void); + //@{ + /** Supported operations and attributes. */ + + //@} + + //@{ + /** Component attributes and port operations. */ + + virtual ::Shapes::CCM_Listener_ptr + get_info_out_data_listener (void); + + virtual ::CCM_DDS::CCM_PortStatusListener_ptr + get_info_out_status (void); + + virtual ::CCM_DDS::CCM_PortStatusListener_ptr + get_info_get_status (void); - // Component attributes. virtual ::CORBA::ULong rate (void); virtual void rate (::CORBA::ULong rate); @@ -109,41 +195,62 @@ namespace CIAO_Shapes_Receiver_Impl virtual ::CORBA::Boolean raw_listen (void); virtual void raw_listen (::CORBA::Boolean raw_listen); + //@} - // Port operations. - virtual ::Shapes::CCM_Listener_ptr - get_info_out_data_listener (void); - - virtual ::CCM_DDS::CCM_PortStatusListener_ptr - get_info_out_status (void); - - virtual ::CCM_DDS::CCM_PortStatusListener_ptr - get_info_get_status (void); - - // Operations from Components::SessionComponent. - virtual void - set_session_context ( - ::Components::SessionContext_ptr ctx); - + //@{ + /** 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); + //@} + + //@{ + /** User defined public operations. */ + void read_one (void); + void read_all (void); + void get_one (void); + + //@} private: - ::Shapes::CCM_Receiver_Context_var context_; - ::Shapes::Reader_var reader_; - ::Shapes::Getter_var getter_; + ::Shapes::CCM_Receiver_Context_var ciao_context_; + + //@{ + /** Component attributes. */ + ::Shapes::CCM_Listener_var ciao_info_out_data_listener_; + ::CCM_DDS::CCM_PortStatusListener_var ciao_info_out_status_; + ::CCM_DDS::CCM_PortStatusListener_var ciao_info_get_status_; + + ::CORBA::ULong rate_; + ::CORBA::Boolean get_data_; + + ::CORBA::Boolean read_data_; + + ::CORBA::Boolean raw_listen_; + //@} + + //@{ + /** User defined members. */ read_action_Generator * ticker_; - CORBA::ULong rate_; - ::CORBA::Boolean get_data_, read_data_, raw_listen_; + + //@} + + //@{ + /** User defined private operations. */ + + //@} + + /// Get the ACE_Reactor + ACE_Reactor* reactor (void); }; extern "C" RECEIVER_EXEC_Export ::Components::EnterpriseComponent_ptr - create_Shape_Receiver_Impl (void); + create_Shapes_Receiver_Impl (void); } -#endif /* ifndef */ +#include /**/ "ace/post.h" +#endif /* ifndef */ diff --git a/CIAO/connectors/dds4ccm/examples/Shapes/Sender/Shapes_Sender.mpc b/CIAO/connectors/dds4ccm/examples/Shapes/Sender/Shapes_Sender.mpc index 4623d3ddb8d..d079f2047d1 100644 --- a/CIAO/connectors/dds4ccm/examples/Shapes/Sender/Shapes_Sender.mpc +++ b/CIAO/connectors/dds4ccm/examples/Shapes/Sender/Shapes_Sender.mpc @@ -12,7 +12,7 @@ project(DDS_Shapes_Sender_idl_gen) : componentidldefaults, dds4ccm { -Wb,svnt_export_include=Sender_svnt_export.h \ -Wb,exec_export_macro=SENDER_EXEC_Export \ -Wb,exec_export_include=Sender_exec_export.h \ - -I .. + -I.. IDL_Files { Shapes_Sender.idl diff --git a/CIAO/connectors/dds4ccm/examples/Shapes/Sender/Shapes_Sender_exec.cpp b/CIAO/connectors/dds4ccm/examples/Shapes/Sender/Shapes_Sender_exec.cpp index e217f27ed8f..acb84bcd5e6 100644 --- a/CIAO/connectors/dds4ccm/examples/Shapes/Sender/Shapes_Sender_exec.cpp +++ b/CIAO/connectors/dds4ccm/examples/Shapes/Sender/Shapes_Sender_exec.cpp @@ -1,17 +1,41 @@ // -*- C++ -*- // $Id$ +/** + * Code generated by the The ACE ORB (TAO) IDL Compiler v2.0.0 + * 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 + **/ + #include "Shapes_Sender_exec.h" -#include "ace/Guard_T.h" -#include "ace/Log_Msg.h" #include "tao/ORB_Core.h" #include "ace/Reactor.h" namespace CIAO_Shapes_Sender_Impl { - //============================================================ - // pulse_Generator - //============================================================ + + /** + * Write action generator + */ + pulse_Generator::pulse_Generator (Sender_exec_i &callback) : pulse_callback_ (callback) { @@ -28,85 +52,128 @@ namespace CIAO_Shapes_Sender_Impl return 0; } - //============================================================ - // Sender_exec_i - //============================================================ + + /** + * Component Executor Implementation Class: Sender_exec_i + */ + Sender_exec_i::Sender_exec_i (void) - : rate_ (1), - max_x_ (100), - max_y_ (100), - max_size_ (25), - resize_ (false), - x_increasing_ (false), - y_increasing_ (false), - size_increasing_ (false) + : rate_ (1) + , max_x_ (100) + , max_y_ (100) + , max_size_ (25) + , resize_shape_ (false) + , x_increasing_ (false) + , y_increasing_ (false) + , size_increasing_ (false) { - square_ = new ShapeType; - this->ticker_ = new pulse_Generator (*this); + ACE_NEW_THROW_EX (this->ticker_, + pulse_Generator (*this), + ::CORBA::NO_MEMORY ()); + ACE_NEW_THROW_EX (this->square_, + ShapeType, + ::CORBA::NO_MEMORY ()); + + this->square_->x = ACE_OS::rand () % this->max_x_; + this->square_->y = ACE_OS::rand () % this->max_y_; + this->square_->shapesize = max_size_; + this->square_->color = CORBA::string_dup("GREEN"); } Sender_exec_i::~Sender_exec_i (void) { + delete this->ticker_; + delete this->square_; } // Supported operations and attributes. + ACE_Reactor* + Sender_exec_i::reactor (void) + { + ACE_Reactor* reactor = 0; + ::CORBA::Object_var ccm_object = + this->ciao_context_->get_CCM_object(); + if (! ::CORBA::is_nil (ccm_object.in ())) + { + ::CORBA::ORB_var orb = ccm_object->_get_orb (); + if (! ::CORBA::is_nil (orb.in ())) + { + reactor = orb->orb_core ()->reactor (); + } + } + if (reactor == 0) + { + throw ::CORBA::INTERNAL (); + } + return reactor; + } void Sender_exec_i::tick () { if (this->x_increasing_) { - ++square_->x; - this->x_increasing_ = square_->x + 1 <= this->max_x_; + ++this->square_->x; + this->x_increasing_ = this->square_->x + 1 <= this->max_x_; } else { - --square_->x; - this->x_increasing_ = square_->x - 1 < 0; + --this->square_->x; + this->x_increasing_ = this->square_->x - 1 < 0; } if (this->y_increasing_) { - ++square_->y; - this->y_increasing_ = square_->y + 1 <= this->max_y_; + ++this->square_->y; + this->y_increasing_ = this->square_->y + 1 <= this->max_y_; } else { - --square_->y; - this->y_increasing_ = square_->y - 1 < 0; + --this->square_->y; + this->y_increasing_ = this->square_->y - 1 < 0; } if (resize_shape ()) { if (this->size_increasing_) { - ++square_->shapesize; - this->size_increasing_ = square_->shapesize + 1 <= this->max_size_; + ++this->square_->shapesize; + this->size_increasing_ = this->square_->shapesize + 1 <= this->max_size_; } else { - --square_->shapesize; - this->size_increasing_ = square_->shapesize - 1 < 0; + --this->square_->shapesize; + this->size_increasing_ = this->square_->shapesize - 1 < 0; } } try { - this->writer_->write_one (*square_, this->instance_handle_); - ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("UPDATED Shape_info for <%C> %u:%u:%u\n"), - square_->color.in (), - square_->x, - square_->y, - square_->shapesize)); + Shapes::Writer_var writer = + this->ciao_context_->get_connection_info_write_data (); + if (! ::CORBA::is_nil (writer.in ())) + { + writer->write_one (*this->square_, this->instance_handle_); + ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("UPDATED Shape_info for <%C> %u:%u:%u\n"), + this->square_->color.in (), + this->square_->x, + this->square_->y, + this->square_->shapesize)); + } + else + { + ACE_ERROR ((LM_ERROR, "Sender_exec_i::tick - " + "ERROR: Writer seems nil.\n")); + } } catch (const CCM_DDS::NonExistent& ) { ACE_ERROR ((LM_ERROR, ACE_TEXT ("Shape_info for <%C> not updated: <%C> didn't exist.\n"), - square_->color.in (), square_->color.in ())); + this->square_->color.in (), this->square_->color.in ())); } catch (const CCM_DDS::InternalError& ) { ACE_ERROR ((LM_ERROR, ACE_TEXT ("Internal Error while updating Shape_info for <%C>.\n"), - square_->color.in ())); + this->square_->color.in ())); } } @@ -115,7 +182,7 @@ namespace CIAO_Shapes_Sender_Impl { // calculate the interval time long const usec = 1000000 / this->rate_; - if (this->context_->get_CCM_object()->_get_orb ()->orb_core ()->reactor ()->schedule_timer ( + if (this->reactor ()->schedule_timer ( this->ticker_, 0, ACE_Time_Value (0, usec), @@ -129,27 +196,38 @@ namespace CIAO_Shapes_Sender_Impl void Sender_exec_i::stop (void) { - this->context_->get_CCM_object()->_get_orb ()->orb_core ()->reactor ()->cancel_timer (this->ticker_); + this->reactor ()->cancel_timer (this->ticker_); ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Sender_exec_i::stop : Timer canceled.\n"))); try { - this->writer_->unregister_instance (*this->square_, this->instance_handle_); + Shapes::Writer_var writer = + this->ciao_context_->get_connection_info_write_data (); + if (! ::CORBA::is_nil (writer.in ())) + { + writer->unregister_instance (*this->square_, + this->instance_handle_); + } + else + { + ACE_ERROR ((LM_ERROR, "Sender_exec_i::stop - " + "ERROR: Writer seems nil.\n")); + } } catch (const CCM_DDS::NonExistent& ) { ACE_ERROR ((LM_ERROR, ACE_TEXT ("Shape_info for <%C> not deleted: <%C> didn't exist.\n"), - square_->color.in (), square_->color.in ())); + this->square_->color.in (), this->square_->color.in ())); } catch (const CCM_DDS::InternalError& ) { ACE_ERROR ((LM_ERROR, ACE_TEXT ("Internal Error while deleting Shape_info for <%C>.\n"), - square_->color.in ())); + this->square_->color.in ())); } - delete this->ticker_; - delete this->square_; } + // Component attributes and port operations. + ::CORBA::ULong Sender_exec_i::rate (void) { @@ -157,7 +235,8 @@ namespace CIAO_Shapes_Sender_Impl } void - Sender_exec_i::rate (::CORBA::ULong rate) + Sender_exec_i::rate ( + const ::CORBA::ULong rate) { this->rate_ = rate; } @@ -169,7 +248,8 @@ namespace CIAO_Shapes_Sender_Impl } void - Sender_exec_i::max_x (::CORBA::UShort max_x) + Sender_exec_i::max_x ( + const ::CORBA::UShort max_x) { this->max_x_ = max_x; } @@ -181,7 +261,8 @@ namespace CIAO_Shapes_Sender_Impl } void - Sender_exec_i::max_y (::CORBA::UShort max_y) + Sender_exec_i::max_y ( + const ::CORBA::UShort max_y) { this->max_y_ = max_y; } @@ -193,30 +274,35 @@ namespace CIAO_Shapes_Sender_Impl } void - Sender_exec_i::max_size (::CORBA::UShort max_size) + Sender_exec_i::max_size ( + const ::CORBA::UShort max_size) { this->max_size_ = max_size; } - void - Sender_exec_i::resize_shape (::CORBA::Boolean resize) + ::CORBA::Boolean + Sender_exec_i::resize_shape (void) { - this->resize_ = resize; + return this->resize_shape_; } - ::CORBA::Boolean - Sender_exec_i::resize_shape () + void + Sender_exec_i::resize_shape ( + const ::CORBA::Boolean resize_shape) { - return this->resize_; + this->resize_shape_ = resize_shape; } + // Operations from Components::SessionComponent. + void - Sender_exec_i::set_session_context (::Components::SessionContext_ptr ctx) + Sender_exec_i::set_session_context ( + ::Components::SessionContext_ptr ctx) { - this->context_ = + this->ciao_context_ = ::Shapes::CCM_Sender_Context::_narrow (ctx); - if ( ::CORBA::is_nil (this->context_.in ())) + if ( ::CORBA::is_nil (this->ciao_context_.in ())) { throw ::CORBA::INTERNAL (); } @@ -225,37 +311,43 @@ namespace CIAO_Shapes_Sender_Impl void Sender_exec_i::configuration_complete (void) { - this->writer_ = this->context_->get_connection_info_write_data (); } void Sender_exec_i::ccm_activate (void) { this->start (); - square_->x = ACE_OS::rand () % this->max_x_; - square_->y = ACE_OS::rand () % this->max_y_; - square_->shapesize = max_size_; - square_->color = CORBA::string_dup("GREEN"); //Register shape with dds. ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("REGISTER Shape_info for <%C> %u:%u:%u\n"), - square_->color.in (), - square_->x, - square_->y, - square_->shapesize)); + this->square_->color.in (), + this->square_->x, + this->square_->y, + this->square_->shapesize)); try { - this->instance_handle_ = this->writer_->register_instance (*square_); + Shapes::Writer_var writer = + this->ciao_context_->get_connection_info_write_data (); + if (! ::CORBA::is_nil (writer.in ())) + { + this->instance_handle_ = + writer->register_instance (*this->square_); + } + else + { + ACE_ERROR ((LM_ERROR, "Sender_exec_i::ccm_activate - " + "ERROR: Writer seems nil.\n")); + } } catch (const CCM_DDS::AlreadyCreated& ) { ACE_ERROR ((LM_ERROR, ACE_TEXT ("Shape_info for <%C> already created.\n"), - square_->color.in ())); + this->square_->color.in ())); } catch (const CCM_DDS::InternalError& ) { ACE_ERROR ((LM_ERROR, ACE_TEXT ("Internal Error while creating Shape_info for <%C>.\n"), - square_->color.in ())); + this->square_->color.in ())); } } @@ -268,10 +360,11 @@ namespace CIAO_Shapes_Sender_Impl void Sender_exec_i::ccm_remove (void) { + /* Your code here. */ } extern "C" SENDER_EXEC_Export ::Components::EnterpriseComponent_ptr - create_Shape_Sender_Impl (void) + create_Shapes_Sender_Impl (void) { ::Components::EnterpriseComponent_ptr retval = ::Components::EnterpriseComponent::_nil (); @@ -283,4 +376,3 @@ namespace CIAO_Shapes_Sender_Impl return retval; } } - diff --git a/CIAO/connectors/dds4ccm/examples/Shapes/Sender/Shapes_Sender_exec.h b/CIAO/connectors/dds4ccm/examples/Shapes/Sender/Shapes_Sender_exec.h index 88405a59f6a..3ce05bd7147 100644 --- a/CIAO/connectors/dds4ccm/examples/Shapes/Sender/Shapes_Sender_exec.h +++ b/CIAO/connectors/dds4ccm/examples/Shapes/Sender/Shapes_Sender_exec.h @@ -1,26 +1,51 @@ // -*- C++ -*- // $Id$ -#ifndef CIAO_SENDER_EXEC_H_ -#define CIAO_SENDER_EXEC_H_ +/** + * Code generated by the The ACE ORB (TAO) IDL Compiler v2.0.0 + * 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 + **/ +#ifndef CIAO_SHAPES_SENDER_EXEC_ETSDUL_H_ +#define CIAO_SHAPES_SENDER_EXEC_ETSDUL_H_ + +#include /**/ "ace/pre.h" #include "Shapes_SenderEC.h" -#include /**/ "Sender_exec_export.h" - #if !defined (ACE_LACKS_PRAGMA_ONCE) # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ +#include /**/ "Sender_exec_export.h" #include "tao/LocalObject.h" namespace CIAO_Shapes_Sender_Impl { class Sender_exec_i; - //============================================================ - // pulse_Generator - //============================================================ + /** + * Write action generator + */ + class pulse_Generator : public ACE_Event_Handler { public: @@ -34,9 +59,10 @@ namespace CIAO_Shapes_Sender_Impl Sender_exec_i &pulse_callback_; }; - //============================================================ - // Sender_exec_i - //============================================================ + /** + * Component Executor Implementation Class: Sender_exec_i + */ + class Sender_exec_i : public virtual Sender_Exec, public virtual ::CORBA::LocalObject @@ -45,6 +71,14 @@ namespace CIAO_Shapes_Sender_Impl Sender_exec_i (void); virtual ~Sender_exec_i (void); + //@{ + /** Supported operations and attributes. */ + + //@} + + //@{ + /** Component attributes and port operations. */ + virtual ::CORBA::ULong rate (void); virtual void rate (::CORBA::ULong rate); @@ -61,33 +95,49 @@ namespace CIAO_Shapes_Sender_Impl virtual void max_size (::CORBA::UShort max_size); - virtual void resize_shape (::CORBA::Boolean resize); - virtual ::CORBA::Boolean resize_shape (void); - virtual void set_session_context (::Components::SessionContext_ptr ctx); + virtual void resize_shape (::CORBA::Boolean resize_shape); + //@} + //@{ + /** 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); + //@} + + //@{ + /** User defined public operations. */ + void tick (void); - void tick (); + //@} private: + ::Shapes::CCM_Sender_Context_var ciao_context_; + + //@{ + /** Component attributes. */ + + ::CORBA::ULong rate_; + + ::CORBA::UShort max_x_; + + ::CORBA::UShort max_y_; + + ::CORBA::UShort max_size_; + + ::CORBA::Boolean resize_shape_; + //@} + + //@{ + /** User defined members. */ void start (void); void stop (void); - Shapes::Writer_var writer_; - pulse_Generator * ticker_; - ::Shapes::CCM_Sender_Context_var context_; - CORBA::ULong rate_; - CORBA::UShort max_x_; - CORBA::UShort max_y_; - CORBA::UShort max_size_; - CORBA::Boolean resize_; bool x_increasing_; bool y_increasing_; @@ -96,11 +146,22 @@ namespace CIAO_Shapes_Sender_Impl ShapeType* square_; ::DDS::InstanceHandle_t instance_handle_; + + //@} + + //@{ + /** User defined private operations. */ + + //@} + + /// Get the ACE_Reactor + ACE_Reactor* reactor (void); }; extern "C" SENDER_EXEC_Export ::Components::EnterpriseComponent_ptr - create_Shape_Sender_Impl (void); + create_Shapes_Sender_Impl (void); } -#endif /* ifndef */ +#include /**/ "ace/post.h" +#endif /* ifndef */ diff --git a/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/Plan.cdp b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/Plan.cdp index 6b930249ff4..f339fe38722 100644 --- a/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/Plan.cdp +++ b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/Plan.cdp @@ -123,7 +123,7 @@ <kind>tk_string</kind> </type> <value> - <string>create_Shape_Sender_Impl</string> + <string>create_Shapes_Sender_Impl</string> </value> </value> </execParameter> diff --git a/CIAO/connectors/dds4ccm/idl/dds4ccm_lem_stub.mpc b/CIAO/connectors/dds4ccm/idl/dds4ccm_lem_stub.mpc index 1dbac3237be..7ec1ea30161 100644 --- a/CIAO/connectors/dds4ccm/idl/dds4ccm_lem_stub.mpc +++ b/CIAO/connectors/dds4ccm/idl/dds4ccm_lem_stub.mpc @@ -1,3 +1,4 @@ +// -*- MPC -*- // $Id$ project (DDS4CCM_lem_gen) : install, dds4ccm, ciaoidldefaults { @@ -19,7 +20,6 @@ project (DDS4CCM_lem_gen) : install, dds4ccm, ciaoidldefaults { dds4ccm_ConnectorStatusListenerE.idl dds4ccm_StateListenerControlE.idl dds4ccm_ConnectorE.idl - dds_rtf2_dcps_i_handleE.idl } } @@ -41,7 +41,6 @@ project (DDS4CCM_lem_stub) : install, dds4ccm, ccm_lem_stub, ccm_session_stub, c dds4ccm_ConnectorStatusListenerEC.cpp dds4ccm_StateListenerControlEC.cpp dds4ccm_ConnectorEC.cpp - dds_rtf2_dcps_i_handleEC.cpp } Header_Files { diff --git a/CIAO/connectors/dds4ccm/idl/dds4ccm_skel.mpc b/CIAO/connectors/dds4ccm/idl/dds4ccm_skel.mpc index 6f3c29a7991..113d1b6ddbf 100644 --- a/CIAO/connectors/dds4ccm/idl/dds4ccm_skel.mpc +++ b/CIAO/connectors/dds4ccm/idl/dds4ccm_skel.mpc @@ -23,6 +23,5 @@ project (DDS4CCM_skel) : install, dds4ccm_lem_stub, ciaolib_with_idl, ciao_outpu dds4ccm_ConnectorStatusListenerS.cpp dds4ccm_ConnectorS.cpp dds4ccm_StateListenerControlS.cpp - dds_rtf2_dcps_i_handleS.cpp } } diff --git a/CIAO/connectors/dds4ccm/idl/dds4ccm_stub.mpc b/CIAO/connectors/dds4ccm/idl/dds4ccm_stub.mpc index 346a87ef292..0df4d54f307 100644 --- a/CIAO/connectors/dds4ccm/idl/dds4ccm_stub.mpc +++ b/CIAO/connectors/dds4ccm/idl/dds4ccm_stub.mpc @@ -23,7 +23,6 @@ project (DDS4CCM_idl_gen) : install, dds4ccm, componentidldefaults { IDL_Files { idlflags -= -Gxhst -Gxhsk dds_rtf2_dcps.idl - dds_rtf2_dcps_i_handle.idl dds4ccm_PortStatusListener.idl dds4ccm_DataListenerControl.idl dds4ccm_ConnectorStatusListener.idl @@ -58,8 +57,6 @@ project (DDS4CCM_stub) : install, dds4ccm, ccm_stub, ciaolib_with_idl, ciao_outp dds4ccm_StateListenerControlC.cpp dds4ccm_ConnectorC.cpp dds_rtf2_dcpsC.cpp - dds_rtf2_dcps_i_handleC.cpp - dds_rtf2_dcps_instance_handleC.cpp } } diff --git a/CIAO/connectors/dds4ccm/idl/dds_rtf2_dcps.idl b/CIAO/connectors/dds4ccm/idl/dds_rtf2_dcps.idl index d66348dd399..a8f4638b45f 100644 --- a/CIAO/connectors/dds4ccm/idl/dds_rtf2_dcps.idl +++ b/CIAO/connectors/dds4ccm/idl/dds_rtf2_dcps.idl @@ -3,1145 +3,12 @@ #ifndef DDS_RFT2_DCPS_IDL #define DDS_RFT2_DCPS_IDL -#pragma ciao lem "connectors/dds4ccm/idl/dds_rtf2_dcpsE.idl" - #if (CIAO_DDS4CCM_OPENDDS==1) # include "dds/DdsDcps.idl" #endif #if (CIAO_DDS4CCM_NDDS==1) -# define DOMAINID_TYPE_NATIVE long -# define HANDLE_TYPE_NATIVE long -# define HANDLE_NIL_NATIVE 0 -# define BUILTIN_TOPIC_KEY_TYPE_NATIVE long - -#define TheParticipantFactory -#define PARTICIPANT_QOS_DEFAULT -#define TOPIC_QOS_DEFAULT -#define PUBLISHER_QOS_DEFAULT -#define SUBSCRIBER_QOS_DEFAULT -#define DATAWRITER_QOS_DEFAULT -#define DATAREADER_QOS_DEFAULT -#define DATAWRITER_QOS_USE_TOPIC_QOS -#define DATAREADER_QOS_USE_TOPIC_QOS - -#include "tao/StringSeq.pidl" -#include "connectors/dds4ccm/idl/dds_rtf2_dcps_instance_handle.idl" - -module DDS { - typedef long DomainId_t; - typedef long long_3[3]; - - struct BuiltinTopicKey_t { - long_3 value; - }; - - typedef long ReturnCode_t; - typedef long QosPolicyId_t; - typedef sequence<string> StringSeq; - - struct Duration_t { - long sec; - unsigned long nanosec; - }; - - struct Time_t { - long sec; - unsigned long nanosec; - }; - - // ---------------------------------------------------------------------- - // Pre-defined values - // ---------------------------------------------------------------------- - //const InstanceHandle_t HANDLE_NIL = 0; - - const long LENGTH_UNLIMITED = -1; - - const long DURATION_INFINITE_SEC = 0x7fffffff; - const unsigned long DURATION_INFINITE_NSEC = 0x7fffffff; - - const long DURATION_ZERO_SEC = 0; - const unsigned long DURATION_ZERO_NSEC = 0; - - const long TIME_INVALID_SEC = -1; - const unsigned long TIME_INVALID_NSEC = 0xffffffff; - - // ---------------------------------------------------------------------- - // Return codes - // ---------------------------------------------------------------------- - const ReturnCode_t RETCODE_OK = 0; - const ReturnCode_t RETCODE_ERROR = 1; - const ReturnCode_t RETCODE_UNSUPPORTED = 2; - const ReturnCode_t RETCODE_BAD_PARAMETER = 3; - const ReturnCode_t RETCODE_PRECONDITION_NOT_MET = 4; - const ReturnCode_t RETCODE_OUT_OF_RESOURCES = 5; - const ReturnCode_t RETCODE_NOT_ENABLED = 6; - const ReturnCode_t RETCODE_IMMUTABLE_POLICY = 7; - const ReturnCode_t RETCODE_INCONSISTENT_POLICY = 8; - const ReturnCode_t RETCODE_ALREADY_DELETED = 9; - const ReturnCode_t RETCODE_TIMEOUT = 10; - const ReturnCode_t RETCODE_NO_DATA = 11; - const ReturnCode_t RETCODE_ILLEGAL_OPERATION = 12; - - // ---------------------------------------------------------------------- - // Status to support listeners and conditions - // ---------------------------------------------------------------------- - - typedef unsigned long StatusKind; - typedef unsigned long StatusMask; // bit-mask StatusKind - - const StatusKind INCONSISTENT_TOPIC_STATUS = 0x0001 << 0; - const StatusKind OFFERED_DEADLINE_MISSED_STATUS = 0x0001 << 1; - const StatusKind REQUESTED_DEADLINE_MISSED_STATUS = 0x0001 << 2; - const StatusKind OFFERED_INCOMPATIBLE_QOS_STATUS = 0x0001 << 5; - const StatusKind REQUESTED_INCOMPATIBLE_QOS_STATUS = 0x0001 << 6; - const StatusKind SAMPLE_LOST_STATUS = 0x0001 << 7; - const StatusKind SAMPLE_REJECTED_STATUS = 0x0001 << 8; - const StatusKind DATA_ON_READERS_STATUS = 0x0001 << 9; - const StatusKind DATA_AVAILABLE_STATUS = 0x0001 << 10; - const StatusKind LIVELINESS_LOST_STATUS = 0x0001 << 11; - const StatusKind LIVELINESS_CHANGED_STATUS = 0x0001 << 12; - const StatusKind PUBLICATION_MATCHED_STATUS = 0x0001 << 13; - const StatusKind SUBSCRIPTION_MATCHED_STATUS = 0x0001 << 14; - const StatusKind RELIABLE_WRITER_CACHE_CHANGED_STATUS = 0x00000001 << 24; - const StatusKind RELIABLE_READER_ACTIVITY_CHANGED_STATUS = 0x00000001 << 25; - - struct InconsistentTopicStatus { - long total_count; - long total_count_change; - }; - - struct SampleLostStatus { - long total_count; - long total_count_change; - }; - - enum SampleRejectedStatusKind { - NOT_REJECTED, - REJECTED_BY_INSTANCES_LIMIT, - REJECTED_BY_SAMPLES_LIMIT, - REJECTED_BY_SAMPLES_PER_INSTANCE_LIMIT - }; - - struct SampleRejectedStatus { - long total_count; - long total_count_change; - SampleRejectedStatusKind last_reason; - InstanceHandle_t last_instance_handle; - }; - - struct LivelinessLostStatus { - long total_count; - long total_count_change; - }; - - struct LivelinessChangedStatus { - long alive_count; - long not_alive_count; - long alive_count_change; - long not_alive_count_change; - InstanceHandle_t last_publication_handle; - }; - - struct OfferedDeadlineMissedStatus { - long total_count; - long total_count_change; - InstanceHandle_t last_instance_handle; - }; - - struct RequestedDeadlineMissedStatus { - long total_count; - long total_count_change; - InstanceHandle_t last_instance_handle; - }; - - struct QosPolicyCount { - QosPolicyId_t policy_id; - long count; - }; - - typedef sequence<QosPolicyCount> QosPolicyCountSeq; - - struct OfferedIncompatibleQosStatus { - long total_count; - long total_count_change; - QosPolicyId_t last_policy_id; - QosPolicyCountSeq policies; - }; - - struct RequestedIncompatibleQosStatus { - long total_count; - long total_count_change; - QosPolicyId_t last_policy_id; - QosPolicyCountSeq policies; - }; - - struct PublicationMatchedStatus { - long total_count; - long total_count_change; - long current_count; - long current_count_change; - InstanceHandle_t last_subscription_handle; - }; - - struct SubscriptionMatchedStatus { - long total_count; - long total_count_change; - long current_count; - long current_count_change; - InstanceHandle_t last_publication_handle; - }; - - struct ReliableReaderActivityChangedStatus { - long active_count; - long inactive_count; - long active_count_change; - long inactive_count_change; - InstanceHandle_t last_instance_handle; - }; - - struct ReliableWriterCacheEventCount { - long total_count; - long total_count_change; - }; - - struct ReliableWriterCacheChangedStatus { - ReliableWriterCacheEventCount empty_reliable_writer_cache; - ReliableWriterCacheEventCount full_reliable_writer_cache; - ReliableWriterCacheEventCount low_watermark_reliable_writer_cache; - ReliableWriterCacheEventCount high_watermark_reliable_writer_cache; - long unacknowledged_sample_count; - long unacknowledged_sample_count_peak; - }; - - // ---------------------------------------------------------------------- - // Listeners - // ---------------------------------------------------------------------- - - local interface Listener; - local interface Entity; - local interface TopicDescription; - local interface Topic; - local interface ContentFilteredTopic; - local interface MultiTopic; - local interface DataWriter; - local interface DataReader; - local interface Subscriber; - local interface Publisher; - - typedef sequence<DataReader> DataReaderSeq; - - local interface Listener {}; - - local interface TopicListener : Listener { - void on_inconsistent_topic(in Topic the_topic, - in InconsistentTopicStatus status); - }; - - local interface DataWriterListener : Listener { - void on_offered_deadline_missed( - in DataWriter writer, - in OfferedDeadlineMissedStatus status); - void on_offered_incompatible_qos( - in DataWriter writer, - in OfferedIncompatibleQosStatus status); - void on_liveliness_lost( - in DataWriter writer, - in LivelinessLostStatus status); - void on_publication_matched( - in DataWriter writer, - in PublicationMatchedStatus status); - void on_reliable_writer_cache_changed ( - in DataWriter writer, - in ReliableWriterCacheChangedStatus status); - void on_reliable_reader_activity_changed ( - in DataWriter writer, - in ReliableReaderActivityChangedStatus status); - }; - - local interface PublisherListener : DataWriterListener { - }; - - local interface DataReaderListener : Listener { - void on_requested_deadline_missed( - in DataReader the_reader, - in RequestedDeadlineMissedStatus status); - void on_requested_incompatible_qos( - in DataReader the_reader, - in RequestedIncompatibleQosStatus status); - void on_sample_rejected( - in DataReader the_reader, - in SampleRejectedStatus status); - void on_liveliness_changed( - in DataReader the_reader, - in LivelinessChangedStatus status); - void on_data_available( - in DataReader the_reader); - void on_subscription_matched( - in DataReader the_reader, - in SubscriptionMatchedStatus status); - void on_sample_lost( - in DataReader the_reader, - in SampleLostStatus status); - }; - - local interface SubscriberListener : DataReaderListener { - void on_data_on_readers( - in Subscriber the_subscriber); - }; - - - local interface DomainParticipantListener : TopicListener, - PublisherListener, - SubscriberListener { - }; - - - // ---------------------------------------------------------------------- - // Conditions - // ---------------------------------------------------------------------- - - local interface Condition { - boolean get_trigger_value(); - }; - - typedef sequence<Condition> ConditionSeq; - - local interface WaitSet { - ReturnCode_t wait( - inout ConditionSeq active_conditions, - in Duration_t timeout); - ReturnCode_t attach_condition( - in Condition cond); - ReturnCode_t detach_condition( - in Condition cond); - ReturnCode_t get_conditions( - inout ConditionSeq attached_conditions); - }; - - local interface GuardCondition : Condition { - ReturnCode_t set_trigger_value( - in boolean value); - }; - - local interface StatusCondition : Condition { - StatusMask get_enabled_statuses(); - ReturnCode_t set_enabled_statuses( - in StatusMask mask); - Entity get_entity(); - }; - - // Sample states to support reads - typedef unsigned long SampleStateKind; - const SampleStateKind READ_SAMPLE_STATE = 0x0001 << 0; - const SampleStateKind NOT_READ_SAMPLE_STATE = 0x0001 << 1; - - // This is a bit-mask SampleStateKind - typedef unsigned long SampleStateMask; - const SampleStateMask ANY_SAMPLE_STATE = 0xffff; - - // View states to support reads - typedef unsigned long ViewStateKind; - const ViewStateKind NEW_VIEW_STATE = 0x0001 << 0; - const ViewStateKind NOT_NEW_VIEW_STATE = 0x0001 << 1; - - // This is a bit-mask ViewStateKind - typedef unsigned long ViewStateMask; - const ViewStateMask ANY_VIEW_STATE = 0xffff; - - // Instance states to support reads - typedef unsigned long InstanceStateKind; - const InstanceStateKind ALIVE_INSTANCE_STATE = 0x0001 << 0; - const InstanceStateKind NOT_ALIVE_DISPOSED_INSTANCE_STATE = 0x0001 << 1; - const InstanceStateKind NOT_ALIVE_NO_WRITERS_INSTANCE_STATE = 0x0001 << 2; - - // This is a bit-mask InstanceStateKind - typedef unsigned long InstanceStateMask; - const InstanceStateMask ANY_INSTANCE_STATE = 0xffff; - const InstanceStateMask NOT_ALIVE_INSTANCE_STATE = 0x006; - - - local interface ReadCondition : Condition { - SampleStateMask get_sample_state_mask(); - ViewStateMask get_view_state_mask(); - InstanceStateMask get_instance_state_mask(); - DataReader get_datareader(); - }; - - local interface QueryCondition : ReadCondition { - string get_query_expression(); - ReturnCode_t get_query_parameters( - inout StringSeq query_parameters); - ReturnCode_t set_query_parameters( - in StringSeq query_parameters); - }; - - // ---------------------------------------------------------------------- - // Qos - // ---------------------------------------------------------------------- - const string USERDATA_QOS_POLICY_NAME = "UserData"; - const string DURABILITY_QOS_POLICY_NAME = "Durability"; - const string PRESENTATION_QOS_POLICY_NAME = "Presentation"; - const string DEADLINE_QOS_POLICY_NAME = "Deadline"; - const string LATENCYBUDGET_QOS_POLICY_NAME = "LatencyBudget"; - const string OWNERSHIP_QOS_POLICY_NAME = "Ownership"; - const string OWNERSHIPSTRENGTH_QOS_POLICY_NAME = "OwnershipStrength"; - const string LIVELINESS_QOS_POLICY_NAME = "Liveliness"; - const string TIMEBASEDFILTER_QOS_POLICY_NAME = "TimeBasedFilter"; - const string PARTITION_QOS_POLICY_NAME = "Partition"; - const string RELIABILITY_QOS_POLICY_NAME = "Reliability"; - const string DESTINATIONORDER_QOS_POLICY_NAME = "DestinationOrder"; - const string HISTORY_QOS_POLICY_NAME = "History"; - const string RESOURCELIMITS_QOS_POLICY_NAME = "ResourceLimits"; - const string ENTITYFACTORY_QOS_POLICY_NAME = "EntityFactory"; - const string WRITERDATALIFECYCLE_QOS_POLICY_NAME = "WriterDataLifecycle"; - const string READERDATALIFECYCLE_QOS_POLICY_NAME = "ReaderDataLifecycle"; - const string TOPICDATA_QOS_POLICY_NAME = "TopicData"; - const string GROUPDATA_QOS_POLICY_NAME = "TransportPriority"; - const string LIFESPAN_QOS_POLICY_NAME = "Lifespan"; - const string DURABILITYSERVICE_POLICY_NAME = "DurabilityService"; - - const QosPolicyId_t INVALID_QOS_POLICY_ID = 0; - const QosPolicyId_t USERDATA_QOS_POLICY_ID = 1; - const QosPolicyId_t DURABILITY_QOS_POLICY_ID = 2; - const QosPolicyId_t PRESENTATION_QOS_POLICY_ID = 3; - const QosPolicyId_t DEADLINE_QOS_POLICY_ID = 4; - const QosPolicyId_t LATENCYBUDGET_QOS_POLICY_ID = 5; - const QosPolicyId_t OWNERSHIP_QOS_POLICY_ID = 6; - const QosPolicyId_t OWNERSHIPSTRENGTH_QOS_POLICY_ID = 7; - const QosPolicyId_t LIVELINESS_QOS_POLICY_ID = 8; - const QosPolicyId_t TIMEBASEDFILTER_QOS_POLICY_ID = 9; - const QosPolicyId_t PARTITION_QOS_POLICY_ID = 10; - const QosPolicyId_t RELIABILITY_QOS_POLICY_ID = 11; - const QosPolicyId_t DESTINATIONORDER_QOS_POLICY_ID = 12; - const QosPolicyId_t HISTORY_QOS_POLICY_ID = 13; - const QosPolicyId_t RESOURCELIMITS_QOS_POLICY_ID = 14; - const QosPolicyId_t ENTITYFACTORY_QOS_POLICY_ID = 15; - const QosPolicyId_t WRITERDATALIFECYCLE_QOS_POLICY_ID = 16; - const QosPolicyId_t READERDATALIFECYCLE_QOS_POLICY_ID = 17; - const QosPolicyId_t TOPICDATA_QOS_POLICY_ID = 18; - const QosPolicyId_t GROUPDATA_QOS_POLICY_ID = 19; - const QosPolicyId_t TRANSPORTPRIORITY_QOS_POLICY_ID = 20; - const QosPolicyId_t LIFESPAN_QOS_POLICY_ID = 21; - const QosPolicyId_t DURABILITYSERVICE_QOS_POLICY_ID = 22; - - typedef sequence<octet> OctetSeq; - struct UserDataQosPolicy { - OctetSeq value; - }; - - struct TopicDataQosPolicy { - OctetSeq value; - }; - - struct GroupDataQosPolicy { - OctetSeq value; - }; - - struct TransportPriorityQosPolicy { - long value; - }; - - struct LifespanQosPolicy { - Duration_t duration; - }; - - enum DurabilityQosPolicyKind { - VOLATILE_DURABILITY_QOS, - TRANSIENT_LOCAL_DURABILITY_QOS, - TRANSIENT_DURABILITY_QOS, - PERSISTENT_DURABILITY_QOS - }; - struct DurabilityQosPolicy { - DurabilityQosPolicyKind kind; - }; - - enum PresentationQosPolicyAccessScopeKind { - INSTANCE_PRESENTATION_QOS, - TOPIC_PRESENTATION_QOS, - GROUP_PRESENTATION_QOS - }; - struct PresentationQosPolicy { - PresentationQosPolicyAccessScopeKind access_scope; - boolean coherent_access; - boolean ordered_access; - }; - - struct DeadlineQosPolicy { - Duration_t period; - }; - - struct LatencyBudgetQosPolicy { - Duration_t duration; - }; - - enum OwnershipQosPolicyKind { - SHARED_OWNERSHIP_QOS, - EXCLUSIVE_OWNERSHIP_QOS - }; - struct OwnershipQosPolicy { - OwnershipQosPolicyKind kind; - }; - - struct OwnershipStrengthQosPolicy { - long value; - }; - - enum LivelinessQosPolicyKind { - AUTOMATIC_LIVELINESS_QOS, - MANUAL_BY_PARTICIPANT_LIVELINESS_QOS, - MANUAL_BY_TOPIC_LIVELINESS_QOS - }; - - struct LivelinessQosPolicy { - LivelinessQosPolicyKind kind; - Duration_t lease_duration; - }; - - struct TimeBasedFilterQosPolicy { - Duration_t minimum_separation; - }; - - struct PartitionQosPolicy { - StringSeq name; - }; - - enum ReliabilityQosPolicyKind { - BEST_EFFORT_RELIABILITY_QOS, - RELIABLE_RELIABILITY_QOS - }; - - struct ReliabilityQosPolicy { - ReliabilityQosPolicyKind kind; - Duration_t max_blocking_time; - }; - - enum DestinationOrderQosPolicyKind { - BY_RECEPTION_TIMESTAMP_DESTINATIONORDER_QOS, - BY_SOURCE_TIMESTAMP_DESTINATIONORDER_QOS - }; - struct DestinationOrderQosPolicy { - DestinationOrderQosPolicyKind kind; - }; - - enum HistoryQosPolicyKind { - KEEP_LAST_HISTORY_QOS, - KEEP_ALL_HISTORY_QOS - }; - struct HistoryQosPolicy { - HistoryQosPolicyKind kind; - long depth; - }; - - struct ResourceLimitsQosPolicy { - long max_samples; - long max_instances; - long max_samples_per_instance; - }; - - struct EntityFactoryQosPolicy { - boolean autoenable_created_entities; - }; - - struct WriterDataLifecycleQosPolicy { - boolean autodispose_unregistered_instances; - }; - - struct ReaderDataLifecycleQosPolicy { - Duration_t autopurge_nowriter_samples_delay; - Duration_t autopurge_disposed_samples_delay; - }; - - struct DurabilityServiceQosPolicy { - Duration_t service_cleanup_delay; - HistoryQosPolicyKind history_kind; - long history_depth; - long max_samples; - long max_instances; - long max_samples_per_instance; - }; - - struct DomainParticipantFactoryQos { - EntityFactoryQosPolicy entity_factory; - }; - - struct DomainParticipantQos { - UserDataQosPolicy user_data; - EntityFactoryQosPolicy entity_factory; - }; - - struct TopicQos { - TopicDataQosPolicy topic_data; - DurabilityQosPolicy durability; - DurabilityServiceQosPolicy durability_service; - DeadlineQosPolicy deadline; - LatencyBudgetQosPolicy latency_budget; - LivelinessQosPolicy liveliness; - ReliabilityQosPolicy reliability; - DestinationOrderQosPolicy destination_order; - HistoryQosPolicy history; - ResourceLimitsQosPolicy resource_limits; - TransportPriorityQosPolicy transport_priority; - LifespanQosPolicy lifespan; - - OwnershipQosPolicy ownership; - }; - - struct DataWriterQos { - DurabilityQosPolicy durability; - DurabilityServiceQosPolicy durability_service; - DeadlineQosPolicy deadline; - LatencyBudgetQosPolicy latency_budget; - LivelinessQosPolicy liveliness; - ReliabilityQosPolicy reliability; - DestinationOrderQosPolicy destination_order; - HistoryQosPolicy history; - ResourceLimitsQosPolicy resource_limits; - TransportPriorityQosPolicy transport_priority; - LifespanQosPolicy lifespan; - - UserDataQosPolicy user_data; - OwnershipQosPolicy ownership; - OwnershipStrengthQosPolicy ownership_strength; - WriterDataLifecycleQosPolicy writer_data_lifecycle; - }; - - struct PublisherQos { - PresentationQosPolicy presentation; - PartitionQosPolicy partition; - GroupDataQosPolicy group_data; - EntityFactoryQosPolicy entity_factory; - }; - - struct DataReaderQos { - DurabilityQosPolicy durability; - DeadlineQosPolicy deadline; - LatencyBudgetQosPolicy latency_budget; - LivelinessQosPolicy liveliness; - ReliabilityQosPolicy reliability; - DestinationOrderQosPolicy destination_order; - HistoryQosPolicy history; - ResourceLimitsQosPolicy resource_limits; - - UserDataQosPolicy user_data; - OwnershipQosPolicy ownership; - TimeBasedFilterQosPolicy time_based_filter; - ReaderDataLifecycleQosPolicy reader_data_lifecycle; - }; - - struct SubscriberQos { - PresentationQosPolicy presentation; - PartitionQosPolicy partition; - GroupDataQosPolicy group_data; - EntityFactoryQosPolicy entity_factory; - }; - - // ---------------------------------------------------------------------- - - struct ParticipantBuiltinTopicData { - BuiltinTopicKey_t key; - UserDataQosPolicy user_data; - }; - - struct TopicBuiltinTopicData { - BuiltinTopicKey_t key; - string name; - string type_name; - DurabilityQosPolicy durability; - DurabilityServiceQosPolicy durability_service; - DeadlineQosPolicy deadline; - LatencyBudgetQosPolicy latency_budget; - LivelinessQosPolicy liveliness; - ReliabilityQosPolicy reliability; - TransportPriorityQosPolicy transport_priority; - LifespanQosPolicy lifespan; - DestinationOrderQosPolicy destination_order; - HistoryQosPolicy history; - ResourceLimitsQosPolicy resource_limits; - OwnershipQosPolicy ownership; - TopicDataQosPolicy topic_data; - }; - - struct PublicationBuiltinTopicData { - BuiltinTopicKey_t key; - BuiltinTopicKey_t participant_key; - string topic_name; - string type_name; - - DurabilityQosPolicy durability; - DurabilityServiceQosPolicy durability_service; - DeadlineQosPolicy deadline; - LatencyBudgetQosPolicy latency_budget; - LivelinessQosPolicy liveliness; - ReliabilityQosPolicy reliability; - LifespanQosPolicy lifespan; - UserDataQosPolicy user_data; - OwnershipQosPolicy ownership; - OwnershipStrengthQosPolicy ownership_strength; - DestinationOrderQosPolicy destination_order; - - PresentationQosPolicy presentation; - PartitionQosPolicy partition; - TopicDataQosPolicy topic_data; - GroupDataQosPolicy group_data; - }; - - struct SubscriptionBuiltinTopicData { - BuiltinTopicKey_t key; - BuiltinTopicKey_t participant_key; - string topic_name; - string type_name; - - DurabilityQosPolicy durability; - DeadlineQosPolicy deadline; - LatencyBudgetQosPolicy latency_budget; - LivelinessQosPolicy liveliness; - ReliabilityQosPolicy reliability; - OwnershipQosPolicy ownership; - DestinationOrderQosPolicy destination_order; - UserDataQosPolicy user_data; - TimeBasedFilterQosPolicy time_based_filter; - - PresentationQosPolicy presentation; - PartitionQosPolicy partition; - TopicDataQosPolicy topic_data; - GroupDataQosPolicy group_data; - }; - - // ---------------------------------------------------------------------- - local interface Entity { - // ReturnCode_t set_qos( - // in EntityQos qos); - // ReturnCode_t get_qos( - // inout EntityQos qos); - // ReturnCode_t set_listener( - // in Listener l, - // in StatusMask mask); - // Listener get_listener(); - - ReturnCode_t enable(); - - StatusCondition get_statuscondition(); - - StatusMask get_status_changes(); - - InstanceHandle_t get_instance_handle(); - }; - - // ---------------------------------------------------------------------- - local interface DomainParticipant : Entity { - // Factory interfaces - Publisher create_publisher( - in PublisherQos qos, - in PublisherListener a_listener, - in StatusMask mask); - Publisher create_publisher_with_profile( - in string library_name, - in string profile_name, - in PublisherListener a_listener, - in StatusMask mask); - ReturnCode_t delete_publisher( - in Publisher p); - - Subscriber create_subscriber( - in SubscriberQos qos, - in SubscriberListener a_listener, - in StatusMask mask); - Subscriber create_subscriber_with_profile( - in string library_name, - in string profile_name, - in SubscriberListener a_listener, - in StatusMask mask); - ReturnCode_t delete_subscriber( - in Subscriber s); - Subscriber get_builtin_subscriber(); - - Topic create_topic( - in string topic_name, - in string type_name, - in TopicQos qos, - in TopicListener a_listener, - in StatusMask mask); - Topic create_topic_with_profile( - in string topic_name, - in string type_name, - in string library_name, - in string profile_name, - in TopicListener a_listener, - in StatusMask mask); - - ReturnCode_t delete_topic( - in Topic a_topic); - - Topic find_topic( - in string topic_name, - in Duration_t timeout); - TopicDescription lookup_topicdescription( - in string name); - - ContentFilteredTopic create_contentfilteredtopic( - in string name, - in Topic related_topic, - in string filter_expression, - in StringSeq expression_parameters); - - ReturnCode_t delete_contentfilteredtopic( - in ContentFilteredTopic a_contentfilteredtopic); - - MultiTopic create_multitopic( - in string name, - in string type_name, - in string subscription_expression, - in StringSeq expression_parameters); - - ReturnCode_t delete_multitopic( - in MultiTopic a_multitopic); - - ReturnCode_t delete_contained_entities(); - - ReturnCode_t set_qos( - in DomainParticipantQos qos); - ReturnCode_t get_qos( - inout DomainParticipantQos qos); - - ReturnCode_t set_listener( - in DomainParticipantListener a_listener, - in StatusMask mask); - DomainParticipantListener get_listener(); - - ReturnCode_t ignore_participant( - in InstanceHandle_t handle); - ReturnCode_t ignore_topic( - in InstanceHandle_t handle); - ReturnCode_t ignore_publication( - in InstanceHandle_t handle); - ReturnCode_t ignore_subscription( - in InstanceHandle_t handle); - - DomainId_t get_domain_id(); - ReturnCode_t assert_liveliness(); - - ReturnCode_t set_default_publisher_qos( - in PublisherQos qos); - ReturnCode_t get_default_publisher_qos( - inout PublisherQos qos); - - ReturnCode_t set_default_subscriber_qos( - in SubscriberQos qos); - ReturnCode_t get_default_subscriber_qos( - inout SubscriberQos qos); - - ReturnCode_t set_default_topic_qos( - in TopicQos qos); - ReturnCode_t get_default_topic_qos( - inout TopicQos qos); - - ReturnCode_t get_discovered_participants( - inout InstanceHandleSeq participant_handles); - ReturnCode_t get_discovered_participant_data( - inout ParticipantBuiltinTopicData participant_data, - in InstanceHandle_t participant_handle); - - ReturnCode_t get_discovered_topics( - inout InstanceHandleSeq topic_handles); - ReturnCode_t get_discovered_topic_data( - inout TopicBuiltinTopicData topic_data, - in InstanceHandle_t topic_handle); - - boolean contains_entity( - in InstanceHandle_t a_handle); - - ReturnCode_t get_current_time( - inout Time_t current_time); - }; - - local interface DomainParticipantFactory { - DomainParticipant create_participant( - in DomainId_t domain_id, - in DomainParticipantQos qos, - in DomainParticipantListener a_listener, - in StatusMask mask); - DomainParticipant create_participant_with_profile( - in DomainId_t domain_id, - in string library_name, - in string profile_name, - in DomainParticipantListener a_listener, - in StatusMask mask); - ReturnCode_t delete_participant( - in DomainParticipant a_participant); - - DomainParticipant lookup_participant( - in DomainId_t domain_id); - - ReturnCode_t set_default_participant_qos( - in DomainParticipantQos qos); - ReturnCode_t set_default_participant_qos_with_profile( - in string library_name, - in string profile_name); - ReturnCode_t get_default_participant_qos( - inout DomainParticipantQos qos); - - ReturnCode_t set_qos( - in DomainParticipantFactoryQos qos); - ReturnCode_t get_qos( - inout DomainParticipantFactoryQos qos); - }; - - local interface TypeSupport { - ReturnCode_t register_type( - in DomainParticipant domain, - in string type_name); - string get_type_name(); - }; - - // ---------------------------------------------------------------------- - local interface TopicDescription { - string get_type_name(); - string get_name(); - - DomainParticipant get_participant(); - }; - - local interface Topic : Entity, TopicDescription { - ReturnCode_t set_qos( - in TopicQos qos); - ReturnCode_t get_qos( - inout TopicQos qos); - ReturnCode_t set_listener( - in TopicListener a_listener, - in StatusMask mask); - TopicListener get_listener(); - // Access the status - ReturnCode_t get_inconsistent_topic_status( - inout InconsistentTopicStatus a_status); - }; - - local interface ContentFilteredTopic : TopicDescription { - string get_filter_expression(); - ReturnCode_t get_expression_parameters( - inout StringSeq expression_parameters); - ReturnCode_t set_expression_parameters( - in StringSeq expression_parameters); - Topic get_related_topic(); - }; - - local interface MultiTopic : TopicDescription { - string get_subscription_expression(); - ReturnCode_t get_expression_parameters( - inout StringSeq expression_parameters); - ReturnCode_t set_expression_parameters( - in StringSeq expression_parameters); - }; - - // ---------------------------------------------------------------------- - local interface Publisher : Entity { - DataWriter create_datawriter( - in Topic a_topic, - in DataWriterQos qos, - in DataWriterListener a_listener, - in StatusMask mask); - DataWriter create_datawriter_with_profile( - in Topic a_topic, - in string library_name, - in string probile_name, - in DataWriterListener a_listener, - in StatusMask mask); - ReturnCode_t delete_datawriter( - in DataWriter a_datawriter); - DataWriter lookup_datawriter( - in string topic_name); - - ReturnCode_t delete_contained_entities(); - - ReturnCode_t set_qos( - in PublisherQos qos); - ReturnCode_t get_qos( - inout PublisherQos qos); - - ReturnCode_t set_listener( - in PublisherListener a_listener, - in StatusMask mask); - PublisherListener get_listener(); - - ReturnCode_t suspend_publications(); - ReturnCode_t resume_publications(); - - ReturnCode_t begin_coherent_changes(); - ReturnCode_t end_coherent_changes(); - - ReturnCode_t wait_for_acknowledgments( - in Duration_t max_wait); - - DomainParticipant get_participant(); - - ReturnCode_t set_default_datawriter_qos( - in DataWriterQos qos); - ReturnCode_t get_default_datawriter_qos( - inout DataWriterQos qos); - - ReturnCode_t copy_from_topic_qos( - inout DataWriterQos a_datawriter_qos, - in TopicQos a_topic_qos); - }; - - local interface DataWriter : Entity { - ReturnCode_t set_qos( - in DataWriterQos qos); - ReturnCode_t get_qos( - inout DataWriterQos qos); - - ReturnCode_t set_listener( - in DataWriterListener a_listener, - in StatusMask mask); - DataWriterListener get_listener(); - - Topic get_topic(); - Publisher get_publisher(); - - ReturnCode_t wait_for_acknowledgments( - in Duration_t max_wait); - - // Access the status - ReturnCode_t get_liveliness_lost_status( - inout LivelinessLostStatus status); - ReturnCode_t get_offered_deadline_missed_status( - inout OfferedDeadlineMissedStatus status); - ReturnCode_t get_offered_incompatible_qos_status( - inout OfferedIncompatibleQosStatus status); - ReturnCode_t get_publication_matched_status( - inout PublicationMatchedStatus status); - - ReturnCode_t assert_liveliness(); - - ReturnCode_t get_matched_subscriptions( - inout InstanceHandleSeq subscription_handles); - ReturnCode_t get_matched_subscription_data( - inout SubscriptionBuiltinTopicData subscription_data, - in InstanceHandle_t subscription_handle); - }; - - // ---------------------------------------------------------------------- - local interface Subscriber : Entity { - DataReader create_datareader( - in TopicDescription a_topic, - in DataReaderQos qos, - in DataReaderListener a_listener, - in StatusMask mask); - DataReader create_datareader_with_profile( - in TopicDescription a_topic, - in string library_name, - in string profile_name, - in DataReaderListener a_listener, - in StatusMask mask); - ReturnCode_t delete_datareader( - in DataReader a_datareader); - ReturnCode_t delete_contained_entities(); - DataReader lookup_datareader( - in string topic_name); - ReturnCode_t get_datareaders( - inout DataReaderSeq readers, - in SampleStateMask sample_states, - in ViewStateMask view_states, - in InstanceStateMask instance_states); - ReturnCode_t notify_datareaders(); - - ReturnCode_t set_qos( - in SubscriberQos qos); - ReturnCode_t get_qos( - inout SubscriberQos qos); - - ReturnCode_t set_listener( - in SubscriberListener a_listener, - in StatusMask mask); - SubscriberListener get_listener(); - - ReturnCode_t begin_access(); - ReturnCode_t end_access(); - - DomainParticipant get_participant(); - - ReturnCode_t set_default_datareader_qos( - in DataReaderQos qos); - ReturnCode_t get_default_datareader_qos( - inout DataReaderQos qos); - - ReturnCode_t copy_from_topic_qos( - inout DataReaderQos a_datareader_qos, - in TopicQos a_topic_qos); - }; - - local interface DataReader : Entity { - ReadCondition create_readcondition( - in SampleStateMask sample_states, - in ViewStateMask view_states, - in InstanceStateMask instance_states); - - QueryCondition create_querycondition( - in SampleStateMask sample_states, - in ViewStateMask view_states, - in InstanceStateMask instance_states, - in string query_expression, - in StringSeq query_parameters); - - ReturnCode_t delete_readcondition( - in ReadCondition a_condition); - - ReturnCode_t delete_contained_entities(); - - ReturnCode_t set_qos( - in DataReaderQos qos); - ReturnCode_t get_qos( - inout DataReaderQos qos); - - ReturnCode_t set_listener( - in DataReaderListener a_listener, - in StatusMask mask); - DataReaderListener get_listener(); - - TopicDescription get_topicdescription(); - Subscriber get_subscriber(); - - ReturnCode_t get_sample_rejected_status( - inout SampleRejectedStatus status); - ReturnCode_t get_liveliness_changed_status( - inout LivelinessChangedStatus status); - ReturnCode_t get_requested_deadline_missed_status( - inout RequestedDeadlineMissedStatus status); - ReturnCode_t get_requested_incompatible_qos_status( - inout RequestedIncompatibleQosStatus status); - ReturnCode_t get_subscription_matched_status( - inout SubscriptionMatchedStatus status); - ReturnCode_t get_sample_lost_status( - inout SampleLostStatus status); - - ReturnCode_t wait_for_historical_data( - in Duration_t max_wait); - - ReturnCode_t get_matched_publications( - inout InstanceHandleSeq publication_handles); - ReturnCode_t get_matched_publication_data( - inout PublicationBuiltinTopicData publication_data, - in InstanceHandle_t publication_handle); - }; - - struct SampleInfo { - SampleStateKind sample_state; - ViewStateKind view_state; - InstanceStateKind instance_state; - Time_t source_timestamp; - InstanceHandle_t instance_handle; - InstanceHandle_t publication_handle; - long disposed_generation_count; - long no_writers_generation_count; - long sample_rank; - long generation_rank; - long absolute_generation_rank; - boolean valid_data; - }; - - typedef sequence<SampleInfo> SampleInfoSeq; -}; - +# include "connectors/dds4ccm/idl/ndds/ndds_dcps.idl" #endif #endif diff --git a/CIAO/connectors/dds4ccm/idl/dds_rtf2_dcps_instance_handle.idl b/CIAO/connectors/dds4ccm/idl/dds_rtf2_dcps_instance_handle.idl deleted file mode 100644 index 2a65d5db3e6..00000000000 --- a/CIAO/connectors/dds4ccm/idl/dds_rtf2_dcps_instance_handle.idl +++ /dev/null @@ -1,14 +0,0 @@ -// $Id$ - -#ifndef DDS_RFT2_DCPS_INSTANCE_HANDLE_IDL -#define DDS_RFT2_DCPS_INSTANCE_HANDLE_IDL - -#include "connectors/dds4ccm/idl/dds_rtf2_dcps_i_handle.idl" - -#if (CIAO_DDS4CCM_NDDS==1) -module DDS { - native HANDLE_NIL; -}; -#endif - -#endif diff --git a/CIAO/connectors/dds4ccm/idl/ndds/ndds_dcps.idl b/CIAO/connectors/dds4ccm/idl/ndds/ndds_dcps.idl new file mode 100644 index 00000000000..cdc361cbe1f --- /dev/null +++ b/CIAO/connectors/dds4ccm/idl/ndds/ndds_dcps.idl @@ -0,0 +1,1134 @@ +// $Id$ + +#ifndef NDDS_DCPS_IDL +#define NDDS_DCPS_IDL + +#pragma ciao lem "connectors/dds4ccm/idl/ndds/ndds_dcpsE.idl" + + +# define DOMAINID_TYPE_NATIVE long +# define HANDLE_TYPE_NATIVE long +# define HANDLE_NIL_NATIVE 0 +# define BUILTIN_TOPIC_KEY_TYPE_NATIVE long + +#define TheParticipantFactory +#define PARTICIPANT_QOS_DEFAULT +#define TOPIC_QOS_DEFAULT +#define PUBLISHER_QOS_DEFAULT +#define SUBSCRIBER_QOS_DEFAULT +#define DATAWRITER_QOS_DEFAULT +#define DATAREADER_QOS_DEFAULT +#define DATAWRITER_QOS_USE_TOPIC_QOS +#define DATAREADER_QOS_USE_TOPIC_QOS + +#include "tao/StringSeq.pidl" +#include "connectors/dds4ccm/idl/ndds/ndds_dcps_instance_handle.idl" + +module DDS { + typedef long DomainId_t; + typedef long long_3[3]; + + struct BuiltinTopicKey_t { + long_3 value; + }; + + typedef long ReturnCode_t; + typedef long QosPolicyId_t; + typedef sequence<string> StringSeq; + + struct Duration_t { + long sec; + unsigned long nanosec; + }; + + struct Time_t { + long sec; + unsigned long nanosec; + }; + + // ---------------------------------------------------------------------- + // Pre-defined values + // ---------------------------------------------------------------------- + //const InstanceHandle_t HANDLE_NIL = 0; + + const long LENGTH_UNLIMITED = -1; + + const long DURATION_INFINITE_SEC = 0x7fffffff; + const unsigned long DURATION_INFINITE_NSEC = 0x7fffffff; + + const long DURATION_ZERO_SEC = 0; + const unsigned long DURATION_ZERO_NSEC = 0; + + const long TIME_INVALID_SEC = -1; + const unsigned long TIME_INVALID_NSEC = 0xffffffff; + + // ---------------------------------------------------------------------- + // Return codes + // ---------------------------------------------------------------------- + const ReturnCode_t RETCODE_OK = 0; + const ReturnCode_t RETCODE_ERROR = 1; + const ReturnCode_t RETCODE_UNSUPPORTED = 2; + const ReturnCode_t RETCODE_BAD_PARAMETER = 3; + const ReturnCode_t RETCODE_PRECONDITION_NOT_MET = 4; + const ReturnCode_t RETCODE_OUT_OF_RESOURCES = 5; + const ReturnCode_t RETCODE_NOT_ENABLED = 6; + const ReturnCode_t RETCODE_IMMUTABLE_POLICY = 7; + const ReturnCode_t RETCODE_INCONSISTENT_POLICY = 8; + const ReturnCode_t RETCODE_ALREADY_DELETED = 9; + const ReturnCode_t RETCODE_TIMEOUT = 10; + const ReturnCode_t RETCODE_NO_DATA = 11; + const ReturnCode_t RETCODE_ILLEGAL_OPERATION = 12; + + // ---------------------------------------------------------------------- + // Status to support listeners and conditions + // ---------------------------------------------------------------------- + + typedef unsigned long StatusKind; + typedef unsigned long StatusMask; // bit-mask StatusKind + + const StatusKind INCONSISTENT_TOPIC_STATUS = 0x0001 << 0; + const StatusKind OFFERED_DEADLINE_MISSED_STATUS = 0x0001 << 1; + const StatusKind REQUESTED_DEADLINE_MISSED_STATUS = 0x0001 << 2; + const StatusKind OFFERED_INCOMPATIBLE_QOS_STATUS = 0x0001 << 5; + const StatusKind REQUESTED_INCOMPATIBLE_QOS_STATUS = 0x0001 << 6; + const StatusKind SAMPLE_LOST_STATUS = 0x0001 << 7; + const StatusKind SAMPLE_REJECTED_STATUS = 0x0001 << 8; + const StatusKind DATA_ON_READERS_STATUS = 0x0001 << 9; + const StatusKind DATA_AVAILABLE_STATUS = 0x0001 << 10; + const StatusKind LIVELINESS_LOST_STATUS = 0x0001 << 11; + const StatusKind LIVELINESS_CHANGED_STATUS = 0x0001 << 12; + const StatusKind PUBLICATION_MATCHED_STATUS = 0x0001 << 13; + const StatusKind SUBSCRIPTION_MATCHED_STATUS = 0x0001 << 14; + const StatusKind RELIABLE_WRITER_CACHE_CHANGED_STATUS = 0x00000001 << 24; + const StatusKind RELIABLE_READER_ACTIVITY_CHANGED_STATUS = 0x00000001 << 25; + + struct InconsistentTopicStatus { + long total_count; + long total_count_change; + }; + + struct SampleLostStatus { + long total_count; + long total_count_change; + }; + + enum SampleRejectedStatusKind { + NOT_REJECTED, + REJECTED_BY_INSTANCES_LIMIT, + REJECTED_BY_SAMPLES_LIMIT, + REJECTED_BY_SAMPLES_PER_INSTANCE_LIMIT + }; + + struct SampleRejectedStatus { + long total_count; + long total_count_change; + SampleRejectedStatusKind last_reason; + InstanceHandle_t last_instance_handle; + }; + + struct LivelinessLostStatus { + long total_count; + long total_count_change; + }; + + struct LivelinessChangedStatus { + long alive_count; + long not_alive_count; + long alive_count_change; + long not_alive_count_change; + InstanceHandle_t last_publication_handle; + }; + + struct OfferedDeadlineMissedStatus { + long total_count; + long total_count_change; + InstanceHandle_t last_instance_handle; + }; + + struct RequestedDeadlineMissedStatus { + long total_count; + long total_count_change; + InstanceHandle_t last_instance_handle; + }; + + struct QosPolicyCount { + QosPolicyId_t policy_id; + long count; + }; + + typedef sequence<QosPolicyCount> QosPolicyCountSeq; + + struct OfferedIncompatibleQosStatus { + long total_count; + long total_count_change; + QosPolicyId_t last_policy_id; + QosPolicyCountSeq policies; + }; + + struct RequestedIncompatibleQosStatus { + long total_count; + long total_count_change; + QosPolicyId_t last_policy_id; + QosPolicyCountSeq policies; + }; + + struct PublicationMatchedStatus { + long total_count; + long total_count_change; + long current_count; + long current_count_change; + InstanceHandle_t last_subscription_handle; + }; + + struct SubscriptionMatchedStatus { + long total_count; + long total_count_change; + long current_count; + long current_count_change; + InstanceHandle_t last_publication_handle; + }; + + struct ReliableReaderActivityChangedStatus { + long active_count; + long inactive_count; + long active_count_change; + long inactive_count_change; + InstanceHandle_t last_instance_handle; + }; + + struct ReliableWriterCacheEventCount { + long total_count; + long total_count_change; + }; + + struct ReliableWriterCacheChangedStatus { + ReliableWriterCacheEventCount empty_reliable_writer_cache; + ReliableWriterCacheEventCount full_reliable_writer_cache; + ReliableWriterCacheEventCount low_watermark_reliable_writer_cache; + ReliableWriterCacheEventCount high_watermark_reliable_writer_cache; + long unacknowledged_sample_count; + long unacknowledged_sample_count_peak; + }; + + // ---------------------------------------------------------------------- + // Listeners + // ---------------------------------------------------------------------- + + local interface Listener; + local interface Entity; + local interface TopicDescription; + local interface Topic; + local interface ContentFilteredTopic; + local interface MultiTopic; + local interface DataWriter; + local interface DataReader; + local interface Subscriber; + local interface Publisher; + + typedef sequence<DataReader> DataReaderSeq; + + local interface Listener {}; + + local interface TopicListener : Listener { + void on_inconsistent_topic(in Topic the_topic, + in InconsistentTopicStatus status); + }; + + local interface DataWriterListener : Listener { + void on_offered_deadline_missed( + in DataWriter writer, + in OfferedDeadlineMissedStatus status); + void on_offered_incompatible_qos( + in DataWriter writer, + in OfferedIncompatibleQosStatus status); + void on_liveliness_lost( + in DataWriter writer, + in LivelinessLostStatus status); + void on_publication_matched( + in DataWriter writer, + in PublicationMatchedStatus status); + void on_reliable_writer_cache_changed ( + in DataWriter writer, + in ReliableWriterCacheChangedStatus status); + void on_reliable_reader_activity_changed ( + in DataWriter writer, + in ReliableReaderActivityChangedStatus status); + }; + + local interface PublisherListener : DataWriterListener { + }; + + local interface DataReaderListener : Listener { + void on_requested_deadline_missed( + in DataReader the_reader, + in RequestedDeadlineMissedStatus status); + void on_requested_incompatible_qos( + in DataReader the_reader, + in RequestedIncompatibleQosStatus status); + void on_sample_rejected( + in DataReader the_reader, + in SampleRejectedStatus status); + void on_liveliness_changed( + in DataReader the_reader, + in LivelinessChangedStatus status); + void on_data_available( + in DataReader the_reader); + void on_subscription_matched( + in DataReader the_reader, + in SubscriptionMatchedStatus status); + void on_sample_lost( + in DataReader the_reader, + in SampleLostStatus status); + }; + + local interface SubscriberListener : DataReaderListener { + void on_data_on_readers( + in Subscriber the_subscriber); + }; + + + local interface DomainParticipantListener : TopicListener, + PublisherListener, + SubscriberListener { + }; + + + // ---------------------------------------------------------------------- + // Conditions + // ---------------------------------------------------------------------- + + local interface Condition { + boolean get_trigger_value(); + }; + + typedef sequence<Condition> ConditionSeq; + + local interface WaitSet { + ReturnCode_t wait( + inout ConditionSeq active_conditions, + in Duration_t timeout); + ReturnCode_t attach_condition( + in Condition cond); + ReturnCode_t detach_condition( + in Condition cond); + ReturnCode_t get_conditions( + inout ConditionSeq attached_conditions); + }; + + local interface GuardCondition : Condition { + ReturnCode_t set_trigger_value( + in boolean value); + }; + + local interface StatusCondition : Condition { + StatusMask get_enabled_statuses(); + ReturnCode_t set_enabled_statuses( + in StatusMask mask); + Entity get_entity(); + }; + + // Sample states to support reads + typedef unsigned long SampleStateKind; + const SampleStateKind READ_SAMPLE_STATE = 0x0001 << 0; + const SampleStateKind NOT_READ_SAMPLE_STATE = 0x0001 << 1; + + // This is a bit-mask SampleStateKind + typedef unsigned long SampleStateMask; + const SampleStateMask ANY_SAMPLE_STATE = 0xffff; + + // View states to support reads + typedef unsigned long ViewStateKind; + const ViewStateKind NEW_VIEW_STATE = 0x0001 << 0; + const ViewStateKind NOT_NEW_VIEW_STATE = 0x0001 << 1; + + // This is a bit-mask ViewStateKind + typedef unsigned long ViewStateMask; + const ViewStateMask ANY_VIEW_STATE = 0xffff; + + // Instance states to support reads + typedef unsigned long InstanceStateKind; + const InstanceStateKind ALIVE_INSTANCE_STATE = 0x0001 << 0; + const InstanceStateKind NOT_ALIVE_DISPOSED_INSTANCE_STATE = 0x0001 << 1; + const InstanceStateKind NOT_ALIVE_NO_WRITERS_INSTANCE_STATE = 0x0001 << 2; + + // This is a bit-mask InstanceStateKind + typedef unsigned long InstanceStateMask; + const InstanceStateMask ANY_INSTANCE_STATE = 0xffff; + const InstanceStateMask NOT_ALIVE_INSTANCE_STATE = 0x006; + + + local interface ReadCondition : Condition { + SampleStateMask get_sample_state_mask(); + ViewStateMask get_view_state_mask(); + InstanceStateMask get_instance_state_mask(); + DataReader get_datareader(); + }; + + local interface QueryCondition : ReadCondition { + string get_query_expression(); + ReturnCode_t get_query_parameters( + inout StringSeq query_parameters); + ReturnCode_t set_query_parameters( + in StringSeq query_parameters); + }; + + // ---------------------------------------------------------------------- + // Qos + // ---------------------------------------------------------------------- + const string USERDATA_QOS_POLICY_NAME = "UserData"; + const string DURABILITY_QOS_POLICY_NAME = "Durability"; + const string PRESENTATION_QOS_POLICY_NAME = "Presentation"; + const string DEADLINE_QOS_POLICY_NAME = "Deadline"; + const string LATENCYBUDGET_QOS_POLICY_NAME = "LatencyBudget"; + const string OWNERSHIP_QOS_POLICY_NAME = "Ownership"; + const string OWNERSHIPSTRENGTH_QOS_POLICY_NAME = "OwnershipStrength"; + const string LIVELINESS_QOS_POLICY_NAME = "Liveliness"; + const string TIMEBASEDFILTER_QOS_POLICY_NAME = "TimeBasedFilter"; + const string PARTITION_QOS_POLICY_NAME = "Partition"; + const string RELIABILITY_QOS_POLICY_NAME = "Reliability"; + const string DESTINATIONORDER_QOS_POLICY_NAME = "DestinationOrder"; + const string HISTORY_QOS_POLICY_NAME = "History"; + const string RESOURCELIMITS_QOS_POLICY_NAME = "ResourceLimits"; + const string ENTITYFACTORY_QOS_POLICY_NAME = "EntityFactory"; + const string WRITERDATALIFECYCLE_QOS_POLICY_NAME = "WriterDataLifecycle"; + const string READERDATALIFECYCLE_QOS_POLICY_NAME = "ReaderDataLifecycle"; + const string TOPICDATA_QOS_POLICY_NAME = "TopicData"; + const string GROUPDATA_QOS_POLICY_NAME = "TransportPriority"; + const string LIFESPAN_QOS_POLICY_NAME = "Lifespan"; + const string DURABILITYSERVICE_POLICY_NAME = "DurabilityService"; + + const QosPolicyId_t INVALID_QOS_POLICY_ID = 0; + const QosPolicyId_t USERDATA_QOS_POLICY_ID = 1; + const QosPolicyId_t DURABILITY_QOS_POLICY_ID = 2; + const QosPolicyId_t PRESENTATION_QOS_POLICY_ID = 3; + const QosPolicyId_t DEADLINE_QOS_POLICY_ID = 4; + const QosPolicyId_t LATENCYBUDGET_QOS_POLICY_ID = 5; + const QosPolicyId_t OWNERSHIP_QOS_POLICY_ID = 6; + const QosPolicyId_t OWNERSHIPSTRENGTH_QOS_POLICY_ID = 7; + const QosPolicyId_t LIVELINESS_QOS_POLICY_ID = 8; + const QosPolicyId_t TIMEBASEDFILTER_QOS_POLICY_ID = 9; + const QosPolicyId_t PARTITION_QOS_POLICY_ID = 10; + const QosPolicyId_t RELIABILITY_QOS_POLICY_ID = 11; + const QosPolicyId_t DESTINATIONORDER_QOS_POLICY_ID = 12; + const QosPolicyId_t HISTORY_QOS_POLICY_ID = 13; + const QosPolicyId_t RESOURCELIMITS_QOS_POLICY_ID = 14; + const QosPolicyId_t ENTITYFACTORY_QOS_POLICY_ID = 15; + const QosPolicyId_t WRITERDATALIFECYCLE_QOS_POLICY_ID = 16; + const QosPolicyId_t READERDATALIFECYCLE_QOS_POLICY_ID = 17; + const QosPolicyId_t TOPICDATA_QOS_POLICY_ID = 18; + const QosPolicyId_t GROUPDATA_QOS_POLICY_ID = 19; + const QosPolicyId_t TRANSPORTPRIORITY_QOS_POLICY_ID = 20; + const QosPolicyId_t LIFESPAN_QOS_POLICY_ID = 21; + const QosPolicyId_t DURABILITYSERVICE_QOS_POLICY_ID = 22; + + typedef sequence<octet> OctetSeq; + struct UserDataQosPolicy { + OctetSeq value; + }; + + struct TopicDataQosPolicy { + OctetSeq value; + }; + + struct GroupDataQosPolicy { + OctetSeq value; + }; + + struct TransportPriorityQosPolicy { + long value; + }; + + struct LifespanQosPolicy { + Duration_t duration; + }; + + enum DurabilityQosPolicyKind { + VOLATILE_DURABILITY_QOS, + TRANSIENT_LOCAL_DURABILITY_QOS, + TRANSIENT_DURABILITY_QOS, + PERSISTENT_DURABILITY_QOS + }; + struct DurabilityQosPolicy { + DurabilityQosPolicyKind kind; + }; + + enum PresentationQosPolicyAccessScopeKind { + INSTANCE_PRESENTATION_QOS, + TOPIC_PRESENTATION_QOS, + GROUP_PRESENTATION_QOS + }; + struct PresentationQosPolicy { + PresentationQosPolicyAccessScopeKind access_scope; + boolean coherent_access; + boolean ordered_access; + }; + + struct DeadlineQosPolicy { + Duration_t period; + }; + + struct LatencyBudgetQosPolicy { + Duration_t duration; + }; + + enum OwnershipQosPolicyKind { + SHARED_OWNERSHIP_QOS, + EXCLUSIVE_OWNERSHIP_QOS + }; + struct OwnershipQosPolicy { + OwnershipQosPolicyKind kind; + }; + + struct OwnershipStrengthQosPolicy { + long value; + }; + + enum LivelinessQosPolicyKind { + AUTOMATIC_LIVELINESS_QOS, + MANUAL_BY_PARTICIPANT_LIVELINESS_QOS, + MANUAL_BY_TOPIC_LIVELINESS_QOS + }; + + struct LivelinessQosPolicy { + LivelinessQosPolicyKind kind; + Duration_t lease_duration; + }; + + struct TimeBasedFilterQosPolicy { + Duration_t minimum_separation; + }; + + struct PartitionQosPolicy { + StringSeq name; + }; + + enum ReliabilityQosPolicyKind { + BEST_EFFORT_RELIABILITY_QOS, + RELIABLE_RELIABILITY_QOS + }; + + struct ReliabilityQosPolicy { + ReliabilityQosPolicyKind kind; + Duration_t max_blocking_time; + }; + + enum DestinationOrderQosPolicyKind { + BY_RECEPTION_TIMESTAMP_DESTINATIONORDER_QOS, + BY_SOURCE_TIMESTAMP_DESTINATIONORDER_QOS + }; + struct DestinationOrderQosPolicy { + DestinationOrderQosPolicyKind kind; + }; + + enum HistoryQosPolicyKind { + KEEP_LAST_HISTORY_QOS, + KEEP_ALL_HISTORY_QOS + }; + struct HistoryQosPolicy { + HistoryQosPolicyKind kind; + long depth; + }; + + struct ResourceLimitsQosPolicy { + long max_samples; + long max_instances; + long max_samples_per_instance; + }; + + struct EntityFactoryQosPolicy { + boolean autoenable_created_entities; + }; + + struct WriterDataLifecycleQosPolicy { + boolean autodispose_unregistered_instances; + }; + + struct ReaderDataLifecycleQosPolicy { + Duration_t autopurge_nowriter_samples_delay; + Duration_t autopurge_disposed_samples_delay; + }; + + struct DurabilityServiceQosPolicy { + Duration_t service_cleanup_delay; + HistoryQosPolicyKind history_kind; + long history_depth; + long max_samples; + long max_instances; + long max_samples_per_instance; + }; + + struct DomainParticipantFactoryQos { + EntityFactoryQosPolicy entity_factory; + }; + + struct DomainParticipantQos { + UserDataQosPolicy user_data; + EntityFactoryQosPolicy entity_factory; + }; + + struct TopicQos { + TopicDataQosPolicy topic_data; + DurabilityQosPolicy durability; + DurabilityServiceQosPolicy durability_service; + DeadlineQosPolicy deadline; + LatencyBudgetQosPolicy latency_budget; + LivelinessQosPolicy liveliness; + ReliabilityQosPolicy reliability; + DestinationOrderQosPolicy destination_order; + HistoryQosPolicy history; + ResourceLimitsQosPolicy resource_limits; + TransportPriorityQosPolicy transport_priority; + LifespanQosPolicy lifespan; + + OwnershipQosPolicy ownership; + }; + + struct DataWriterQos { + DurabilityQosPolicy durability; + DurabilityServiceQosPolicy durability_service; + DeadlineQosPolicy deadline; + LatencyBudgetQosPolicy latency_budget; + LivelinessQosPolicy liveliness; + ReliabilityQosPolicy reliability; + DestinationOrderQosPolicy destination_order; + HistoryQosPolicy history; + ResourceLimitsQosPolicy resource_limits; + TransportPriorityQosPolicy transport_priority; + LifespanQosPolicy lifespan; + + UserDataQosPolicy user_data; + OwnershipQosPolicy ownership; + OwnershipStrengthQosPolicy ownership_strength; + WriterDataLifecycleQosPolicy writer_data_lifecycle; + }; + + struct PublisherQos { + PresentationQosPolicy presentation; + PartitionQosPolicy partition; + GroupDataQosPolicy group_data; + EntityFactoryQosPolicy entity_factory; + }; + + struct DataReaderQos { + DurabilityQosPolicy durability; + DeadlineQosPolicy deadline; + LatencyBudgetQosPolicy latency_budget; + LivelinessQosPolicy liveliness; + ReliabilityQosPolicy reliability; + DestinationOrderQosPolicy destination_order; + HistoryQosPolicy history; + ResourceLimitsQosPolicy resource_limits; + + UserDataQosPolicy user_data; + OwnershipQosPolicy ownership; + TimeBasedFilterQosPolicy time_based_filter; + ReaderDataLifecycleQosPolicy reader_data_lifecycle; + }; + + struct SubscriberQos { + PresentationQosPolicy presentation; + PartitionQosPolicy partition; + GroupDataQosPolicy group_data; + EntityFactoryQosPolicy entity_factory; + }; + + // ---------------------------------------------------------------------- + + struct ParticipantBuiltinTopicData { + BuiltinTopicKey_t key; + UserDataQosPolicy user_data; + }; + + struct TopicBuiltinTopicData { + BuiltinTopicKey_t key; + string name; + string type_name; + DurabilityQosPolicy durability; + DurabilityServiceQosPolicy durability_service; + DeadlineQosPolicy deadline; + LatencyBudgetQosPolicy latency_budget; + LivelinessQosPolicy liveliness; + ReliabilityQosPolicy reliability; + TransportPriorityQosPolicy transport_priority; + LifespanQosPolicy lifespan; + DestinationOrderQosPolicy destination_order; + HistoryQosPolicy history; + ResourceLimitsQosPolicy resource_limits; + OwnershipQosPolicy ownership; + TopicDataQosPolicy topic_data; + }; + + struct PublicationBuiltinTopicData { + BuiltinTopicKey_t key; + BuiltinTopicKey_t participant_key; + string topic_name; + string type_name; + + DurabilityQosPolicy durability; + DurabilityServiceQosPolicy durability_service; + DeadlineQosPolicy deadline; + LatencyBudgetQosPolicy latency_budget; + LivelinessQosPolicy liveliness; + ReliabilityQosPolicy reliability; + LifespanQosPolicy lifespan; + UserDataQosPolicy user_data; + OwnershipQosPolicy ownership; + OwnershipStrengthQosPolicy ownership_strength; + DestinationOrderQosPolicy destination_order; + + PresentationQosPolicy presentation; + PartitionQosPolicy partition; + TopicDataQosPolicy topic_data; + GroupDataQosPolicy group_data; + }; + + struct SubscriptionBuiltinTopicData { + BuiltinTopicKey_t key; + BuiltinTopicKey_t participant_key; + string topic_name; + string type_name; + + DurabilityQosPolicy durability; + DeadlineQosPolicy deadline; + LatencyBudgetQosPolicy latency_budget; + LivelinessQosPolicy liveliness; + ReliabilityQosPolicy reliability; + OwnershipQosPolicy ownership; + DestinationOrderQosPolicy destination_order; + UserDataQosPolicy user_data; + TimeBasedFilterQosPolicy time_based_filter; + + PresentationQosPolicy presentation; + PartitionQosPolicy partition; + TopicDataQosPolicy topic_data; + GroupDataQosPolicy group_data; + }; + + // ---------------------------------------------------------------------- + local interface Entity { + // ReturnCode_t set_qos( + // in EntityQos qos); + // ReturnCode_t get_qos( + // inout EntityQos qos); + // ReturnCode_t set_listener( + // in Listener l, + // in StatusMask mask); + // Listener get_listener(); + + ReturnCode_t enable(); + + StatusCondition get_statuscondition(); + + StatusMask get_status_changes(); + + InstanceHandle_t get_instance_handle(); + }; + + // ---------------------------------------------------------------------- + local interface DomainParticipant : Entity { + // Factory interfaces + Publisher create_publisher( + in PublisherQos qos, + in PublisherListener a_listener, + in StatusMask mask); + Publisher create_publisher_with_profile( + in string qos_profile, + in PublisherListener a_listener, + in StatusMask mask); + ReturnCode_t delete_publisher( + in Publisher p); + + Subscriber create_subscriber( + in SubscriberQos qos, + in SubscriberListener a_listener, + in StatusMask mask); + Subscriber create_subscriber_with_profile( + in string qos_profile, + in SubscriberListener a_listener, + in StatusMask mask); + ReturnCode_t delete_subscriber( + in Subscriber s); + Subscriber get_builtin_subscriber(); + + Topic create_topic( + in string topic_name, + in string type_name, + in TopicQos qos, + in TopicListener a_listener, + in StatusMask mask); + Topic create_topic_with_profile( + in string topic_name, + in string type_name, + in string qos_profile, + in TopicListener a_listener, + in StatusMask mask); + + ReturnCode_t delete_topic( + in Topic a_topic); + + Topic find_topic( + in string topic_name, + in Duration_t timeout); + TopicDescription lookup_topicdescription( + in string name); + + ContentFilteredTopic create_contentfilteredtopic( + in string name, + in Topic related_topic, + in string filter_expression, + in StringSeq expression_parameters); + + ReturnCode_t delete_contentfilteredtopic( + in ContentFilteredTopic a_contentfilteredtopic); + + MultiTopic create_multitopic( + in string name, + in string type_name, + in string subscription_expression, + in StringSeq expression_parameters); + + ReturnCode_t delete_multitopic( + in MultiTopic a_multitopic); + + ReturnCode_t delete_contained_entities(); + + ReturnCode_t set_qos( + in DomainParticipantQos qos); + ReturnCode_t get_qos( + inout DomainParticipantQos qos); + + ReturnCode_t set_listener( + in DomainParticipantListener a_listener, + in StatusMask mask); + DomainParticipantListener get_listener(); + + ReturnCode_t ignore_participant( + in InstanceHandle_t handle); + ReturnCode_t ignore_topic( + in InstanceHandle_t handle); + ReturnCode_t ignore_publication( + in InstanceHandle_t handle); + ReturnCode_t ignore_subscription( + in InstanceHandle_t handle); + + DomainId_t get_domain_id(); + ReturnCode_t assert_liveliness(); + + ReturnCode_t set_default_publisher_qos( + in PublisherQos qos); + ReturnCode_t get_default_publisher_qos( + inout PublisherQos qos); + + ReturnCode_t set_default_subscriber_qos( + in SubscriberQos qos); + ReturnCode_t get_default_subscriber_qos( + inout SubscriberQos qos); + + ReturnCode_t set_default_topic_qos( + in TopicQos qos); + ReturnCode_t get_default_topic_qos( + inout TopicQos qos); + + ReturnCode_t get_discovered_participants( + inout InstanceHandleSeq participant_handles); + ReturnCode_t get_discovered_participant_data( + inout ParticipantBuiltinTopicData participant_data, + in InstanceHandle_t participant_handle); + + ReturnCode_t get_discovered_topics( + inout InstanceHandleSeq topic_handles); + ReturnCode_t get_discovered_topic_data( + inout TopicBuiltinTopicData topic_data, + in InstanceHandle_t topic_handle); + + boolean contains_entity( + in InstanceHandle_t a_handle); + + ReturnCode_t get_current_time( + inout Time_t current_time); + }; + + local interface DomainParticipantFactory { + DomainParticipant create_participant( + in DomainId_t domain_id, + in DomainParticipantQos qos, + in DomainParticipantListener a_listener, + in StatusMask mask); + DomainParticipant create_participant_with_profile( + in DomainId_t domain_id, + in string qos_profile, + in DomainParticipantListener a_listener, + in StatusMask mask); + ReturnCode_t delete_participant( + in DomainParticipant a_participant); + + DomainParticipant lookup_participant( + in DomainId_t domain_id); + + ReturnCode_t set_default_participant_qos( + in DomainParticipantQos qos); + ReturnCode_t set_default_participant_qos_with_profile( + in string qos_profile); + ReturnCode_t get_default_participant_qos( + inout DomainParticipantQos qos); + + ReturnCode_t set_qos( + in DomainParticipantFactoryQos qos); + ReturnCode_t get_qos( + inout DomainParticipantFactoryQos qos); + }; + + local interface TypeSupport { + ReturnCode_t register_type( + in DomainParticipant domain, + in string type_name); + string get_type_name(); + }; + + // ---------------------------------------------------------------------- + local interface TopicDescription { + string get_type_name(); + string get_name(); + + DomainParticipant get_participant(); + }; + + local interface Topic : Entity, TopicDescription { + ReturnCode_t set_qos( + in TopicQos qos); + ReturnCode_t get_qos( + inout TopicQos qos); + ReturnCode_t set_listener( + in TopicListener a_listener, + in StatusMask mask); + TopicListener get_listener(); + // Access the status + ReturnCode_t get_inconsistent_topic_status( + inout InconsistentTopicStatus a_status); + }; + + local interface ContentFilteredTopic : TopicDescription { + string get_filter_expression(); + ReturnCode_t get_expression_parameters( + inout StringSeq expression_parameters); + ReturnCode_t set_expression_parameters( + in StringSeq expression_parameters); + Topic get_related_topic(); + }; + + local interface MultiTopic : TopicDescription { + string get_subscription_expression(); + ReturnCode_t get_expression_parameters( + inout StringSeq expression_parameters); + ReturnCode_t set_expression_parameters( + in StringSeq expression_parameters); + }; + + // ---------------------------------------------------------------------- + local interface Publisher : Entity { + DataWriter create_datawriter( + in Topic a_topic, + in DataWriterQos qos, + in DataWriterListener a_listener, + in StatusMask mask); + DataWriter create_datawriter_with_profile( + in Topic a_topic, + in string qos_profile, + in DataWriterListener a_listener, + in StatusMask mask); + ReturnCode_t delete_datawriter( + in DataWriter a_datawriter); + DataWriter lookup_datawriter( + in string topic_name); + + ReturnCode_t delete_contained_entities(); + + ReturnCode_t set_qos( + in PublisherQos qos); + ReturnCode_t get_qos( + inout PublisherQos qos); + + ReturnCode_t set_listener( + in PublisherListener a_listener, + in StatusMask mask); + PublisherListener get_listener(); + + ReturnCode_t suspend_publications(); + ReturnCode_t resume_publications(); + + ReturnCode_t begin_coherent_changes(); + ReturnCode_t end_coherent_changes(); + + ReturnCode_t wait_for_acknowledgments( + in Duration_t max_wait); + + DomainParticipant get_participant(); + + ReturnCode_t set_default_datawriter_qos( + in DataWriterQos qos); + ReturnCode_t get_default_datawriter_qos( + inout DataWriterQos qos); + + ReturnCode_t copy_from_topic_qos( + inout DataWriterQos a_datawriter_qos, + in TopicQos a_topic_qos); + }; + + local interface DataWriter : Entity { + ReturnCode_t set_qos( + in DataWriterQos qos); + ReturnCode_t get_qos( + inout DataWriterQos qos); + + ReturnCode_t set_listener( + in DataWriterListener a_listener, + in StatusMask mask); + DataWriterListener get_listener(); + + Topic get_topic(); + Publisher get_publisher(); + + ReturnCode_t wait_for_acknowledgments( + in Duration_t max_wait); + + // Access the status + ReturnCode_t get_liveliness_lost_status( + inout LivelinessLostStatus status); + ReturnCode_t get_offered_deadline_missed_status( + inout OfferedDeadlineMissedStatus status); + ReturnCode_t get_offered_incompatible_qos_status( + inout OfferedIncompatibleQosStatus status); + ReturnCode_t get_publication_matched_status( + inout PublicationMatchedStatus status); + + ReturnCode_t assert_liveliness(); + + ReturnCode_t get_matched_subscriptions( + inout InstanceHandleSeq subscription_handles); + ReturnCode_t get_matched_subscription_data( + inout SubscriptionBuiltinTopicData subscription_data, + in InstanceHandle_t subscription_handle); + }; + + // ---------------------------------------------------------------------- + local interface Subscriber : Entity { + DataReader create_datareader( + in TopicDescription a_topic, + in DataReaderQos qos, + in DataReaderListener a_listener, + in StatusMask mask); + DataReader create_datareader_with_profile( + in TopicDescription a_topic, + in string qos_profile, + in DataReaderListener a_listener, + in StatusMask mask); + ReturnCode_t delete_datareader( + in DataReader a_datareader); + ReturnCode_t delete_contained_entities(); + DataReader lookup_datareader( + in string topic_name); + ReturnCode_t get_datareaders( + inout DataReaderSeq readers, + in SampleStateMask sample_states, + in ViewStateMask view_states, + in InstanceStateMask instance_states); + ReturnCode_t notify_datareaders(); + + ReturnCode_t set_qos( + in SubscriberQos qos); + ReturnCode_t get_qos( + inout SubscriberQos qos); + + ReturnCode_t set_listener( + in SubscriberListener a_listener, + in StatusMask mask); + SubscriberListener get_listener(); + + ReturnCode_t begin_access(); + ReturnCode_t end_access(); + + DomainParticipant get_participant(); + + ReturnCode_t set_default_datareader_qos( + in DataReaderQos qos); + ReturnCode_t get_default_datareader_qos( + inout DataReaderQos qos); + + ReturnCode_t copy_from_topic_qos( + inout DataReaderQos a_datareader_qos, + in TopicQos a_topic_qos); + }; + + local interface DataReader : Entity { + ReadCondition create_readcondition( + in SampleStateMask sample_states, + in ViewStateMask view_states, + in InstanceStateMask instance_states); + + QueryCondition create_querycondition( + in SampleStateMask sample_states, + in ViewStateMask view_states, + in InstanceStateMask instance_states, + in string query_expression, + in StringSeq query_parameters); + + ReturnCode_t delete_readcondition( + in ReadCondition a_condition); + + ReturnCode_t delete_contained_entities(); + + ReturnCode_t set_qos( + in DataReaderQos qos); + ReturnCode_t get_qos( + inout DataReaderQos qos); + + ReturnCode_t set_listener( + in DataReaderListener a_listener, + in StatusMask mask); + DataReaderListener get_listener(); + + TopicDescription get_topicdescription(); + Subscriber get_subscriber(); + + ReturnCode_t get_sample_rejected_status( + inout SampleRejectedStatus status); + ReturnCode_t get_liveliness_changed_status( + inout LivelinessChangedStatus status); + ReturnCode_t get_requested_deadline_missed_status( + inout RequestedDeadlineMissedStatus status); + ReturnCode_t get_requested_incompatible_qos_status( + inout RequestedIncompatibleQosStatus status); + ReturnCode_t get_subscription_matched_status( + inout SubscriptionMatchedStatus status); + ReturnCode_t get_sample_lost_status( + inout SampleLostStatus status); + + ReturnCode_t wait_for_historical_data( + in Duration_t max_wait); + + ReturnCode_t get_matched_publications( + inout InstanceHandleSeq publication_handles); + ReturnCode_t get_matched_publication_data( + inout PublicationBuiltinTopicData publication_data, + in InstanceHandle_t publication_handle); + }; + + struct SampleInfo { + SampleStateKind sample_state; + ViewStateKind view_state; + InstanceStateKind instance_state; + Time_t source_timestamp; + InstanceHandle_t instance_handle; + InstanceHandle_t publication_handle; + long disposed_generation_count; + long no_writers_generation_count; + long sample_rank; + long generation_rank; + long absolute_generation_rank; + boolean valid_data; + }; + + typedef sequence<SampleInfo> SampleInfoSeq; +}; + +#endif diff --git a/CIAO/connectors/dds4ccm/idl/dds_rtf2_dcps_i_handle.idl b/CIAO/connectors/dds4ccm/idl/ndds/ndds_dcps_i_handle.idl index c351df2b6f4..f1fe41405e9 100644 --- a/CIAO/connectors/dds4ccm/idl/dds_rtf2_dcps_i_handle.idl +++ b/CIAO/connectors/dds4ccm/idl/ndds/ndds_dcps_i_handle.idl @@ -1,11 +1,10 @@ // $Id$ -#ifndef DDS_RFT2_DCPS_IDL_I -#define DDS_RFT2_DCPS_IDL_I +#ifndef NDDS_DCPS_IDL_I +#define NDDS_DCPS_IDL_I -#pragma ciao lem "connectors/dds4ccm/idl/dds_rtf2_dcps_i_handleE.idl" +#pragma ciao lem "connectors/dds4ccm/idl/ndds/ndds_dcps_i_handleE.idl" -#if (CIAO_DDS4CCM_NDDS==1) module DDS { typedef octet octet_value[16]; struct NativeInstanceHandle_t { @@ -17,7 +16,6 @@ module DDS { typedef sequence<InstanceHandle_t> InstanceHandleSeq; }; -#endif #endif diff --git a/CIAO/connectors/dds4ccm/idl/ndds/ndds_dcps_instance_handle.idl b/CIAO/connectors/dds4ccm/idl/ndds/ndds_dcps_instance_handle.idl new file mode 100644 index 00000000000..84e66db8c48 --- /dev/null +++ b/CIAO/connectors/dds4ccm/idl/ndds/ndds_dcps_instance_handle.idl @@ -0,0 +1,12 @@ +// $Id$ + +#ifndef NDDS_DCPS_INSTANCE_HANDLE_IDL +#define NDDS_DCPS_INSTANCE_HANDLE_IDL + +#include "connectors/dds4ccm/idl/ndds/ndds_dcps_i_handle.idl" + +module DDS { + native HANDLE_NIL; +}; + +#endif diff --git a/CIAO/connectors/dds4ccm/idl/dds_rtf2_dcps_instance_handleC.cpp b/CIAO/connectors/dds4ccm/idl/ndds/ndds_dcps_instance_handleC.cpp index 3fe4af04da8..bb603914e2d 100644 --- a/CIAO/connectors/dds4ccm/idl/dds_rtf2_dcps_instance_handleC.cpp +++ b/CIAO/connectors/dds4ccm/idl/ndds/ndds_dcps_instance_handleC.cpp @@ -1,9 +1,7 @@ // -*- C++ -*- // $Id$ -#include "dds_rtf2_dcps_instance_handleC.h" - -#if defined (CIAO_DDS4CCM_NDDS) && (CIAO_DDS4CCM_NDDS==1) +#include "ndds_dcps_instance_handleC.h" static ::DDS::InstanceHandle_t S_HANDLE = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 16, 0}; @@ -12,4 +10,3 @@ namespace DDS ::DDS::InstanceHandle_t const HANDLE_NIL = S_HANDLE; } -#endif diff --git a/CIAO/connectors/dds4ccm/idl/dds_rtf2_dcps_instance_handleC.h b/CIAO/connectors/dds4ccm/idl/ndds/ndds_dcps_instance_handleC.h index 9d8723910b7..44c07445031 100644 --- a/CIAO/connectors/dds4ccm/idl/dds_rtf2_dcps_instance_handleC.h +++ b/CIAO/connectors/dds4ccm/idl/ndds/ndds_dcps_instance_handleC.h @@ -13,23 +13,16 @@ #endif /* ACE_LACKS_PRAGMA_ONCE */ -#include /**/ "dds4ccm_stub_export.h" +#include /**/ "ndds_stub_export.h" #include /**/ "tao/Versioned_Namespace.h" -#include "dds_rtf2_dcps_i_handleC.h" - -// TAO_IDL - Generated from -// c:\ace\latest\ace_wrappers\tao\tao_idl\be\be_visitor_root/root_ch.cpp:62 - -#if defined (CIAO_DDS4CCM_NDDS) && (CIAO_DDS4CCM_NDDS==1) +#include "ndds_dcps_i_handleC.h" namespace DDS { - extern DDS4CCM_STUB_Export ::DDS::InstanceHandle_t const HANDLE_NIL; + extern NDDS_STUB_Export ::DDS::InstanceHandle_t const HANDLE_NIL; } -#endif - #include /**/ "ace/post.h" #endif /* ifndef */ diff --git a/CIAO/connectors/dds4ccm/idl/dds_rtf2_dcps_instance_handleEC.h b/CIAO/connectors/dds4ccm/idl/ndds/ndds_dcps_instance_handleEC.h index aa63d70414b..211279cdb2c 100644 --- a/CIAO/connectors/dds4ccm/idl/dds_rtf2_dcps_instance_handleEC.h +++ b/CIAO/connectors/dds4ccm/idl/ndds/ndds_dcps_instance_handleEC.h @@ -42,7 +42,7 @@ #endif /* ACE_LACKS_PRAGMA_ONCE */ -#include /**/ "dds4ccm_lem_stub_export.h" +#include /**/ "ndds_lem_stub_export.h" #include "tao/AnyTypeCode/AnyTypeCode_methods.h" #include "tao/ORB.h" #include "tao/SystemException.h" @@ -56,7 +56,7 @@ #include /**/ "tao/Versioned_Namespace.h" #include "ccm/CCM_ContainerC.h" -#include "dds_rtf2_dcps_instance_handleC.h" +#include "ndds_dcps_instance_handleC.h" #include /**/ "ace/post.h" diff --git a/CIAO/connectors/dds4ccm/idl/dds_rtf2_dcps_instance_handleS.h b/CIAO/connectors/dds4ccm/idl/ndds/ndds_dcps_instance_handleS.h index cfde5fcb45e..5ebb4386a0f 100644 --- a/CIAO/connectors/dds4ccm/idl/dds_rtf2_dcps_instance_handleS.h +++ b/CIAO/connectors/dds4ccm/idl/ndds/ndds_dcps_instance_handleS.h @@ -34,14 +34,14 @@ #include /**/ "ace/pre.h" -#include "dds_rtf2_dcps_i_handleC.h" +#include "ndds_dcps_i_handleC.h" #if !defined (ACE_LACKS_PRAGMA_ONCE) # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ -#include /**/ "dds4ccm_skel_export.h" +#include /**/ "ndds_skel_export.h" #include /**/ "ace/post.h" #endif /* ifndef */ diff --git a/CIAO/connectors/dds4ccm/idl/ndds/ndds_lem_stub.mpc b/CIAO/connectors/dds4ccm/idl/ndds/ndds_lem_stub.mpc new file mode 100644 index 00000000000..7a71cf628c2 --- /dev/null +++ b/CIAO/connectors/dds4ccm/idl/ndds/ndds_lem_stub.mpc @@ -0,0 +1,41 @@ +// $Id$ + +project (CIAO_NDDS_lem_gen) : install, ciaoidldefaults { + custom_only = 1 + after += CIAO_NDDS_idl_gen + idlflags += -I$(CIAO_ROOT)/connectors \ + -Wb,stub_export_macro=NDDS_LEM_STUB_Export \ + -Wb,stub_export_include=ndds_lem_stub_export.h -SS + + IDL_Files { + idlflags += -Gxhst + ndds_dcpsE.idl + } + + IDL_Files { + ndds_dcps_i_handleE.idl + } +} + +project (CIAO_NDDS_lem_stub) : install, ccm_lem_stub, ccm_session_stub, ciaolib_with_idl, ciao_output, taolib, valuetype, ifr_client { + after += CIAO_NDDS_stub CIAO_NDDS_lem_gen + libs += CIAO_NDDS_stub + includes += $(CIAO_ROOT)/connectors + sharedname = CIAO_NDDS_lem_stub + dynamicflags += NDDS_LEM_STUB_BUILD_DLL + + IDL_Files { + } + + Source_Files { + ndds_dcpsEC.cpp + ndds_dcps_i_handleEC.cpp + } + + Header_Files { + ndds_dcpsEC.h + ndds_lem_stub_export.h + ndds_dcps_i_handleEC.h + } +} + diff --git a/CIAO/connectors/dds4ccm/idl/ndds/ndds_skel.mpc b/CIAO/connectors/dds4ccm/idl/ndds/ndds_skel.mpc new file mode 100644 index 00000000000..4908324e745 --- /dev/null +++ b/CIAO/connectors/dds4ccm/idl/ndds/ndds_skel.mpc @@ -0,0 +1,20 @@ +// -*- MPC -*- +// $Id$ + +project (CIAO_NDDS_skel) : install, ndds_lem_stub, ciaolib_with_idl, ciao_output, taolib, portableserver, ciao_servant { + includes += $(CIAO_ROOT)/connectors + + dynamicflags += NDDS_SKEL_BUILD_DLL + IDL_Files { + } + + Header_Files { + ndds_dcpsS.h + ndds_dcps_i_handleS.h + } + + Source_Files { + ndds_dcpsS.cpp + ndds_dcps_i_handleS.cpp + } +} diff --git a/CIAO/connectors/dds4ccm/idl/ndds/ndds_stub.mpc b/CIAO/connectors/dds4ccm/idl/ndds/ndds_stub.mpc new file mode 100644 index 00000000000..3a704b80d54 --- /dev/null +++ b/CIAO/connectors/dds4ccm/idl/ndds/ndds_stub.mpc @@ -0,0 +1,40 @@ +// $Id$ + +project (CIAO_NDDS_idl_gen) : install, ndds, componentidldefaults { + custom_only = 1 + idlflags += -Wb,stub_export_macro=NDDS_STUB_Export \ + -Wb,stub_export_include=ndds_stub_export.h \ + -Wb,skel_export_macro=NDDS_SKEL_Export \ + -Wb,skel_export_include=ndds_skel_export.h \ + -I$(CIAO_ROOT)/connectors -Glem + + IDL_Files { + ndds_dcps.idl + } + IDL_Files { + idlflags -= -Gxhst -Gxhsk + ndds_dcps_i_handle.idl + } +} + +project (CIAO_NDDS_stub) : install, ndds, ccm_stub, ciaolib_with_idl, ciao_output, taolib { + + after += CIAO_NDDS_idl_gen + includes += $(CIAO_ROOT)/connectors + + dynamicflags += NDDS_STUB_BUILD_DLL + IDL_Files { + } + + Header_Files { + ndds_dcpsC.h + ndds_dcps_i_handleC.h + ndds_dcps_instance_handleC.h + } + + Source_Files { + ndds_dcpsC.cpp + ndds_dcps_i_handleC.cpp + ndds_dcps_instance_handleC.cpp + } +} diff --git a/CIAO/connectors/dds4ccm/impl/ConditionManager.cpp b/CIAO/connectors/dds4ccm/impl/ConditionManager.cpp index 6b53ae9f862..b39e267d230 100644 --- a/CIAO/connectors/dds4ccm/impl/ConditionManager.cpp +++ b/CIAO/connectors/dds4ccm/impl/ConditionManager.cpp @@ -1,6 +1,7 @@ // $Id$ #include "dds4ccm/impl/ConditionManager.h" + #include "dds4ccm/impl/Utils.h" #include "ace/OS_NS_sys_time.h" @@ -56,8 +57,17 @@ namespace CIAO ConditionManager::check_handle (const ::DDS::InstanceHandle_t & instance_handle, const ::DDS::InstanceHandle_t & lookup_handle) { - return this->ws_.check_handle (instance_handle, - lookup_handle); + bool error = false; + bool non_existent = false; + ::DDS::InstanceHandle_t ret = this->ws_.check_handle (instance_handle, + lookup_handle, + error, + non_existent); + if (error) + throw ::CCM_DDS::InternalError (::DDS::RETCODE_ERROR, 0); + if (non_existent) + throw ::CCM_DDS::NonExistent (); + return ret; } bool diff --git a/CIAO/connectors/dds4ccm/impl/ConditionManager.h b/CIAO/connectors/dds4ccm/impl/ConditionManager.h index 035667a6fc5..1065107152e 100644 --- a/CIAO/connectors/dds4ccm/impl/ConditionManager.h +++ b/CIAO/connectors/dds4ccm/impl/ConditionManager.h @@ -3,7 +3,10 @@ #ifndef CONDITIONMANAGER_H_ #define CONDITIONMANAGER_H_ +#if (CIAO_DDS4CCM_NDDS==1) #include "dds4ccm/impl/ndds/WaitSet.h" +#endif + #include <dds4ccm/idl/dds4ccm_BaseC.h> #include "dds4ccm/impl/dds4ccm_dds_impl_export.h" diff --git a/CIAO/connectors/dds4ccm/impl/DDS_Base_Connector_T.cpp b/CIAO/connectors/dds4ccm/impl/DDS_Base_Connector_T.cpp index 20a4bbf0bb0..10bae4190eb 100644 --- a/CIAO/connectors/dds4ccm/impl/DDS_Base_Connector_T.cpp +++ b/CIAO/connectors/dds4ccm/impl/DDS_Base_Connector_T.cpp @@ -1,7 +1,6 @@ // -*- C++ -*- // $Id$ -#include "ace/Tokenizer_T.h" #include "ace/Env_Value_T.h" #include "tao/ORB_Core.h" #include "dds4ccm/impl/Utils.h" @@ -20,8 +19,6 @@ template <typename CCM_TYPE> DDS_Base_Connector_T<CCM_TYPE>::DDS_Base_Connector_T (void) : domain_id_ (0) , configuration_complete_ (false) - , library_name_ (0) - , profile_name_ (0) { DDS4CCM_TRACE ("DDS_Base_Connector_T<CCM_TYPE>::DDS_Base_Connector_T"); @@ -40,9 +37,6 @@ DDS_Base_Connector_T<CCM_TYPE>::~DDS_Base_Connector_T (void) { DDS4CCM_TRACE ("DDS_Base_Connector_T<CCM_TYPE>::~DDS_Base_Connector_T"); - ACE_OS::free (library_name_); - ACE_OS::free (profile_name_); - DDS4CCM_DEBUG (DDS4CCM_LOG_LEVEL_ACTION, (LM_TRACE, DDS4CCM_INFO "DDS_Base_Connector_T::~DDS_Base_Connector_T - " "Connector has been destructed\n")); @@ -96,22 +90,7 @@ DDS_Base_Connector_T<CCM_TYPE>::qos_profile ( } else { - this->qos_profile_ = qos_profile; - char* buf = ACE_OS::strdup (qos_profile); - ACE_Tokenizer_T<char> tok (buf); - tok.delimiter_replace ('#', 0); - for (char *p = tok.next (); p; p = tok.next ()) - { - if (!this->library_name_) - { - this->library_name_ = ACE_OS::strdup (p); - } - else if (!this->profile_name_) - { - this->profile_name_ = ACE_OS::strdup (p); - } - } - ACE_OS::free (buf); + this->qos_profile_ = ::CORBA::string_dup (qos_profile); } } @@ -127,17 +106,14 @@ DDS_Base_Connector_T<CCM_TYPE>::init_domain ( "Start configuring default domain <%d>\n", this->domain_id_)); - // Generic parsing code, library and profile should be separated by a # - if (this->library_name_ && this->profile_name_) + if (!::CORBA::is_nil (this->qos_profile_.in ())) { this->participant_factory_.set_default_participant_qos_with_profile ( - this->library_name_, - this->profile_name_); + this->qos_profile_.in ()); participant = this->participant_factory_.create_participant_with_profile ( this->domain_id_, - this->library_name_, - this->profile_name_, + this->qos_profile_.in (), ::DDS::DomainParticipantListener::_nil (), 0); } @@ -237,18 +213,6 @@ DDS_Base_Connector_T<CCM_TYPE>::reactor (void) } /** - * Type registration - **/ -template <typename CCM_TYPE> -void -DDS_Base_Connector_T<CCM_TYPE>::register_type ( - ::DDS::DomainParticipant_ptr /*participant*/, - const char * /*typesupport_name*/) -{ - DDS4CCM_TRACE ("DDS_Base_Connector_T::register_type"); -} - -/** * Initialization **/ template <typename CCM_TYPE> @@ -262,12 +226,11 @@ DDS_Base_Connector_T<CCM_TYPE>::init_topic ( DDS4CCM_TRACE ("DDS_Base_Connector_T::init_topic"); ::DDS::Topic_var tp; - if (this->library_name_ && this->profile_name_) + if (!::CORBA::is_nil (this->qos_profile_.in ())) { tp = participant->create_topic_with_profile (topic_name, typesupport_name, - this->library_name_, - this->profile_name_, + this->qos_profile_.in (), ::DDS::TopicListener::_nil (), 0); } @@ -300,11 +263,10 @@ DDS_Base_Connector_T<CCM_TYPE>::init_publisher ( if (::CORBA::is_nil (publisher)) { - if (this->library_name_ && this->profile_name_) + if (!::CORBA::is_nil (this->qos_profile_.in ())) { publisher = participant->create_publisher_with_profile ( - this->library_name_, - this->profile_name_, + this->qos_profile_.in (), ::DDS::PublisherListener::_nil (), 0); } @@ -335,11 +297,10 @@ DDS_Base_Connector_T<CCM_TYPE>::init_subscriber ( if (::CORBA::is_nil (subscriber)) { - if (this->library_name_ && this->profile_name_) + if (!::CORBA::is_nil (this->qos_profile_.in ())) { subscriber = participant->create_subscriber_with_profile ( - this->library_name_, - this->profile_name_, + this->qos_profile_.in (), ::DDS::SubscriberListener::_nil (), 0); } @@ -609,15 +570,3 @@ DDS_Base_Connector_T<CCM_TYPE>::remove_domain ( throw ::CCM_DDS::InternalError (retcode, 0); } } - -/** - * Unregister type - **/ -template <typename CCM_TYPE> -void -DDS_Base_Connector_T<CCM_TYPE>::unregister_type ( - ::DDS::DomainParticipant_ptr /*participant*/, - const char * /*typesupport_name*/) -{ - DDS4CCM_TRACE ("DDS_Base_Connector_T::unregister_type"); -} diff --git a/CIAO/connectors/dds4ccm/impl/DDS_Base_Connector_T.h b/CIAO/connectors/dds4ccm/impl/DDS_Base_Connector_T.h index 2fa0bc695c3..db75691be8a 100644 --- a/CIAO/connectors/dds4ccm/impl/DDS_Base_Connector_T.h +++ b/CIAO/connectors/dds4ccm/impl/DDS_Base_Connector_T.h @@ -62,9 +62,9 @@ protected: /** * Initialization of a connector. * - * When one wants to use his own ::DDS::DomainParticipant, ::DDS::Topic, - * ::DDS::Subscriber and/or ::DDS::Publisher, these helper methods allows - * to create these, independant of the DDS vendor. + * When one wants to use his own DDS::DomainParticipant, DDS::Topic, + * DDS::Subscriber and/or DDS::Publisher, these helper methods allows + * to create these, independent of the DDS vendor. * * See * $CIAO_ROOT/connectors/dds4ccm/tests/MultiTopic/Connector/MultiTopic_Connector_T.cpp @@ -78,7 +78,8 @@ protected: void init_domain (::DDS::DomainParticipant_ptr & participant); virtual void register_type (::DDS::DomainParticipant_ptr participant, - const char * typesupport_name); + const char * typesupport_name) = 0; + void init_topic (::DDS::DomainParticipant_ptr participant, ::DDS::Topic_ptr & topic, const char * topic_name, @@ -93,7 +94,7 @@ protected: * Activation of a connector. * * Helper methods to create the DDS listeners and attach them to the DDS Entities. - * This'll will activate the DDS Entities. + * This will activate the DDS Entities. * */ //@{ @@ -161,7 +162,7 @@ protected: virtual void unregister_type (::DDS::DomainParticipant_ptr participant, - const char * typesupport_name); + const char * typesupport_name) = 0; //@} /// Get the reactor associated with this component @@ -183,14 +184,6 @@ protected: */ bool configuration_complete_; - /** - * Result of splitting qos_profile into to different names. - */ - //@{ - char* library_name_; - char* profile_name_; - //@} - ::CIAO::DDS4CCM::Logger_Service * dlf_; ::DDS::DomainParticipant_var domain_participant_; diff --git a/CIAO/connectors/dds4ccm/impl/DDS_Event_Connector_T.cpp b/CIAO/connectors/dds4ccm/impl/DDS_Event_Connector_T.cpp index 1d30520942b..673079c1f32 100644 --- a/CIAO/connectors/dds4ccm/impl/DDS_Event_Connector_T.cpp +++ b/CIAO/connectors/dds4ccm/impl/DDS_Event_Connector_T.cpp @@ -10,8 +10,8 @@ #include "dds4ccm/impl/logger/Log_Macros.h" #include "dds4ccm/impl/dds4ccm_conf.h" -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> -DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::DDS_Event_Connector_T (void) : +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> +DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::DDS_Event_Connector_T (void) : TopicBaseConnector (), supplier_obtained_ (false), push_consumer_obtained_ (false), @@ -22,165 +22,165 @@ DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::DDS_ { } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> -DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::~DDS_Event_Connector_T (void) +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> +DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::~DDS_Event_Connector_T (void) { } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> typename CCM_TYPE::supplier_traits::data_type::_ptr_type -DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_supplier_data (void) +DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_supplier_data (void) { - DDS4CCM_TRACE ("DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_supplier_data"); + DDS4CCM_TRACE ("DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_supplier_data"); this->supplier_obtained_ = true; this->supplier_.set_component (this); return this->supplier_.get_data (); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> typename CCM_TYPE::supplier_traits::dds_entity_type::_ptr_type -DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_supplier_dds_entity (void) +DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_supplier_dds_entity (void) { - DDS4CCM_TRACE ("DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_supplier_dds_entity"); + DDS4CCM_TRACE ("DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_supplier_dds_entity"); this->supplier_obtained_ = true; this->supplier_.set_component (this); return this->supplier_.get_dds_entity (); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> typename CCM_TYPE::pull_consumer_traits::fresh_data_type::_ptr_type -DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_pull_consumer_fresh_data (void) +DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_pull_consumer_fresh_data (void) { - DDS4CCM_TRACE ("DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_pull_consumer_fresh_data"); + DDS4CCM_TRACE ("DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_pull_consumer_fresh_data"); this->pull_consumer_obtained_ = true; this->pull_consumer_.set_component (this); return this->pull_consumer_.get_fresh_data (); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> typename CCM_TYPE::push_consumer_traits::data_type::_ptr_type -DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_push_consumer_data (void) +DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_push_consumer_data (void) { - DDS4CCM_TRACE ("DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_push_consumer_data"); + DDS4CCM_TRACE ("DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_push_consumer_data"); this->push_consumer_obtained_ = true; this->push_consumer_.set_component (this); return this->push_consumer_.get_data (); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> typename CCM_TYPE::pull_consumer_traits::data_type::_ptr_type -DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_pull_consumer_data (void) +DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_pull_consumer_data (void) { - DDS4CCM_TRACE ("DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_pull_consumer_data"); + DDS4CCM_TRACE ("DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_pull_consumer_data"); this->pull_consumer_obtained_ = true; this->pull_consumer_.set_component (this); return this->pull_consumer_.get_data (); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> ::CCM_DDS::CCM_ContentFilterSetting_ptr -DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_pull_consumer_filter_config (void) +DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_pull_consumer_filter_config (void) { - DDS4CCM_TRACE ("DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_pull_consumer_filter_config"); + DDS4CCM_TRACE ("DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_pull_consumer_filter_config"); this->pull_consumer_obtained_ = true; this->pull_consumer_.set_component (this); return this->pull_consumer_.get_filter_config (); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> ::CCM_DDS::CCM_DataListenerControl_ptr -DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_push_consumer_data_control (void) +DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_push_consumer_data_control (void) { - DDS4CCM_TRACE ("DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_push_consumer_data_control"); + DDS4CCM_TRACE ("DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_push_consumer_data_control"); this->push_consumer_obtained_ = true; this->push_consumer_.set_component (this); return this->push_consumer_.get_data_control (); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> ::DDS::CCM_DataReader_ptr -DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_pull_consumer_dds_entity (void) +DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_pull_consumer_dds_entity (void) { - DDS4CCM_TRACE ("DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_pull_consumer_dds_entity"); + DDS4CCM_TRACE ("DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_pull_consumer_dds_entity"); this->pull_consumer_obtained_ = true; this->pull_consumer_.set_component (this); return this->pull_consumer_.get_dds_entity (); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> ::CCM_DDS::QueryFilter* -DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::pull_consumer_filter (void) +DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::pull_consumer_filter (void) { - DDS4CCM_TRACE ("DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::pull_consumer_filter"); + DDS4CCM_TRACE ("DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::pull_consumer_filter"); return this->pull_consumer_.filter (); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> void -DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::pull_consumer_filter ( +DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::pull_consumer_filter ( const ::CCM_DDS::QueryFilter & filter) { - DDS4CCM_TRACE ("DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::pull_consumer_filter"); + DDS4CCM_TRACE ("DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::pull_consumer_filter"); this->pull_consumer_.filter (filter); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> ::DDS::CCM_DataReader_ptr -DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_push_consumer_dds_entity (void) +DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_push_consumer_dds_entity (void) { - DDS4CCM_TRACE ("DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_push_consumer_dds_entity"); + DDS4CCM_TRACE ("DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_push_consumer_dds_entity"); this->push_consumer_obtained_ = true; this->push_consumer_.set_component (this); return this->push_consumer_.get_dds_entity (); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> ::CCM_DDS::CCM_ContentFilterSetting_ptr -DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_push_consumer_filter_config (void) +DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_push_consumer_filter_config (void) { - DDS4CCM_TRACE ("DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_push_consumer_filter_config"); + DDS4CCM_TRACE ("DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_push_consumer_filter_config"); this->push_consumer_obtained_ = true; this->push_consumer_.set_component (this); return this->push_consumer_.get_filter_config (); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> ::CCM_DDS::QueryFilter* -DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::push_consumer_filter (void) +DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::push_consumer_filter (void) { - DDS4CCM_TRACE ("DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::push_consumer_filter"); + DDS4CCM_TRACE ("DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::push_consumer_filter"); return this->push_consumer_.filter (); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> void -DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::push_consumer_filter ( +DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::push_consumer_filter ( const ::CCM_DDS::QueryFilter & filter) { - DDS4CCM_TRACE ("DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::push_consumer_filter"); + DDS4CCM_TRACE ("DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::push_consumer_filter"); this->push_consumer_.filter (filter); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> void -DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::topic_name ( +DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::topic_name ( const char * topic_name) { - DDS4CCM_TRACE ("DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::topic_name"); + DDS4CCM_TRACE ("DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::topic_name"); if (this->late_binded (topic_name)) { @@ -189,11 +189,11 @@ DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::topi } } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> void -DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::do_configuration_complete (void) +DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::do_configuration_complete (void) { - DDS4CCM_TRACE ("DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::do_configuration_complete"); + DDS4CCM_TRACE ("DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::do_configuration_complete"); TopicBaseConnector::configuration_complete (); @@ -214,19 +214,18 @@ DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::do_c if (this->push_consumer_obtained_) { DDS4CCM_DEBUG (DDS4CCM_LOG_LEVEL_ACTION, (LM_DEBUG, DDS4CCM_INFO - "DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>" + "DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>" "::configuration_complete - " "Creating push consumer port.\n")); this->push_consumer_.configuration_complete ( this->topic_.in (), this->subscriber_.in (), - this->library_name_, - this->profile_name_); + this->qos_profile_.in ()); } else { DDS4CCM_DEBUG (DDS4CCM_LOG_LEVEL_ACTION, (LM_DEBUG, DDS4CCM_INFO - "DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>" + "DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>" "::configuration_complete - " "No need to create push consumer port.\n")); } @@ -234,19 +233,18 @@ DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::do_c if (this->supplier_obtained_) { DDS4CCM_DEBUG (DDS4CCM_LOG_LEVEL_ACTION, (LM_DEBUG, DDS4CCM_INFO - "DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>" + "DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>" "::configuration_complete - " "Creating supplier port.\n")); this->supplier_.configuration_complete( this->topic_.in (), this->publisher_.in (), - this->library_name_, - this->profile_name_); + this->qos_profile_.in ()); } else { DDS4CCM_DEBUG (DDS4CCM_LOG_LEVEL_ACTION, (LM_DEBUG, DDS4CCM_INFO - "DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>" + "DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>" "::configuration_complete - " "No need to create supplier port.\n")); } @@ -254,29 +252,28 @@ DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::do_c if (this->pull_consumer_obtained_) { DDS4CCM_DEBUG (DDS4CCM_LOG_LEVEL_ACTION, (LM_DEBUG, DDS4CCM_INFO - "DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>" + "DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>" "::configuration_complete - " "Creating pull consumer port.\n")); this->pull_consumer_.configuration_complete ( this->topic_.in (), this->subscriber_.in (), - this->library_name_, - this->profile_name_); + this->qos_profile_.in ()); } else { DDS4CCM_DEBUG (DDS4CCM_LOG_LEVEL_ACTION, (LM_DEBUG, DDS4CCM_INFO - "DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>" + "DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>" "::configuration_complete - " "No need to create pull consumer port.\n")); } } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> void -DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::configuration_complete (void) +DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::configuration_complete (void) { - DDS4CCM_TRACE ("DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::configuration_complete"); + DDS4CCM_TRACE ("DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::configuration_complete"); try { @@ -310,9 +307,9 @@ DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::conf } } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> void -DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::do_ccm_activate (void) +DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::do_ccm_activate (void) { ACE_Reactor* reactor = 0; @@ -359,11 +356,11 @@ DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::do_c } } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> void -DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::ccm_activate (void) +DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::ccm_activate (void) { - DDS4CCM_TRACE ("DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::ccm_activate"); + DDS4CCM_TRACE ("DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::ccm_activate"); try { @@ -397,11 +394,11 @@ DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::ccm_ } } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> void -DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::ccm_passivate (void) +DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::ccm_passivate (void) { - DDS4CCM_TRACE ("DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::ccm_passivate"); + DDS4CCM_TRACE ("DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::ccm_passivate"); try { @@ -449,11 +446,11 @@ DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::ccm_ } } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> void -DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::ccm_remove (void) +DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::ccm_remove (void) { - DDS4CCM_TRACE ("DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::ccm_remove"); + DDS4CCM_TRACE ("DDS_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::ccm_remove"); try { diff --git a/CIAO/connectors/dds4ccm/impl/DDS_Event_Connector_T.h b/CIAO/connectors/dds4ccm/impl/DDS_Event_Connector_T.h index dddf11fd3c4..5989692264a 100644 --- a/CIAO/connectors/dds4ccm/impl/DDS_Event_Connector_T.h +++ b/CIAO/connectors/dds4ccm/impl/DDS_Event_Connector_T.h @@ -13,7 +13,7 @@ #include "dds4ccm/impl/DDS_Write_T.h" #include "dds4ccm/impl/DDS_Listen_T.h" -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> class DDS_Event_Connector_T : public virtual DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE> { diff --git a/CIAO/connectors/dds4ccm/impl/DDS_Get_T.cpp b/CIAO/connectors/dds4ccm/impl/DDS_Get_T.cpp index a96a9469136..30fe30dd841 100644 --- a/CIAO/connectors/dds4ccm/impl/DDS_Get_T.cpp +++ b/CIAO/connectors/dds4ccm/impl/DDS_Get_T.cpp @@ -26,14 +26,12 @@ void DDS_Get_T<CCM_TYPE, TYPED_DDS_READER, VALUE_TYPE, SEQ_VALUE_TYPE, FIXED>::configuration_complete ( ::DDS::Topic_ptr topic, ::DDS::Subscriber_ptr subscriber, - const char* library_name, - const char* profile_name) + const char * qos_profile) { DDS4CCM_TRACE ("DDS_Get_T<CCM_TYPE, TYPED_DDS_READER, VALUE_TYPE, SEQ_VALUE_TYPE, FIXED>::configuration_complete"); SubscriberBase_type::configuration_complete (topic, subscriber, - library_name, - profile_name); + qos_profile); ::DDS::DataReader_var dr = this->dds_read_->get_dds_reader (); this->dds_get_->set_dds_reader (dr.in (), diff --git a/CIAO/connectors/dds4ccm/impl/DDS_Get_T.h b/CIAO/connectors/dds4ccm/impl/DDS_Get_T.h index 9791a850077..7b670374730 100644 --- a/CIAO/connectors/dds4ccm/impl/DDS_Get_T.h +++ b/CIAO/connectors/dds4ccm/impl/DDS_Get_T.h @@ -33,8 +33,7 @@ public: void configuration_complete ( ::DDS::Topic_ptr topic, ::DDS::Subscriber_ptr subscriber, - const char* library_name, - const char* profile_name); + const char * qos_profile); void remove ( ::DDS::Subscriber_ptr subscriber); diff --git a/CIAO/connectors/dds4ccm/impl/DDS_State_Connector_T.cpp b/CIAO/connectors/dds4ccm/impl/DDS_State_Connector_T.cpp index d456b29729f..439edbab8e7 100644 --- a/CIAO/connectors/dds4ccm/impl/DDS_State_Connector_T.cpp +++ b/CIAO/connectors/dds4ccm/impl/DDS_State_Connector_T.cpp @@ -10,8 +10,8 @@ #include "dds4ccm/impl/logger/Log_Macros.h" #include "dds4ccm/impl/dds4ccm_conf.h" -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> -DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::DDS_State_Connector_T (void) : +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> +DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::DDS_State_Connector_T (void) : TopicBaseConnector (), observable_obtained_ (false), passive_observer_obtained_ (false), @@ -21,280 +21,280 @@ DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::DDS_ { } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> -DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::~DDS_State_Connector_T (void) +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> +DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::~DDS_State_Connector_T (void) { } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> typename CCM_TYPE::observable_traits::data_type::_ptr_type -DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_observable_data (void) +DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_observable_data (void) { - DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_observable_data"); + DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_observable_data"); this->observable_obtained_ = true; this->observable_.set_component (this); return this->observable_.get_data (); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> typename CCM_TYPE::observable_traits::dds_entity_type::_ptr_type -DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_observable_dds_entity (void) +DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_observable_dds_entity (void) { - DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_observable_dds_entity"); + DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_observable_dds_entity"); this->observable_obtained_ = true; this->observable_.set_component (this); return this->observable_.get_dds_entity (); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> typename CCM_TYPE::passive_observer_traits::data_type::_ptr_type -DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_passive_observer_data (void) +DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_passive_observer_data (void) { - DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_passive_observer_data"); + DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_passive_observer_data"); this->passive_observer_obtained_ = true; this->passive_observer_.set_component (this); return this->passive_observer_.get_data (); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> typename CCM_TYPE::passive_observer_traits::dds_entity_type::_ptr_type -DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_passive_observer_dds_entity (void) +DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_passive_observer_dds_entity (void) { - DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_passive_observer_dds_entity"); + DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_passive_observer_dds_entity"); this->passive_observer_obtained_ = true; this->passive_observer_.set_component (this); return this->passive_observer_.get_dds_entity (); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> typename CCM_TYPE::passive_observer_traits::filter_config_type::_ptr_type -DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_passive_observer_filter_config (void) +DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_passive_observer_filter_config (void) { - DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_passive_observer_filter_config"); + DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_passive_observer_filter_config"); this->passive_observer_obtained_ = true; this->passive_observer_.set_component (this); return this->passive_observer_.get_filter_config (); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> ::CCM_DDS::QueryFilter* -DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::passive_observer_filter (void) +DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::passive_observer_filter (void) { - DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::passive_observer_filter"); + DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::passive_observer_filter"); return this->passive_observer_.filter (); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> void -DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::passive_observer_filter ( +DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::passive_observer_filter ( const ::CCM_DDS::QueryFilter & filter) { - DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::passive_observer_filter"); + DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::passive_observer_filter"); this->passive_observer_.filter (filter); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> typename CCM_TYPE::pull_observer_traits::data_type::_ptr_type -DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_pull_observer_data (void) +DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_pull_observer_data (void) { - DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_pull_observer_data"); + DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_pull_observer_data"); this->pull_observer_obtained_ = true; this->pull_observer_.set_component (this); return this->pull_observer_.get_data (); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> typename CCM_TYPE::pull_observer_traits::fresh_data_type::_ptr_type -DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_pull_observer_fresh_data (void) +DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_pull_observer_fresh_data (void) { - DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_pull_observer_fresh_data"); + DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_pull_observer_fresh_data"); this->pull_observer_obtained_ = true; this->pull_observer_.set_component (this); return this->pull_observer_.get_fresh_data (); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> typename CCM_TYPE::pull_observer_traits::dds_entity_type::_ptr_type -DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_pull_observer_dds_entity (void) +DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_pull_observer_dds_entity (void) { - DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_pull_observer_dds_entity"); + DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_pull_observer_dds_entity"); this->pull_observer_obtained_ = true; this->pull_observer_.set_component (this); return this->pull_observer_.get_dds_entity (); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> typename CCM_TYPE::pull_observer_traits::filter_config_type::_ptr_type -DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_pull_observer_filter_config (void) +DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_pull_observer_filter_config (void) { - DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_pull_observer_filter_config"); + DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_pull_observer_filter_config"); this->pull_observer_obtained_ = true; this->pull_observer_.set_component (this); return this->pull_observer_.get_filter_config (); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> ::CCM_DDS::QueryFilter* -DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::pull_observer_filter (void) +DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::pull_observer_filter (void) { - DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::pull_observer_filter"); + DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::pull_observer_filter"); return this->pull_observer_.filter (); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> void -DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::pull_observer_filter ( +DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::pull_observer_filter ( const ::CCM_DDS::QueryFilter & filter) { - DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::pull_observer_filter"); + DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::pull_observer_filter"); this->pull_observer_.filter (filter); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> typename CCM_TYPE::push_observer_traits::data_type::_ptr_type -DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_push_observer_data (void) +DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_push_observer_data (void) { - DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_push_observer_data"); + DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_push_observer_data"); this->push_observer_obtained_ = true; this->push_observer_.set_component (this); return this->push_observer_.get_data (); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> typename CCM_TYPE::push_observer_traits::data_control_type::_ptr_type -DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_push_observer_data_control (void) +DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_push_observer_data_control (void) { - DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_push_observer_data_control"); + DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_push_observer_data_control"); this->push_observer_obtained_ = true; this->push_observer_.set_component (this); return this->push_observer_.get_data_control (); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> typename CCM_TYPE::push_observer_traits::dds_entity_type::_ptr_type -DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_push_observer_dds_entity (void) +DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_push_observer_dds_entity (void) { - DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_push_observer_dds_entity"); + DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_push_observer_dds_entity"); this->push_observer_obtained_ = true; this->push_observer_.set_component (this); return this->push_observer_.get_dds_entity (); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> typename CCM_TYPE::push_observer_traits::filter_config_type::_ptr_type -DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_push_observer_filter_config (void) +DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_push_observer_filter_config (void) { - DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_push_observer_filter_config"); + DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_push_observer_filter_config"); this->push_observer_obtained_ = true; this->push_observer_.set_component (this); return this->push_observer_.get_filter_config (); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> ::CCM_DDS::QueryFilter* -DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::push_observer_filter (void) +DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::push_observer_filter (void) { - DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::push_observer_filter"); + DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::push_observer_filter"); return this->push_observer_.filter (); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> void -DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::push_observer_filter ( +DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::push_observer_filter ( const ::CCM_DDS::QueryFilter & filter) { - DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::push_observer_filter"); + DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::push_observer_filter"); this->push_observer_.filter (filter); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> typename CCM_TYPE::push_state_observer_traits::data_type::_ptr_type -DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_push_state_observer_data (void) +DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_push_state_observer_data (void) { - DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_push_state_observer_data"); + DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_push_state_observer_data"); this->push_state_observer_obtained_ = true; this->push_state_observer_.set_component (this); return this->push_state_observer_.get_data (); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> typename CCM_TYPE::push_state_observer_traits::data_control_type::_ptr_type -DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_push_state_observer_data_control (void) +DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_push_state_observer_data_control (void) { - DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_push_state_observer_data_control"); + DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_push_state_observer_data_control"); this->push_state_observer_obtained_ = true; this->push_state_observer_.set_component (this); return this->push_state_observer_.get_data_control (); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> typename CCM_TYPE::push_state_observer_traits::dds_entity_type::_ptr_type -DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_push_state_observer_dds_entity (void) +DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_push_state_observer_dds_entity (void) { - DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_push_state_observer_dds_entity"); + DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_push_state_observer_dds_entity"); this->push_state_observer_obtained_ = true; this->push_state_observer_.set_component (this); return this->push_state_observer_.get_dds_entity (); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> typename CCM_TYPE::push_state_observer_traits::filter_config_type::_ptr_type -DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_push_state_observer_filter_config (void) +DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_push_state_observer_filter_config (void) { - DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_push_state_observer_filter_config"); + DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_push_state_observer_filter_config"); this->push_state_observer_obtained_ = true; this->push_state_observer_.set_component (this); return this->push_state_observer_.get_filter_config (); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> ::CCM_DDS::QueryFilter* -DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::push_state_observer_filter (void) +DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::push_state_observer_filter (void) { - DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::push_state_observer_filter"); + DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::push_state_observer_filter"); return this->push_state_observer_.filter (); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> void -DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::push_state_observer_filter ( +DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::push_state_observer_filter ( const ::CCM_DDS::QueryFilter & filter) { - DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::push_state_observer_filter"); + DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::push_state_observer_filter"); this->push_state_observer_.filter (filter); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> void -DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::topic_name ( +DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::topic_name ( const char * topic_name) { - DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::topic_name"); + DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::topic_name"); if (this->late_binded (topic_name)) { @@ -303,11 +303,11 @@ DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::topi } } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> void -DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::do_configuration_complete (void) +DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::do_configuration_complete (void) { - DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::do_configuration_complete"); + DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::do_configuration_complete"); TopicBaseConnector::configuration_complete (); @@ -338,8 +338,7 @@ DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::do_c this->observable_.configuration_complete ( this->topic_.in (), this->publisher_.in (), - this->library_name_, - this->profile_name_); + this->qos_profile_.in ()); } if (this->push_observer_obtained_) @@ -347,8 +346,7 @@ DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::do_c this->push_observer_.configuration_complete ( this->topic_.in (), this->subscriber_.in (), - this->library_name_, - this->profile_name_); + this->qos_profile_.in ()); } if (this->push_state_observer_obtained_) @@ -356,8 +354,7 @@ DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::do_c this->push_state_observer_.configuration_complete ( this->topic_.in (), this->subscriber_.in (), - this->library_name_, - this->profile_name_); + this->qos_profile_.in ()); } if (this->pull_observer_obtained_) @@ -365,8 +362,7 @@ DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::do_c this->pull_observer_.configuration_complete ( this->topic_.in (), this->subscriber_.in (), - this->library_name_, - this->profile_name_); + this->qos_profile_.in ()); } if (this->passive_observer_obtained_) @@ -374,16 +370,15 @@ DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::do_c this->passive_observer_.configuration_complete ( this->topic_.in (), this->subscriber_.in (), - this->library_name_, - this->profile_name_); + this->qos_profile_.in ()); } } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> void -DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::configuration_complete (void) +DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::configuration_complete (void) { - DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::configuration_complete"); + DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::configuration_complete"); try { @@ -417,11 +412,11 @@ DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::conf } } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> void -DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::do_ccm_activate (void) +DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::do_ccm_activate (void) { - DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::do_ccm_activate"); + DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::do_ccm_activate"); ACE_Reactor* reactor = 0; @@ -492,11 +487,11 @@ DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::do_c } } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> void -DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::ccm_activate (void) +DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::ccm_activate (void) { - DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::ccm_activate"); + DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::ccm_activate"); try { @@ -530,11 +525,11 @@ DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::ccm_ } } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> void -DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::ccm_passivate (void) +DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::ccm_passivate (void) { - DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::ccm_passivate"); + DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::ccm_passivate"); try { @@ -593,11 +588,11 @@ DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::ccm_ } } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> void -DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::ccm_remove (void) +DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::ccm_remove (void) { - DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::ccm_remove"); + DDS4CCM_TRACE ("DDS_State_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::ccm_remove"); try { diff --git a/CIAO/connectors/dds4ccm/impl/DDS_State_Connector_T.h b/CIAO/connectors/dds4ccm/impl/DDS_State_Connector_T.h index 3e290319ff9..c06f49dda14 100644 --- a/CIAO/connectors/dds4ccm/impl/DDS_State_Connector_T.h +++ b/CIAO/connectors/dds4ccm/impl/DDS_State_Connector_T.h @@ -15,7 +15,7 @@ #include "dds4ccm/impl/DDS_Update_T.h" #include "dds4ccm/impl/DDS_Read_T.h" -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> class DDS_State_Connector_T : public virtual DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE> { diff --git a/CIAO/connectors/dds4ccm/impl/DDS_Subscriber_Base_T.cpp b/CIAO/connectors/dds4ccm/impl/DDS_Subscriber_Base_T.cpp index ba0572a1ff0..47a6470f9b0 100644 --- a/CIAO/connectors/dds4ccm/impl/DDS_Subscriber_Base_T.cpp +++ b/CIAO/connectors/dds4ccm/impl/DDS_Subscriber_Base_T.cpp @@ -27,8 +27,7 @@ void DDS_Subscriber_Base_T<CCM_TYPE, TYPED_DDS_READER, VALUE_TYPE, SEQ_VALUE_TYPE>::configuration_complete ( ::DDS::Topic_ptr topic, ::DDS::Subscriber_ptr subscriber, - const char* library_name, - const char* profile_name) + const char * qos_profile) { DDS4CCM_TRACE ("DDS_Subscriber_Base_T<CCM_TYPE, TYPED_DDS_READER, VALUE_TYPE, SEQ_VALUE_TYPE>::configuration_complete"); @@ -57,12 +56,11 @@ DDS_Subscriber_Base_T<CCM_TYPE, TYPED_DDS_READER, VALUE_TYPE, SEQ_VALUE_TYPE>::c { td = ::DDS::TopicDescription::_narrow (topic); } - if (library_name && profile_name) + if (qos_profile) { dr = subscriber->create_datareader_with_profile ( td.in (), - library_name, - profile_name, + qos_profile, ::DDS::DataReaderListener::_nil (), 0); } diff --git a/CIAO/connectors/dds4ccm/impl/DDS_Subscriber_Base_T.h b/CIAO/connectors/dds4ccm/impl/DDS_Subscriber_Base_T.h index 70b9e6ca777..9fb256516e5 100644 --- a/CIAO/connectors/dds4ccm/impl/DDS_Subscriber_Base_T.h +++ b/CIAO/connectors/dds4ccm/impl/DDS_Subscriber_Base_T.h @@ -45,8 +45,7 @@ public: void configuration_complete ( ::DDS::Topic_ptr topic, ::DDS::Subscriber_ptr subscriber, - const char* library_name, - const char* profile_name); + const char* qos_profile); void activate ( ::CCM_DDS::PortStatusListener_ptr listener, diff --git a/CIAO/connectors/dds4ccm/impl/DDS_Update_T.cpp b/CIAO/connectors/dds4ccm/impl/DDS_Update_T.cpp index fe6f2b9d04c..ca3931628b5 100644 --- a/CIAO/connectors/dds4ccm/impl/DDS_Update_T.cpp +++ b/CIAO/connectors/dds4ccm/impl/DDS_Update_T.cpp @@ -27,20 +27,18 @@ void DDS_Update_T<CCM_TYPE, TYPED_WRITER, VALUE_TYPE, SEQ_VALUE_TYPE>::configuration_complete ( ::DDS::Topic_ptr topic, ::DDS::Publisher_ptr publisher, - const char* library_name, - const char* profile_name) + const char * qos_profile) { DDS4CCM_TRACE ("DDS_Update_T<CCM_TYPE, TYPED_WRITER, VALUE_TYPE, SEQ_VALUE_TYPE>::configuration_complete"); ::DDS::DataWriter_var dw = this->dds_update_->get_dds_writer (); if (::CORBA::is_nil (dw.in ())) { ::DDS::DataWriter_var dwv_tmp; - if (library_name && profile_name) + if (qos_profile) { dwv_tmp = publisher->create_datawriter_with_profile ( topic, - library_name, - profile_name, + qos_profile, ::DDS::DataWriterListener::_nil (), 0); } diff --git a/CIAO/connectors/dds4ccm/impl/DDS_Update_T.h b/CIAO/connectors/dds4ccm/impl/DDS_Update_T.h index 96f86ddbc0e..88d1372249b 100644 --- a/CIAO/connectors/dds4ccm/impl/DDS_Update_T.h +++ b/CIAO/connectors/dds4ccm/impl/DDS_Update_T.h @@ -27,8 +27,7 @@ public: void configuration_complete ( ::DDS::Topic_ptr topic, ::DDS::Publisher_ptr publisher, - const char* library_name, - const char* profile_name); + const char * qos_profile); void activate (void); diff --git a/CIAO/connectors/dds4ccm/impl/DDS_Write_T.cpp b/CIAO/connectors/dds4ccm/impl/DDS_Write_T.cpp index 02ef3a39081..1c2dcf0c777 100644 --- a/CIAO/connectors/dds4ccm/impl/DDS_Write_T.cpp +++ b/CIAO/connectors/dds4ccm/impl/DDS_Write_T.cpp @@ -28,24 +28,22 @@ void DDS_Write_T<CCM_TYPE, TYPED_WRITER, VALUE_TYPE, SEQ_VALUE_TYPE>::configuration_complete ( ::DDS::Topic_ptr topic, ::DDS::Publisher_ptr publisher, - const char* library_name, - const char* profile_name) + const char * qos_profile) { DDS4CCM_TRACE ("DDS_Write_T<CCM_TYPE, TYPED_WRITER, VALUE_TYPE, SEQ_VALUE_TYPE>::configuration_complete"); ::DDS::DataWriter_var dw = this->dds_write_->get_dds_writer (); if (::CORBA::is_nil (dw.in ())) { ::DDS::DataWriter_var dwv_tmp; - if (library_name && profile_name) + if (qos_profile) { dwv_tmp = publisher->create_datawriter_with_profile ( topic, - library_name, - profile_name, + qos_profile, ::DDS::DataWriterListener::_nil (), 0); } - else + else { ::DDS::DataWriterQos dwqos; dwv_tmp = publisher->create_datawriter ( @@ -53,7 +51,7 @@ DDS_Write_T<CCM_TYPE, TYPED_WRITER, VALUE_TYPE, SEQ_VALUE_TYPE>::configuration_c dwqos, ::DDS::DataWriterListener::_nil (), 0); - } + } if (::CORBA::is_nil (dwv_tmp.in ())) { DDS4CCM_ERROR (DDS4CCM_LOG_LEVEL_DDS_NIL_RETURN, (LM_ERROR, DDS4CCM_INFO diff --git a/CIAO/connectors/dds4ccm/impl/DDS_Write_T.h b/CIAO/connectors/dds4ccm/impl/DDS_Write_T.h index ff2bd8f526d..a71dbe0b029 100644 --- a/CIAO/connectors/dds4ccm/impl/DDS_Write_T.h +++ b/CIAO/connectors/dds4ccm/impl/DDS_Write_T.h @@ -34,8 +34,7 @@ public: void configuration_complete ( ::DDS::Topic_ptr topic, ::DDS::Publisher_ptr publisher, - const char* library_name, - const char* profile_name); + const char* qos_profile); void activate (void); diff --git a/CIAO/connectors/dds4ccm/impl/DataReaderHandler_T.cpp b/CIAO/connectors/dds4ccm/impl/DataReaderHandler_T.cpp index 98e22b28932..74c539ca6f1 100644 --- a/CIAO/connectors/dds4ccm/impl/DataReaderHandler_T.cpp +++ b/CIAO/connectors/dds4ccm/impl/DataReaderHandler_T.cpp @@ -1,6 +1,5 @@ // $Id$ -#include "dds4ccm/impl/Utils.h" #include "dds4ccm/impl/logger/Log_Macros.h" template <typename CCM_TYPE, typename TYPED_READER, typename SEQ_TYPE> diff --git a/CIAO/connectors/dds4ccm/impl/DataReaderStateListener_T.cpp b/CIAO/connectors/dds4ccm/impl/DataReaderStateListener_T.cpp index 4fa4a119785..3181abfe5fd 100644 --- a/CIAO/connectors/dds4ccm/impl/DataReaderStateListener_T.cpp +++ b/CIAO/connectors/dds4ccm/impl/DataReaderStateListener_T.cpp @@ -1,4 +1,5 @@ // $Id$ + #include "dds4ccm/impl/Utils.h" #include "dds4ccm/impl/logger/Log_Macros.h" diff --git a/CIAO/connectors/dds4ccm/impl/Getter_T.cpp b/CIAO/connectors/dds4ccm/impl/Getter_T.cpp index a126f156368..205a1eaa3cb 100644 --- a/CIAO/connectors/dds4ccm/impl/Getter_T.cpp +++ b/CIAO/connectors/dds4ccm/impl/Getter_T.cpp @@ -110,7 +110,7 @@ namespace CIAO max_samples, rd); } - return DDS_RETCODE_ERROR; + return ::DDS::RETCODE_ERROR; } template <typename GETTER_TYPE, typename TYPED_DDS_READER, typename VALUE_TYPE, typename SEQ_VALUE_TYPE> diff --git a/CIAO/connectors/dds4ccm/impl/Getter_T.h b/CIAO/connectors/dds4ccm/impl/Getter_T.h index 42a77bf13c2..e9760d1325e 100644 --- a/CIAO/connectors/dds4ccm/impl/Getter_T.h +++ b/CIAO/connectors/dds4ccm/impl/Getter_T.h @@ -12,9 +12,11 @@ #include "dds4ccm/idl/dds_rtf2_dcpsC.h" #include "ace/Copy_Disabled.h" -#include "dds4ccm/impl/ndds/Condition.h" -#include "dds4ccm/impl/ndds/ReadCondition.h" -#include "dds4ccm/impl/ndds/QueryCondition.h" +#if (CIAO_DDS4CCM_NDDS==1) +# include "dds4ccm/impl/ndds/Condition.h" +# include "dds4ccm/impl/ndds/ReadCondition.h" +# include "dds4ccm/impl/ndds/QueryCondition.h" +#endif namespace CIAO { diff --git a/CIAO/connectors/dds4ccm/impl/Reader_T.cpp b/CIAO/connectors/dds4ccm/impl/Reader_T.cpp index 56c42efb126..fde38551ac2 100644 --- a/CIAO/connectors/dds4ccm/impl/Reader_T.cpp +++ b/CIAO/connectors/dds4ccm/impl/Reader_T.cpp @@ -3,6 +3,7 @@ #include "dds4ccm/impl/Utils.h" #include "dds4ccm/impl/logger/Log_Macros.h" +#include "dds4ccm/impl/SampleInfo.h" namespace CIAO { diff --git a/CIAO/connectors/dds4ccm/impl/TopicListener.cpp b/CIAO/connectors/dds4ccm/impl/TopicListener.cpp index 52ec7966366..143ab0282a2 100644 --- a/CIAO/connectors/dds4ccm/impl/TopicListener.cpp +++ b/CIAO/connectors/dds4ccm/impl/TopicListener.cpp @@ -2,7 +2,6 @@ #include "dds4ccm/impl/TopicListener.h" #include "dds4ccm/impl/Utils.h" -#include "dds4ccm/impl/ndds/Topic.h" #include "dds4ccm/impl/DDSCallbackStatusHandler.h" #include "dds4ccm/impl/logger/Log_Macros.h" #include "ace/Reactor.h" diff --git a/CIAO/connectors/dds4ccm/impl/Utils.h b/CIAO/connectors/dds4ccm/impl/Utils.h index 7f6633016b0..d19e4af4f11 100644 --- a/CIAO/connectors/dds4ccm/impl/Utils.h +++ b/CIAO/connectors/dds4ccm/impl/Utils.h @@ -4,14 +4,18 @@ * * $Id$ * - * Misc utility classes for NDDS. + * Misc utility classes for DDS4CCM. */ -#ifndef NDDS_UTILS_H -#define NDDS_UTILS_H +#ifndef DDS4CCM_UTILS_H +#define DDS4CCM_UTILS_H + +#if (CIAO_DDS4CCM_NDDS==1) +# include "dds4ccm/idl/ndds/ndds_dcpsC.h" +#else +# include "dds4ccm/idl/dds_rtf2_dcpsC.h" +#endif -#include "dds4ccm_dds_impl_export.h" -#include "dds4ccm/idl/dds_rtf2_dcpsC.h" #include "dds4ccm/impl/dds4ccm_conf.h" #include "ace/String_Base.h" diff --git a/CIAO/connectors/dds4ccm/impl/dds4ccm_impl.mpc b/CIAO/connectors/dds4ccm/impl/dds4ccm_impl.mpc index cff418e4654..5cf662893ae 100644 --- a/CIAO/connectors/dds4ccm/impl/dds4ccm_impl.mpc +++ b/CIAO/connectors/dds4ccm/impl/dds4ccm_impl.mpc @@ -1,7 +1,7 @@ // $Id$ project(CIAO_DDS4CCM_DDS_Impl) : install, dds4ccm_skel, dds4ccm_lem_stub, taolib, \ - ciao_output, ccm_stub, dds4ccm_logger, ndds_impl { + ciao_output, ccm_stub, dds4ccm_logger { dynamicflags += DDS4CCM_DDS_IMPL_BUILD_DLL macros += BUILDING_DDS_LIB diff --git a/CIAO/connectors/dds4ccm/impl/ndds/Condition.cpp b/CIAO/connectors/dds4ccm/impl/ndds/Condition.cpp index efa38681ab5..d8fcb35c29e 100644 --- a/CIAO/connectors/dds4ccm/impl/ndds/Condition.cpp +++ b/CIAO/connectors/dds4ccm/impl/ndds/Condition.cpp @@ -1,8 +1,8 @@ // $Id$ +#include "Condition.h" + #include "ndds/ndds_cpp.h" -#include "dds4ccm/idl/dds4ccm_BaseC.h" -#include "dds4ccm/impl/ndds/Condition.h" #include "dds4ccm/impl/logger/Log_Macros.h" namespace CIAO diff --git a/CIAO/connectors/dds4ccm/impl/ndds/Condition.h b/CIAO/connectors/dds4ccm/impl/ndds/Condition.h index 4c980fb7954..270dfdb85e9 100644 --- a/CIAO/connectors/dds4ccm/impl/ndds/Condition.h +++ b/CIAO/connectors/dds4ccm/impl/ndds/Condition.h @@ -9,10 +9,10 @@ #ifndef CONDITION_H_ #define CONDITION_H_ -#include "dds4ccm/idl/dds_rtf2_dcpsC.h" +#include "ndds_dcpsC.h" #include "tao/LocalObject.h" -#include "dds4ccm/impl/ndds/dds4ccm_ndds_export.h" +#include "dds4ccm_ndds_export.h" class DDSCondition; diff --git a/CIAO/connectors/dds4ccm/impl/ndds/ContentFilteredTopic.h b/CIAO/connectors/dds4ccm/impl/ndds/ContentFilteredTopic.h index b2406c2fb0b..834a7565db1 100644 --- a/CIAO/connectors/dds4ccm/impl/ndds/ContentFilteredTopic.h +++ b/CIAO/connectors/dds4ccm/impl/ndds/ContentFilteredTopic.h @@ -10,7 +10,7 @@ #define CONTENFILTEREDTOPIC_T_H_ #include "dds4ccm/impl/ndds/dds4ccm_ndds_export.h" -#include "dds4ccm/idl/dds_rtf2_dcpsC.h" +#include "dds4ccm/idl/ndds/ndds_dcpsC.h" #include "tao/LocalObject.h" class DDSContentFilteredTopic; diff --git a/CIAO/connectors/dds4ccm/impl/ndds/DataReader.h b/CIAO/connectors/dds4ccm/impl/ndds/DataReader.h index 80ab05eadec..51567f51fa7 100644 --- a/CIAO/connectors/dds4ccm/impl/ndds/DataReader.h +++ b/CIAO/connectors/dds4ccm/impl/ndds/DataReader.h @@ -9,7 +9,7 @@ #ifndef DATAREADER_H #define DATAREADER_H -#include "dds4ccm/idl/dds_rtf2_dcpsC.h" +#include "dds4ccm/idl/ndds/ndds_dcpsC.h" #include "dds4ccm/impl/ndds/dds4ccm_ndds_export.h" #include "tao/LocalObject.h" diff --git a/CIAO/connectors/dds4ccm/impl/ndds/DataReaderListener.h b/CIAO/connectors/dds4ccm/impl/ndds/DataReaderListener.h index ca2d6bed622..d5fa3597f96 100644 --- a/CIAO/connectors/dds4ccm/impl/ndds/DataReaderListener.h +++ b/CIAO/connectors/dds4ccm/impl/ndds/DataReaderListener.h @@ -10,7 +10,7 @@ #define DDSDATAREADERLISTENER_T_H_ #include "dds4ccm/impl/ndds/dds4ccm_ndds_export.h" -#include "dds4ccm/idl/dds_rtf2_dcpsC.h" +#include "dds4ccm/idl/ndds/ndds_dcpsC.h" #include "ndds/ndds_cpp.h" namespace CIAO diff --git a/CIAO/connectors/dds4ccm/impl/ndds/DataReader_T.cpp b/CIAO/connectors/dds4ccm/impl/ndds/DataReader_T.cpp index 7b2e1942975..bf379feb0fc 100644 --- a/CIAO/connectors/dds4ccm/impl/ndds/DataReader_T.cpp +++ b/CIAO/connectors/dds4ccm/impl/ndds/DataReader_T.cpp @@ -8,6 +8,7 @@ #include "dds4ccm/impl/ndds/TopicDescription.h" #include "dds4ccm/impl/ndds/Topic.h" #include "dds4ccm/impl/ndds/ContentFilteredTopic.h" +#include "dds4ccm/impl/Utils.h" #include "dds4ccm/impl/ndds/convertors/SampleInfoSeq.h" #include "dds4ccm/impl/ndds/convertors/SampleLostStatus.h" @@ -22,7 +23,6 @@ #include "dds4ccm/impl/ndds/convertors/InstanceHandleSeq.h" #include "dds4ccm/impl/ndds/convertors/DataReaderQos.h" #include "dds4ccm/impl/ndds/convertors/StringSeq.h" -#include "dds4ccm/impl/SampleInfo.h" #include "dds4ccm/impl/logger/Log_Macros.h" diff --git a/CIAO/connectors/dds4ccm/impl/ndds/DataReader_T.h b/CIAO/connectors/dds4ccm/impl/ndds/DataReader_T.h index de7964578bb..c91a0c02bfd 100644 --- a/CIAO/connectors/dds4ccm/impl/ndds/DataReader_T.h +++ b/CIAO/connectors/dds4ccm/impl/ndds/DataReader_T.h @@ -10,9 +10,7 @@ #ifndef DATAREADER_T_H_ #define DATAREADER_T_H_ -#include "dds4ccm/impl/Utils.h" #include "dds4ccm/impl/ndds/DataReader.h" -#include "dds4ccm/idl/dds4ccm_BaseC.h" #include "dds4ccm/impl/ndds/convertors/InstanceHandle_t.h" namespace CIAO diff --git a/CIAO/connectors/dds4ccm/impl/ndds/DataWriter.h b/CIAO/connectors/dds4ccm/impl/ndds/DataWriter.h index 5c702f00d84..efd1ce3da71 100644 --- a/CIAO/connectors/dds4ccm/impl/ndds/DataWriter.h +++ b/CIAO/connectors/dds4ccm/impl/ndds/DataWriter.h @@ -9,7 +9,7 @@ #ifndef DDS4CCM_DATAWRITER_H #define DDS4CCM_DATAWRITER_H -#include "dds4ccm/idl/dds_rtf2_dcpsC.h" +#include "dds4ccm/idl/ndds/ndds_dcpsC.h" #include "dds4ccm/impl/ndds/dds4ccm_ndds_export.h" diff --git a/CIAO/connectors/dds4ccm/impl/ndds/DataWriterListener.h b/CIAO/connectors/dds4ccm/impl/ndds/DataWriterListener.h index 021fb75bbc7..af34e108e6b 100644 --- a/CIAO/connectors/dds4ccm/impl/ndds/DataWriterListener.h +++ b/CIAO/connectors/dds4ccm/impl/ndds/DataWriterListener.h @@ -11,7 +11,7 @@ #define DDSDATAWRITERLISTENER_T_H_ #include "dds4ccm/impl/ndds/dds4ccm_ndds_export.h" -#include "dds4ccm/idl/dds_rtf2_dcpsC.h" +#include "dds4ccm/idl/ndds/ndds_dcpsC.h" #include "ndds/ndds_cpp.h" namespace CIAO diff --git a/CIAO/connectors/dds4ccm/impl/ndds/DataWriter_T.h b/CIAO/connectors/dds4ccm/impl/ndds/DataWriter_T.h index 9f781b87123..578a56a77cd 100644 --- a/CIAO/connectors/dds4ccm/impl/ndds/DataWriter_T.h +++ b/CIAO/connectors/dds4ccm/impl/ndds/DataWriter_T.h @@ -9,7 +9,7 @@ #ifndef DATAWRITER_T_H_ #define DATAWRITER_T_H_ -#include "dds4ccm/idl/dds_rtf2_dcpsC.h" +#include "dds4ccm/idl/ndds/ndds_dcpsC.h" #include "dds4ccm/impl/dds4ccm_conf.h" #include "dds4ccm/impl/ndds/DataWriter.h" diff --git a/CIAO/connectors/dds4ccm/impl/ndds/DomainParticipant.cpp b/CIAO/connectors/dds4ccm/impl/ndds/DomainParticipant.cpp index dfd34028a7d..a94a2a6a3c9 100644 --- a/CIAO/connectors/dds4ccm/impl/ndds/DomainParticipant.cpp +++ b/CIAO/connectors/dds4ccm/impl/ndds/DomainParticipant.cpp @@ -11,9 +11,9 @@ #include "dds4ccm/impl/ndds/SubscriberListener.h" #include "dds4ccm/impl/ndds/StatusCondition.h" -#include "dds4ccm/impl/Utils.h" #include "dds4ccm/impl/ndds/TopicListener.h" #include "dds4ccm/impl/ndds/DomainParticipantManager.h" +#include "dds4ccm/impl/ndds/Utils.h" #include "dds4ccm/impl/ndds/convertors/PublisherQos.h" #include "dds4ccm/impl/ndds/convertors/SubscriberQos.h" @@ -49,16 +49,16 @@ namespace CIAO ::DDS::Publisher_ptr DDS_DomainParticipant_i::create_publisher_with_profile ( - const char* library_name, - const char *profile_name, + const char * qos_profile, ::DDS::PublisherListener_ptr a_listener, ::DDS::StatusMask mask) { DDS4CCM_TRACE ("DDS_DomainParticipant_i::create_publisher_with_profile"); DDS4CCM_DEBUG (DDS4CCM_LOG_LEVEL_ACTION_STARTING, (LM_TRACE, DDS4CCM_INFO - "DDS_DomainParticipant_i::create_publisher_with_profile - " - "Start creating Publisher\n")); + "DDS_DomainParticipant_i::create_publisher_with_profile <%C> - " + "Start creating Publisher\n", + qos_profile)); DDS_PublisherListener_i *ccm_dds_pl = 0; if (! ::CORBA::is_nil (a_listener)) { @@ -66,17 +66,24 @@ namespace CIAO DDS_PublisherListener_i (a_listener, this), ::CORBA::NO_MEMORY ()); } + char * lib_name = get_library_name(qos_profile); + char * prof_name = get_profile_name(qos_profile); + DDSPublisher * ccm_dds_pub = - this->rti_entity ()->create_publisher_with_profile (library_name, - profile_name, + this->rti_entity ()->create_publisher_with_profile ( + lib_name, + prof_name, ccm_dds_pl, mask); + ACE_OS::free (lib_name); + ACE_OS::free (prof_name); if (!ccm_dds_pub) { DDS4CCM_ERROR (DDS4CCM_LOG_LEVEL_ERROR, (LM_ERROR, DDS4CCM_INFO - "DDS_DomainParticipant_i::create_publisher_with_profile - " - "Error: Unable to create Publisher\n")); + "DDS_DomainParticipant_i::create_publisher_with_profile <%C> - " + "Error: Unable to create Publisher\n", + qos_profile)); delete ccm_dds_pl; return ::DDS::Publisher::_nil (); } @@ -87,8 +94,9 @@ namespace CIAO ::CORBA::NO_MEMORY ()); DDS4CCM_DEBUG (DDS4CCM_LOG_LEVEL_ACTION, (LM_INFO, DDS4CCM_INFO - "DDS_DomainParticipant_i::create_publisher_with_profile - " - "Successfully created a DDSPublisher\n")); + "DDS_DomainParticipant_i::create_publisher_with_profile <%C> - " + "Successfully created a DDSPublisher\n", + qos_profile)); ccm_dds_pub->enable (); return retval._retn (); @@ -191,8 +199,7 @@ namespace CIAO ::DDS::Subscriber_ptr DDS_DomainParticipant_i::create_subscriber_with_profile ( - const char* library_name, - const char *profile_name, + const char * qos_profile, ::DDS::SubscriberListener_ptr a_listener, ::DDS::StatusMask mask) { @@ -200,8 +207,9 @@ namespace CIAO DDS4CCM_DEBUG (DDS4CCM_LOG_LEVEL_ACTION_STARTING, (LM_TRACE, DDS4CCM_INFO "DDS_DomainParticipant_i" - "::create_subscriber_with_profile - " - "Creating Subscriber\n")); + "::create_subscriber_with_profile <%C> - " + "Creating Subscriber\n", + qos_profile)); DDS_SubscriberListener_i *ccm_dds_sl = 0; if (! ::CORBA::is_nil (a_listener)) @@ -210,19 +218,26 @@ namespace CIAO DDS_SubscriberListener_i (a_listener, this), ::CORBA::NO_MEMORY ()); } + char * lib_name = get_library_name(qos_profile); + char * prof_name = get_profile_name(qos_profile); + DDSSubscriber * ccm_dds_sub = this->rti_entity ()->create_subscriber_with_profile ( - library_name, - profile_name, + lib_name, + prof_name, ccm_dds_sl, mask); + ACE_OS::free (lib_name); + ACE_OS::free (prof_name); + if (!ccm_dds_sub) { DDS4CCM_ERROR (DDS4CCM_LOG_LEVEL_DDS_NIL_RETURN, (LM_ERROR, DDS4CCM_INFO "DDS_DomainParticipant_i::" - "create_subscriber_with_profile - " - "Error: RTI DDS returned a nil subscriber.\n")); + "create_subscriber_with_profile <%C> - " + "Error: RTI DDS returned a nil subscriber.\n", + qos_profile)); delete ccm_dds_sl; return ::DDS::Subscriber::_nil (); } @@ -233,8 +248,9 @@ namespace CIAO ::CORBA::NO_MEMORY ()); DDS4CCM_DEBUG (DDS4CCM_LOG_LEVEL_ACTION, (LM_INFO, DDS4CCM_INFO - "DDS_DomainParticipant_i::create_subscriber_with_profile - " - "Successfully created a DDSSubscriber\n")); + "DDS_DomainParticipant_i::create_subscriber_with_profile <%C> - " + "Successfully created a DDSSubscriber\n", + qos_profile)); ccm_dds_sub->enable (); return retval._retn (); @@ -273,7 +289,7 @@ namespace CIAO { DDS4CCM_ERROR (DDS4CCM_LOG_LEVEL_DDS_NIL_RETURN, (LM_ERROR, DDS4CCM_INFO "DDS_DomainParticipant_i::" - "create_subscriber_with_profile - " + "create_subscriber - " "Error: RTI DDS returned a nil subscriber.\n")); delete ccm_dds_sl; return ::DDS::Subscriber::_nil (); @@ -441,8 +457,7 @@ namespace CIAO DDS_DomainParticipant_i::create_topic_with_profile ( const char *impl_name, const char *type_name, - const char *library_name, - const char *profile_name, + const char *qos_profile, ::DDS::TopicListener_ptr a_listener, ::DDS::StatusMask mask) { @@ -451,22 +466,25 @@ namespace CIAO if (impl_name == 0) { DDS4CCM_ERROR (DDS4CCM_LOG_LEVEL_ERROR, (LM_ERROR, DDS4CCM_INFO - "DDS_DomainParticipant_i::create_topic_with_profile - " - "Error: provided nil topic name\n")); + "DDS_DomainParticipant_i::create_topic_with_profile <%C> - " + "Error: provided nil topic name\n", + qos_profile)); return ::DDS::Topic::_nil (); } if (type_name == 0) { DDS4CCM_ERROR (DDS4CCM_LOG_LEVEL_ERROR, (LM_ERROR, DDS4CCM_INFO - "DDS_DomainParticipant_i::create_topic_with_profile - " - "Error: provided nil type name\n")); + "DDS_DomainParticipant_i::create_topic_with_profile <%C> - " + "Error: provided nil type name\n", + qos_profile)); return ::DDS::Topic::_nil (); } DDS4CCM_DEBUG (DDS4CCM_LOG_LEVEL_ACTION_STARTING, (LM_DEBUG, DDS4CCM_INFO - "DDS_DomainParticipant_i::create_topic_with_profile - " + "DDS_DomainParticipant_i::create_topic_with_profile <%C> - " "Attempting to create topic with name %C and type %C\n", + qos_profile, impl_name, type_name)); DDS_TopicListener_i *ccm_dds_tl = 0; @@ -488,19 +506,25 @@ namespace CIAO if (!dds_tp) { + char * lib_name = get_library_name(qos_profile); + char * prof_name = get_profile_name(qos_profile); + dds_tp = this->rti_entity ()->create_topic_with_profile ( impl_name, type_name, - library_name, - profile_name, + lib_name, + prof_name, ccm_dds_tl, mask); + ACE_OS::free (lib_name); + ACE_OS::free (prof_name); if (!dds_tp) { DDS4CCM_ERROR (DDS4CCM_LOG_LEVEL_DDS_NIL_RETURN, (LM_ERROR, DDS4CCM_INFO - "DDS_DomainParticipant_i::create_topic_with_profile - " - "Error: RTI DDS returned a nil topic\n")); + "DDS_DomainParticipant_i::create_topic_with_profile <%C> - " + "Error: RTI DDS returned a nil topic\n", + qos_profile)); delete ccm_dds_tl; return ::DDS::Topic::_nil (); } @@ -511,8 +535,9 @@ namespace CIAO ::CORBA::NO_MEMORY ()); DDS4CCM_DEBUG (DDS4CCM_LOG_LEVEL_ACTION, (LM_INFO, DDS4CCM_INFO - "DDS_DomainParticipant_i::create_topic_with_profile - " + "DDS_DomainParticipant_i::create_topic_with_profile <%C> - " "Successfully created topic with name %C and type %C\n", + qos_profile, impl_name, type_name)); if (ccm_dds_tl) @@ -526,8 +551,9 @@ namespace CIAO else { DDS4CCM_DEBUG (DDS4CCM_LOG_LEVEL_ACTION, (LM_DEBUG, DDS4CCM_INFO - "DDS_DomainParticipant_i::create_topic_with_profile - " + "DDS_DomainParticipant_i::create_topic_with_profile <%C> - " "Re-using topic with name %C and type %C.\n", + qos_profile, impl_name, type_name)); DPMANAGER->_inc_ref (this->rti_entity (), dds_tp); diff --git a/CIAO/connectors/dds4ccm/impl/ndds/DomainParticipant.h b/CIAO/connectors/dds4ccm/impl/ndds/DomainParticipant.h index cbc56b8eee5..f97c54c6708 100644 --- a/CIAO/connectors/dds4ccm/impl/ndds/DomainParticipant.h +++ b/CIAO/connectors/dds4ccm/impl/ndds/DomainParticipant.h @@ -10,7 +10,7 @@ #ifndef DOMAINPARTICIPANT_T_H_ #define DOMAINPARTICIPANT_T_H_ -#include "dds4ccm/idl/dds_rtf2_dcpsC.h" +#include "dds4ccm/idl/ndds/ndds_dcpsC.h" #include "dds4ccm/impl/dds4ccm_conf.h" #include "dds4ccm/impl/ndds/dds4ccm_ndds_export.h" #include "tao/LocalObject.h" @@ -38,8 +38,7 @@ namespace CIAO ::DDS::StatusMask mask); virtual ::DDS::Publisher_ptr create_publisher_with_profile ( - const char* library_name, - const char *profile_name, + const char* qos_profile, ::DDS::PublisherListener_ptr a_listener, ::DDS::StatusMask mask); @@ -51,8 +50,7 @@ namespace CIAO ::DDS::StatusMask mask); virtual ::DDS::Subscriber_ptr create_subscriber_with_profile( - const char* library_name, - const char *profile_name, + const char* qos_profile, ::DDS::SubscriberListener_ptr a_listener, ::DDS::StatusMask mask); @@ -70,8 +68,7 @@ namespace CIAO virtual ::DDS::Topic_ptr create_topic_with_profile ( const char * impl_name, const char * type_name, - const char* library_name, - const char *profile_name, + const char* qos_profile, ::DDS::TopicListener_ptr a_listener, ::DDS::StatusMask mask); diff --git a/CIAO/connectors/dds4ccm/impl/ndds/DomainParticipantFactory.cpp b/CIAO/connectors/dds4ccm/impl/ndds/DomainParticipantFactory.cpp index fb4b71108b2..be290a1e74b 100644 --- a/CIAO/connectors/dds4ccm/impl/ndds/DomainParticipantFactory.cpp +++ b/CIAO/connectors/dds4ccm/impl/ndds/DomainParticipantFactory.cpp @@ -5,6 +5,7 @@ #include "dds4ccm/impl/ndds/DomainParticipantListener.h" #include "dds4ccm/impl/ndds/convertors/DomainParticipantFactoryQos.h" #include "dds4ccm/impl/ndds/convertors/DomainParticipantQos.h" +#include "dds4ccm/impl/ndds/Utils.h" #include "dds4ccm/impl/Utils.h" #include "dds4ccm/impl/logger/Log_Macros.h" #include "dds4ccm/impl/ndds/DomainParticipantManager.h" @@ -103,8 +104,7 @@ namespace CIAO ::DDS::DomainParticipant_ptr DDS_DomainParticipantFactory_i::create_participant_with_profile ( ::DDS::DomainId_t domain_id, - const char * library_name, - const char * profile_name, + const char * qos_profile, ::DDS::DomainParticipantListener_ptr a_listener, ::DDS::StatusMask mask) { @@ -114,8 +114,8 @@ namespace CIAO DDS4CCM_DEBUG (DDS4CCM_LOG_LEVEL_ACTION_STARTING, (LM_TRACE, DDS4CCM_INFO "DDS_DomainParticipantFactory_i::create_participant_with_profile - " "Start creating domain participant: " - "profile <%C#%C> - domain <%d>\n", - library_name, profile_name, domain_id)); + "profile <%C> - domain <%d>\n", + qos_profile, domain_id)); DDS_DomainParticipantListener_i *ccm_dds_dpl = 0; if (! ::CORBA::is_nil (a_listener)) { @@ -124,32 +124,35 @@ namespace CIAO ::CORBA::NO_MEMORY ()); } - ACE_CString qos_profile = library_name; - qos_profile += "#"; - qos_profile += profile_name; - - DDSDomainParticipant *dds_dp = - DPMANAGER->get_participant (qos_profile.c_str ()); + DPMANAGER->get_participant (qos_profile); if (!dds_dp) { DDS4CCM_DEBUG (DDS4CCM_LOG_LEVEL_ACTION, (LM_DEBUG, DDS4CCM_INFO "DDS_DomainParticipantFactory_i::create_participant_with_profile - " "Creating participant: profile <%C> - domain <%d>\n", - qos_profile.c_str (), + qos_profile, domain_id)); + + char * lib_name = get_library_name(qos_profile); + char * prof_name = get_profile_name(qos_profile); + dds_dp = DDSDomainParticipantFactory::get_instance ()-> create_participant_with_profile (domain_id, - library_name, - profile_name, + lib_name, + prof_name, ccm_dds_dpl, mask); + ACE_OS::free (lib_name); + ACE_OS::free (prof_name); + if (!dds_dp) { DDS4CCM_ERROR (DDS4CCM_LOG_LEVEL_ERROR, (LM_ERROR, DDS4CCM_INFO - "DDS_DomainParticipantFactory_i::create_participant_with_profile - " - "Error: Unable to create DomainParticipant\n")); + "DDS_DomainParticipantFactory_i::create_participant_with_profile <%C> - " + "Error: Unable to create DomainParticipant\n", + qos_profile)); return ::DDS::DomainParticipant::_nil (); } ::DDS::DomainParticipant_var retval; @@ -168,7 +171,7 @@ namespace CIAO (retval.in ()); typed_dp->set_rti_entity (dds_dp); - DPMANAGER->add_participant (qos_profile.c_str (), dds_dp); + DPMANAGER->add_participant (qos_profile, dds_dp); return retval._retn (); } else @@ -176,7 +179,7 @@ namespace CIAO DDS4CCM_DEBUG (DDS4CCM_LOG_LEVEL_ACTION, (LM_DEBUG, DDS4CCM_INFO "DDS_DomainParticipantFactory_i::create_participant_with_profile - Re-using " "participant for QOS profile <%C> and domain <%d>.\n", - qos_profile.c_str (), + qos_profile, domain_id)); ::DDS::DomainParticipant_var retval; ACE_NEW_THROW_EX (retval, @@ -310,14 +313,18 @@ namespace CIAO ::DDS::ReturnCode_t DDS_DomainParticipantFactory_i::set_default_participant_qos_with_profile ( - const char * library_name, - const char * profile_name) + const char * qos_profile) { - DDS4CCM_TRACE ("DDS_DomainParticipantFactory_i::" - "set_default_participant_qos_with_profile"); + char * lib_name = get_library_name(qos_profile); + char * prof_name = get_profile_name(qos_profile); - return DDSDomainParticipantFactory::get_instance ()-> - set_default_participant_qos_with_profile (library_name, profile_name); + ::DDS::ReturnCode_t retcode = DDSDomainParticipantFactory::get_instance ()-> + set_default_participant_qos_with_profile (lib_name, prof_name); + + ACE_OS::free (lib_name); + ACE_OS::free (prof_name); + + return retcode; } } } diff --git a/CIAO/connectors/dds4ccm/impl/ndds/DomainParticipantFactory.h b/CIAO/connectors/dds4ccm/impl/ndds/DomainParticipantFactory.h index 3ad1bda43ed..a32bbaa6ec5 100644 --- a/CIAO/connectors/dds4ccm/impl/ndds/DomainParticipantFactory.h +++ b/CIAO/connectors/dds4ccm/impl/ndds/DomainParticipantFactory.h @@ -10,7 +10,7 @@ #ifndef DOMAINPARTICIPANTFACTORY_T_H_ #define DOMAINPARTICIPANTFACTORY_T_H_ -#include "dds4ccm/idl/dds_rtf2_dcpsC.h" +#include "dds4ccm/idl/ndds/ndds_dcpsC.h" #include "tao/LocalObject.h" #include "dds4ccm/impl/ndds/dds4ccm_ndds_export.h" @@ -40,8 +40,7 @@ namespace CIAO virtual ::DDS::DomainParticipant_ptr create_participant_with_profile ( ::DDS::DomainId_t domain_id, - const char * library_name, - const char * profile_name, + const char * qos_profile, ::DDS::DomainParticipantListener_ptr a_listener, ::DDS::StatusMask mask); @@ -64,8 +63,7 @@ namespace CIAO ::DDS::ReturnCode_t get_qos (::DDS::DomainParticipantFactoryQos & qos); virtual ::DDS::ReturnCode_t set_default_participant_qos_with_profile( - const char * library_name, - const char * profile_name); + const char * qos_profile); }; } } diff --git a/CIAO/connectors/dds4ccm/impl/ndds/DomainParticipantListener.h b/CIAO/connectors/dds4ccm/impl/ndds/DomainParticipantListener.h index e51eb310ba0..ddc9db974de 100644 --- a/CIAO/connectors/dds4ccm/impl/ndds/DomainParticipantListener.h +++ b/CIAO/connectors/dds4ccm/impl/ndds/DomainParticipantListener.h @@ -10,7 +10,7 @@ #ifndef DOMAINPARTICIPANTLISTENER_H_ #define DOMAINPARTICIPANTLISTENER_H_ -#include "dds4ccm/idl/dds_rtf2_dcpsC.h" +#include "dds4ccm/idl/ndds/ndds_dcpsC.h" #include "dds4ccm/impl/ndds/dds4ccm_ndds_export.h" # include "ndds/ndds_cpp.h" diff --git a/CIAO/connectors/dds4ccm/impl/ndds/Publisher.cpp b/CIAO/connectors/dds4ccm/impl/ndds/Publisher.cpp index 70f5923d83c..f26eea820a5 100644 --- a/CIAO/connectors/dds4ccm/impl/ndds/Publisher.cpp +++ b/CIAO/connectors/dds4ccm/impl/ndds/Publisher.cpp @@ -1,7 +1,5 @@ // $Id$ -#include "dds4ccm/impl/Utils.h" - #include "dds4ccm/impl/ndds/Publisher.h" #include "dds4ccm/impl/ndds/PublisherListener.h" #include "dds4ccm/impl/ndds/DomainParticipant.h" @@ -10,6 +8,7 @@ #include "dds4ccm/impl/ndds/StatusCondition.h" #include "dds4ccm/impl/ndds/DataWriterListener.h" #include "dds4ccm/impl/ndds/TypeSupport.h" +#include "dds4ccm/impl/ndds/Utils.h" #include "dds4ccm/impl/ndds/convertors/InstanceHandle_t.h" #include "dds4ccm/impl/ndds/convertors/Duration_t.h" @@ -93,8 +92,7 @@ namespace CIAO ::DDS::DataWriter_ptr DDS_Publisher_i::create_datawriter_with_profile (::DDS::Topic_ptr a_topic, - const char* library_name, - const char *profile_name, + const char* qos_profile, ::DDS::DataWriterListener_ptr a_listener, ::DDS::StatusMask mask) { @@ -105,8 +103,9 @@ namespace CIAO if (!topic) { DDS4CCM_ERROR (DDS4CCM_LOG_LEVEL_CAST_ERROR, (LM_ERROR, DDS4CCM_INFO - "DDS_Publisher_i::create_datawriter_with_profile - " - "Error: Unable to cast provided topic to its servant.\n")); + "DDS_Publisher_i::create_datawriter_with_profile <%C>- " + "Error: Unable to cast provided topic to its servant.\n", + qos_profile)); return ::DDS::DataWriter::_nil (); } @@ -117,18 +116,25 @@ namespace CIAO DDS_DataWriterListener_i (a_listener, 0), ::CORBA::NO_MEMORY ()); } + + char * lib_name = get_library_name(qos_profile); + char * prof_name = get_profile_name(qos_profile); + DDSDataWriter *ccm_dds_dw = this->rti_entity ()->create_datawriter_with_profile ( topic->get_rti_entity (), - library_name, - profile_name, + lib_name, + prof_name, ccm_dds_drl, mask); + ACE_OS::free (lib_name); + ACE_OS::free (prof_name); if (!ccm_dds_dw) { DDS4CCM_ERROR (DDS4CCM_LOG_LEVEL_DDS_NIL_RETURN, (LM_ERROR, DDS4CCM_INFO - "DDS_Publisher_i::create_datawriter_with_profile - " - "Error: RTI Topic returned a nil datawriter.\n")); + "DDS_Publisher_i::create_datawriter_with_profile <%C> - " + "Error: RTI Topic returned a nil datawriter.\n", + qos_profile)); delete ccm_dds_drl; return ::DDS::DataWriter::_nil (); } @@ -136,9 +142,8 @@ namespace CIAO { DDS4CCM_DEBUG (DDS4CCM_LOG_LEVEL_ACTION, (LM_DEBUG, DDS4CCM_INFO "DDS_Publisher_i::create_datawriter_with_profile - " - "Successfully created datawriter with profile <%C#%C>.\n", - library_name, - profile_name)); + "Successfully created datawriter with profile <%C>.\n", + qos_profile)); } ::DDS::DataWriter_var retval = diff --git a/CIAO/connectors/dds4ccm/impl/ndds/Publisher.h b/CIAO/connectors/dds4ccm/impl/ndds/Publisher.h index cea2dc04712..dcf185d9bd5 100644 --- a/CIAO/connectors/dds4ccm/impl/ndds/Publisher.h +++ b/CIAO/connectors/dds4ccm/impl/ndds/Publisher.h @@ -11,7 +11,7 @@ #define PUBLISHER_T_H_ #include "dds4ccm/impl/ndds/dds4ccm_ndds_export.h" -#include "dds4ccm/idl/dds_rtf2_dcpsC.h" +#include "dds4ccm/idl/ndds/ndds_dcpsC.h" #include "tao/LocalObject.h" class DDSPublisher; @@ -40,8 +40,7 @@ namespace CIAO virtual ::DDS::DataWriter_ptr create_datawriter_with_profile ( ::DDS::Topic_ptr a_topic, - const char* library_name, - const char *profile_name, + const char* qos_profile, ::DDS::DataWriterListener_ptr a_listener, ::DDS::StatusMask mask); diff --git a/CIAO/connectors/dds4ccm/impl/ndds/PublisherListener.h b/CIAO/connectors/dds4ccm/impl/ndds/PublisherListener.h index e0f6218660b..78196e11f9a 100644 --- a/CIAO/connectors/dds4ccm/impl/ndds/PublisherListener.h +++ b/CIAO/connectors/dds4ccm/impl/ndds/PublisherListener.h @@ -10,7 +10,7 @@ #ifndef DDSPUBLISHERLISTENER_T_H_ #define DDSPUBLISHERLISTENER_T_H_ -#include "dds4ccm/idl/dds_rtf2_dcpsC.h" +#include "dds4ccm/idl/ndds/ndds_dcpsC.h" #include "dds4ccm/impl/ndds/dds4ccm_ndds_export.h" #include "ndds/ndds_cpp.h" diff --git a/CIAO/connectors/dds4ccm/impl/ndds/QueryCondition.h b/CIAO/connectors/dds4ccm/impl/ndds/QueryCondition.h index 55ebb39adb0..da7cd6fffeb 100644 --- a/CIAO/connectors/dds4ccm/impl/ndds/QueryCondition.h +++ b/CIAO/connectors/dds4ccm/impl/ndds/QueryCondition.h @@ -11,7 +11,7 @@ #define QUERYCONDITION_T_H_ #include "dds4ccm/impl/ndds/dds4ccm_ndds_export.h" -#include "dds4ccm/idl/dds_rtf2_dcpsC.h" +#include "dds4ccm/idl/ndds/ndds_dcpsC.h" #include "tao/LocalObject.h" class DDSQueryCondition; diff --git a/CIAO/connectors/dds4ccm/impl/ndds/ReadCondition.h b/CIAO/connectors/dds4ccm/impl/ndds/ReadCondition.h index e3f6d3022a8..c2e78fa6171 100644 --- a/CIAO/connectors/dds4ccm/impl/ndds/ReadCondition.h +++ b/CIAO/connectors/dds4ccm/impl/ndds/ReadCondition.h @@ -11,7 +11,7 @@ #define READCONDITION_T_H_ #include "dds4ccm/impl/ndds/dds4ccm_ndds_export.h" -#include "dds4ccm/idl/dds_rtf2_dcpsC.h" +#include "dds4ccm/idl/ndds/ndds_dcpsC.h" #include "tao/LocalObject.h" class DDSReadCondition; diff --git a/CIAO/connectors/dds4ccm/impl/ndds/StatusCondition.h b/CIAO/connectors/dds4ccm/impl/ndds/StatusCondition.h index 26173fe1863..7e39833fe1a 100644 --- a/CIAO/connectors/dds4ccm/impl/ndds/StatusCondition.h +++ b/CIAO/connectors/dds4ccm/impl/ndds/StatusCondition.h @@ -11,7 +11,7 @@ #define DDS4CCM_STATUSCONDITION_H #include "dds4ccm/impl/ndds/dds4ccm_ndds_export.h" -#include "dds4ccm/idl/dds_rtf2_dcpsC.h" +#include "dds4ccm/idl/ndds/ndds_dcpsC.h" #include "tao/LocalObject.h" class DDSStatusCondition; diff --git a/CIAO/connectors/dds4ccm/impl/ndds/Subscriber.cpp b/CIAO/connectors/dds4ccm/impl/ndds/Subscriber.cpp index 44d49a789a6..4cd72de9ebc 100644 --- a/CIAO/connectors/dds4ccm/impl/ndds/Subscriber.cpp +++ b/CIAO/connectors/dds4ccm/impl/ndds/Subscriber.cpp @@ -8,8 +8,8 @@ #include "dds4ccm/impl/ndds/StatusCondition.h" #include "dds4ccm/impl/ndds/DomainParticipant.h" #include "dds4ccm/impl/ndds/TypeSupport.h" +#include "dds4ccm/impl/ndds/Utils.h" -#include "dds4ccm/impl/Utils.h" #include "dds4ccm/impl/ndds/SubscriberListener.h" #include "dds4ccm/impl/ndds/convertors/InstanceHandle_t.h" @@ -105,31 +105,42 @@ namespace CIAO DDSDataReader * DDS_Subscriber_i::create_datareader_with_profile ( DDSContentFilteredTopic * topic, - const char * library_name, - const char * profile_name, + const char * qos_profile, DDSDataReaderListener * ccm_dds_drl, ::DDS::StatusMask mask) { - return this->rti_entity ()->create_datareader_with_profile (topic, - library_name, - profile_name, + char * lib_name = get_library_name(qos_profile); + char * prof_name = get_profile_name(qos_profile); + + DDSDataReader * dr = this->rti_entity ()->create_datareader_with_profile ( + topic, + lib_name, + prof_name, ccm_dds_drl, mask); + ACE_OS::free (lib_name); + ACE_OS::free (prof_name); + + return dr; } DDSDataReader * DDS_Subscriber_i::create_datareader_with_profile ( DDSTopic * topic, - const char * library_name, - const char * profile_name, + const char * qos_profile, DDSDataReaderListener * ccm_dds_drl, ::DDS::StatusMask mask) { - return this->rti_entity ()->create_datareader_with_profile (topic, - library_name, - profile_name, + char * lib_name = get_library_name (qos_profile); + char * prof_name = get_profile_name (qos_profile); + DDSDataReader * dr = this->rti_entity ()->create_datareader_with_profile (topic, + lib_name, + prof_name, ccm_dds_drl, mask); + ACE_OS::free (lib_name); + ACE_OS::free (prof_name); + return dr; } ::DDS::DataReader_ptr @@ -207,8 +218,7 @@ namespace CIAO ::DDS::DataReader_ptr DDS_Subscriber_i::create_datareader_with_profile ( ::DDS::TopicDescription_ptr a_topic, - const char * library_name, - const char * profile_name, + const char * qos_profile, ::DDS::DataReaderListener_ptr a_listener, ::DDS::StatusMask mask) { @@ -231,17 +241,17 @@ namespace CIAO if (!cf_topic) { DDS4CCM_ERROR (DDS4CCM_LOG_LEVEL_CAST_ERROR, (LM_ERROR, DDS4CCM_INFO - "DDS_Subscriber_i::create_datareader_with_profile - " + "DDS_Subscriber_i::create_datareader_with_profile <%C> - " "Error: Unable to cast provided topic to one " - "of its servant.\n")); + "of its servant.\n", + qos_profile)); delete ccm_dds_drl; return ::DDS::DataReader::_nil (); } else { ccm_dds_dr = this->create_datareader_with_profile (cf_topic->get_rti_entity (), - library_name, - profile_name, + qos_profile, ccm_dds_drl, mask); } @@ -249,8 +259,7 @@ namespace CIAO else { ccm_dds_dr = this->create_datareader_with_profile (topic->get_rti_entity (), - library_name, - profile_name, + qos_profile, ccm_dds_drl, mask); } @@ -258,8 +267,9 @@ namespace CIAO if (!ccm_dds_dr) { DDS4CCM_ERROR (DDS4CCM_LOG_LEVEL_DDS_NIL_RETURN, (LM_ERROR, DDS4CCM_INFO - "DDS_Subscriber_i::create_datareader_with_profile - " - "Error: RTI Topic returned a nil datareader.\n")); + "DDS_Subscriber_i::create_datareader_with_profile <%C>- " + "Error: RTI Topic returned a nil datareader.\n", + qos_profile)); delete ccm_dds_drl; return ::DDS::DataReader::_nil (); } @@ -267,9 +277,8 @@ namespace CIAO { DDS4CCM_DEBUG (DDS4CCM_LOG_LEVEL_ACTION, (LM_DEBUG, DDS4CCM_INFO "DDS_Subscriber_i::create_datareader_with_profile - " - "Successfully created datareader with profile <%C#%C>.\n", - library_name, - profile_name)); + "Successfully created datareader with profile <%C>.\n", + qos_profile)); } ::DDS::DataReader_var reader = DDS_TypeSupport_i::create_datareader (ccm_dds_dr, diff --git a/CIAO/connectors/dds4ccm/impl/ndds/Subscriber.h b/CIAO/connectors/dds4ccm/impl/ndds/Subscriber.h index 09b14377419..2210452069e 100644 --- a/CIAO/connectors/dds4ccm/impl/ndds/Subscriber.h +++ b/CIAO/connectors/dds4ccm/impl/ndds/Subscriber.h @@ -10,7 +10,7 @@ #ifndef SUBSCRIBER_T_H_ #define SUBSCRIBER_T_H_ -#include "dds4ccm/idl/dds_rtf2_dcpsC.h" +#include "dds4ccm/idl/ndds/ndds_dcpsC.h" #include "dds4ccm/impl/ndds/DataReader_T.h" #include "tao/LocalObject.h" @@ -49,8 +49,7 @@ namespace CIAO virtual ::DDS::DataReader_ptr create_datareader_with_profile ( ::DDS::TopicDescription_ptr a_topic, - const char* library_name, - const char *profile_name, + const char * qos_profile, ::DDS::DataReaderListener_ptr a_listener, ::DDS::StatusMask mask); @@ -127,16 +126,14 @@ namespace CIAO DDSDataReader * create_datareader_with_profile ( DDSContentFilteredTopic * topic, - const char* library_name, - const char *profile_name, + const char * qos_profile, DDSDataReaderListener * ccm_dds_drl, ::DDS::StatusMask mask); DDSDataReader * create_datareader_with_profile ( DDSTopic * topic, - const char* library_name, - const char *profile_name, + const char * qos_profile, DDSDataReaderListener * ccm_dds_drl, ::DDS::StatusMask mask); }; diff --git a/CIAO/connectors/dds4ccm/impl/ndds/SubscriberListener.h b/CIAO/connectors/dds4ccm/impl/ndds/SubscriberListener.h index f069a541375..299c8207478 100644 --- a/CIAO/connectors/dds4ccm/impl/ndds/SubscriberListener.h +++ b/CIAO/connectors/dds4ccm/impl/ndds/SubscriberListener.h @@ -10,7 +10,7 @@ #ifndef DDSSUBSCRIBERLISTENER_T_H_ #define DDSSUBSCRIBERLISTENER_T_H_ -#include "dds4ccm/idl/dds_rtf2_dcpsC.h" +#include "dds4ccm/idl/ndds/ndds_dcpsC.h" #include "dds4ccm/impl/ndds/dds4ccm_ndds_export.h" #include "ndds/ndds_cpp.h" diff --git a/CIAO/connectors/dds4ccm/impl/ndds/Topic.h b/CIAO/connectors/dds4ccm/impl/ndds/Topic.h index 5761aa43fa2..3f4c8c7b2e5 100644 --- a/CIAO/connectors/dds4ccm/impl/ndds/Topic.h +++ b/CIAO/connectors/dds4ccm/impl/ndds/Topic.h @@ -10,7 +10,7 @@ #define NDDS_TOPIC_H #include "dds4ccm/impl/ndds/dds4ccm_ndds_export.h" -#include "dds4ccm/idl/dds_rtf2_dcpsC.h" +#include "dds4ccm/idl/ndds/ndds_dcpsC.h" #include "tao/LocalObject.h" class DDSTopic; diff --git a/CIAO/connectors/dds4ccm/impl/ndds/TopicDescription.h b/CIAO/connectors/dds4ccm/impl/ndds/TopicDescription.h index 15be9193827..16da8b629a9 100644 --- a/CIAO/connectors/dds4ccm/impl/ndds/TopicDescription.h +++ b/CIAO/connectors/dds4ccm/impl/ndds/TopicDescription.h @@ -11,7 +11,7 @@ #define TOPICDESCRIPTION_T_H_ #include "dds4ccm/impl/ndds/dds4ccm_ndds_export.h" -#include "dds4ccm/idl/dds_rtf2_dcpsC.h" +#include "dds4ccm/idl/ndds/ndds_dcpsC.h" #include "tao/LocalObject.h" class DDSTopicDescription; diff --git a/CIAO/connectors/dds4ccm/impl/ndds/TopicListener.h b/CIAO/connectors/dds4ccm/impl/ndds/TopicListener.h index 7b6b6699d49..55a41d0dbcb 100644 --- a/CIAO/connectors/dds4ccm/impl/ndds/TopicListener.h +++ b/CIAO/connectors/dds4ccm/impl/ndds/TopicListener.h @@ -10,7 +10,7 @@ #define DDSTOPICLISTENER_T_H_ #include "dds4ccm/impl/ndds/dds4ccm_ndds_export.h" -#include "dds4ccm/idl/dds_rtf2_dcpsC.h" +#include "dds4ccm/idl/ndds/ndds_dcpsC.h" #include "ndds/ndds_cpp.h" namespace CIAO diff --git a/CIAO/connectors/dds4ccm/impl/ndds/TypeSupport.h b/CIAO/connectors/dds4ccm/impl/ndds/TypeSupport.h index 3d6d0884759..50370743000 100644 --- a/CIAO/connectors/dds4ccm/impl/ndds/TypeSupport.h +++ b/CIAO/connectors/dds4ccm/impl/ndds/TypeSupport.h @@ -9,7 +9,7 @@ #ifndef NDDS_TYPESUPPORT_H_ #define NDDS_TYPESUPPORT_H_ -#include "dds4ccm/idl/dds_rtf2_dcpsC.h" +#include "dds4ccm/idl/ndds/ndds_dcpsC.h" #include "dds4ccm/impl/ndds/dds4ccm_ndds_export.h" #include "dds4ccm/impl/ndds/DataWriter_T.h" #include "dds4ccm/impl/ndds/DataReader_T.h" diff --git a/CIAO/connectors/dds4ccm/impl/ndds/Utils.cpp b/CIAO/connectors/dds4ccm/impl/ndds/Utils.cpp new file mode 100644 index 00000000000..5b6dc8e3151 --- /dev/null +++ b/CIAO/connectors/dds4ccm/impl/ndds/Utils.cpp @@ -0,0 +1,32 @@ +// $Id$ + +#include "dds4ccm/impl/ndds/Utils.h" +#include "ace/Log_Msg.h" +#include "ace/Tokenizer_T.h" + +namespace CIAO +{ + namespace NDDS + { + char * get_library_name (const char * qos_profile) + { + char* buf = ACE_OS::strdup (qos_profile); + ACE_Tokenizer_T<char> tok (buf); + tok.delimiter_replace ('#', 0); + char * ret = ACE_OS::strdup (tok.next ()); + ACE_OS::free (buf); + return ret; + } + + char * get_profile_name (const char * qos_profile) + { + char* buf = ACE_OS::strdup (qos_profile); + ACE_Tokenizer_T<char> tok (buf); + tok.delimiter_replace ('#', 0); + tok.next (); + char * ret = ACE_OS::strdup (tok.next ()); + ACE_OS::free (buf); + return ret; + } + } +} diff --git a/CIAO/connectors/dds4ccm/impl/ndds/Utils.h b/CIAO/connectors/dds4ccm/impl/ndds/Utils.h new file mode 100644 index 00000000000..7ce5cf27201 --- /dev/null +++ b/CIAO/connectors/dds4ccm/impl/ndds/Utils.h @@ -0,0 +1,24 @@ +/** + * @file Utils.h + * @author Marcel Smit <msmit@remedy.nl> + * + * $Id$ + * + * Misc utility classes for NDDS. + */ + +#ifndef NDDS_UTILS_H_ +#define NDDS_UTILS_H_ + +#include "ace/String_Base.h" + +namespace CIAO +{ + namespace NDDS + { + char * get_library_name (const char * qos_profile); + char * get_profile_name (const char * qos_profile); + } +} + +#endif /* NDDS_UTILS_H_ */ diff --git a/CIAO/connectors/dds4ccm/impl/ndds/WaitSet.cpp b/CIAO/connectors/dds4ccm/impl/ndds/WaitSet.cpp index b503a5ff9b6..8e9ed9b86be 100644 --- a/CIAO/connectors/dds4ccm/impl/ndds/WaitSet.cpp +++ b/CIAO/connectors/dds4ccm/impl/ndds/WaitSet.cpp @@ -2,8 +2,6 @@ #include "WaitSet.h" -#include "dds4ccm/idl/dds4ccm_BaseC.h" - #include "ndds/ndds_cpp.h" #include "dds4ccm/impl/ndds/Condition.h" @@ -15,7 +13,6 @@ #include "dds4ccm/impl/logger/Log_Macros.h" - namespace CIAO { namespace NDDS @@ -132,7 +129,9 @@ namespace CIAO ::DDS::InstanceHandle_t DDS_WaitSet_i::check_handle ( const ::DDS::InstanceHandle_t & instance_handle, - const ::DDS::InstanceHandle_t & lookup_handle) + const ::DDS::InstanceHandle_t & lookup_handle, + bool & error, + bool & non_existent) { ::DDS_InstanceHandle_t hnd = ::DDS_HANDLE_NIL; hnd <<= instance_handle; @@ -140,17 +139,21 @@ namespace CIAO ::DDS_InstanceHandle_t lookup_hnd = ::DDS_HANDLE_NIL; lookup_hnd <<= lookup_handle; + ::DDS::InstanceHandle_t ret = ::DDS::HANDLE_NIL; + if (!DDS_InstanceHandle_equals (&hnd, &::DDS_HANDLE_NIL) && !DDS_InstanceHandle_equals (&hnd, &lookup_hnd)) { - throw ::CCM_DDS::InternalError (::DDS::RETCODE_ERROR, 0); + error = true; } - if (DDS_InstanceHandle_equals (&lookup_hnd, &::DDS_HANDLE_NIL)) + else if (DDS_InstanceHandle_equals (&lookup_hnd, &::DDS_HANDLE_NIL)) { - throw ::CCM_DDS::NonExistent (); + non_existent = true; + } + else + { + ret <<= lookup_hnd; } - ::DDS::InstanceHandle_t ret = ::DDS::HANDLE_NIL; - ret <<= lookup_hnd; return ret; } diff --git a/CIAO/connectors/dds4ccm/impl/ndds/WaitSet.h b/CIAO/connectors/dds4ccm/impl/ndds/WaitSet.h index c0b5af69059..1c2d6c68d69 100644 --- a/CIAO/connectors/dds4ccm/impl/ndds/WaitSet.h +++ b/CIAO/connectors/dds4ccm/impl/ndds/WaitSet.h @@ -9,7 +9,7 @@ #ifndef WAITSET_H_ #define WAITSET_H_ -#include "dds4ccm/idl/dds_rtf2_dcpsC.h" +#include "dds4ccm/idl/ndds/ndds_dcpsC.h" #include "tao/LocalObject.h" #include "dds4ccm/impl/ndds/dds4ccm_ndds_export.h" @@ -50,7 +50,9 @@ namespace CIAO ::DDS::InstanceHandle_t check_handle (const ::DDS::InstanceHandle_t & instance_handle, - const ::DDS::InstanceHandle_t & lookup_handle); + const ::DDS::InstanceHandle_t & lookup_handle, + bool & error, + bool & non_existent); bool check_condition (::DDS::ReadCondition_ptr rc, ::DDS::QueryCondition_ptr qc, diff --git a/CIAO/connectors/dds4ccm/impl/ndds/ndds.mpc b/CIAO/connectors/dds4ccm/impl/ndds/ndds.mpc index 7db6e9a0027..bd2edd5907a 100644 --- a/CIAO/connectors/dds4ccm/impl/ndds/ndds.mpc +++ b/CIAO/connectors/dds4ccm/impl/ndds/ndds.mpc @@ -1,6 +1,7 @@ +// -*- MPC -*- // $Id$ -project(CIAO_DDS4CCM_DDS_NDDS) : install, dds4ccm_skel, dds4ccm_lem_stub, taolib, \ +project(CIAO_DDS4CCM_DDS_NDDS) : install, ndds_lem_stub, taolib, \ ciao_output, dds4ccm_logger, nddslib { dynamicflags += DDS4CCM_DDS_NDDS_BUILD_DLL @@ -33,5 +34,6 @@ project(CIAO_DDS4CCM_DDS_NDDS) : install, dds4ccm_skel, dds4ccm_lem_stub, taolib TopicListener.cpp TypeSupport.cpp WaitSet.cpp + Utils.cpp } } diff --git a/CIAO/connectors/dds4ccm/performance-tests/DDSLatency/DDS_Receiver/Latency_Receiver.cpp b/CIAO/connectors/dds4ccm/performance-tests/DDSLatency/DDS_Receiver/Latency_Receiver.cpp index b82ae41524e..d8cbb1f5483 100644 --- a/CIAO/connectors/dds4ccm/performance-tests/DDSLatency/DDS_Receiver/Latency_Receiver.cpp +++ b/CIAO/connectors/dds4ccm/performance-tests/DDSLatency/DDS_Receiver/Latency_Receiver.cpp @@ -102,7 +102,7 @@ write_back (LatencyTest & an_instance) try { - test_data_writer_->write(an_instance, ::DDS::HANDLE_NIL); + test_data_writer_->write(an_instance, DDS_HANDLE_NIL); } catch (const ::CORBA::Exception& ex) { diff --git a/CIAO/connectors/dds4ccm/performance-tests/DDSLatency/DDS_Sender/Latency_Sender.cpp b/CIAO/connectors/dds4ccm/performance-tests/DDSLatency/DDS_Sender/Latency_Sender.cpp index 6ece715ee1b..f5e1b98106c 100644 --- a/CIAO/connectors/dds4ccm/performance-tests/DDSLatency/DDS_Sender/Latency_Sender.cpp +++ b/CIAO/connectors/dds4ccm/performance-tests/DDSLatency/DDS_Sender/Latency_Sender.cpp @@ -34,8 +34,8 @@ ACE_UINT64 start_time_ = 0; ACE_UINT64 start_time_test_ = 0; ACE_UINT64 end_time_test_ = 0; -ACE_UINT64 * duration_times_; -CORBA::Short * datalen_range_; +ACE_UINT64 * duration_times_ = 0; +CORBA::Short * datalen_range_ = 0; ACE_UINT64 clock_overhead_; LatencyTest * instance_ = 0; @@ -166,6 +166,7 @@ stop (void) void init_values (void) { + delete [] duration_times_; duration_times_ = new ACE_UINT64[iterations_]; datalen_range_ = new CORBA::Short[nr_of_runs_]; int start = 16; @@ -214,6 +215,7 @@ void reset_results (void) { count_ = 0; + delete [] duration_times_; duration_times_ = new ACE_UINT64[iterations_]; tv_total_ = 0L; tv_max_ = 0L; @@ -594,7 +596,9 @@ clean_exit: ACE_ERROR ((LM_ERROR, ACE_TEXT ("Deletion failed.\n"))); main_result = 1; } - } + } + delete [] datalen_range_; + delete [] duration_times_; return main_result; } diff --git a/CIAO/connectors/dds4ccm/performance-tests/DDSLatency/DDS_Sender/NDDS_Latency_Sender.cpp b/CIAO/connectors/dds4ccm/performance-tests/DDSLatency/DDS_Sender/NDDS_Latency_Sender.cpp index 213853915b6..64a37d7e9b5 100644 --- a/CIAO/connectors/dds4ccm/performance-tests/DDSLatency/DDS_Sender/NDDS_Latency_Sender.cpp +++ b/CIAO/connectors/dds4ccm/performance-tests/DDSLatency/DDS_Sender/NDDS_Latency_Sender.cpp @@ -28,8 +28,8 @@ CORBA::Long seq_num_ = 0; CORBA::Double sigma_duration_squared_; struct RTINtpTime start_time_; -ACE_UINT64 * duration_times_; -CORBA::Short * datalen_range_; +ACE_UINT64 * duration_times_ = 0; +CORBA::Short * datalen_range_ = 0; ACE_UINT64 clock_overhead_; RTIClock *timer = 0; LatencyTest * instance_ = 0; @@ -141,6 +141,7 @@ calculate_clock_overhead (void) void init_values (void) { + delete [] duration_times_; duration_times_ = new ACE_UINT64[iterations_]; datalen_range_ = new CORBA::Short[nr_of_runs_]; int start = 16; @@ -192,6 +193,7 @@ void reset_results (void) { count_ = 0; + delete [] duration_times_; duration_times_ = new ACE_UINT64[iterations_]; tv_total_ = 0L; tv_max_ = 0L; @@ -555,7 +557,9 @@ clean_exit: ACE_ERROR ((LM_ERROR, ACE_TEXT ("Deletion failed.\n"))); main_result = 1; } - } + } + delete [] datalen_range_; + delete [] duration_times_; return main_result; } diff --git a/CIAO/connectors/dds4ccm/performance-tests/DDSThroughput/DDS_Sender/Throughput_Sender.cpp b/CIAO/connectors/dds4ccm/performance-tests/DDSThroughput/DDS_Sender/Throughput_Sender.cpp index 6e667f6440f..27520706a94 100644 --- a/CIAO/connectors/dds4ccm/performance-tests/DDSThroughput/DDS_Sender/Throughput_Sender.cpp +++ b/CIAO/connectors/dds4ccm/performance-tests/DDSThroughput/DDS_Sender/Throughput_Sender.cpp @@ -99,7 +99,7 @@ CORBA::UShort domain_id = 0; instance_cmd->final_publisher_effort = max_load; try { - cmd_data_writer->write(*instance_cmd,::DDS::HANDLE_NIL); + cmd_data_writer->write(*instance_cmd, DDS_HANDLE_NIL); } catch (const ::CORBA::Exception& ex) { @@ -118,7 +118,7 @@ CORBA::UShort domain_id = 0; { try { - test_data_writer->write(*instance,::DDS::HANDLE_NIL); + test_data_writer->write(*instance, DDS_HANDLE_NIL); ++number_of_msg; } catch (const ::CORBA::Exception&) @@ -138,7 +138,7 @@ CORBA::UShort domain_id = 0; { test_complete = true; instance_cmd->command = THROUGHPUT_COMMAND_COMPLETE; - cmd_data_writer->write ( *instance_cmd, ::DDS::HANDLE_NIL); + cmd_data_writer->write ( *instance_cmd, DDS_HANDLE_NIL); } if (!test_complete) { diff --git a/CIAO/connectors/dds4ccm/performance-tests/Keyed/Receiver/Perf_Keyed_Test_Receiver_exec.h b/CIAO/connectors/dds4ccm/performance-tests/Keyed/Receiver/Perf_Keyed_Test_Receiver_exec.h index 0f1bcf0adc0..1ad96bb71a4 100644 --- a/CIAO/connectors/dds4ccm/performance-tests/Keyed/Receiver/Perf_Keyed_Test_Receiver_exec.h +++ b/CIAO/connectors/dds4ccm/performance-tests/Keyed/Receiver/Perf_Keyed_Test_Receiver_exec.h @@ -60,7 +60,7 @@ namespace CIAO_Perf_Keyed_Test_Receiver_Impl virtual ~info_listen_data_listener_exec_i (void); //@{ - /** Operations and attributes from ::CCM_DDS::PerfKeyedTest::Listener. */ + /** Operations and attributes from CCM_DDS::PerfKeyedTest::Listener. */ virtual void on_one_data (const ::PerfKeyedTest & datum, diff --git a/CIAO/connectors/dds4ccm/performance-tests/Keyed/Sender/Perf_Keyed_Test_Sender_exec.h b/CIAO/connectors/dds4ccm/performance-tests/Keyed/Sender/Perf_Keyed_Test_Sender_exec.h index 932b324986f..0f5a5fc8495 100644 --- a/CIAO/connectors/dds4ccm/performance-tests/Keyed/Sender/Perf_Keyed_Test_Sender_exec.h +++ b/CIAO/connectors/dds4ccm/performance-tests/Keyed/Sender/Perf_Keyed_Test_Sender_exec.h @@ -79,7 +79,7 @@ namespace CIAO_Perf_Keyed_Test_Sender_Impl virtual ~connector_status_exec_i (void); //@{ - /** Operations and attributes from ::CCM_DDS::ConnectorStatusListener. */ + /** Operations and attributes from CCM_DDS::ConnectorStatusListener. */ virtual void on_inconsistent_topic (::DDS::Topic_ptr the_topic, @@ -128,7 +128,7 @@ namespace CIAO_Perf_Keyed_Test_Sender_Impl virtual ~ping_listen_data_listener_exec_i (void); //@{ - /** Operations and attributes from ::CCM_DDS::PerfKeyedTest::Listener. */ + /** Operations and attributes from CCM_DDS::PerfKeyedTest::Listener. */ virtual void on_one_data (const ::PerfKeyedTest & datum, diff --git a/CIAO/connectors/dds4ccm/performance-tests/Latency/Receiver/LatencyTT_Test_Receiver_exec.h b/CIAO/connectors/dds4ccm/performance-tests/Latency/Receiver/LatencyTT_Test_Receiver_exec.h index 2668b7497b6..a15f85c72f0 100644 --- a/CIAO/connectors/dds4ccm/performance-tests/Latency/Receiver/LatencyTT_Test_Receiver_exec.h +++ b/CIAO/connectors/dds4ccm/performance-tests/Latency/Receiver/LatencyTT_Test_Receiver_exec.h @@ -57,7 +57,7 @@ namespace CIAO_LatencyTT_Test_Receiver_Impl virtual ~info_listen_data_listener_exec_i (void); //@{ - /** Operations and attributes from ::LatencyTT_Test::LatencyTTTestConn::Listener. */ + /** Operations and attributes from LatencyTT_Test::LatencyTTTestConn::Listener. */ virtual void on_one_data (const ::LatencyTTTest & datum, diff --git a/CIAO/connectors/dds4ccm/performance-tests/Latency/Sender/LatencyTT_Test_Sender_exec.cpp b/CIAO/connectors/dds4ccm/performance-tests/Latency/Sender/LatencyTT_Test_Sender_exec.cpp index 091a3fa41a9..b95359803cc 100644 --- a/CIAO/connectors/dds4ccm/performance-tests/Latency/Sender/LatencyTT_Test_Sender_exec.cpp +++ b/CIAO/connectors/dds4ccm/performance-tests/Latency/Sender/LatencyTT_Test_Sender_exec.cpp @@ -208,15 +208,16 @@ namespace CIAO_LatencyTT_Test_Sender_Impl ACE_NEW_THROW_EX (this->ticker_, WriteTicker (*this), ::CORBA::NO_MEMORY ()); + ACE_NEW_THROW_EX (this->datalen_range_, + ::CORBA::Short[this->nr_of_runs_], + ::CORBA::NO_MEMORY ()); } Sender_exec_i::~Sender_exec_i (void) { delete this->ticker_; - if (this->duration_times_) - { - delete this->duration_times_; - } + delete [] this->duration_times_; + delete [] datalen_range_; } // Supported operations and attributes. @@ -309,11 +310,7 @@ namespace CIAO_LatencyTT_Test_Sender_Impl void Sender_exec_i::reset_results() { - if (this->duration_times_) - { - delete this->duration_times_; - duration_times_ = 0; - } + delete [] this->duration_times_; this->count_ = 0; ACE_NEW_THROW_EX (this->duration_times_, @@ -475,17 +472,10 @@ namespace CIAO_LatencyTT_Test_Sender_Impl void Sender_exec_i::init_values (void) { - if (this->duration_times_) - { - delete this->duration_times_; - duration_times_ = 0; - } + delete [] this->duration_times_; ACE_NEW_THROW_EX (this->duration_times_, ACE_UINT64[this->iterations_], ::CORBA::NO_MEMORY ()); - ACE_NEW_THROW_EX (this->datalen_range_, - ::CORBA::Short[this->nr_of_runs_], - ::CORBA::NO_MEMORY ()); int start = 16; for (int i = 0; i < this->nr_of_runs_; i++) { diff --git a/CIAO/connectors/dds4ccm/performance-tests/Latency/Sender/LatencyTT_Test_Sender_exec.h b/CIAO/connectors/dds4ccm/performance-tests/Latency/Sender/LatencyTT_Test_Sender_exec.h index c08e13fa32a..4a3da2f9b56 100644 --- a/CIAO/connectors/dds4ccm/performance-tests/Latency/Sender/LatencyTT_Test_Sender_exec.h +++ b/CIAO/connectors/dds4ccm/performance-tests/Latency/Sender/LatencyTT_Test_Sender_exec.h @@ -74,7 +74,7 @@ namespace CIAO_LatencyTT_Test_Sender_Impl virtual ~ping_listen_data_listener_exec_i (void); //@{ - /** Operations and attributes from ::LatencyTT_Test::LatencyTTTestConn::Listener. */ + /** Operations and attributes from LatencyTT_Test::LatencyTTTestConn::Listener. */ virtual void on_one_data (const ::LatencyTTTest & datum, @@ -107,7 +107,7 @@ namespace CIAO_LatencyTT_Test_Sender_Impl virtual ~connector_status_exec_i (void); //@{ - /** Operations and attributes from ::CCM_DDS::ConnectorStatusListener. */ + /** Operations and attributes from CCM_DDS::ConnectorStatusListener. */ virtual void on_inconsistent_topic (::DDS::Topic_ptr the_topic, diff --git a/CIAO/connectors/dds4ccm/performance-tests/Throughput/Receiver/Throughput_Receiver_exec.h b/CIAO/connectors/dds4ccm/performance-tests/Throughput/Receiver/Throughput_Receiver_exec.h index 4051ec8ea27..c2a917ad730 100644 --- a/CIAO/connectors/dds4ccm/performance-tests/Throughput/Receiver/Throughput_Receiver_exec.h +++ b/CIAO/connectors/dds4ccm/performance-tests/Throughput/Receiver/Throughput_Receiver_exec.h @@ -58,7 +58,7 @@ namespace CIAO_Throughput_Receiver_Impl virtual ~info_listen_data_listener_exec_i (void); //@{ - /** Operations and attributes from ::Throughput::ThroughputTestConn::Listener. */ + /** Operations and attributes from Throughput::ThroughputTestConn::Listener. */ virtual void on_one_data (const ::ThroughputTest & datum, @@ -89,7 +89,7 @@ namespace CIAO_Throughput_Receiver_Impl virtual ~command_listen_data_listener_exec_i (void); //@{ - /** Operations and attributes from ::Throughput::ThroughputCommandConn::Listener. */ + /** Operations and attributes from Throughput::ThroughputCommandConn::Listener. */ virtual void on_one_data (const ::ThroughputCommand & datum, diff --git a/CIAO/connectors/dds4ccm/performance-tests/Throughput/Sender/Throughput_Sender_exec.h b/CIAO/connectors/dds4ccm/performance-tests/Throughput/Sender/Throughput_Sender_exec.h index 5290c2a0cf7..aef97138c83 100644 --- a/CIAO/connectors/dds4ccm/performance-tests/Throughput/Sender/Throughput_Sender_exec.h +++ b/CIAO/connectors/dds4ccm/performance-tests/Throughput/Sender/Throughput_Sender_exec.h @@ -76,7 +76,7 @@ namespace CIAO_Throughput_Sender_Impl virtual ~connector_status_exec_i (void); //@{ - /** Operations and attributes from ::CCM_DDS::ConnectorStatusListener. */ + /** Operations and attributes from CCM_DDS::ConnectorStatusListener. */ virtual void on_inconsistent_topic (::DDS::Topic_ptr the_topic, diff --git a/CIAO/connectors/dds4ccm/tests/CSLSampleRejected/Receiver/CSL_SRTest_Receiver_exec.h b/CIAO/connectors/dds4ccm/tests/CSLSampleRejected/Receiver/CSL_SRTest_Receiver_exec.h index 5764355b714..b535c1d965a 100644 --- a/CIAO/connectors/dds4ccm/tests/CSLSampleRejected/Receiver/CSL_SRTest_Receiver_exec.h +++ b/CIAO/connectors/dds4ccm/tests/CSLSampleRejected/Receiver/CSL_SRTest_Receiver_exec.h @@ -79,7 +79,7 @@ namespace CIAO_CSL_SRTest_Receiver_Impl virtual ~info_out_data_listener_exec_i (void); //@{ - /** Operations and attributes from ::CSL_SR_Connector::Listener. */ + /** Operations and attributes from CSL_SR_Connector::Listener. */ virtual void on_one_data (const ::TestTopic & datum, @@ -109,7 +109,7 @@ namespace CIAO_CSL_SRTest_Receiver_Impl virtual ~info_out_status_exec_i (void); //@{ - /** Operations and attributes from ::CCM_DDS::PortStatusListener. */ + /** Operations and attributes from CCM_DDS::PortStatusListener. */ virtual void on_requested_deadline_missed (::DDS::DataReader_ptr the_reader, @@ -140,7 +140,7 @@ namespace CIAO_CSL_SRTest_Receiver_Impl virtual ~info_out_connector_status_exec_i (void); //@{ - /** Operations and attributes from ::CCM_DDS::ConnectorStatusListener. */ + /** Operations and attributes from CCM_DDS::ConnectorStatusListener. */ virtual void on_inconsistent_topic (::DDS::Topic_ptr the_topic, diff --git a/CIAO/connectors/dds4ccm/tests/CSLSampleRejected/Sender/CSL_SRTest_Sender_exec.h b/CIAO/connectors/dds4ccm/tests/CSLSampleRejected/Sender/CSL_SRTest_Sender_exec.h index 468e77f4dfa..847e43dbc9b 100644 --- a/CIAO/connectors/dds4ccm/tests/CSLSampleRejected/Sender/CSL_SRTest_Sender_exec.h +++ b/CIAO/connectors/dds4ccm/tests/CSLSampleRejected/Sender/CSL_SRTest_Sender_exec.h @@ -106,7 +106,6 @@ namespace CIAO_CSL_SRTest_Sender_Impl pulse_Generator * ticker_; CORBA::ULong rate_; - TAO_SYNCH_MUTEX mutex_; typedef std::map<ACE_CString, TestTopic_var> CSL_SRTest_Table; CSL_SRTest_Table _ktests_; //@} diff --git a/CIAO/connectors/dds4ccm/tests/CSLUnexpStat/Receiver/CSL_USTest_Receiver_exec.h b/CIAO/connectors/dds4ccm/tests/CSLUnexpStat/Receiver/CSL_USTest_Receiver_exec.h index 34925cee8f1..f590a972578 100644 --- a/CIAO/connectors/dds4ccm/tests/CSLUnexpStat/Receiver/CSL_USTest_Receiver_exec.h +++ b/CIAO/connectors/dds4ccm/tests/CSLUnexpStat/Receiver/CSL_USTest_Receiver_exec.h @@ -75,7 +75,7 @@ namespace CIAO_CSL_USTest_Receiver_Impl virtual ~info_out_data_listener_exec_i (void); //@{ - /** Operations and attributes from ::CSL_US_Connector::Listener. */ + /** Operations and attributes from CSL_US_Connector::Listener. */ virtual void on_one_data (const ::TestTopic & datum, @@ -104,7 +104,7 @@ namespace CIAO_CSL_USTest_Receiver_Impl virtual ~info_out_status_exec_i (void); //@{ - /** Operations and attributes from ::CCM_DDS::PortStatusListener. */ + /** Operations and attributes from CCM_DDS::PortStatusListener. */ virtual void on_requested_deadline_missed (::DDS::DataReader_ptr the_reader, @@ -133,7 +133,7 @@ namespace CIAO_CSL_USTest_Receiver_Impl virtual ~info_read_status_exec_i (void); //@{ - /** Operations and attributes from ::CCM_DDS::PortStatusListener. */ + /** Operations and attributes from CCM_DDS::PortStatusListener. */ virtual void on_requested_deadline_missed (::DDS::DataReader_ptr the_reader, @@ -166,7 +166,7 @@ namespace CIAO_CSL_USTest_Receiver_Impl virtual ~info_out_connector_status_exec_i (void); //@{ - /** Operations and attributes from ::CCM_DDS::ConnectorStatusListener. */ + /** Operations and attributes from CCM_DDS::ConnectorStatusListener. */ virtual void on_inconsistent_topic (::DDS::Topic_ptr the_topic, diff --git a/CIAO/connectors/dds4ccm/tests/CSLUnexpStat/Sender/CSL_USTest_Sender_exec.h b/CIAO/connectors/dds4ccm/tests/CSLUnexpStat/Sender/CSL_USTest_Sender_exec.h index 24c92556a93..a6c73ce7ad7 100644 --- a/CIAO/connectors/dds4ccm/tests/CSLUnexpStat/Sender/CSL_USTest_Sender_exec.h +++ b/CIAO/connectors/dds4ccm/tests/CSLUnexpStat/Sender/CSL_USTest_Sender_exec.h @@ -84,7 +84,7 @@ namespace CIAO_CSL_USTest_Sender_Impl virtual ~test_topic_connector_status_exec_i (void); //@{ - /** Operations and attributes from ::CCM_DDS::ConnectorStatusListener. */ + /** Operations and attributes from CCM_DDS::ConnectorStatusListener. */ virtual void on_inconsistent_topic (::DDS::Topic_ptr the_topic, diff --git a/CIAO/connectors/dds4ccm/tests/CoherentUpdater/Receiver/CoherentUpdate_Test_Receiver_exec.h b/CIAO/connectors/dds4ccm/tests/CoherentUpdater/Receiver/CoherentUpdate_Test_Receiver_exec.h index d568fa657bf..a5842ff4581 100644 --- a/CIAO/connectors/dds4ccm/tests/CoherentUpdater/Receiver/CoherentUpdate_Test_Receiver_exec.h +++ b/CIAO/connectors/dds4ccm/tests/CoherentUpdater/Receiver/CoherentUpdate_Test_Receiver_exec.h @@ -48,7 +48,7 @@ namespace CIAO_CoherentUpdate_Test_Receiver_Impl Receiver_exec_i & callback); virtual ~reader_start_exec_i (void); - // Operations and attributes from ::CoherentUpdateStarter + // Operations and attributes from CoherentUpdateStarter virtual void set_reader_properties ( diff --git a/CIAO/connectors/dds4ccm/tests/CoherentUpdater/Sender/CoherentUpdate_Test_Sender_exec.h b/CIAO/connectors/dds4ccm/tests/CoherentUpdater/Sender/CoherentUpdate_Test_Sender_exec.h index 6e1756ccfb6..170edd54ad8 100644 --- a/CIAO/connectors/dds4ccm/tests/CoherentUpdater/Sender/CoherentUpdate_Test_Sender_exec.h +++ b/CIAO/connectors/dds4ccm/tests/CoherentUpdater/Sender/CoherentUpdate_Test_Sender_exec.h @@ -48,7 +48,7 @@ namespace CIAO_CoherentUpdate_Test_Sender_Impl virtual ~restart_updater_exec_i (void); //@{ - /** Operations and attributes from ::CoherentUpdateRestarter. */ + /** Operations and attributes from CoherentUpdateRestarter. */ virtual void restart_update (void); diff --git a/CIAO/connectors/dds4ccm/tests/CoherentWriter/Receiver/CoherentWrite_Test_Receiver_exec.h b/CIAO/connectors/dds4ccm/tests/CoherentWriter/Receiver/CoherentWrite_Test_Receiver_exec.h index 7cca8937588..3a5231ed465 100644 --- a/CIAO/connectors/dds4ccm/tests/CoherentWriter/Receiver/CoherentWrite_Test_Receiver_exec.h +++ b/CIAO/connectors/dds4ccm/tests/CoherentWriter/Receiver/CoherentWrite_Test_Receiver_exec.h @@ -76,7 +76,7 @@ namespace CIAO_CoherentWrite_Test_Receiver_Impl virtual ~info_out_status_exec_i (void); //@{ - /** Operations and attributes from ::CCM_DDS::PortStatusListener. */ + /** Operations and attributes from CCM_DDS::PortStatusListener. */ virtual void on_requested_deadline_missed (::DDS::DataReader_ptr the_reader, @@ -107,7 +107,7 @@ namespace CIAO_CoherentWrite_Test_Receiver_Impl virtual ~reader_start_exec_i (void); //@{ - /** Operations and attributes from ::CoherentWriteStarter. */ + /** Operations and attributes from CoherentWriteStarter. */ virtual void set_reader_properties (::CORBA::UShort nr_iterations); diff --git a/CIAO/connectors/dds4ccm/tests/CoherentWriter/Sender/CoherentWrite_Test_Sender_exec.h b/CIAO/connectors/dds4ccm/tests/CoherentWriter/Sender/CoherentWrite_Test_Sender_exec.h index 5fa8f7ff74f..7fe656ef77a 100644 --- a/CIAO/connectors/dds4ccm/tests/CoherentWriter/Sender/CoherentWrite_Test_Sender_exec.h +++ b/CIAO/connectors/dds4ccm/tests/CoherentWriter/Sender/CoherentWrite_Test_Sender_exec.h @@ -72,7 +72,7 @@ namespace CIAO_CoherentWrite_Test_Sender_Impl virtual ~restart_writer_exec_i (void); //@{ - /** Operations and attributes from ::CoherentWriteRestarter. */ + /** Operations and attributes from CoherentWriteRestarter. */ virtual void restart_write (void); diff --git a/CIAO/connectors/dds4ccm/tests/ContentFilteredTopic/EventListener/Receiver/CFTLE_Test_Receiver_exec.h b/CIAO/connectors/dds4ccm/tests/ContentFilteredTopic/EventListener/Receiver/CFTLE_Test_Receiver_exec.h index 57913ace914..bd14373e80c 100644 --- a/CIAO/connectors/dds4ccm/tests/ContentFilteredTopic/EventListener/Receiver/CFTLE_Test_Receiver_exec.h +++ b/CIAO/connectors/dds4ccm/tests/ContentFilteredTopic/EventListener/Receiver/CFTLE_Test_Receiver_exec.h @@ -58,7 +58,7 @@ namespace CIAO_CFTLE_Test_Receiver_Impl virtual ~info_listen_data_listener_exec_i (void); //@{ - /** Operations and attributes from ::CFTLE_Test::ContentFilteredTopicListenEventTestConnector::Listener. */ + /** Operations and attributes from CFTLE_Test::ContentFilteredTopicListenEventTestConnector::Listener. */ virtual void on_one_data (const ::ContentFilteredTopicListenEventTest & datum, @@ -89,7 +89,7 @@ namespace CIAO_CFTLE_Test_Receiver_Impl virtual ~info_listen_status_exec_i (void); //@{ - /** Operations and attributes from ::CCM_DDS::PortStatusListener. */ + /** Operations and attributes from CCM_DDS::PortStatusListener. */ virtual void on_requested_deadline_missed (::DDS::DataReader_ptr the_reader, diff --git a/CIAO/connectors/dds4ccm/tests/ContentFilteredTopic/ReadGet/Receiver/ReadGet_Test_Receiver_exec.h b/CIAO/connectors/dds4ccm/tests/ContentFilteredTopic/ReadGet/Receiver/ReadGet_Test_Receiver_exec.h index f3a935f7632..7270ef818a5 100644 --- a/CIAO/connectors/dds4ccm/tests/ContentFilteredTopic/ReadGet/Receiver/ReadGet_Test_Receiver_exec.h +++ b/CIAO/connectors/dds4ccm/tests/ContentFilteredTopic/ReadGet/Receiver/ReadGet_Test_Receiver_exec.h @@ -77,7 +77,7 @@ namespace CIAO_ReadGet_Test_Receiver_Impl virtual ~get_port_status_exec_i (void); //@{ - /** Operations and attributes from ::CCM_DDS::PortStatusListener. */ + /** Operations and attributes from CCM_DDS::PortStatusListener. */ virtual void on_requested_deadline_missed (::DDS::DataReader_ptr the_reader, @@ -106,7 +106,7 @@ namespace CIAO_ReadGet_Test_Receiver_Impl virtual ~read_port_status_exec_i (void); //@{ - /** Operations and attributes from ::CCM_DDS::PortStatusListener. */ + /** Operations and attributes from CCM_DDS::PortStatusListener. */ virtual void on_requested_deadline_missed (::DDS::DataReader_ptr the_reader, @@ -136,7 +136,7 @@ namespace CIAO_ReadGet_Test_Receiver_Impl virtual ~reader_start_exec_i (void); //@{ - /** Operations and attributes from ::ReadGetStarter. */ + /** Operations and attributes from ReadGetStarter. */ virtual void set_reader_properties (::CORBA::UShort nr_keys, diff --git a/CIAO/connectors/dds4ccm/tests/ContentFilteredTopic/ReadGet/Sender/ReadGet_Test_Sender_exec.h b/CIAO/connectors/dds4ccm/tests/ContentFilteredTopic/ReadGet/Sender/ReadGet_Test_Sender_exec.h index 0f498589c14..7514ef2a334 100644 --- a/CIAO/connectors/dds4ccm/tests/ContentFilteredTopic/ReadGet/Sender/ReadGet_Test_Sender_exec.h +++ b/CIAO/connectors/dds4ccm/tests/ContentFilteredTopic/ReadGet/Sender/ReadGet_Test_Sender_exec.h @@ -70,7 +70,7 @@ namespace CIAO_ReadGet_Test_Sender_Impl virtual ~restart_writer_exec_i (void); //@{ - /** Operations and attributes from ::ReadGetRestarter. */ + /** Operations and attributes from ReadGetRestarter. */ virtual void restart_write (void); diff --git a/CIAO/connectors/dds4ccm/tests/ContentFilteredTopic/StateListener/descriptors/run_test.pl b/CIAO/connectors/dds4ccm/tests/ContentFilteredTopic/StateListener/descriptors/run_test.pl index 60f9bc20b6e..d64b229d961 100755 --- a/CIAO/connectors/dds4ccm/tests/ContentFilteredTopic/StateListener/descriptors/run_test.pl +++ b/CIAO/connectors/dds4ccm/tests/ContentFilteredTopic/StateListener/descriptors/run_test.pl @@ -218,8 +218,8 @@ for ($i = 0; $i < $nr_daemon; ++$i) { } } -print "Sleeping 30 seconds to allow task to complete\n"; -sleep (30); +print "Sleeping 40 seconds to allow task to complete\n"; +sleep (40); # Invoke executor - stop the application -. print "Invoking executor - stop the application -\n"; @@ -227,7 +227,7 @@ print "by running dance_plan_launcher.exe with -k file://$ior_emfile -x $cdp_fil $E = $tg_executor->CreateProcess ("$DANCE_ROOT/bin/dance_plan_launcher", "-k file://$ior_emfile -x $cdp_file -s"); -$pl_status = $E->SpawnWaitKill ($tg_executor->ProcessStartWaitInterval ()); +$pl_status = $E->SpawnWaitKill (2 * $tg_executor->ProcessStartWaitInterval ()); if ($pl_status != 0) { print STDERR "ERROR: dance_plan_launcher returned $pl_status\n"; diff --git a/CIAO/connectors/dds4ccm/tests/DDSEntity/Receiver/Writer_Receiver_exec.h b/CIAO/connectors/dds4ccm/tests/DDSEntity/Receiver/Writer_Receiver_exec.h index 4c22ba32a15..7c6b27d0317 100644 --- a/CIAO/connectors/dds4ccm/tests/DDSEntity/Receiver/Writer_Receiver_exec.h +++ b/CIAO/connectors/dds4ccm/tests/DDSEntity/Receiver/Writer_Receiver_exec.h @@ -57,7 +57,7 @@ namespace CIAO_Writer_Receiver_Impl virtual ~info_out_data_listener_exec_i (void); //@{ - /** Operations and attributes from ::WriterTestConnector::Listener. */ + /** Operations and attributes from WriterTestConnector::Listener. */ virtual void on_one_data (const ::WriterTest & datum, @@ -86,7 +86,7 @@ namespace CIAO_Writer_Receiver_Impl virtual ~info_out_status_exec_i (void); //@{ - /** Operations and attributes from ::CCM_DDS::PortStatusListener. */ + /** Operations and attributes from CCM_DDS::PortStatusListener. */ virtual void on_requested_deadline_missed (::DDS::DataReader_ptr the_reader, diff --git a/CIAO/connectors/dds4ccm/tests/Derived/DDS_Derived_Connector_T.h b/CIAO/connectors/dds4ccm/tests/Derived/DDS_Derived_Connector_T.h index e1395229492..8db6b7565e6 100644 --- a/CIAO/connectors/dds4ccm/tests/Derived/DDS_Derived_Connector_T.h +++ b/CIAO/connectors/dds4ccm/tests/Derived/DDS_Derived_Connector_T.h @@ -6,9 +6,9 @@ #include "connectors/dds4ccm/impl/DDS_Event_Connector_T.h" #include "connectors/dds4ccm/impl/DDS_State_Connector_T.h" -template <typename DDS_TYPE, typename CCM_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename DDS_TYPE, typename CCM_TYPE, bool FIXED, typename SEQ_TYPE> class MyEvent_Connector_T - : public virtual DDS_Event_Connector_T<DDS_TYPE, CCM_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE> + : public virtual DDS_Event_Connector_T<DDS_TYPE, CCM_TYPE, FIXED, SEQ_TYPE> { virtual ::CCM_fooA_ptr get_my_foo (void) { @@ -16,9 +16,9 @@ class MyEvent_Connector_T } }; -template <typename DDS_TYPE, typename CCM_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename DDS_TYPE, typename CCM_TYPE, bool FIXED, typename SEQ_TYPE> class MyState_Connector_T - : public virtual DDS_State_Connector_T<DDS_TYPE, CCM_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE> + : public virtual DDS_State_Connector_T<DDS_TYPE, CCM_TYPE, FIXED, SEQ_TYPE> { virtual ::CCM_fooB_ptr get_my_foo (void) { diff --git a/CIAO/connectors/dds4ccm/tests/Getter/Receiver/Getter_Test_Receiver_exec.h b/CIAO/connectors/dds4ccm/tests/Getter/Receiver/Getter_Test_Receiver_exec.h index 2856eeedc6c..58fed5bc8fa 100644 --- a/CIAO/connectors/dds4ccm/tests/Getter/Receiver/Getter_Test_Receiver_exec.h +++ b/CIAO/connectors/dds4ccm/tests/Getter/Receiver/Getter_Test_Receiver_exec.h @@ -98,7 +98,7 @@ namespace CIAO_Getter_Test_Receiver_Impl virtual ~info_get_status_exec_i (void); //@{ - /** Operations and attributes from ::CCM_DDS::PortStatusListener. */ + /** Operations and attributes from CCM_DDS::PortStatusListener. */ virtual void on_requested_deadline_missed (::DDS::DataReader_ptr the_reader, @@ -127,7 +127,7 @@ namespace CIAO_Getter_Test_Receiver_Impl virtual ~info_fixed_status_exec_i (void); //@{ - /** Operations and attributes from ::CCM_DDS::PortStatusListener. */ + /** Operations and attributes from CCM_DDS::PortStatusListener. */ virtual void on_requested_deadline_missed (::DDS::DataReader_ptr the_reader, @@ -157,7 +157,7 @@ namespace CIAO_Getter_Test_Receiver_Impl virtual ~getter_invoke_exec_i (void); //@{ - /** Operations and attributes from ::GetInvoker. */ + /** Operations and attributes from GetInvoker. */ virtual void start_timeout_get_one (void); diff --git a/CIAO/connectors/dds4ccm/tests/Getter/Sender/Getter_Test_Sender_exec.h b/CIAO/connectors/dds4ccm/tests/Getter/Sender/Getter_Test_Sender_exec.h index 632d2413d0a..46282c0d52f 100644 --- a/CIAO/connectors/dds4ccm/tests/Getter/Sender/Getter_Test_Sender_exec.h +++ b/CIAO/connectors/dds4ccm/tests/Getter/Sender/Getter_Test_Sender_exec.h @@ -72,7 +72,7 @@ namespace CIAO_Getter_Test_Sender_Impl virtual ~info_out_connector_status_exec_i (void); //@{ - /** Operations and attributes from ::CCM_DDS::ConnectorStatusListener. */ + /** Operations and attributes from CCM_DDS::ConnectorStatusListener. */ virtual void on_inconsistent_topic (::DDS::Topic_ptr the_topic, diff --git a/CIAO/connectors/dds4ccm/tests/KeyedSamples/Receiver/Keyed_Test_Receiver_exec.h b/CIAO/connectors/dds4ccm/tests/KeyedSamples/Receiver/Keyed_Test_Receiver_exec.h index 94a264cc981..032a12b8ac8 100644 --- a/CIAO/connectors/dds4ccm/tests/KeyedSamples/Receiver/Keyed_Test_Receiver_exec.h +++ b/CIAO/connectors/dds4ccm/tests/KeyedSamples/Receiver/Keyed_Test_Receiver_exec.h @@ -77,7 +77,7 @@ namespace CIAO_Keyed_Test_Receiver_Impl virtual ~info_out_status_exec_i (void); //@{ - /** Operations and attributes from ::CCM_DDS::PortStatusListener. */ + /** Operations and attributes from CCM_DDS::PortStatusListener. */ virtual void on_requested_deadline_missed (::DDS::DataReader_ptr the_reader, diff --git a/CIAO/connectors/dds4ccm/tests/KeyedWriter/Receiver/Writer_Receiver_exec.h b/CIAO/connectors/dds4ccm/tests/KeyedWriter/Receiver/Writer_Receiver_exec.h index d984727fda0..391097fd5e0 100644 --- a/CIAO/connectors/dds4ccm/tests/KeyedWriter/Receiver/Writer_Receiver_exec.h +++ b/CIAO/connectors/dds4ccm/tests/KeyedWriter/Receiver/Writer_Receiver_exec.h @@ -58,7 +58,7 @@ namespace CIAO_Writer_Receiver_Impl virtual ~info_out_data_listener_exec_i (void); //@{ - /** Operations and attributes from ::WriterTestConnector::Listener. */ + /** Operations and attributes from WriterTestConnector::Listener. */ virtual void on_one_data (const ::WriterTest & datum, @@ -89,7 +89,7 @@ namespace CIAO_Writer_Receiver_Impl virtual ~info_out_status_exec_i (void); //@{ - /** Operations and attributes from ::CCM_DDS::PortStatusListener. */ + /** Operations and attributes from CCM_DDS::PortStatusListener. */ virtual void on_requested_deadline_missed (::DDS::DataReader_ptr the_reader, diff --git a/CIAO/connectors/dds4ccm/tests/LateBinding/ReadGet/Receiver/RG_LateBinding_Receiver_exec.h b/CIAO/connectors/dds4ccm/tests/LateBinding/ReadGet/Receiver/RG_LateBinding_Receiver_exec.h index 9f7a3d81bc4..57e5260454d 100644 --- a/CIAO/connectors/dds4ccm/tests/LateBinding/ReadGet/Receiver/RG_LateBinding_Receiver_exec.h +++ b/CIAO/connectors/dds4ccm/tests/LateBinding/ReadGet/Receiver/RG_LateBinding_Receiver_exec.h @@ -57,7 +57,7 @@ namespace CIAO_RG_LateBinding_Receiver_Impl virtual ~info_get_status_exec_i (void); //@{ - /** Operations and attributes from ::CCM_DDS::PortStatusListener. */ + /** Operations and attributes from CCM_DDS::PortStatusListener. */ virtual void on_requested_deadline_missed (::DDS::DataReader_ptr the_reader, @@ -86,7 +86,7 @@ namespace CIAO_RG_LateBinding_Receiver_Impl virtual ~info_read_status_exec_i (void); //@{ - /** Operations and attributes from ::CCM_DDS::PortStatusListener. */ + /** Operations and attributes from CCM_DDS::PortStatusListener. */ virtual void on_requested_deadline_missed (::DDS::DataReader_ptr the_reader, @@ -116,7 +116,7 @@ namespace CIAO_RG_LateBinding_Receiver_Impl virtual ~reader_start_exec_i (void); //@{ - /** Operations and attributes from ::ReaderStarter. */ + /** Operations and attributes from ReaderStarter. */ virtual void start_read (void); diff --git a/CIAO/connectors/dds4ccm/tests/LateBinding/UpdateWrite/Receiver/WU_LateBinding_Receiver_exec.h b/CIAO/connectors/dds4ccm/tests/LateBinding/UpdateWrite/Receiver/WU_LateBinding_Receiver_exec.h index c5b42c72cee..7347d653922 100644 --- a/CIAO/connectors/dds4ccm/tests/LateBinding/UpdateWrite/Receiver/WU_LateBinding_Receiver_exec.h +++ b/CIAO/connectors/dds4ccm/tests/LateBinding/UpdateWrite/Receiver/WU_LateBinding_Receiver_exec.h @@ -55,7 +55,7 @@ namespace CIAO_WU_LateBinding_Receiver_Impl virtual ~info_out_event_data_listener_exec_i (void); //@{ - /** Operations and attributes from ::WU_LateBinding::WU_LateBindingTestConnector::Listener. */ + /** Operations and attributes from WU_LateBinding::WU_LateBindingTestConnector::Listener. */ virtual void on_one_data (const ::WU_LateBindingTest & datum, @@ -84,7 +84,7 @@ namespace CIAO_WU_LateBinding_Receiver_Impl virtual ~info_out_event_status_exec_i (void); //@{ - /** Operations and attributes from ::CCM_DDS::PortStatusListener. */ + /** Operations and attributes from CCM_DDS::PortStatusListener. */ virtual void on_requested_deadline_missed (::DDS::DataReader_ptr the_reader, @@ -113,7 +113,7 @@ namespace CIAO_WU_LateBinding_Receiver_Impl virtual ~info_out_state_data_listener_exec_i (void); //@{ - /** Operations and attributes from ::WU_LateBinding::WU_LateBindingTestConnector::StateListener. */ + /** Operations and attributes from WU_LateBinding::WU_LateBindingTestConnector::StateListener. */ virtual void on_creation (const ::WU_LateBindingTest & datum, @@ -150,7 +150,7 @@ namespace CIAO_WU_LateBinding_Receiver_Impl virtual ~info_out_state_status_exec_i (void); //@{ - /** Operations and attributes from ::CCM_DDS::PortStatusListener. */ + /** Operations and attributes from CCM_DDS::PortStatusListener. */ virtual void on_requested_deadline_missed (::DDS::DataReader_ptr the_reader, diff --git a/CIAO/connectors/dds4ccm/tests/ListenNotEnabled/Receiver/LNE_Test_Receiver_exec.h b/CIAO/connectors/dds4ccm/tests/ListenNotEnabled/Receiver/LNE_Test_Receiver_exec.h index 9a9441137e4..a1dbfe0e78d 100644 --- a/CIAO/connectors/dds4ccm/tests/ListenNotEnabled/Receiver/LNE_Test_Receiver_exec.h +++ b/CIAO/connectors/dds4ccm/tests/ListenNotEnabled/Receiver/LNE_Test_Receiver_exec.h @@ -58,7 +58,7 @@ namespace CIAO_LNE_Test_Receiver_Impl virtual ~info_listen_data_listener_exec_i (void); //@{ - /** Operations and attributes from ::LNE_Test::ListenNotEnabledTestConnector::Listener. */ + /** Operations and attributes from LNE_Test::ListenNotEnabledTestConnector::Listener. */ virtual void on_one_data (const ::ListenNotEnabledTest & datum, @@ -89,7 +89,7 @@ namespace CIAO_LNE_Test_Receiver_Impl virtual ~info_listen_status_exec_i (void); //@{ - /** Operations and attributes from ::CCM_DDS::PortStatusListener. */ + /** Operations and attributes from CCM_DDS::PortStatusListener. */ virtual void on_requested_deadline_missed (::DDS::DataReader_ptr the_reader, diff --git a/CIAO/connectors/dds4ccm/tests/ListenNotEnabled/Sender/LNE_Test_Sender_exec.cpp b/CIAO/connectors/dds4ccm/tests/ListenNotEnabled/Sender/LNE_Test_Sender_exec.cpp index e8941c8fd8c..7e6900ee192 100644 --- a/CIAO/connectors/dds4ccm/tests/ListenNotEnabled/Sender/LNE_Test_Sender_exec.cpp +++ b/CIAO/connectors/dds4ccm/tests/ListenNotEnabled/Sender/LNE_Test_Sender_exec.cpp @@ -55,10 +55,15 @@ namespace CIAO_LNE_Test_Sender_Impl : keys_ (5) , iterations_ (10) { + ACE_NEW_THROW_EX (this->rh_, + WriteManyHandler (*this), + ::CORBA::NO_MEMORY ()); + } Sender_exec_i::~Sender_exec_i (void) { + delete this->rh_; } // Supported operations and attributes. @@ -124,8 +129,7 @@ namespace CIAO_LNE_Test_Sender_Impl void Sender_exec_i::start (void) { - WriteManyHandler *rh = new WriteManyHandler (*this); - this->reactor ()->notify (rh); + this->reactor ()->notify (this->rh_); } // Component attributes and port operations. diff --git a/CIAO/connectors/dds4ccm/tests/ListenNotEnabled/Sender/LNE_Test_Sender_exec.h b/CIAO/connectors/dds4ccm/tests/ListenNotEnabled/Sender/LNE_Test_Sender_exec.h index 94c4cd36caf..59a455b4415 100644 --- a/CIAO/connectors/dds4ccm/tests/ListenNotEnabled/Sender/LNE_Test_Sender_exec.h +++ b/CIAO/connectors/dds4ccm/tests/ListenNotEnabled/Sender/LNE_Test_Sender_exec.h @@ -114,7 +114,7 @@ namespace CIAO_LNE_Test_Sender_Impl //@{ /** User defined members. */ - + WriteManyHandler *rh_; //@} //@{ diff --git a/CIAO/connectors/dds4ccm/tests/MultiTopic/Connector/MultiTopic_Connector_T.cpp b/CIAO/connectors/dds4ccm/tests/MultiTopic/Connector/MultiTopic_Connector_T.cpp index dd2fe7096a3..08fd5a8cf49 100644 --- a/CIAO/connectors/dds4ccm/tests/MultiTopic/Connector/MultiTopic_Connector_T.cpp +++ b/CIAO/connectors/dds4ccm/tests/MultiTopic/Connector/MultiTopic_Connector_T.cpp @@ -2,34 +2,34 @@ #include "connectors/dds4ccm/impl/DDS_TopicBase_Connector_T.h" -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> -DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::DDS_MT_Event_Connector_T (void) +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> +DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::DDS_MT_Event_Connector_T (void) : reactor_ (0) { } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> typename CCM_TYPE::supplier_sq_traits::data_type::_ptr_type -DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_supplier_sq_data (void) +DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_supplier_sq_data (void) { - ACE_TRACE ("DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_supplier_sq_data"); + ACE_TRACE ("DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_supplier_sq_data"); typename CCM_TYPE::supplier_sq_traits::data_type::_var_type dw = this->sq_supplier_.get_data (); return CCM_TYPE::supplier_sq_traits::data_type::_duplicate (dw.in ()); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> typename CCM_TYPE::supplier_sq_traits::dds_entity_type::_ptr_type -DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_supplier_sq_dds_entity (void) +DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_supplier_sq_dds_entity (void) { return CCM_TYPE::supplier_sq_traits::dds_entity_type::_nil (); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> typename CCM_TYPE::pull_consumer_sq_traits::fresh_data_type::_ptr_type -DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_pull_consumer_sq_fresh_data (void) +DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_pull_consumer_sq_fresh_data (void) { typename CCM_TYPE::pull_consumer_sq_traits::fresh_data_type::_var_type fresh_data = this->pull_consumer_sq_.get_fresh_data (); @@ -37,84 +37,84 @@ DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::g fresh_data.in ()); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> typename CCM_TYPE::pull_consumer_sq_traits::data_type::_ptr_type -DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_pull_consumer_sq_data (void) +DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_pull_consumer_sq_data (void) { return CCM_TYPE::pull_consumer_sq_traits::data_type::_nil (); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> typename CCM_TYPE::pull_consumer_sq_traits::dds_entity_type::_ptr_type -DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_pull_consumer_sq_dds_entity (void) +DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_pull_consumer_sq_dds_entity (void) { return CCM_TYPE::pull_consumer_sq_traits::dds_entity_type::_nil (); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> ::CCM_DDS::QueryFilter* -DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::pull_consumer_sq_filter (void) +DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::pull_consumer_sq_filter (void) { return 0; } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> void -DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::pull_consumer_sq_filter (const ::CCM_DDS::QueryFilter&) +DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::pull_consumer_sq_filter (const ::CCM_DDS::QueryFilter&) { } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> ::CCM_DDS::CCM_ContentFilterSetting_ptr -DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_pull_consumer_sq_filter_config(void) +DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_pull_consumer_sq_filter_config(void) { return ::CCM_DDS::CCM_ContentFilterSetting::_nil (); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> ::CCM_DDS::CCM_ContentFilterSetting* -DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_push_consumer_sq_filter_config(void) +DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_push_consumer_sq_filter_config(void) { return ::CCM_DDS::CCM_ContentFilterSetting::_nil (); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> ::CCM_DDS::QueryFilter * -DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::push_consumer_sq_filter (void) +DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::push_consumer_sq_filter (void) { return 0; } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> void -DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::push_consumer_sq_filter (const ::CCM_DDS::QueryFilter &) +DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::push_consumer_sq_filter (const ::CCM_DDS::QueryFilter &) { } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> typename CCM_TYPE::push_consumer_sq_traits::data_type::_ptr_type -DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_push_consumer_sq_data (void) +DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_push_consumer_sq_data (void) { return CCM_TYPE::push_consumer_sq_traits::data_type::_nil (); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> typename CCM_TYPE::push_consumer_sq_traits::data_control_type::_ptr_type -DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_push_consumer_sq_data_control (void) +DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_push_consumer_sq_data_control (void) { return CCM_TYPE::push_consumer_sq_traits::data_control_type::_nil (); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> typename CCM_TYPE::push_consumer_sq_traits::dds_entity_type::_ptr_type -DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_push_consumer_sq_dds_entity (void) +DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_push_consumer_sq_dds_entity (void) { return CCM_TYPE::push_consumer_sq_traits::dds_entity_type::_nil (); @@ -122,28 +122,28 @@ DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::g //TRIANGEL -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> typename CCM_TYPE::supplier_tr_traits::data_type::_ptr_type -DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_supplier_tr_data (void) +DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_supplier_tr_data (void) { - ACE_TRACE ("DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_supplier_tr_data"); + ACE_TRACE ("DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_supplier_tr_data"); typename CCM_TYPE::supplier_sq_traits::data_type::_var_type dw = this->tr_supplier_.get_data (); return CCM_TYPE::supplier_sq_traits::data_type::_duplicate (dw.in ()); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> typename CCM_TYPE::supplier_tr_traits::dds_entity_type::_ptr_type -DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_supplier_tr_dds_entity (void) +DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_supplier_tr_dds_entity (void) { return CCM_TYPE::supplier_tr_traits::dds_entity_type::_nil (); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> typename CCM_TYPE::pull_consumer_tr_traits::fresh_data_type::_ptr_type -DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_pull_consumer_tr_fresh_data (void) +DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_pull_consumer_tr_fresh_data (void) { typename CCM_TYPE::pull_consumer_tr_traits::fresh_data_type::_var_type fresh_data = this->pull_consumer_tr_.get_fresh_data (); @@ -152,88 +152,88 @@ DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::g fresh_data.in ()); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> typename CCM_TYPE::pull_consumer_tr_traits::data_type::_ptr_type -DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_pull_consumer_tr_data (void) +DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_pull_consumer_tr_data (void) { return CCM_TYPE::pull_consumer_tr_traits::data_type::_nil (); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> typename CCM_TYPE::pull_consumer_tr_traits::dds_entity_type::_ptr_type -DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_pull_consumer_tr_dds_entity (void) +DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_pull_consumer_tr_dds_entity (void) { return CCM_TYPE::pull_consumer_tr_traits::dds_entity_type::_nil (); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> ::CCM_DDS::QueryFilter* -DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::pull_consumer_tr_filter (void) +DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::pull_consumer_tr_filter (void) { return 0; } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> void -DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::pull_consumer_tr_filter (const ::CCM_DDS::QueryFilter&) +DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::pull_consumer_tr_filter (const ::CCM_DDS::QueryFilter&) { } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> ::CCM_DDS::CCM_ContentFilterSetting* -DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_pull_consumer_tr_filter_config(void) +DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_pull_consumer_tr_filter_config(void) { return ::CCM_DDS::CCM_ContentFilterSetting::_nil (); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> ::CCM_DDS::CCM_ContentFilterSetting* -DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_push_consumer_tr_filter_config(void) +DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_push_consumer_tr_filter_config(void) { return ::CCM_DDS::CCM_ContentFilterSetting::_nil (); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> ::CCM_DDS::QueryFilter * -DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::push_consumer_tr_filter (void) +DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::push_consumer_tr_filter (void) { return 0; } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> void -DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::push_consumer_tr_filter ( +DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::push_consumer_tr_filter ( const ::CCM_DDS::QueryFilter &) { } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> typename CCM_TYPE::push_consumer_tr_traits::data_type::_ptr_type -DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_push_consumer_tr_data (void) +DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_push_consumer_tr_data (void) { return CCM_TYPE::push_consumer_tr_traits::data_type::_nil (); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> typename CCM_TYPE::push_consumer_tr_traits::data_control_type::_ptr_type -DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_push_consumer_tr_data_control (void) +DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_push_consumer_tr_data_control (void) { return CCM_TYPE::push_consumer_tr_traits::data_control_type::_nil (); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> typename CCM_TYPE::push_consumer_tr_traits::dds_entity_type::_ptr_type -DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_push_consumer_tr_dds_entity (void) +DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_push_consumer_tr_dds_entity (void) { return CCM_TYPE::push_consumer_tr_traits::dds_entity_type::_nil (); @@ -241,163 +241,163 @@ DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::g //CIRCLE -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> typename CCM_TYPE::supplier_cl_traits::data_type::_ptr_type -DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_supplier_cl_data (void) +DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_supplier_cl_data (void) { - ACE_TRACE ("DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_supplier_cl_data"); + ACE_TRACE ("DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_supplier_cl_data"); typename CCM_TYPE::supplier_sq_traits::data_type::_var_type dw = this->cl_supplier_.get_data (); return CCM_TYPE::supplier_sq_traits::data_type::_duplicate (dw.in ()); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> typename CCM_TYPE::supplier_cl_traits::dds_entity_type::_ptr_type -DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_supplier_cl_dds_entity (void) +DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_supplier_cl_dds_entity (void) { return CCM_TYPE::supplier_cl_traits::dds_entity_type::_nil (); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> typename CCM_TYPE::pull_consumer_cl_traits::fresh_data_type::_ptr_type -DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_pull_consumer_cl_fresh_data (void) +DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_pull_consumer_cl_fresh_data (void) { return CCM_TYPE::pull_consumer_cl_traits::fresh_data_type::_nil (); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> typename CCM_TYPE::pull_consumer_cl_traits::data_type::_ptr_type -DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_pull_consumer_cl_data (void) +DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_pull_consumer_cl_data (void) { return CCM_TYPE::pull_consumer_cl_traits::data_type::_nil (); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> typename CCM_TYPE::pull_consumer_cl_traits::dds_entity_type::_ptr_type -DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_pull_consumer_cl_dds_entity (void) +DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_pull_consumer_cl_dds_entity (void) { return CCM_TYPE::pull_consumer_cl_traits::dds_entity_type::_nil (); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> ::CCM_DDS::QueryFilter* -DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::pull_consumer_cl_filter (void) +DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::pull_consumer_cl_filter (void) { return 0; } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> void -DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::pull_consumer_cl_filter (const ::CCM_DDS::QueryFilter&) +DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::pull_consumer_cl_filter (const ::CCM_DDS::QueryFilter&) { } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> ::CCM_DDS::CCM_ContentFilterSetting* -DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_pull_consumer_cl_filter_config(void) +DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_pull_consumer_cl_filter_config(void) { return ::CCM_DDS::CCM_ContentFilterSetting::_nil (); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> ::CCM_DDS::CCM_ContentFilterSetting* -DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_push_consumer_cl_filter_config(void) +DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_push_consumer_cl_filter_config(void) { return ::CCM_DDS::CCM_ContentFilterSetting::_nil (); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> ::CCM_DDS::QueryFilter * -DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::push_consumer_cl_filter (void) +DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::push_consumer_cl_filter (void) { return 0; } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> void -DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::push_consumer_cl_filter (const ::CCM_DDS::QueryFilter &) +DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::push_consumer_cl_filter (const ::CCM_DDS::QueryFilter &) { } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> typename CCM_TYPE::push_consumer_cl_traits::data_type::_ptr_type -DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_push_consumer_cl_data (void) +DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_push_consumer_cl_data (void) { return CCM_TYPE::push_consumer_cl_traits::data_type::_nil (); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> typename CCM_TYPE::push_consumer_cl_traits::data_control_type::_ptr_type -DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_push_consumer_cl_data_control (void) +DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_push_consumer_cl_data_control (void) { typename CCM_TYPE::push_consumer_cl_traits::data_control_type::_var_type dlc = this->push_consumer_cl_.get_data_control (); return CCM_TYPE::push_consumer_cl_traits::data_control_type::_duplicate (dlc.in ()); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> typename CCM_TYPE::push_consumer_cl_traits::dds_entity_type::_ptr_type -DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::get_push_consumer_cl_dds_entity (void) +DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::get_push_consumer_cl_dds_entity (void) { return CCM_TYPE::push_consumer_cl_traits::dds_entity_type::_nil (); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> char * -DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::topic_name_sq (void) +DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::topic_name_sq (void) { return CORBA::string_dup (this->topic_name_sq_.in ()); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> void -DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::topic_name_sq ( +DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::topic_name_sq ( const char * topic_name_sq) { this->topic_name_sq_ = topic_name_sq; } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> char * -DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::topic_name_tr (void) +DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::topic_name_tr (void) { return CORBA::string_dup (this->topic_name_tr_.in ()); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> void -DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::topic_name_tr ( +DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::topic_name_tr ( const char * topic_name_tr) { this->topic_name_tr_ = topic_name_tr; } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> char * -DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::topic_name_cl (void) +DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::topic_name_cl (void) { return CORBA::string_dup (this->topic_name_cl_.in ()); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> void -DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::topic_name_cl ( +DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::topic_name_cl ( const char * topic_name_cl) { this->topic_name_cl_ = topic_name_cl; } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> void -DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::create_topics ( +DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::create_topics ( const char * typesupport_name) { this->init_topic (this->domain_participant_.in (), @@ -432,9 +432,9 @@ DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::c } } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> void -DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::configuration_complete (void) +DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::configuration_complete (void) { // Init default domain (Base_Connector) this->init_domain (this->domain_participant_.inout ()); @@ -456,38 +456,32 @@ DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::c this->sq_supplier_.configuration_complete ( this->topic_sq_.in (), this->publisher_.in (), - this->library_name_, - this->profile_name_); + this->qos_profile_); this->tr_supplier_.configuration_complete ( this->topic_tr_.in (), this->publisher_.in (), - this->library_name_, - this->profile_name_); + this->qos_profile_); this->cl_supplier_.configuration_complete ( this->topic_cl_.in (), this->publisher_.in (), - this->library_name_, - this->profile_name_); + this->qos_profile_); this->pull_consumer_sq_.configuration_complete ( this->topic_sq_.in (), this->subscriber_.in (), - this->library_name_, - this->profile_name_); + this->qos_profile_); this->pull_consumer_tr_.configuration_complete ( this->topic_tr_.in (), this->subscriber_.in (), - this->library_name_, - this->profile_name_); + this->qos_profile_); this->push_consumer_cl_.configuration_complete ( this->topic_cl_.in (), this->subscriber_.in (), - this->library_name_, - this->profile_name_); + this->qos_profile_); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> void -DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::activate_topics (void) +DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::activate_topics (void) { this->activate_topic (this->reactor_, this->topic_sq_.in (), @@ -500,9 +494,9 @@ DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::a this->topiclistener_cl_.inout ()); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> void -DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::ccm_activate (void) +DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::ccm_activate (void) { this->activate_topics (); this->activate_subscriber (this->reactor_, @@ -535,9 +529,9 @@ DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::c this->reactor_); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> void -DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::passivate_topics (void) +DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::passivate_topics (void) { ::DDS::TopicListener_var topic_listener = this->topiclistener_sq_._retn (); if (!::CORBA::is_nil (topic_listener.in ())) @@ -559,9 +553,9 @@ DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::p } } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> void -DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::ccm_passivate (void) +DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::ccm_passivate (void) { this->sq_supplier_.passivate (); this->tr_supplier_.passivate (); @@ -590,9 +584,9 @@ DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::c } } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> void -DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::remove_topics (void) +DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::remove_topics (void) { this->remove_topic (this->domain_participant_.in (), this->topic_sq_.inout ()); @@ -602,9 +596,9 @@ DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::r this->topic_cl_.inout ()); } -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> void -DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE, FIXED_SEQ_TYPE>::ccm_remove (void) +DDS_MT_Event_Connector_T<CCM_TYPE, DDS_TYPE, FIXED, SEQ_TYPE>::ccm_remove (void) { this->sq_supplier_.remove (this->publisher_.in ()); this->tr_supplier_.remove (this->publisher_.in ()); diff --git a/CIAO/connectors/dds4ccm/tests/MultiTopic/Connector/MultiTopic_Connector_T.h b/CIAO/connectors/dds4ccm/tests/MultiTopic/Connector/MultiTopic_Connector_T.h index e50f39abbd4..742e45bf8e8 100644 --- a/CIAO/connectors/dds4ccm/tests/MultiTopic/Connector/MultiTopic_Connector_T.h +++ b/CIAO/connectors/dds4ccm/tests/MultiTopic/Connector/MultiTopic_Connector_T.h @@ -9,7 +9,7 @@ #include "connectors/dds4ccm/impl/DDS_Listen_T.h" #include "connectors/dds4ccm/impl/DataListenerControl_T.h" -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> class DDS_MT_Event_Connector_T : public virtual DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE> { diff --git a/CIAO/connectors/dds4ccm/tests/MultiTopic/Connector/ccm_dds_mt.idl b/CIAO/connectors/dds4ccm/tests/MultiTopic/Connector/ccm_dds_mt.idl index a3cd3283b2c..ee1b9d1d180 100644 --- a/CIAO/connectors/dds4ccm/tests/MultiTopic/Connector/ccm_dds_mt.idl +++ b/CIAO/connectors/dds4ccm/tests/MultiTopic/Connector/ccm_dds_mt.idl @@ -31,16 +31,16 @@ module CCM_DDS_MT // DDS MT Connector // ------------------ - connector DDS_MT_Event : CCM_DDS::DDS_TopicBase { - mirrorport DDS_Typed::DDS_Write supplier_sq; - mirrorport DDS_Typed::DDS_Get pull_consumer_sq; - mirrorport DDS_Typed::DDS_Listen push_consumer_sq; - mirrorport DDS_Typed::DDS_Write supplier_tr; - mirrorport DDS_Typed::DDS_Get pull_consumer_tr; - mirrorport DDS_Typed::DDS_Listen push_consumer_tr; - mirrorport DDS_Typed::DDS_Write supplier_cl; - mirrorport DDS_Typed::DDS_Get pull_consumer_cl; - mirrorport DDS_Typed::DDS_Listen push_consumer_cl; + connector DDS_MT_Event : CCM_DDS::DDS_Base { + mirrorport DDS_Typed::DDS_Write supplier_sq; + mirrorport DDS_Typed::DDS_Get pull_consumer_sq; + mirrorport DDS_Typed::DDS_Listen push_consumer_sq; + mirrorport DDS_Typed::DDS_Write supplier_tr; + mirrorport DDS_Typed::DDS_Get pull_consumer_tr; + mirrorport DDS_Typed::DDS_Listen push_consumer_tr; + mirrorport DDS_Typed::DDS_Write supplier_cl; + mirrorport DDS_Typed::DDS_Get pull_consumer_cl; + mirrorport DDS_Typed::DDS_Listen push_consumer_cl; attribute string topic_name_sq; attribute string topic_name_tr; diff --git a/CIAO/connectors/dds4ccm/tests/MultiTopic/Receiver/MultiTopic_Receiver_exec.h b/CIAO/connectors/dds4ccm/tests/MultiTopic/Receiver/MultiTopic_Receiver_exec.h index 4909b2e35f5..5d775a81b1e 100644 --- a/CIAO/connectors/dds4ccm/tests/MultiTopic/Receiver/MultiTopic_Receiver_exec.h +++ b/CIAO/connectors/dds4ccm/tests/MultiTopic/Receiver/MultiTopic_Receiver_exec.h @@ -77,7 +77,7 @@ namespace CIAO_Shapes_Receiver_Impl virtual ~info_out_data_listener_exec_i (void); //@{ - /** Operations and attributes from ::Shapes::Listener. */ + /** Operations and attributes from Shapes::Listener. */ virtual void on_one_data (const ::ShapeType & datum, diff --git a/CIAO/connectors/dds4ccm/tests/MultipleTemp/Connector/MultipleTemp_Connector_T.cpp b/CIAO/connectors/dds4ccm/tests/MultipleTemp/Connector/MultipleTemp_Connector_T.cpp index 4bdee1494a4..94809ae55f9 100644 --- a/CIAO/connectors/dds4ccm/tests/MultipleTemp/Connector/MultipleTemp_Connector_T.cpp +++ b/CIAO/connectors/dds4ccm/tests/MultipleTemp/Connector/MultipleTemp_Connector_T.cpp @@ -3,10 +3,8 @@ #include "connectors/dds4ccm/impl/DDS_Base_Connector_T.h" #include "ace/Reactor.h" -template <typename CCM_TYPE, typename DDS_TYPE_T, bool FIXED_T, typename SEQ_TYPE_T, bool FIXED_SEQ_TYPE_T, -typename DDS_TYPE_Y, bool FIXED_Y, typename SEQ_TYPE_Y, bool FIXED_SEQ_TYPE_Y> -FooConnector_Connector_T<CCM_TYPE, DDS_TYPE_T, FIXED_T, SEQ_TYPE_T, FIXED_SEQ_TYPE_T, -DDS_TYPE_Y, FIXED_Y, SEQ_TYPE_Y, FIXED_SEQ_TYPE_Y>::FooConnector_Connector_T(void) +template <typename CCM_TYPE, typename DDS_TYPE_T, bool FIXED_T, typename SEQ_TYPE_T, typename DDS_TYPE_Y, bool FIXED_Y, typename SEQ_TYPE_Y> +FooConnector_Connector_T<CCM_TYPE, DDS_TYPE_T, FIXED_T, SEQ_TYPE_T, DDS_TYPE_Y, FIXED_Y, SEQ_TYPE_Y>::FooConnector_Connector_T(void) : push_consumer_t_ (), push_consumer_y_ (), reactor_ (0) @@ -17,11 +15,9 @@ DDS_TYPE_Y, FIXED_Y, SEQ_TYPE_Y, FIXED_SEQ_TYPE_Y>::FooConnector_Connector_T(voi /** * Type registration both topics **/ -template <typename CCM_TYPE, typename DDS_TYPE_T, bool FIXED_T, typename SEQ_TYPE_T, bool FIXED_SEQ_TYPE_T, - typename DDS_TYPE_Y, bool FIXED_Y, typename SEQ_TYPE_Y, bool FIXED_SEQ_TYPE_Y> +template <typename CCM_TYPE, typename DDS_TYPE_T, bool FIXED_T, typename SEQ_TYPE_T, typename DDS_TYPE_Y, bool FIXED_Y, typename SEQ_TYPE_Y> void -FooConnector_Connector_T<CCM_TYPE, DDS_TYPE_T, FIXED_T, SEQ_TYPE_T, FIXED_SEQ_TYPE_T, - DDS_TYPE_Y, FIXED_Y, SEQ_TYPE_Y, FIXED_SEQ_TYPE_Y>::register_type ( +FooConnector_Connector_T<CCM_TYPE, DDS_TYPE_T, FIXED_T, SEQ_TYPE_T, DDS_TYPE_Y, FIXED_Y, SEQ_TYPE_Y>::register_type ( ::DDS::DomainParticipant_ptr participant, const char * /*typesupport_name*/) { @@ -81,217 +77,195 @@ FooConnector_Connector_T<CCM_TYPE, DDS_TYPE_T, FIXED_T, SEQ_TYPE_T, FIXED_SEQ_TY } } -template <typename CCM_TYPE, typename DDS_TYPE_T, bool FIXED_T, typename SEQ_TYPE_T, bool FIXED_SEQ_TYPE_T, -typename DDS_TYPE_Y, bool FIXED_Y, typename SEQ_TYPE_Y, bool FIXED_SEQ_TYPE_Y> +template <typename CCM_TYPE, typename DDS_TYPE_T, bool FIXED_T, typename SEQ_TYPE_T, typename DDS_TYPE_Y, bool FIXED_Y, typename SEQ_TYPE_Y> +void +FooConnector_Connector_T<CCM_TYPE, DDS_TYPE_T, FIXED_T, SEQ_TYPE_T, DDS_TYPE_Y, FIXED_Y, SEQ_TYPE_Y>::unregister_type ( + ::DDS::DomainParticipant_ptr participant, + const char * typesupport_name) +{ + DDS4CCM_TRACE ("FooConnector_Connector_T::unregister_type"); +#if (CIAO_DDS4CCM_NDDS==1) + ::CIAO::NDDS::DDS_TypeFactory_i * factory = + ::CIAO::NDDS::DDS_TypeSupport_i::unregister_type (typesupport_name, participant); + delete factory; +#else + ACE_UNUSED_ARG (participant); + ACE_UNUSED_ARG (typesupport_name); +#endif + +} + +template <typename CCM_TYPE, typename DDS_TYPE_T, bool FIXED_T, typename SEQ_TYPE_T, typename DDS_TYPE_Y, bool FIXED_Y, typename SEQ_TYPE_Y> char * -FooConnector_Connector_T<CCM_TYPE, DDS_TYPE_T, FIXED_T, SEQ_TYPE_T, FIXED_SEQ_TYPE_T, -DDS_TYPE_Y, FIXED_Y, SEQ_TYPE_Y, FIXED_SEQ_TYPE_Y>::topic_name_t (void) +FooConnector_Connector_T<CCM_TYPE, DDS_TYPE_T, FIXED_T, SEQ_TYPE_T, DDS_TYPE_Y, FIXED_Y, SEQ_TYPE_Y>::topic_name_t (void) { return CORBA::string_dup (this->topic_name_t_.in ()); } -template <typename CCM_TYPE, typename DDS_TYPE_T, bool FIXED_T, typename SEQ_TYPE_T, bool FIXED_SEQ_TYPE_T, -typename DDS_TYPE_Y, bool FIXED_Y, typename SEQ_TYPE_Y, bool FIXED_SEQ_TYPE_Y> +template <typename CCM_TYPE, typename DDS_TYPE_T, bool FIXED_T, typename SEQ_TYPE_T, typename DDS_TYPE_Y, bool FIXED_Y, typename SEQ_TYPE_Y> void -FooConnector_Connector_T<CCM_TYPE, DDS_TYPE_T, FIXED_T, SEQ_TYPE_T, FIXED_SEQ_TYPE_T, - DDS_TYPE_Y, FIXED_Y, SEQ_TYPE_Y, FIXED_SEQ_TYPE_Y>::topic_name_t ( +FooConnector_Connector_T<CCM_TYPE, DDS_TYPE_T, FIXED_T, SEQ_TYPE_T, DDS_TYPE_Y, FIXED_Y, SEQ_TYPE_Y>::topic_name_t ( const char * topic_name_t) { this->topic_name_t_ = topic_name_t; } -template <typename CCM_TYPE, typename DDS_TYPE_T, bool FIXED_T, typename SEQ_TYPE_T, bool FIXED_SEQ_TYPE_T, -typename DDS_TYPE_Y, bool FIXED_Y, typename SEQ_TYPE_Y, bool FIXED_SEQ_TYPE_Y> -::CCM_DDS::CCM_ContentFilterSetting* - FooConnector_Connector_T<CCM_TYPE, DDS_TYPE_T, FIXED_T, SEQ_TYPE_T, FIXED_SEQ_TYPE_T, - DDS_TYPE_Y, FIXED_Y, SEQ_TYPE_Y, FIXED_SEQ_TYPE_Y>::get_push_consumer_t_filter_config(void) +template <typename CCM_TYPE, typename DDS_TYPE_T, bool FIXED_T, typename SEQ_TYPE_T, typename DDS_TYPE_Y, bool FIXED_Y, typename SEQ_TYPE_Y> +::CCM_DDS::CCM_ContentFilterSetting * +FooConnector_Connector_T<CCM_TYPE, DDS_TYPE_T, FIXED_T, SEQ_TYPE_T, DDS_TYPE_Y, FIXED_Y, SEQ_TYPE_Y>::get_push_consumer_t_filter_config(void) { DDS4CCM_TRACE ("FooConnector_Connector_T::get_push_consumer_t_filter_config"); this->push_consumer_t_.set_component (this); return this->push_consumer_t_.get_filter_config (); } -template <typename CCM_TYPE, typename DDS_TYPE_T, bool FIXED_T, typename SEQ_TYPE_T, bool FIXED_SEQ_TYPE_T, -typename DDS_TYPE_Y, bool FIXED_Y, typename SEQ_TYPE_Y, bool FIXED_SEQ_TYPE_Y> +template <typename CCM_TYPE, typename DDS_TYPE_T, bool FIXED_T, typename SEQ_TYPE_T, typename DDS_TYPE_Y, bool FIXED_Y, typename SEQ_TYPE_Y> ::CCM_DDS::QueryFilter * - FooConnector_Connector_T<CCM_TYPE, DDS_TYPE_T, FIXED_T, SEQ_TYPE_T, FIXED_SEQ_TYPE_T, - DDS_TYPE_Y, FIXED_Y, SEQ_TYPE_Y, FIXED_SEQ_TYPE_Y>::push_consumer_t_filter (void) +FooConnector_Connector_T<CCM_TYPE, DDS_TYPE_T, FIXED_T, SEQ_TYPE_T, DDS_TYPE_Y, FIXED_Y, SEQ_TYPE_Y>::push_consumer_t_filter (void) { return this->push_consumer_t_.filter (); } -template <typename CCM_TYPE, typename DDS_TYPE_T, bool FIXED_T, typename SEQ_TYPE_T, bool FIXED_SEQ_TYPE_T, -typename DDS_TYPE_Y, bool FIXED_Y, typename SEQ_TYPE_Y, bool FIXED_SEQ_TYPE_Y> +template <typename CCM_TYPE, typename DDS_TYPE_T, bool FIXED_T, typename SEQ_TYPE_T, typename DDS_TYPE_Y, bool FIXED_Y, typename SEQ_TYPE_Y> void -FooConnector_Connector_T<CCM_TYPE, DDS_TYPE_T, FIXED_T, SEQ_TYPE_T, FIXED_SEQ_TYPE_T, -DDS_TYPE_Y, FIXED_Y, SEQ_TYPE_Y, FIXED_SEQ_TYPE_Y>::push_consumer_t_filter (const ::CCM_DDS::QueryFilter &filter) +FooConnector_Connector_T<CCM_TYPE, DDS_TYPE_T, FIXED_T, SEQ_TYPE_T, DDS_TYPE_Y, FIXED_Y, SEQ_TYPE_Y>::push_consumer_t_filter ( + const ::CCM_DDS::QueryFilter &filter) { DDS4CCM_TRACE ("FooConnector_Connector_T::push_consumer_t_filter"); this->push_consumer_t_.filter (filter); } -template <typename CCM_TYPE, typename DDS_TYPE_T, bool FIXED_T, typename SEQ_TYPE_T, bool FIXED_SEQ_TYPE_T, -typename DDS_TYPE_Y, bool FIXED_Y, typename SEQ_TYPE_Y, bool FIXED_SEQ_TYPE_Y> +template <typename CCM_TYPE, typename DDS_TYPE_T, bool FIXED_T, typename SEQ_TYPE_T, typename DDS_TYPE_Y, bool FIXED_Y, typename SEQ_TYPE_Y> typename CCM_TYPE::push_consumer_t_traits::data_type::_ptr_type -FooConnector_Connector_T<CCM_TYPE, DDS_TYPE_T, FIXED_T, SEQ_TYPE_T, FIXED_SEQ_TYPE_T, -DDS_TYPE_Y, FIXED_Y, SEQ_TYPE_Y, FIXED_SEQ_TYPE_Y>::get_push_consumer_t_data (void) +FooConnector_Connector_T<CCM_TYPE, DDS_TYPE_T, FIXED_T, SEQ_TYPE_T, DDS_TYPE_Y, FIXED_Y, SEQ_TYPE_Y>::get_push_consumer_t_data (void) { DDS4CCM_TRACE ("FooConnector_Connector_T::get_push_consumer_t_data"); this->push_consumer_t_.set_component (this); return this->push_consumer_t_.get_data (); } -template <typename CCM_TYPE, typename DDS_TYPE_T, bool FIXED_T, typename SEQ_TYPE_T, bool FIXED_SEQ_TYPE_T, -typename DDS_TYPE_Y, bool FIXED_Y, typename SEQ_TYPE_Y, bool FIXED_SEQ_TYPE_Y> +template <typename CCM_TYPE, typename DDS_TYPE_T, bool FIXED_T, typename SEQ_TYPE_T, typename DDS_TYPE_Y, bool FIXED_Y, typename SEQ_TYPE_Y> typename CCM_TYPE::push_consumer_t_traits::data_control_type::_ptr_type -FooConnector_Connector_T<CCM_TYPE, DDS_TYPE_T, FIXED_T, SEQ_TYPE_T, FIXED_SEQ_TYPE_T, -DDS_TYPE_Y, FIXED_Y, SEQ_TYPE_Y, FIXED_SEQ_TYPE_Y>::get_push_consumer_t_data_control (void) +FooConnector_Connector_T<CCM_TYPE, DDS_TYPE_T, FIXED_T, SEQ_TYPE_T, DDS_TYPE_Y, FIXED_Y, SEQ_TYPE_Y>::get_push_consumer_t_data_control (void) { DDS4CCM_TRACE ("FooConnector_Connector_T::get_push_consumer_t_data_control"); this->push_consumer_t_.set_component (this); return this->push_consumer_t_.get_data_control (); } -template <typename CCM_TYPE, typename DDS_TYPE_T, bool FIXED_T, typename SEQ_TYPE_T, bool FIXED_SEQ_TYPE_T, -typename DDS_TYPE_Y, bool FIXED_Y, typename SEQ_TYPE_Y, bool FIXED_SEQ_TYPE_Y> +template <typename CCM_TYPE, typename DDS_TYPE_T, bool FIXED_T, typename SEQ_TYPE_T, typename DDS_TYPE_Y, bool FIXED_Y, typename SEQ_TYPE_Y> typename CCM_TYPE::push_consumer_t_traits::dds_entity_type::_ptr_type -FooConnector_Connector_T<CCM_TYPE, DDS_TYPE_T, FIXED_T, SEQ_TYPE_T, FIXED_SEQ_TYPE_T, -DDS_TYPE_Y, FIXED_Y, SEQ_TYPE_Y, FIXED_SEQ_TYPE_Y>::get_push_consumer_t_dds_entity (void) +FooConnector_Connector_T<CCM_TYPE, DDS_TYPE_T, FIXED_T, SEQ_TYPE_T, DDS_TYPE_Y, FIXED_Y, SEQ_TYPE_Y>::get_push_consumer_t_dds_entity (void) { DDS4CCM_TRACE ("FooConnector_Connector_T::get_push_consumer_t_dds_entity"); this->push_consumer_t_.set_component (this); return this->push_consumer_t_.get_dds_entity (); } -template <typename CCM_TYPE, typename DDS_TYPE_T, bool FIXED_T, typename SEQ_TYPE_T, bool FIXED_SEQ_TYPE_T, -typename DDS_TYPE_Y, bool FIXED_Y, typename SEQ_TYPE_Y, bool FIXED_SEQ_TYPE_Y> +template <typename CCM_TYPE, typename DDS_TYPE_T, bool FIXED_T, typename SEQ_TYPE_T, typename DDS_TYPE_Y, bool FIXED_Y, typename SEQ_TYPE_Y> typename CCM_TYPE::observable_t_traits::data_type::_ptr_type -FooConnector_Connector_T<CCM_TYPE, DDS_TYPE_T, FIXED_T, SEQ_TYPE_T, FIXED_SEQ_TYPE_T, -DDS_TYPE_Y, FIXED_Y, SEQ_TYPE_Y, FIXED_SEQ_TYPE_Y>::get_observable_t_data (void) +FooConnector_Connector_T<CCM_TYPE, DDS_TYPE_T, FIXED_T, SEQ_TYPE_T, DDS_TYPE_Y, FIXED_Y, SEQ_TYPE_Y>::get_observable_t_data (void) { // return CCM_TYPE::observable_t_traits::data_type::_nil(); this->observable_t_.set_component (this); return this->observable_t_.get_data (); } -template <typename CCM_TYPE, typename DDS_TYPE_T, bool FIXED_T, typename SEQ_TYPE_T, bool FIXED_SEQ_TYPE_T, -typename DDS_TYPE_Y, bool FIXED_Y, typename SEQ_TYPE_Y, bool FIXED_SEQ_TYPE_Y> +template <typename CCM_TYPE, typename DDS_TYPE_T, bool FIXED_T, typename SEQ_TYPE_T, typename DDS_TYPE_Y, bool FIXED_Y, typename SEQ_TYPE_Y> typename CCM_TYPE::observable_t_traits::dds_entity_type::_ptr_type -FooConnector_Connector_T<CCM_TYPE, DDS_TYPE_T, FIXED_T, SEQ_TYPE_T, FIXED_SEQ_TYPE_T, -DDS_TYPE_Y, FIXED_Y, SEQ_TYPE_Y, FIXED_SEQ_TYPE_Y>::get_observable_t_dds_entity (void) +FooConnector_Connector_T<CCM_TYPE, DDS_TYPE_T, FIXED_T, SEQ_TYPE_T, DDS_TYPE_Y, FIXED_Y, SEQ_TYPE_Y>::get_observable_t_dds_entity (void) { this->observable_t_.set_component (this); return this->observable_t_.get_dds_entity (); } // Y -template <typename CCM_TYPE, typename DDS_TYPE_T, bool FIXED_T, typename SEQ_TYPE_T, bool FIXED_SEQ_TYPE_T, -typename DDS_TYPE_Y, bool FIXED_Y, typename SEQ_TYPE_Y, bool FIXED_SEQ_TYPE_Y> +template <typename CCM_TYPE, typename DDS_TYPE_T, bool FIXED_T, typename SEQ_TYPE_T, typename DDS_TYPE_Y, bool FIXED_Y, typename SEQ_TYPE_Y> char * -FooConnector_Connector_T<CCM_TYPE, DDS_TYPE_T, FIXED_T, SEQ_TYPE_T, FIXED_SEQ_TYPE_T, -DDS_TYPE_Y, FIXED_Y, SEQ_TYPE_Y, FIXED_SEQ_TYPE_Y>::topic_name_y (void) +FooConnector_Connector_T<CCM_TYPE, DDS_TYPE_T, FIXED_T, SEQ_TYPE_T, DDS_TYPE_Y, FIXED_Y, SEQ_TYPE_Y>::topic_name_y (void) { return CORBA::string_dup (this->topic_name_y_.in ()); } -template <typename CCM_TYPE, typename DDS_TYPE_T, bool FIXED_T, typename SEQ_TYPE_T, bool FIXED_SEQ_TYPE_T, -typename DDS_TYPE_Y, bool FIXED_Y, typename SEQ_TYPE_Y, bool FIXED_SEQ_TYPE_Y> +template <typename CCM_TYPE, typename DDS_TYPE_T, bool FIXED_T, typename SEQ_TYPE_T, typename DDS_TYPE_Y, bool FIXED_Y, typename SEQ_TYPE_Y> void -FooConnector_Connector_T<CCM_TYPE, DDS_TYPE_T, FIXED_T, SEQ_TYPE_T, FIXED_SEQ_TYPE_T, - DDS_TYPE_Y, FIXED_Y, SEQ_TYPE_Y, FIXED_SEQ_TYPE_Y>::topic_name_y ( +FooConnector_Connector_T<CCM_TYPE, DDS_TYPE_T, FIXED_T, SEQ_TYPE_T, DDS_TYPE_Y, FIXED_Y, SEQ_TYPE_Y>::topic_name_y ( const char * topic_name_y) { this->topic_name_y_ = topic_name_y; } -template <typename CCM_TYPE, typename DDS_TYPE_T, bool FIXED_T, typename SEQ_TYPE_T, bool FIXED_SEQ_TYPE_T, -typename DDS_TYPE_Y, bool FIXED_Y, typename SEQ_TYPE_Y, bool FIXED_SEQ_TYPE_Y> +template <typename CCM_TYPE, typename DDS_TYPE_T, bool FIXED_T, typename SEQ_TYPE_T, typename DDS_TYPE_Y, bool FIXED_Y, typename SEQ_TYPE_Y> ::CCM_DDS::CCM_ContentFilterSetting* - FooConnector_Connector_T<CCM_TYPE, DDS_TYPE_T, FIXED_T, SEQ_TYPE_T, FIXED_SEQ_TYPE_T, - DDS_TYPE_Y, FIXED_Y, SEQ_TYPE_Y, FIXED_SEQ_TYPE_Y>::get_push_consumer_y_filter_config(void) +FooConnector_Connector_T<CCM_TYPE, DDS_TYPE_T, FIXED_T, SEQ_TYPE_T, DDS_TYPE_Y, FIXED_Y, SEQ_TYPE_Y>::get_push_consumer_y_filter_config(void) { DDS4CCM_TRACE ("FooConnector_Connector_T::get_push_consumer_y_filter_config"); this->push_consumer_y_.set_component (this); return this->push_consumer_y_.get_filter_config (); } -template <typename CCM_TYPE, typename DDS_TYPE_T, bool FIXED_T, typename SEQ_TYPE_T, bool FIXED_SEQ_TYPE_T, -typename DDS_TYPE_Y, bool FIXED_Y, typename SEQ_TYPE_Y, bool FIXED_SEQ_TYPE_Y> +template <typename CCM_TYPE, typename DDS_TYPE_T, bool FIXED_T, typename SEQ_TYPE_T, typename DDS_TYPE_Y, bool FIXED_Y, typename SEQ_TYPE_Y> ::CCM_DDS::QueryFilter * - FooConnector_Connector_T<CCM_TYPE, DDS_TYPE_T, FIXED_T, SEQ_TYPE_T, FIXED_SEQ_TYPE_T, - DDS_TYPE_Y, FIXED_Y, SEQ_TYPE_Y, FIXED_SEQ_TYPE_Y>::push_consumer_y_filter (void) + FooConnector_Connector_T<CCM_TYPE, DDS_TYPE_T, FIXED_T, SEQ_TYPE_T, DDS_TYPE_Y, FIXED_Y, SEQ_TYPE_Y>::push_consumer_y_filter (void) { return this->push_consumer_y_.filter (); } -template <typename CCM_TYPE, typename DDS_TYPE_T, bool FIXED_T, typename SEQ_TYPE_T, bool FIXED_SEQ_TYPE_T, -typename DDS_TYPE_Y, bool FIXED_Y, typename SEQ_TYPE_Y, bool FIXED_SEQ_TYPE_Y> +template <typename CCM_TYPE, typename DDS_TYPE_T, bool FIXED_T, typename SEQ_TYPE_T, typename DDS_TYPE_Y, bool FIXED_Y, typename SEQ_TYPE_Y> void -FooConnector_Connector_T<CCM_TYPE, DDS_TYPE_T, FIXED_T, SEQ_TYPE_T, FIXED_SEQ_TYPE_T, -DDS_TYPE_Y, FIXED_Y, SEQ_TYPE_Y, FIXED_SEQ_TYPE_Y>::push_consumer_y_filter (const ::CCM_DDS::QueryFilter &filter) +FooConnector_Connector_T<CCM_TYPE, DDS_TYPE_T, FIXED_T, SEQ_TYPE_T, DDS_TYPE_Y, FIXED_Y, SEQ_TYPE_Y>::push_consumer_y_filter ( + const ::CCM_DDS::QueryFilter &filter) { this->push_consumer_y_.filter (filter); } -template <typename CCM_TYPE, typename DDS_TYPE_T, bool FIXED_T, typename SEQ_TYPE_T, bool FIXED_SEQ_TYPE_T, -typename DDS_TYPE_Y, bool FIXED_Y, typename SEQ_TYPE_Y, bool FIXED_SEQ_TYPE_Y> +template <typename CCM_TYPE, typename DDS_TYPE_T, bool FIXED_T, typename SEQ_TYPE_T, typename DDS_TYPE_Y, bool FIXED_Y, typename SEQ_TYPE_Y> typename CCM_TYPE::push_consumer_y_traits::data_type::_ptr_type -FooConnector_Connector_T<CCM_TYPE, DDS_TYPE_T, FIXED_T, SEQ_TYPE_T, FIXED_SEQ_TYPE_T, -DDS_TYPE_Y, FIXED_Y, SEQ_TYPE_Y, FIXED_SEQ_TYPE_Y>::get_push_consumer_y_data (void) +FooConnector_Connector_T<CCM_TYPE, DDS_TYPE_T, FIXED_T, SEQ_TYPE_T, DDS_TYPE_Y, FIXED_Y, SEQ_TYPE_Y>::get_push_consumer_y_data (void) { this->push_consumer_y_.set_component (this); return this->push_consumer_y_.get_data (); } -template <typename CCM_TYPE, typename DDS_TYPE_T, bool FIXED_T, typename SEQ_TYPE_T, bool FIXED_SEQ_TYPE_T, -typename DDS_TYPE_Y, bool FIXED_Y, typename SEQ_TYPE_Y, bool FIXED_SEQ_TYPE_Y> +template <typename CCM_TYPE, typename DDS_TYPE_T, bool FIXED_T, typename SEQ_TYPE_T, typename DDS_TYPE_Y, bool FIXED_Y, typename SEQ_TYPE_Y> typename CCM_TYPE::push_consumer_y_traits::data_control_type::_ptr_type -FooConnector_Connector_T<CCM_TYPE, DDS_TYPE_T, FIXED_T, SEQ_TYPE_T, FIXED_SEQ_TYPE_T, -DDS_TYPE_Y, FIXED_Y, SEQ_TYPE_Y, FIXED_SEQ_TYPE_Y>::get_push_consumer_y_data_control (void) +FooConnector_Connector_T<CCM_TYPE, DDS_TYPE_T, FIXED_T, SEQ_TYPE_T, DDS_TYPE_Y, FIXED_Y, SEQ_TYPE_Y>::get_push_consumer_y_data_control (void) { this->push_consumer_y_.set_component (this); return this->push_consumer_y_.get_data_control (); } -template <typename CCM_TYPE, typename DDS_TYPE_T, bool FIXED_T, typename SEQ_TYPE_T, bool FIXED_SEQ_TYPE_T, -typename DDS_TYPE_Y, bool FIXED_Y, typename SEQ_TYPE_Y, bool FIXED_SEQ_TYPE_Y> +template <typename CCM_TYPE, typename DDS_TYPE_T, bool FIXED_T, typename SEQ_TYPE_T, typename DDS_TYPE_Y, bool FIXED_Y, typename SEQ_TYPE_Y> typename CCM_TYPE::push_consumer_y_traits::dds_entity_type::_ptr_type -FooConnector_Connector_T<CCM_TYPE, DDS_TYPE_T, FIXED_T, SEQ_TYPE_T, FIXED_SEQ_TYPE_T, -DDS_TYPE_Y, FIXED_Y, SEQ_TYPE_Y, FIXED_SEQ_TYPE_Y>::get_push_consumer_y_dds_entity (void) +FooConnector_Connector_T<CCM_TYPE, DDS_TYPE_T, FIXED_T, SEQ_TYPE_T, DDS_TYPE_Y, FIXED_Y, SEQ_TYPE_Y>::get_push_consumer_y_dds_entity (void) { DDS4CCM_TRACE ("FooConnector_Connector_T::get_push_consumer_y_dds_entity"); this->push_consumer_y_.set_component (this); return this->push_consumer_y_.get_dds_entity (); } -template <typename CCM_TYPE, typename DDS_TYPE_T, bool FIXED_T, typename SEQ_TYPE_T, bool FIXED_SEQ_TYPE_T, -typename DDS_TYPE_Y, bool FIXED_Y, typename SEQ_TYPE_Y, bool FIXED_SEQ_TYPE_Y> +template <typename CCM_TYPE, typename DDS_TYPE_T, bool FIXED_T, typename SEQ_TYPE_T, typename DDS_TYPE_Y, bool FIXED_Y, typename SEQ_TYPE_Y> typename CCM_TYPE::observable_y_traits::data_type::_ptr_type -FooConnector_Connector_T<CCM_TYPE, DDS_TYPE_T, FIXED_T, SEQ_TYPE_T, FIXED_SEQ_TYPE_T, -DDS_TYPE_Y, FIXED_Y, SEQ_TYPE_Y, FIXED_SEQ_TYPE_Y>::get_observable_y_data (void) +FooConnector_Connector_T<CCM_TYPE, DDS_TYPE_T, FIXED_T, SEQ_TYPE_T, DDS_TYPE_Y, FIXED_Y, SEQ_TYPE_Y>::get_observable_y_data (void) { this->observable_y_.set_component (this); return this->observable_y_.get_data (); } -template <typename CCM_TYPE, typename DDS_TYPE_T, bool FIXED_T, typename SEQ_TYPE_T, bool FIXED_SEQ_TYPE_T, -typename DDS_TYPE_Y, bool FIXED_Y, typename SEQ_TYPE_Y, bool FIXED_SEQ_TYPE_Y> +template <typename CCM_TYPE, typename DDS_TYPE_T, bool FIXED_T, typename SEQ_TYPE_T, typename DDS_TYPE_Y, bool FIXED_Y, typename SEQ_TYPE_Y> typename CCM_TYPE::observable_y_traits::dds_entity_type::_ptr_type -FooConnector_Connector_T<CCM_TYPE, DDS_TYPE_T, FIXED_T, SEQ_TYPE_T, FIXED_SEQ_TYPE_T, -DDS_TYPE_Y, FIXED_Y, SEQ_TYPE_Y, FIXED_SEQ_TYPE_Y>::get_observable_y_dds_entity (void) +FooConnector_Connector_T<CCM_TYPE, DDS_TYPE_T, FIXED_T, SEQ_TYPE_T, DDS_TYPE_Y, FIXED_Y, SEQ_TYPE_Y>::get_observable_y_dds_entity (void) { DDS4CCM_TRACE ("FooConnector_Connector_T::get_observable_y_dds_entity"); this->observable_y_.set_component (this); return this->observable_y_.get_dds_entity (); } -template <typename CCM_TYPE, typename DDS_TYPE_T, bool FIXED_T, typename SEQ_TYPE_T, bool FIXED_SEQ_TYPE_T, -typename DDS_TYPE_Y, bool FIXED_Y, typename SEQ_TYPE_Y, bool FIXED_SEQ_TYPE_Y> +template <typename CCM_TYPE, typename DDS_TYPE_T, bool FIXED_T, typename SEQ_TYPE_T, typename DDS_TYPE_Y, bool FIXED_Y, typename SEQ_TYPE_Y> void -FooConnector_Connector_T<CCM_TYPE, DDS_TYPE_T, FIXED_T, SEQ_TYPE_T, FIXED_SEQ_TYPE_T, -DDS_TYPE_Y, FIXED_Y, SEQ_TYPE_Y, FIXED_SEQ_TYPE_Y>::configuration_complete (void) +FooConnector_Connector_T<CCM_TYPE, DDS_TYPE_T, FIXED_T, SEQ_TYPE_T, DDS_TYPE_Y, FIXED_Y, SEQ_TYPE_Y>::configuration_complete (void) { - DDS4CCM_TRACE ("FooConnector_Connector_T::configuration complete"); + DDS4CCM_TRACE ("FooConnector_Connector_T::configuration_complete"); // Init default domain in Base_Connector BaseConnector::configuration_complete (); @@ -378,11 +352,9 @@ DDS_TYPE_Y, FIXED_Y, SEQ_TYPE_Y, FIXED_SEQ_TYPE_Y>::configuration_complete (void } -template <typename CCM_TYPE, typename DDS_TYPE_T, bool FIXED_T, typename SEQ_TYPE_T, bool FIXED_SEQ_TYPE_T, -typename DDS_TYPE_Y, bool FIXED_Y, typename SEQ_TYPE_Y, bool FIXED_SEQ_TYPE_Y> +template <typename CCM_TYPE, typename DDS_TYPE_T, bool FIXED_T, typename SEQ_TYPE_T, typename DDS_TYPE_Y, bool FIXED_Y, typename SEQ_TYPE_Y> void -FooConnector_Connector_T<CCM_TYPE, DDS_TYPE_T, FIXED_T, SEQ_TYPE_T, FIXED_SEQ_TYPE_T, -DDS_TYPE_Y, FIXED_Y, SEQ_TYPE_Y, FIXED_SEQ_TYPE_Y>::ccm_activate (void) +FooConnector_Connector_T<CCM_TYPE, DDS_TYPE_T, FIXED_T, SEQ_TYPE_T, DDS_TYPE_Y, FIXED_Y, SEQ_TYPE_Y>::ccm_activate (void) { DDS4CCM_TRACE ("FooConnector_Connector_T::ccm_activate"); BaseConnector::ccm_activate (); @@ -413,11 +385,9 @@ DDS_TYPE_Y, FIXED_Y, SEQ_TYPE_Y, FIXED_SEQ_TYPE_Y>::ccm_activate (void) this->observable_y_.activate (); } -template <typename CCM_TYPE, typename DDS_TYPE_T, bool FIXED_T, typename SEQ_TYPE_T, bool FIXED_SEQ_TYPE_T, -typename DDS_TYPE_Y, bool FIXED_Y, typename SEQ_TYPE_Y, bool FIXED_SEQ_TYPE_Y> +template <typename CCM_TYPE, typename DDS_TYPE_T, bool FIXED_T, typename SEQ_TYPE_T, typename DDS_TYPE_Y, bool FIXED_Y, typename SEQ_TYPE_Y> void -FooConnector_Connector_T<CCM_TYPE, DDS_TYPE_T, FIXED_T, SEQ_TYPE_T, FIXED_SEQ_TYPE_T, -DDS_TYPE_Y, FIXED_Y, SEQ_TYPE_Y, FIXED_SEQ_TYPE_Y>::ccm_passivate (void) +FooConnector_Connector_T<CCM_TYPE, DDS_TYPE_T, FIXED_T, SEQ_TYPE_T, DDS_TYPE_Y, FIXED_Y, SEQ_TYPE_Y>::ccm_passivate (void) { DDS4CCM_TRACE ("FooConnector_Connector_T::ccm_passivate"); @@ -483,11 +453,9 @@ DDS_TYPE_Y, FIXED_Y, SEQ_TYPE_Y, FIXED_SEQ_TYPE_Y>::ccm_passivate (void) BaseConnector::ccm_passivate (); } -template <typename CCM_TYPE, typename DDS_TYPE_T, bool FIXED_T, typename SEQ_TYPE_T, bool FIXED_SEQ_TYPE_T, -typename DDS_TYPE_Y, bool FIXED_Y, typename SEQ_TYPE_Y, bool FIXED_SEQ_TYPE_Y> +template <typename CCM_TYPE, typename DDS_TYPE_T, bool FIXED_T, typename SEQ_TYPE_T, typename DDS_TYPE_Y, bool FIXED_Y, typename SEQ_TYPE_Y> void -FooConnector_Connector_T<CCM_TYPE, DDS_TYPE_T, FIXED_T, SEQ_TYPE_T, FIXED_SEQ_TYPE_T, -DDS_TYPE_Y, FIXED_Y, SEQ_TYPE_Y, FIXED_SEQ_TYPE_Y>::ccm_remove (void) +FooConnector_Connector_T<CCM_TYPE, DDS_TYPE_T, FIXED_T, SEQ_TYPE_T, DDS_TYPE_Y, FIXED_Y, SEQ_TYPE_Y>::ccm_remove (void) { DDS4CCM_TRACE ("FooConnector_Connector_T::ccm_remove"); diff --git a/CIAO/connectors/dds4ccm/tests/MultipleTemp/Connector/MultipleTemp_Connector_T.h b/CIAO/connectors/dds4ccm/tests/MultipleTemp/Connector/MultipleTemp_Connector_T.h index 9cde6c4300a..97c2fadd370 100644 --- a/CIAO/connectors/dds4ccm/tests/MultipleTemp/Connector/MultipleTemp_Connector_T.h +++ b/CIAO/connectors/dds4ccm/tests/MultipleTemp/Connector/MultipleTemp_Connector_T.h @@ -10,8 +10,11 @@ #include "connectors/dds4ccm/impl/DDS_Update_T.h" #include "connectors/dds4ccm/impl/DataListenerControl_T.h" -template <typename CCM_TYPE, typename DDS_TYPE_T, bool FIXED_T,typename SEQ_TYPE_T, bool FIXED_SEQ_TYPE_T, -typename DDS_TYPE_Y, bool FIXED_Y, typename SEQ_TYPE_Y, bool FIXED_SEQ_TYPE_Y> +template <typename CCM_TYPE, + typename DDS_TYPE_T, bool FIXED_T, + typename SEQ_TYPE_T, + typename DDS_TYPE_Y, bool FIXED_Y, + typename SEQ_TYPE_Y> class FooConnector_Connector_T : public virtual DDS_Base_Connector_T<CCM_TYPE> { @@ -27,6 +30,12 @@ public: ::DDS::DomainParticipant_ptr participant, const char * typesupport_name); + virtual + void + unregister_type ( + ::DDS::DomainParticipant_ptr participant, + const char * typesupport_name); + /** * T type connector **/ diff --git a/CIAO/connectors/dds4ccm/tests/PSAT/DDS_PSAT_Connector_T.h b/CIAO/connectors/dds4ccm/tests/PSAT/DDS_PSAT_Connector_T.h index 8d1c99a4b2c..d82ac3bf463 100644 --- a/CIAO/connectors/dds4ccm/tests/PSAT/DDS_PSAT_Connector_T.h +++ b/CIAO/connectors/dds4ccm/tests/PSAT/DDS_PSAT_Connector_T.h @@ -5,7 +5,7 @@ #include "connectors/dds4ccm/impl/DDS_TopicBase_Connector_T.h" -template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE, bool FIXED_SEQ_TYPE> +template <typename CCM_TYPE, typename DDS_TYPE, bool FIXED, typename SEQ_TYPE> class DDS_PSAT_Event_Connector_T : public virtual DDS_TopicBase_Connector_T<CCM_TYPE, DDS_TYPE, SEQ_TYPE> { diff --git a/CIAO/connectors/dds4ccm/tests/PSLDeadline/Receiver/PSL_DeadlineTest_Receiver_exec.h b/CIAO/connectors/dds4ccm/tests/PSLDeadline/Receiver/PSL_DeadlineTest_Receiver_exec.h index f089b8d43e4..53254d904ad 100644 --- a/CIAO/connectors/dds4ccm/tests/PSLDeadline/Receiver/PSL_DeadlineTest_Receiver_exec.h +++ b/CIAO/connectors/dds4ccm/tests/PSLDeadline/Receiver/PSL_DeadlineTest_Receiver_exec.h @@ -79,7 +79,7 @@ namespace CIAO_PSL_DeadlineTest_Receiver_Impl virtual ~info_get_status_exec_i (void); //@{ - /** Operations and attributes from ::CCM_DDS::PortStatusListener. */ + /** Operations and attributes from CCM_DDS::PortStatusListener. */ virtual void on_requested_deadline_missed (::DDS::DataReader_ptr the_reader, @@ -110,7 +110,7 @@ namespace CIAO_PSL_DeadlineTest_Receiver_Impl virtual ~info_out_data_listener_exec_i (void); //@{ - /** Operations and attributes from ::PSL_DeadlineTest::PSLDeadlineConnector::Listener. */ + /** Operations and attributes from PSL_DeadlineTest::PSLDeadlineConnector::Listener. */ virtual void on_one_data (const ::TestTopic & datum, @@ -141,7 +141,7 @@ namespace CIAO_PSL_DeadlineTest_Receiver_Impl virtual ~info_out_status_exec_i (void); //@{ - /** Operations and attributes from ::CCM_DDS::PortStatusListener. */ + /** Operations and attributes from CCM_DDS::PortStatusListener. */ virtual void on_requested_deadline_missed (::DDS::DataReader_ptr the_reader, diff --git a/CIAO/connectors/dds4ccm/tests/PSLDeadline/Sender/PSL_DeadlineTest_Sender_exec.h b/CIAO/connectors/dds4ccm/tests/PSLDeadline/Sender/PSL_DeadlineTest_Sender_exec.h index a91f001d09d..39bd9d3d234 100644 --- a/CIAO/connectors/dds4ccm/tests/PSLDeadline/Sender/PSL_DeadlineTest_Sender_exec.h +++ b/CIAO/connectors/dds4ccm/tests/PSLDeadline/Sender/PSL_DeadlineTest_Sender_exec.h @@ -76,7 +76,7 @@ namespace CIAO_PSL_DeadlineTest_Sender_Impl virtual ~test_topic_connector_status_exec_i (void); //@{ - /** Operations and attributes from ::CCM_DDS::ConnectorStatusListener. */ + /** Operations and attributes from CCM_DDS::ConnectorStatusListener. */ virtual void on_inconsistent_topic (::DDS::Topic_ptr the_topic, diff --git a/CIAO/connectors/dds4ccm/tests/PSLSampleLost/Receiver/PSL_SampleLost_Receiver_exec.h b/CIAO/connectors/dds4ccm/tests/PSLSampleLost/Receiver/PSL_SampleLost_Receiver_exec.h index cd651b05e18..3fa443cd01a 100644 --- a/CIAO/connectors/dds4ccm/tests/PSLSampleLost/Receiver/PSL_SampleLost_Receiver_exec.h +++ b/CIAO/connectors/dds4ccm/tests/PSLSampleLost/Receiver/PSL_SampleLost_Receiver_exec.h @@ -80,7 +80,7 @@ namespace CIAO_PSL_SampleLost_Receiver_Impl virtual ~info_get_status_exec_i (void); //@{ - /** Operations and attributes from ::CCM_DDS::PortStatusListener. */ + /** Operations and attributes from CCM_DDS::PortStatusListener. */ virtual void on_requested_deadline_missed (::DDS::DataReader_ptr the_reader, @@ -111,7 +111,7 @@ namespace CIAO_PSL_SampleLost_Receiver_Impl virtual ~info_out_data_listener_exec_i (void); //@{ - /** Operations and attributes from ::PSL_SampleLost::PSL_SampleLostConnector::Listener. */ + /** Operations and attributes from PSL_SampleLost::PSL_SampleLostConnector::Listener. */ virtual void on_one_data (const ::TestTopic & datum, @@ -142,7 +142,7 @@ namespace CIAO_PSL_SampleLost_Receiver_Impl virtual ~info_out_status_exec_i (void); //@{ - /** Operations and attributes from ::CCM_DDS::PortStatusListener. */ + /** Operations and attributes from CCM_DDS::PortStatusListener. */ virtual void on_requested_deadline_missed (::DDS::DataReader_ptr the_reader, diff --git a/CIAO/connectors/dds4ccm/tests/Proxies/ReadWrite/Receiver/Proxy_RW_Test_Receiver_exec.h b/CIAO/connectors/dds4ccm/tests/Proxies/ReadWrite/Receiver/Proxy_RW_Test_Receiver_exec.h index 0e02fe99aeb..e4ce52b6b72 100644 --- a/CIAO/connectors/dds4ccm/tests/Proxies/ReadWrite/Receiver/Proxy_RW_Test_Receiver_exec.h +++ b/CIAO/connectors/dds4ccm/tests/Proxies/ReadWrite/Receiver/Proxy_RW_Test_Receiver_exec.h @@ -108,7 +108,7 @@ namespace CIAO_Proxy_RW_Test_Receiver_Impl virtual ~info_out_data_listener_exec_i (void); //@{ - /** Operations and attributes from ::Proxy_RW_Test::ProxyReadWriteTestConnector::Listener. */ + /** Operations and attributes from Proxy_RW_Test::ProxyReadWriteTestConnector::Listener. */ virtual void on_one_data (const ::ProxyReadWriteTest & datum, @@ -137,7 +137,7 @@ namespace CIAO_Proxy_RW_Test_Receiver_Impl virtual ~info_out_status_exec_i (void); //@{ - /** Operations and attributes from ::CCM_DDS::PortStatusListener. */ + /** Operations and attributes from CCM_DDS::PortStatusListener. */ virtual void on_requested_deadline_missed (::DDS::DataReader_ptr the_reader, @@ -167,7 +167,7 @@ namespace CIAO_Proxy_RW_Test_Receiver_Impl virtual ~reader_start_exec_i (void); //@{ - /** Operations and attributes from ::ReaderStarter. */ + /** Operations and attributes from ReaderStarter. */ virtual void start_read (::ReaderStarter::assignment task); diff --git a/CIAO/connectors/dds4ccm/tests/Proxies/ReadWrite/Sender/Proxy_RW_Test_Sender_exec.h b/CIAO/connectors/dds4ccm/tests/Proxies/ReadWrite/Sender/Proxy_RW_Test_Sender_exec.h index 584a6b1648f..d96a7d99519 100644 --- a/CIAO/connectors/dds4ccm/tests/Proxies/ReadWrite/Sender/Proxy_RW_Test_Sender_exec.h +++ b/CIAO/connectors/dds4ccm/tests/Proxies/ReadWrite/Sender/Proxy_RW_Test_Sender_exec.h @@ -59,7 +59,7 @@ namespace CIAO_Proxy_RW_Test_Sender_Impl virtual ~restart_writer_exec_i (void); //@{ - /** Operations and attributes from ::ReadGetRestarter. */ + /** Operations and attributes from ReadGetRestarter. */ virtual void restart_write (::ReaderStarter::assignment task); @@ -85,7 +85,7 @@ namespace CIAO_Proxy_RW_Test_Sender_Impl virtual ~info_out_connector_status_exec_i (void); //@{ - /** Operations and attributes from ::CCM_DDS::ConnectorStatusListener. */ + /** Operations and attributes from CCM_DDS::ConnectorStatusListener. */ virtual void on_inconsistent_topic (::DDS::Topic_ptr the_topic, diff --git a/CIAO/connectors/dds4ccm/tests/QueryCondition/Different/Receiver/Different_Test_Receiver_exec.h b/CIAO/connectors/dds4ccm/tests/QueryCondition/Different/Receiver/Different_Test_Receiver_exec.h index 406f79b1075..eaa92a8e150 100644 --- a/CIAO/connectors/dds4ccm/tests/QueryCondition/Different/Receiver/Different_Test_Receiver_exec.h +++ b/CIAO/connectors/dds4ccm/tests/QueryCondition/Different/Receiver/Different_Test_Receiver_exec.h @@ -74,7 +74,7 @@ namespace CIAO_Different_Test_Receiver_Impl virtual ~get_port_status_exec_i (void); //@{ - /** Operations and attributes from ::CCM_DDS::PortStatusListener. */ + /** Operations and attributes from CCM_DDS::PortStatusListener. */ virtual void on_requested_deadline_missed (::DDS::DataReader_ptr the_reader, @@ -103,7 +103,7 @@ namespace CIAO_Different_Test_Receiver_Impl virtual ~read_port_status_exec_i (void); //@{ - /** Operations and attributes from ::CCM_DDS::PortStatusListener. */ + /** Operations and attributes from CCM_DDS::PortStatusListener. */ virtual void on_requested_deadline_missed (::DDS::DataReader_ptr the_reader, diff --git a/CIAO/connectors/dds4ccm/tests/QueryCondition/EventListener/Receiver/QCLE_Test_Receiver_exec.h b/CIAO/connectors/dds4ccm/tests/QueryCondition/EventListener/Receiver/QCLE_Test_Receiver_exec.h index cba9d852e4b..128c8c3f1bd 100644 --- a/CIAO/connectors/dds4ccm/tests/QueryCondition/EventListener/Receiver/QCLE_Test_Receiver_exec.h +++ b/CIAO/connectors/dds4ccm/tests/QueryCondition/EventListener/Receiver/QCLE_Test_Receiver_exec.h @@ -60,7 +60,7 @@ namespace CIAO_QCLE_Test_Receiver_Impl virtual ~info_listen_data_listener_exec_i (void); //@{ - /** Operations and attributes from ::QCLE_Test::QueryConditionListenEventTestConnector::Listener. */ + /** Operations and attributes from QCLE_Test::QueryConditionListenEventTestConnector::Listener. */ virtual void on_one_data (const ::QueryConditionListenEventTest & datum, @@ -91,7 +91,7 @@ namespace CIAO_QCLE_Test_Receiver_Impl virtual ~info_listen_status_exec_i (void); //@{ - /** Operations and attributes from ::CCM_DDS::PortStatusListener. */ + /** Operations and attributes from CCM_DDS::PortStatusListener. */ virtual void on_requested_deadline_missed (::DDS::DataReader_ptr the_reader, diff --git a/CIAO/connectors/dds4ccm/tests/QueryCondition/ReadGet/Receiver/ReadGet_Test_Receiver_exec.h b/CIAO/connectors/dds4ccm/tests/QueryCondition/ReadGet/Receiver/ReadGet_Test_Receiver_exec.h index 9de8de6fb8a..88a8181b498 100644 --- a/CIAO/connectors/dds4ccm/tests/QueryCondition/ReadGet/Receiver/ReadGet_Test_Receiver_exec.h +++ b/CIAO/connectors/dds4ccm/tests/QueryCondition/ReadGet/Receiver/ReadGet_Test_Receiver_exec.h @@ -77,7 +77,7 @@ namespace CIAO_ReadGet_Test_Receiver_Impl virtual ~get_port_status_exec_i (void); //@{ - /** Operations and attributes from ::CCM_DDS::PortStatusListener. */ + /** Operations and attributes from CCM_DDS::PortStatusListener. */ virtual void on_requested_deadline_missed (::DDS::DataReader_ptr the_reader, @@ -106,7 +106,7 @@ namespace CIAO_ReadGet_Test_Receiver_Impl virtual ~check_port_status_exec_i (void); //@{ - /** Operations and attributes from ::CCM_DDS::PortStatusListener. */ + /** Operations and attributes from CCM_DDS::PortStatusListener. */ virtual void on_requested_deadline_missed (::DDS::DataReader_ptr the_reader, @@ -136,7 +136,7 @@ namespace CIAO_ReadGet_Test_Receiver_Impl virtual ~reader_start_exec_i (void); //@{ - /** Operations and attributes from ::ReadGetStarter. */ + /** Operations and attributes from ReadGetStarter. */ virtual void set_reader_properties (::CORBA::UShort nr_keys, diff --git a/CIAO/connectors/dds4ccm/tests/QueryCondition/ReadGet/Sender/ReadGet_Test_Sender_exec.h b/CIAO/connectors/dds4ccm/tests/QueryCondition/ReadGet/Sender/ReadGet_Test_Sender_exec.h index f955431a65a..08d141131ee 100644 --- a/CIAO/connectors/dds4ccm/tests/QueryCondition/ReadGet/Sender/ReadGet_Test_Sender_exec.h +++ b/CIAO/connectors/dds4ccm/tests/QueryCondition/ReadGet/Sender/ReadGet_Test_Sender_exec.h @@ -69,7 +69,7 @@ namespace CIAO_ReadGet_Test_Sender_Impl virtual ~restart_writer_exec_i (void); //@{ - /** Operations and attributes from ::ReadGetRestarter. */ + /** Operations and attributes from ReadGetRestarter. */ virtual void restart_write (void); diff --git a/CIAO/connectors/dds4ccm/tests/QueryCondition/StateListener/Receiver/QCLS_Test_Receiver_exec.h b/CIAO/connectors/dds4ccm/tests/QueryCondition/StateListener/Receiver/QCLS_Test_Receiver_exec.h index 8a4b8721999..5f0d50b7601 100644 --- a/CIAO/connectors/dds4ccm/tests/QueryCondition/StateListener/Receiver/QCLS_Test_Receiver_exec.h +++ b/CIAO/connectors/dds4ccm/tests/QueryCondition/StateListener/Receiver/QCLS_Test_Receiver_exec.h @@ -60,7 +60,7 @@ namespace CIAO_QCLS_Test_Receiver_Impl virtual ~info_state_data_listener_exec_i (void); //@{ - /** Operations and attributes from ::QCLS_Test::QueryConditionListenStateTestConnector::StateListener. */ + /** Operations and attributes from QCLS_Test::QueryConditionListenStateTestConnector::StateListener. */ virtual void on_creation (const ::QueryConditionListenStateTest & datum, @@ -99,7 +99,7 @@ namespace CIAO_QCLS_Test_Receiver_Impl virtual ~info_state_status_exec_i (void); //@{ - /** Operations and attributes from ::CCM_DDS::PortStatusListener. */ + /** Operations and attributes from CCM_DDS::PortStatusListener. */ virtual void on_requested_deadline_missed (::DDS::DataReader_ptr the_reader, diff --git a/CIAO/connectors/dds4ccm/tests/QueryCondition/TwoListeners/Receiver/QCTL_Test_Receiver_exec.h b/CIAO/connectors/dds4ccm/tests/QueryCondition/TwoListeners/Receiver/QCTL_Test_Receiver_exec.h index c2e3b60afbc..e381d094b8b 100644 --- a/CIAO/connectors/dds4ccm/tests/QueryCondition/TwoListeners/Receiver/QCTL_Test_Receiver_exec.h +++ b/CIAO/connectors/dds4ccm/tests/QueryCondition/TwoListeners/Receiver/QCTL_Test_Receiver_exec.h @@ -61,7 +61,7 @@ namespace CIAO_QCTL_Test_Receiver_Impl virtual ~info_listen_1_data_listener_exec_i (void); //@{ - /** Operations and attributes from ::QCTL_Test::QueryConditionTwoListenersTestConnector::Listener. */ + /** Operations and attributes from QCTL_Test::QueryConditionTwoListenersTestConnector::Listener. */ virtual void on_one_data (const ::QueryConditionTwoListenersTest & datum, @@ -92,7 +92,7 @@ namespace CIAO_QCTL_Test_Receiver_Impl virtual ~info_listen_1_status_exec_i (void); //@{ - /** Operations and attributes from ::CCM_DDS::PortStatusListener. */ + /** Operations and attributes from CCM_DDS::PortStatusListener. */ virtual void on_requested_deadline_missed (::DDS::DataReader_ptr the_reader, @@ -123,7 +123,7 @@ namespace CIAO_QCTL_Test_Receiver_Impl virtual ~info_listen_2_data_listener_exec_i (void); //@{ - /** Operations and attributes from ::QCTL_Test::QueryConditionTwoListenersTestConnector::Listener. */ + /** Operations and attributes from QCTL_Test::QueryConditionTwoListenersTestConnector::Listener. */ virtual void on_one_data (const ::QueryConditionTwoListenersTest & datum, @@ -154,7 +154,7 @@ namespace CIAO_QCTL_Test_Receiver_Impl virtual ~info_listen_2_status_exec_i (void); //@{ - /** Operations and attributes from ::CCM_DDS::PortStatusListener. */ + /** Operations and attributes from CCM_DDS::PortStatusListener. */ virtual void on_requested_deadline_missed (::DDS::DataReader_ptr the_reader, diff --git a/CIAO/connectors/dds4ccm/tests/QueryCondition/TwoQueries/Receiver/QCTQ_Test_Receiver_exec.h b/CIAO/connectors/dds4ccm/tests/QueryCondition/TwoQueries/Receiver/QCTQ_Test_Receiver_exec.h index 2afc8c74d6a..95641072238 100644 --- a/CIAO/connectors/dds4ccm/tests/QueryCondition/TwoQueries/Receiver/QCTQ_Test_Receiver_exec.h +++ b/CIAO/connectors/dds4ccm/tests/QueryCondition/TwoQueries/Receiver/QCTQ_Test_Receiver_exec.h @@ -78,7 +78,7 @@ namespace CIAO_QCTQ_Test_Receiver_Impl virtual ~get_port_status_exec_i (void); //@{ - /** Operations and attributes from ::CCM_DDS::PortStatusListener. */ + /** Operations and attributes from CCM_DDS::PortStatusListener. */ virtual void on_requested_deadline_missed (::DDS::DataReader_ptr the_reader, @@ -108,7 +108,7 @@ namespace CIAO_QCTQ_Test_Receiver_Impl virtual ~reader_start_exec_i (void); //@{ - /** Operations and attributes from ::TwoQueriesStarter. */ + /** Operations and attributes from TwoQueriesStarter. */ virtual void set_reader_properties (::CORBA::UShort nr_keys, diff --git a/CIAO/connectors/dds4ccm/tests/QueryCondition/TwoQueries/Sender/QCTQ_Test_Sender_exec.h b/CIAO/connectors/dds4ccm/tests/QueryCondition/TwoQueries/Sender/QCTQ_Test_Sender_exec.h index 1ca3235e710..bc20b7a51aa 100644 --- a/CIAO/connectors/dds4ccm/tests/QueryCondition/TwoQueries/Sender/QCTQ_Test_Sender_exec.h +++ b/CIAO/connectors/dds4ccm/tests/QueryCondition/TwoQueries/Sender/QCTQ_Test_Sender_exec.h @@ -71,7 +71,7 @@ namespace CIAO_QCTQ_Test_Sender_Impl virtual ~restart_writer_exec_i (void); //@{ - /** Operations and attributes from ::TwoQueriesRestarter. */ + /** Operations and attributes from TwoQueriesRestarter. */ virtual void restart_write (void); diff --git a/CIAO/connectors/dds4ccm/tests/Reader/Receiver/Reader_Test_Receiver_exec.h b/CIAO/connectors/dds4ccm/tests/Reader/Receiver/Reader_Test_Receiver_exec.h index 4cb328fb92a..3ef77cae162 100644 --- a/CIAO/connectors/dds4ccm/tests/Reader/Receiver/Reader_Test_Receiver_exec.h +++ b/CIAO/connectors/dds4ccm/tests/Reader/Receiver/Reader_Test_Receiver_exec.h @@ -76,7 +76,7 @@ namespace CIAO_Reader_Test_Receiver_Impl virtual ~info_out_data_listener_exec_i (void); //@{ - /** Operations and attributes from ::Reader_Test::ReaderTestConnector::Listener. */ + /** Operations and attributes from Reader_Test::ReaderTestConnector::Listener. */ virtual void on_one_data (const ::ReaderTest & datum, @@ -105,7 +105,7 @@ namespace CIAO_Reader_Test_Receiver_Impl virtual ~info_out_status_exec_i (void); //@{ - /** Operations and attributes from ::CCM_DDS::PortStatusListener. */ + /** Operations and attributes from CCM_DDS::PortStatusListener. */ virtual void on_requested_deadline_missed (::DDS::DataReader_ptr the_reader, @@ -135,7 +135,7 @@ namespace CIAO_Reader_Test_Receiver_Impl virtual ~reader_start_exec_i (void); //@{ - /** Operations and attributes from ::ReaderStarter. */ + /** Operations and attributes from ReaderStarter. */ virtual void start_read (void); diff --git a/CIAO/connectors/dds4ccm/tests/Reader/Sender/Reader_Test_Sender_exec.h b/CIAO/connectors/dds4ccm/tests/Reader/Sender/Reader_Test_Sender_exec.h index 0105a075f86..e4db8b6eccd 100644 --- a/CIAO/connectors/dds4ccm/tests/Reader/Sender/Reader_Test_Sender_exec.h +++ b/CIAO/connectors/dds4ccm/tests/Reader/Sender/Reader_Test_Sender_exec.h @@ -58,7 +58,7 @@ namespace CIAO_Reader_Test_Sender_Impl virtual ~info_out_connector_status_exec_i (void); //@{ - /** Operations and attributes from ::CCM_DDS::ConnectorStatusListener. */ + /** Operations and attributes from CCM_DDS::ConnectorStatusListener. */ virtual void on_inconsistent_topic (::DDS::Topic_ptr the_topic, diff --git a/CIAO/connectors/dds4ccm/tests/SLDisabled/Receiver/SL_Disabled_Receiver_exec.h b/CIAO/connectors/dds4ccm/tests/SLDisabled/Receiver/SL_Disabled_Receiver_exec.h index 280940b1922..8efdf8c68bb 100644 --- a/CIAO/connectors/dds4ccm/tests/SLDisabled/Receiver/SL_Disabled_Receiver_exec.h +++ b/CIAO/connectors/dds4ccm/tests/SLDisabled/Receiver/SL_Disabled_Receiver_exec.h @@ -59,7 +59,7 @@ namespace CIAO_SL_Disabled_Receiver_Impl virtual ~info_out_data_listener_exec_i (void); //@{ - /** Operations and attributes from ::SL_Disabled::SL_DisabledConnector::StateListener. */ + /** Operations and attributes from SL_Disabled::SL_DisabledConnector::StateListener. */ virtual void on_creation (const ::TestTopic & datum, @@ -97,7 +97,7 @@ namespace CIAO_SL_Disabled_Receiver_Impl virtual ~info_out_status_exec_i (void); //@{ - /** Operations and attributes from ::CCM_DDS::PortStatusListener. */ + /** Operations and attributes from CCM_DDS::PortStatusListener. */ virtual void on_requested_deadline_missed (::DDS::DataReader_ptr the_reader, diff --git a/CIAO/connectors/dds4ccm/tests/SLManyByMany/Receiver/SL_ManyByMany_Receiver_exec.h b/CIAO/connectors/dds4ccm/tests/SLManyByMany/Receiver/SL_ManyByMany_Receiver_exec.h index 7716c9bc68a..aed8f79ae84 100644 --- a/CIAO/connectors/dds4ccm/tests/SLManyByMany/Receiver/SL_ManyByMany_Receiver_exec.h +++ b/CIAO/connectors/dds4ccm/tests/SLManyByMany/Receiver/SL_ManyByMany_Receiver_exec.h @@ -87,7 +87,7 @@ namespace CIAO_SL_ManyByMany_Receiver_Impl virtual ~info_out_data_listener_exec_i (void); //@{ - /** Operations and attributes from ::SL_ManyByMany::SLManyByManyConnector::StateListener. */ + /** Operations and attributes from SL_ManyByMany::SLManyByManyConnector::StateListener. */ virtual void on_creation (const ::TestTopic & datum, @@ -130,7 +130,7 @@ namespace CIAO_SL_ManyByMany_Receiver_Impl virtual ~info_out_status_exec_i (void); //@{ - /** Operations and attributes from ::CCM_DDS::PortStatusListener. */ + /** Operations and attributes from CCM_DDS::PortStatusListener. */ virtual void on_requested_deadline_missed (::DDS::DataReader_ptr the_reader, diff --git a/CIAO/connectors/dds4ccm/tests/SLOneByOne/Receiver/SL_OneByOne_Receiver_exec.h b/CIAO/connectors/dds4ccm/tests/SLOneByOne/Receiver/SL_OneByOne_Receiver_exec.h index 1d8f5b47211..df1f04ce71c 100644 --- a/CIAO/connectors/dds4ccm/tests/SLOneByOne/Receiver/SL_OneByOne_Receiver_exec.h +++ b/CIAO/connectors/dds4ccm/tests/SLOneByOne/Receiver/SL_OneByOne_Receiver_exec.h @@ -63,7 +63,7 @@ namespace CIAO_SL_OneByOne_Receiver_Impl virtual ~info_out_data_listener_exec_i (void); //@{ - /** Operations and attributes from ::SL_OneByOne::SL_OneByOneConnector::StateListener. */ + /** Operations and attributes from SL_OneByOne::SL_OneByOneConnector::StateListener. */ virtual void on_creation (const ::TestTopic & datum, @@ -105,7 +105,7 @@ namespace CIAO_SL_OneByOne_Receiver_Impl virtual ~info_out_status_exec_i (void); //@{ - /** Operations and attributes from ::CCM_DDS::PortStatusListener. */ + /** Operations and attributes from CCM_DDS::PortStatusListener. */ virtual void on_requested_deadline_missed (::DDS::DataReader_ptr the_reader, diff --git a/CIAO/connectors/dds4ccm/tests/SharedDomainParticipant/DifferentDatatype/Component/Component_exec.cpp b/CIAO/connectors/dds4ccm/tests/SharedDomainParticipant/DifferentDatatype/Component/Component_exec.cpp index 8bade0c28de..38f49975bce 100644 --- a/CIAO/connectors/dds4ccm/tests/SharedDomainParticipant/DifferentDatatype/Component/Component_exec.cpp +++ b/CIAO/connectors/dds4ccm/tests/SharedDomainParticipant/DifferentDatatype/Component/Component_exec.cpp @@ -63,18 +63,28 @@ namespace CIAO_SharedDP_SharedDPComponent_Impl if (ccm_dw1) { - DataWriter_type * typed_ccm_dw = - dynamic_cast <DataWriter_type *> (ccm_dw1->get_dds_entity ()); - if (typed_ccm_dw) + ::DDS::DataWriter_var tmp = ccm_dw1->get_dds_entity (); + if (! ::CORBA::is_nil (tmp.in ())) { - DDSDataWriter * dds_dw1 = typed_ccm_dw->get_rti_entity (); - DDSPublisher * dds_p1 = dds_dw1->get_publisher (); - this->dds_dp1_ = dds_p1->get_participant (); + DataWriter_type * typed_ccm_dw = + dynamic_cast <DataWriter_type *> (tmp.in ()); + if (typed_ccm_dw) + { + DDSDataWriter * dds_dw1 = typed_ccm_dw->get_rti_entity (); + DDSPublisher * dds_p1 = dds_dw1->get_publisher (); + this->dds_dp1_ = dds_p1->get_participant (); + } + else + { + ACE_ERROR ((LM_ERROR, "ERROR : Component_exec_i::ccm_activate - " + "Error casting DataWriter 1 to typed DataWriter 1\n")); + throw ::CORBA::INTERNAL (); + } } else { - ACE_ERROR ((LM_ERROR, "ERROR : Component_exec_i::ccm_activate - " - "Error casting DataWriter 1 to typed DataWriter 1\n")); + ACE_ERROR ((LM_ERROR, "ERROR : Receiver_exec_i::ccm_activate - " + "Error getting DDS DataWriter 1.\n")); throw ::CORBA::INTERNAL (); } } @@ -107,18 +117,28 @@ namespace CIAO_SharedDP_SharedDPComponent_Impl if (ccm_dw2) { - DataWriter_type * typed_ccm_dw = - dynamic_cast <DataWriter_type *> (ccm_dw2->get_dds_entity ()); - if (typed_ccm_dw) + ::DDS::DataWriter_var tmp = ccm_dw2->get_dds_entity (); + if (! ::CORBA::is_nil (tmp.in ())) { - DDSDataWriter * dds_dw2 = typed_ccm_dw->get_rti_entity (); - DDSPublisher * dds_p2 = dds_dw2->get_publisher (); - this->dds_dp2_ = dds_p2->get_participant (); + DataWriter_type * typed_ccm_dw = + dynamic_cast <DataWriter_type *> (tmp.in ()); + if (typed_ccm_dw) + { + DDSDataWriter * dds_dw2 = typed_ccm_dw->get_rti_entity (); + DDSPublisher * dds_p2 = dds_dw2->get_publisher (); + this->dds_dp2_ = dds_p2->get_participant (); + } + else + { + ACE_ERROR ((LM_ERROR, "ERROR : Component_exec_i::ccm_activate - " + "Error casting DataWriter 2 to typed DataWriter 2\n")); + throw ::CORBA::INTERNAL (); + } } else { - ACE_ERROR ((LM_ERROR, "ERROR : Component_exec_i::ccm_activate - " - "Error casting DataWriter 2 to typed DataWriter 2\n")); + ACE_ERROR ((LM_ERROR, "ERROR : Receiver_exec_i::ccm_activate - " + "Error getting DDS DataWriter 2.\n")); throw ::CORBA::INTERNAL (); } } @@ -151,18 +171,28 @@ namespace CIAO_SharedDP_SharedDPComponent_Impl if (ccm_dw3) { - DataWriter_type * typed_ccm_dw = - dynamic_cast <DataWriter_type *> (ccm_dw3->get_dds_entity ()); - if (typed_ccm_dw) + ::DDS::DataWriter_var tmp = ccm_dw3->get_dds_entity (); + if (! ::CORBA::is_nil (tmp.in ())) { - DDSDataWriter * dds_dw3 = typed_ccm_dw->get_rti_entity (); - DDSPublisher * dds_p3 = dds_dw3->get_publisher (); - this->dds_dp3_ = dds_p3->get_participant (); + DataWriter_type * typed_ccm_dw = + dynamic_cast <DataWriter_type *> (tmp.in ()); + if (typed_ccm_dw) + { + DDSDataWriter * dds_dw3 = typed_ccm_dw->get_rti_entity (); + DDSPublisher * dds_p3 = dds_dw3->get_publisher (); + this->dds_dp3_ = dds_p3->get_participant (); + } + else + { + ACE_ERROR ((LM_ERROR, "ERROR : Component_exec_i::ccm_activate - " + "Error casting DataWriter 3 to typed DataWriter 3\n")); + throw ::CORBA::INTERNAL (); + } } else { - ACE_ERROR ((LM_ERROR, "ERROR : Component_exec_i::ccm_activate - " - "Error casting DataWriter 3 to typed DataWriter 3\n")); + ACE_ERROR ((LM_ERROR, "ERROR : Receiver_exec_i::ccm_activate - " + "Error getting DDS DataWriter 3.\n")); throw ::CORBA::INTERNAL (); } } diff --git a/CIAO/connectors/dds4ccm/tests/SharedDomainParticipant/DifferentDatatype/Component/Component_exec.h b/CIAO/connectors/dds4ccm/tests/SharedDomainParticipant/DifferentDatatype/Component/Component_exec.h index 341c942af15..3229ce1a259 100644 --- a/CIAO/connectors/dds4ccm/tests/SharedDomainParticipant/DifferentDatatype/Component/Component_exec.h +++ b/CIAO/connectors/dds4ccm/tests/SharedDomainParticipant/DifferentDatatype/Component/Component_exec.h @@ -15,9 +15,6 @@ #include "tao/LocalObject.h" -class SharedDPTest1DataWriter; -class SharedDPTest2DataWriter; -class SharedDPTest3DataWriter; class DDSDomainParticipant; namespace CIAO_SharedDP_SharedDPComponent_Impl @@ -41,10 +38,6 @@ namespace CIAO_SharedDP_SharedDPComponent_Impl private: ::SharedDP::CCM_SharedDPComponent_Context_var context_; - SharedDPTest1DataWriter * writer1_; - SharedDPTest2DataWriter * writer2_; - SharedDPTest3DataWriter * writer3_; - DDSDomainParticipant * dds_dp1_; DDSDomainParticipant * dds_dp2_; DDSDomainParticipant * dds_dp3_; diff --git a/CIAO/connectors/dds4ccm/tests/SharedDomainParticipant/SameDatatype/Component/Component_exec.cpp b/CIAO/connectors/dds4ccm/tests/SharedDomainParticipant/SameDatatype/Component/Component_exec.cpp index 97f1875f78c..770c04ceb05 100644 --- a/CIAO/connectors/dds4ccm/tests/SharedDomainParticipant/SameDatatype/Component/Component_exec.cpp +++ b/CIAO/connectors/dds4ccm/tests/SharedDomainParticipant/SameDatatype/Component/Component_exec.cpp @@ -65,7 +65,7 @@ namespace CIAO_SharedDP_SharedDPComponent_Impl void Component_exec_i::ccm_activate (void) { - typedef ::CIAO::NDDS::DDS_DataWriter_Base DataWriter_type; + typedef ::CIAO::NDDS::DDS_DataWriter_Base DataWriter_type; try { ::DDS::DataWriter_var dw1 = @@ -82,22 +82,32 @@ namespace CIAO_SharedDP_SharedDPComponent_Impl if (ccm_dw1) { - DataWriter_type * typed_ccm_dw = - dynamic_cast <DataWriter_type *> (ccm_dw1->get_dds_entity ()); - if (typed_ccm_dw) + ::DDS::DataWriter_var tmp = ccm_dw1->get_dds_entity (); + if (! ::CORBA::is_nil (tmp.in ())) { - DDSDataWriter * dds_dw1 = typed_ccm_dw->get_rti_entity (); - DDSPublisher * dds_p1 = dds_dw1->get_publisher (); - this->dds_dp1_ = dds_p1->get_participant (); - - DDSTopicDescription * td1 = - this->dds_dp1_->lookup_topicdescription (tp_name_conn_1_); - this->dds_tp1_ = DDSTopic::narrow (td1); + DataWriter_type * typed_ccm_dw = + dynamic_cast <DataWriter_type *> (tmp.in ()); + if (typed_ccm_dw) + { + DDSDataWriter * dds_dw1 = typed_ccm_dw->get_rti_entity (); + DDSPublisher * dds_p1 = dds_dw1->get_publisher (); + this->dds_dp1_ = dds_p1->get_participant (); + + DDSTopicDescription * td1 = + this->dds_dp1_->lookup_topicdescription (tp_name_conn_1_); + this->dds_tp1_ = DDSTopic::narrow (td1); + } + else + { + ACE_ERROR ((LM_ERROR, "ERROR : Component_exec_i::ccm_activate - " + "Error casting DataWriter 1 to typed DataWriter 1\n")); + throw ::CORBA::INTERNAL (); + } } else { - ACE_ERROR ((LM_ERROR, "ERROR : Component_exec_i::ccm_activate - " - "Error casting DataWriter 1 to typed DataWriter 1\n")); + ACE_ERROR ((LM_ERROR, "ERROR : Receiver_exec_i::ccm_activate - " + "Error getting DDS DataWriter 1.\n")); throw ::CORBA::INTERNAL (); } } @@ -129,22 +139,32 @@ namespace CIAO_SharedDP_SharedDPComponent_Impl if (ccm_dw2) { - DataWriter_type * typed_ccm_dw = - dynamic_cast <DataWriter_type *> (ccm_dw2->get_dds_entity ()); - if (typed_ccm_dw) + ::DDS::DataWriter_var tmp = ccm_dw2->get_dds_entity (); + if (! ::CORBA::is_nil (tmp.in ())) { - DDSDataWriter * dds_dw2 = typed_ccm_dw->get_rti_entity (); - DDSPublisher * dds_p2 = dds_dw2->get_publisher (); - this->dds_dp2_ = dds_p2->get_participant (); - - DDSTopicDescription * td2 = - this->dds_dp2_->lookup_topicdescription (tp_name_conn_2_); - this->dds_tp2_ = DDSTopic::narrow (td2); + DataWriter_type * typed_ccm_dw = + dynamic_cast <DataWriter_type *> (tmp.in ()); + if (typed_ccm_dw) + { + DDSDataWriter * dds_dw2 = typed_ccm_dw->get_rti_entity (); + DDSPublisher * dds_p2 = dds_dw2->get_publisher (); + this->dds_dp2_ = dds_p2->get_participant (); + + DDSTopicDescription * td2 = + this->dds_dp2_->lookup_topicdescription (tp_name_conn_2_); + this->dds_tp2_ = DDSTopic::narrow (td2); + } + else + { + ACE_ERROR ((LM_ERROR, "ERROR : Component_exec_i::ccm_activate - " + "Error casting DataWriter 2 to typed DataWriter 2\n")); + throw ::CORBA::INTERNAL (); + } } else { - ACE_ERROR ((LM_ERROR, "ERROR : Component_exec_i::ccm_activate - " - "Error casting DataWriter 2 to typed DataWriter 2\n")); + ACE_ERROR ((LM_ERROR, "ERROR : Receiver_exec_i::ccm_activate - " + "Error getting DDS DataWriter 2.\n")); throw ::CORBA::INTERNAL (); } } @@ -177,22 +197,32 @@ namespace CIAO_SharedDP_SharedDPComponent_Impl if (ccm_dw3) { - DataWriter_type * typed_ccm_dw = - dynamic_cast <DataWriter_type *> (ccm_dw3->get_dds_entity ()); - if (typed_ccm_dw) + ::DDS::DataWriter_var tmp = ccm_dw3->get_dds_entity (); + if (! ::CORBA::is_nil (tmp.in ())) { - DDSDataWriter * dds_dw3 = typed_ccm_dw->get_rti_entity (); - DDSPublisher * dds_p3 = dds_dw3->get_publisher (); - this->dds_dp3_ = dds_p3->get_participant (); - - DDSTopicDescription * td3 = - this->dds_dp3_->lookup_topicdescription (tp_name_conn_3_); - this->dds_tp3_ = DDSTopic::narrow (td3); + DataWriter_type * typed_ccm_dw = + dynamic_cast <DataWriter_type *> (tmp.in ()); + if (typed_ccm_dw) + { + DDSDataWriter * dds_dw3 = typed_ccm_dw->get_rti_entity (); + DDSPublisher * dds_p3 = dds_dw3->get_publisher (); + this->dds_dp3_ = dds_p3->get_participant (); + + DDSTopicDescription * td3 = + this->dds_dp3_->lookup_topicdescription (tp_name_conn_3_); + this->dds_tp3_ = DDSTopic::narrow (td3); + } + else + { + ACE_ERROR ((LM_ERROR, "ERROR : Component_exec_i::ccm_activate - " + "Error casting DataWriter 3 to typed DataWriter 3\n")); + throw ::CORBA::INTERNAL (); + } } else { - ACE_ERROR ((LM_ERROR, "ERROR : Component_exec_i::ccm_activate - " - "Error casting DataWriter 3 to typed DataWriter 3\n")); + ACE_ERROR ((LM_ERROR, "ERROR : Receiver_exec_i::ccm_activate - " + "Error getting DDS DataWriter 3.\n")); throw ::CORBA::INTERNAL (); } } @@ -224,22 +254,32 @@ namespace CIAO_SharedDP_SharedDPComponent_Impl if (ccm_dw4) { - DataWriter_type * typed_ccm_dw = - dynamic_cast <DataWriter_type *> (ccm_dw4->get_dds_entity ()); - if (typed_ccm_dw) + ::DDS::DataWriter_var tmp = ccm_dw4->get_dds_entity (); + if (! ::CORBA::is_nil (tmp.in ())) { - DDSDataWriter * dds_dw4 = typed_ccm_dw->get_rti_entity (); - DDSPublisher * dds_p4 = dds_dw4->get_publisher (); - this->dds_dp4_ = dds_p4->get_participant (); - - DDSTopicDescription * td4 = - this->dds_dp4_->lookup_topicdescription (tp_name_conn_4_); - this->dds_tp4_ = DDSTopic::narrow (td4); + DataWriter_type * typed_ccm_dw = + dynamic_cast <DataWriter_type *> (tmp.in ()); + if (typed_ccm_dw) + { + DDSDataWriter * dds_dw4 = typed_ccm_dw->get_rti_entity (); + DDSPublisher * dds_p4 = dds_dw4->get_publisher (); + this->dds_dp4_ = dds_p4->get_participant (); + + DDSTopicDescription * td4 = + this->dds_dp4_->lookup_topicdescription (tp_name_conn_4_); + this->dds_tp4_ = DDSTopic::narrow (td4); + } + else + { + ACE_ERROR ((LM_ERROR, "ERROR : Component_exec_i::ccm_activate - " + "Error casting DataWriter 4 to typed DataWriter 4\n")); + throw ::CORBA::INTERNAL (); + } } else { - ACE_ERROR ((LM_ERROR, "ERROR : Component_exec_i::ccm_activate - " - "Error casting DataWriter 4 to typed DataWriter 4\n")); + ACE_ERROR ((LM_ERROR, "ERROR : Receiver_exec_i::ccm_activate - " + "Error getting DDS DataWriter 4.\n")); throw ::CORBA::INTERNAL (); } } diff --git a/CIAO/connectors/dds4ccm/tests/SharedDomainParticipant/SameDatatype/Component/Component_exec.h b/CIAO/connectors/dds4ccm/tests/SharedDomainParticipant/SameDatatype/Component/Component_exec.h index 69f397a4dfb..d183b70b769 100644 --- a/CIAO/connectors/dds4ccm/tests/SharedDomainParticipant/SameDatatype/Component/Component_exec.h +++ b/CIAO/connectors/dds4ccm/tests/SharedDomainParticipant/SameDatatype/Component/Component_exec.h @@ -15,10 +15,6 @@ #include "tao/LocalObject.h" -class SharedDPTest1DataWriter; -class SharedDPTest2DataWriter; -class SharedDPTest3DataWriter; -class SharedDPTest4DataWriter; class DDSDomainParticipant; class DDSTopic; @@ -48,11 +44,6 @@ namespace CIAO_SharedDP_SharedDPComponent_Impl CORBA::Boolean perform_test_; - SharedDPTest1DataWriter * writer1_; - SharedDPTest2DataWriter * writer2_; - SharedDPTest3DataWriter * writer3_; - SharedDPTest4DataWriter * writer4_; - DDSDomainParticipant * dds_dp1_; DDSDomainParticipant * dds_dp2_; DDSDomainParticipant * dds_dp3_; diff --git a/CIAO/connectors/dds4ccm/tests/UnkeyedSamples/Receiver/Unkeyed_Test_Receiver_exec.h b/CIAO/connectors/dds4ccm/tests/UnkeyedSamples/Receiver/Unkeyed_Test_Receiver_exec.h index 478c25688d1..611e730abea 100644 --- a/CIAO/connectors/dds4ccm/tests/UnkeyedSamples/Receiver/Unkeyed_Test_Receiver_exec.h +++ b/CIAO/connectors/dds4ccm/tests/UnkeyedSamples/Receiver/Unkeyed_Test_Receiver_exec.h @@ -57,7 +57,7 @@ namespace CIAO_Unkeyed_Test_Receiver_Impl virtual ~info_out_data_listener_exec_i (void); //@{ - /** Operations and attributes from ::Unkeyed_Test::UnkeyedTestConnector::Listener. */ + /** Operations and attributes from Unkeyed_Test::UnkeyedTestConnector::Listener. */ virtual void on_one_data (const ::UnkeyedTest & datum, @@ -87,7 +87,7 @@ namespace CIAO_Unkeyed_Test_Receiver_Impl virtual ~info_out_status_exec_i (void); //@{ - /** Operations and attributes from ::CCM_DDS::PortStatusListener. */ + /** Operations and attributes from CCM_DDS::PortStatusListener. */ virtual void on_requested_deadline_missed (::DDS::DataReader_ptr the_reader, @@ -116,7 +116,7 @@ namespace CIAO_Unkeyed_Test_Receiver_Impl virtual ~info_out_connector_status_exec_i (void); //@{ - /** Operations and attributes from ::CCM_DDS::ConnectorStatusListener. */ + /** Operations and attributes from CCM_DDS::ConnectorStatusListener. */ virtual void on_inconsistent_topic (::DDS::Topic_ptr the_topic, diff --git a/CIAO/connectors/dds4ccm/tests/UnkeyedWriter/Receiver/Writer_Receiver_exec.h b/CIAO/connectors/dds4ccm/tests/UnkeyedWriter/Receiver/Writer_Receiver_exec.h index f8df546b588..2e4cc35c347 100644 --- a/CIAO/connectors/dds4ccm/tests/UnkeyedWriter/Receiver/Writer_Receiver_exec.h +++ b/CIAO/connectors/dds4ccm/tests/UnkeyedWriter/Receiver/Writer_Receiver_exec.h @@ -58,7 +58,7 @@ namespace CIAO_Writer_Receiver_Impl virtual ~info_out_data_listener_exec_i (void); //@{ - /** Operations and attributes from ::Writer::WriterTestConnector::Listener. */ + /** Operations and attributes from Writer::WriterTestConnector::Listener. */ virtual void on_one_data (const ::WriterTest & datum, @@ -90,7 +90,7 @@ namespace CIAO_Writer_Receiver_Impl virtual ~info_out_status_exec_i (void); //@{ - /** Operations and attributes from ::CCM_DDS::PortStatusListener. */ + /** Operations and attributes from CCM_DDS::PortStatusListener. */ virtual void on_requested_deadline_missed (::DDS::DataReader_ptr the_reader, diff --git a/CIAO/connectors/dds4ccm/tests/Updater/Receiver/Updater_Receiver_exec.h b/CIAO/connectors/dds4ccm/tests/Updater/Receiver/Updater_Receiver_exec.h index 25869974cde..7259e43f5d9 100644 --- a/CIAO/connectors/dds4ccm/tests/Updater/Receiver/Updater_Receiver_exec.h +++ b/CIAO/connectors/dds4ccm/tests/Updater/Receiver/Updater_Receiver_exec.h @@ -59,7 +59,7 @@ namespace CIAO_Updater_Receiver_Impl virtual ~info_out_data_listener_exec_i (void); //@{ - /** Operations and attributes from ::Updater::UpdaterConnector::Listener. */ + /** Operations and attributes from Updater::UpdaterConnector::Listener. */ virtual void on_one_data (const ::TestTopic & datum, @@ -89,7 +89,7 @@ namespace CIAO_Updater_Receiver_Impl virtual ~info_out_status_exec_i (void); //@{ - /** Operations and attributes from ::CCM_DDS::PortStatusListener. */ + /** Operations and attributes from CCM_DDS::PortStatusListener. */ virtual void on_requested_deadline_missed (::DDS::DataReader_ptr the_reader, diff --git a/CIAO/connectors/dds4ccm/tutorials/Shapes/Shapes_asm/Shapes_Receiver_comp/src/Shapes_Receiver_comp_exec.h b/CIAO/connectors/dds4ccm/tutorials/Shapes/Shapes_asm/Shapes_Receiver_comp/src/Shapes_Receiver_comp_exec.h index 1fa320fef30..1c5212225a9 100644 --- a/CIAO/connectors/dds4ccm/tutorials/Shapes/Shapes_asm/Shapes_Receiver_comp/src/Shapes_Receiver_comp_exec.h +++ b/CIAO/connectors/dds4ccm/tutorials/Shapes/Shapes_asm/Shapes_Receiver_comp/src/Shapes_Receiver_comp_exec.h @@ -35,7 +35,7 @@ namespace CIAO_Shapes_Receiver_comp_Impl ::Shapes::CCM_Receiver_comp_Context_ptr ctx); virtual ~info_out_data_listener_exec_i (void); - // Operations and attributes from ::Shapes::ShapeType_conn::Listener + // Operations and attributes from Shapes::ShapeType_conn::Listener virtual void on_one_data (const ::ShapeType & datum, @@ -62,7 +62,7 @@ namespace CIAO_Shapes_Receiver_comp_Impl ::Shapes::CCM_Receiver_comp_Context_ptr ctx); virtual ~info_out_status_exec_i (void); - // Operations and attributes from ::CCM_DDS::PortStatusListener + // Operations and attributes from CCM_DDS::PortStatusListener virtual void on_requested_deadline_missed (::DDS::DataReader_ptr the_reader, diff --git a/CIAO/connectors/dds4ccm/tutorials/Shapes/Shapes_asm/Shapes_Sender_comp/src/Shapes_Sender_comp_exec.h b/CIAO/connectors/dds4ccm/tutorials/Shapes/Shapes_asm/Shapes_Sender_comp/src/Shapes_Sender_comp_exec.h index 7dc6bfa3b17..143badd636c 100644 --- a/CIAO/connectors/dds4ccm/tutorials/Shapes/Shapes_asm/Shapes_Sender_comp/src/Shapes_Sender_comp_exec.h +++ b/CIAO/connectors/dds4ccm/tutorials/Shapes/Shapes_asm/Shapes_Sender_comp/src/Shapes_Sender_comp_exec.h @@ -33,7 +33,7 @@ namespace CIAO_Shapes_Sender_comp_Impl Sender_comp_exec_i &callback); virtual ~control_exec_i (void); - // Operations and attributes from ::Shapes::Control_obj + // Operations and attributes from Shapes::Control_obj virtual ::Shapes::ReturnStatus setSize (::CORBA::UShort size); diff --git a/CIAO/connectors/dds4ccm/tutorials/Shapes/Tutorial/Code/Shapes_Receiver_comp/Shapes_Receiver_comp_exec.h b/CIAO/connectors/dds4ccm/tutorials/Shapes/Tutorial/Code/Shapes_Receiver_comp/Shapes_Receiver_comp_exec.h index 6e9caa253ee..86fe5495782 100644 --- a/CIAO/connectors/dds4ccm/tutorials/Shapes/Tutorial/Code/Shapes_Receiver_comp/Shapes_Receiver_comp_exec.h +++ b/CIAO/connectors/dds4ccm/tutorials/Shapes/Tutorial/Code/Shapes_Receiver_comp/Shapes_Receiver_comp_exec.h @@ -53,7 +53,7 @@ namespace CIAO_Shapes_Receiver_comp_Impl ::Shapes::CCM_Receiver_comp_Context_ptr ctx); virtual ~info_out_data_listener_exec_i (void); - // Operations and attributes from ::Shapes::ShapeType_conn::Listener + // Operations and attributes from Shapes::ShapeType_conn::Listener virtual void on_one_data (const ::ShapeType & datum, @@ -80,7 +80,7 @@ namespace CIAO_Shapes_Receiver_comp_Impl ::Shapes::CCM_Receiver_comp_Context_ptr ctx); virtual ~info_out_status_exec_i (void); - // Operations and attributes from ::CCM_DDS::PortStatusListener + // Operations and attributes from CCM_DDS::PortStatusListener virtual void on_requested_deadline_missed (::DDS::DataReader_ptr the_reader, diff --git a/CIAO/connectors/dds4ccm/tutorials/Shapes/Tutorial/Code/Shapes_Sender_comp/Shapes_Sender_comp_exec.h b/CIAO/connectors/dds4ccm/tutorials/Shapes/Tutorial/Code/Shapes_Sender_comp/Shapes_Sender_comp_exec.h index 6669e6b9659..72a57ceb32a 100644 --- a/CIAO/connectors/dds4ccm/tutorials/Shapes/Tutorial/Code/Shapes_Sender_comp/Shapes_Sender_comp_exec.h +++ b/CIAO/connectors/dds4ccm/tutorials/Shapes/Tutorial/Code/Shapes_Sender_comp/Shapes_Sender_comp_exec.h @@ -53,7 +53,7 @@ namespace CIAO_Shapes_Sender_comp_Impl ::Shapes::CCM_Sender_comp_Context_ptr ctx); virtual ~control_exec_i (void); - // Operations and attributes from ::Shapes::Control_obj + // Operations and attributes from Shapes::Control_obj virtual ::Shapes::ReturnStatus setSize (::CORBA::UShort size); diff --git a/CIAO/connectors/tests/AMIDDS/Base/AmiDds_Base.idl b/CIAO/connectors/tests/AMIDDS/Base/AmiDds_Base.idl index a103046e337..a103046e337 100755..100644 --- a/CIAO/connectors/tests/AMIDDS/Base/AmiDds_Base.idl +++ b/CIAO/connectors/tests/AMIDDS/Base/AmiDds_Base.idl diff --git a/CIAO/connectors/tests/AMIDDS/Base/AmiDds_Base.mpc b/CIAO/connectors/tests/AMIDDS/Base/AmiDds_Base.mpc index 8b93817e648..8b93817e648 100755..100644 --- a/CIAO/connectors/tests/AMIDDS/Base/AmiDds_Base.mpc +++ b/CIAO/connectors/tests/AMIDDS/Base/AmiDds_Base.mpc diff --git a/CIAO/connectors/tests/AMIDDS/Base/AmiDds_DDS.idl b/CIAO/connectors/tests/AMIDDS/Base/AmiDds_DDS.idl index e55f733f1a8..e55f733f1a8 100755..100644 --- a/CIAO/connectors/tests/AMIDDS/Base/AmiDds_DDS.idl +++ b/CIAO/connectors/tests/AMIDDS/Base/AmiDds_DDS.idl diff --git a/CIAO/connectors/tests/AMIDDS/Receiver/AmiDds_Receiver.idl b/CIAO/connectors/tests/AMIDDS/Receiver/AmiDds_Receiver.idl index be623036021..be623036021 100755..100644 --- a/CIAO/connectors/tests/AMIDDS/Receiver/AmiDds_Receiver.idl +++ b/CIAO/connectors/tests/AMIDDS/Receiver/AmiDds_Receiver.idl diff --git a/CIAO/connectors/tests/AMIDDS/Receiver/AmiDds_Receiver.mpc b/CIAO/connectors/tests/AMIDDS/Receiver/AmiDds_Receiver.mpc index d317fc97391..d317fc97391 100755..100644 --- a/CIAO/connectors/tests/AMIDDS/Receiver/AmiDds_Receiver.mpc +++ b/CIAO/connectors/tests/AMIDDS/Receiver/AmiDds_Receiver.mpc diff --git a/CIAO/connectors/tests/AMIDDS/Receiver/AmiDds_Receiver_exec.cpp b/CIAO/connectors/tests/AMIDDS/Receiver/AmiDds_Receiver_exec.cpp index b6aef4230f0..b6aef4230f0 100755..100644 --- a/CIAO/connectors/tests/AMIDDS/Receiver/AmiDds_Receiver_exec.cpp +++ b/CIAO/connectors/tests/AMIDDS/Receiver/AmiDds_Receiver_exec.cpp diff --git a/CIAO/connectors/tests/AMIDDS/Receiver/AmiDds_Receiver_exec.h b/CIAO/connectors/tests/AMIDDS/Receiver/AmiDds_Receiver_exec.h index 859332cb082..859332cb082 100755..100644 --- a/CIAO/connectors/tests/AMIDDS/Receiver/AmiDds_Receiver_exec.h +++ b/CIAO/connectors/tests/AMIDDS/Receiver/AmiDds_Receiver_exec.h diff --git a/CIAO/connectors/tests/AMIDDS/Sender/AmiDds_Sender.idl b/CIAO/connectors/tests/AMIDDS/Sender/AmiDds_Sender.idl index 9d9b78ebb56..9d9b78ebb56 100755..100644 --- a/CIAO/connectors/tests/AMIDDS/Sender/AmiDds_Sender.idl +++ b/CIAO/connectors/tests/AMIDDS/Sender/AmiDds_Sender.idl diff --git a/CIAO/connectors/tests/AMIDDS/Sender/AmiDds_Sender.mpc b/CIAO/connectors/tests/AMIDDS/Sender/AmiDds_Sender.mpc index 690c19f9559..690c19f9559 100755..100644 --- a/CIAO/connectors/tests/AMIDDS/Sender/AmiDds_Sender.mpc +++ b/CIAO/connectors/tests/AMIDDS/Sender/AmiDds_Sender.mpc diff --git a/CIAO/connectors/tests/AMIDDS/Sender/AmiDds_Sender_exec.cpp b/CIAO/connectors/tests/AMIDDS/Sender/AmiDds_Sender_exec.cpp index 4b5bda2c9ed..4b5bda2c9ed 100755..100644 --- a/CIAO/connectors/tests/AMIDDS/Sender/AmiDds_Sender_exec.cpp +++ b/CIAO/connectors/tests/AMIDDS/Sender/AmiDds_Sender_exec.cpp diff --git a/CIAO/connectors/tests/AMIDDS/Sender/AmiDds_Sender_exec.h b/CIAO/connectors/tests/AMIDDS/Sender/AmiDds_Sender_exec.h index e3ac699a772..e3ac699a772 100755..100644 --- a/CIAO/connectors/tests/AMIDDS/Sender/AmiDds_Sender_exec.h +++ b/CIAO/connectors/tests/AMIDDS/Sender/AmiDds_Sender_exec.h diff --git a/CIAO/docs/Porting_Hints.txt b/CIAO/docs/Porting_Hints.txt index feed93d2eb7..3595b992643 100644 --- a/CIAO/docs/Porting_Hints.txt +++ b/CIAO/docs/Porting_Hints.txt @@ -14,7 +14,6 @@ that specifically identifies that home), or unhomed. In the unhomed case, a factory method that instantiates the component executor must be added to the _exec header and source files. - Porting the plan =================== There are a number of changes to the plan structure to better comply with diff --git a/CIAO/docs/RT-Extension.html b/CIAO/docs/RT-Extension.html deleted file mode 100644 index 3414a30b78e..00000000000 --- a/CIAO/docs/RT-Extension.html +++ /dev/null @@ -1,132 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> -<!-- $Id$ --> -<html> <head> -<title>Using the Real-time Extension in CIAO</title> -</head> - -<body> -<h1>Using the Real-time Extension in CIAO</h1> - -<!-- ============================================================ --> -<h3>Abstract</H3> - -The real-time extension support in CIAO enables application developers -to deploy real-time applications by specifying real-time -configurations as XML descriptors without modifying the component -implementation. In fact, embedding the real-time configuration -policies in component implementations decrease the reusability of the -software components. - -Different types of real-time policy can be applied at different -stage of the component development lifecycle, e.g., -<ul> - <li>Component implementation - <li>Component packaging - <li>Application composition - <li>Target platform configuration - <li>Deployment configuration -</ul> - -Real-time policies can also be applied to various scope in an -applications, e.g., many real-time policies can be associate with some -or all of the following ORB mechanisms: -<ul> - <li>ORBs - <li>POAs - <li>Threads - <li>Object references -</ul> - -<!-- ============================================================ --> -<h3>CIAO's Real-time Extension</h3> - -CIAO extends CCM's assembly descriptor to support the specifications -of real-time policies. This mechanism allows you to allocate -resources that are global to a RTComponentServer and to define real-time -policies required by a component installation. Currently, CIAO -support configuration of certain real-time policies at the POA level, -i.e., in CCM's terminology, the container level. These policies -include: - -<ol> - <li>Priority Model Policy - <li>Threadpool Policy - <li>Banded Connection Policy -</ol> - -The kind of resources that are global to a RT component server that CIAO -real-time extension specifies include: - -<ol> - <li>Threadpool - <li>Threadpool with lanes - <li>Connection bands -</ol> - -<!-- ============================================================ --> -<h3>Using the CIAO Real-time Extension</h3> - -Application developers can define the aforementioned Real-Time -extension Descriptor (.rtd file) that CIAO defines to allocate -resources and specify real-time policies. The Document Type -Definition (DTD) for the real-time extension description is defined in -this <a href="XML/ciao_rt_cad_ext.dtd">file</a>. Each .RTD file -specifies the required resources and the policy definitions within a -RTComponentServer. - -A RTComponentServer can be associated to a .RTD file. This is done by -using the "extension" element with "class" attributed set to -"RT-CAD-EXT", within a processcollocation or hostcollocation element. -Here is an example: -<code><pre> - - <processcollocation> - . - . - . - <extension class="RT-CAD-EXT" origin="CIAO">somefile.rtd</extension> - . - </processcollocation> -</pre></code> - -Each .RTD file contains the two major subelements: -<ul> - <li><rtresources>: defines all the RT resources the assciating - RTComponentServer should provide. - <li><rtpolicysets>: defines named collections of policies - (<rtpolicyset>) that apply to component installations in - the RTComponentServer. -</ul> - -The <rtpolicyset>'s defined in the .RTD file can be associated -to a component installation, i.e., a component placement within the -RTComponentServer to which the .RTD file is associated. For example, - -<code><pre> - <homeplacement> - . - . - , - <extension class="RT-POLICY-SET" - origin="CIAO">A_POLICY_NAME</extension> - . - </homeplacement> -</pre></code> - -<h3>Future Addition</h3> - -As mentioned earlier, RT policies can be applied at various stages of -component-based deployment lifecycle and at different scope. For -example, applying RTpolicies at the ORB level, or at the object -reference level of a component receptacle. These extensions involve -at least, extending the "appropriate" XML descriptor definition and -extending the CIAO runtime, including core and/or the CIDL generated -code to configure the policies. How other RT-related policies can be -added will be reviewed in my thesis available shortly. - -<hr> -<address>Nanbor Wang</address> -<!-- hhmts start --> -Last modified: Sun Nov 30 19:23:25 Mountain Standard Time 2003 -<!-- hhmts end --> -</body> </html> diff --git a/CIAO/docs/TODO.html b/CIAO/docs/TODO.html index a288995d8f5..24e6f5f129a 100644 --- a/CIAO/docs/TODO.html +++ b/CIAO/docs/TODO.html @@ -53,7 +53,7 @@ accomplishment) : </li> <p> <li>We need a set of tests to make sure most (and later - all) of the data types are function correctly. + all) of the data types are function correctly. More importantly, we need to make sure all the component keywords are supported okay. (ETA - 2004/07)<p> @@ -219,11 +219,9 @@ accomplishment) : support using the <a href="EnvVars.html">environment variable</a> <code>CIAO_DEBUG_LEVEL</code> has been added.<P> - <li>Miminal implementation of CIDL compiler.<p> - <li>CCM core workspace now contains 3 different DLLs: <UL> - <li>CCM_Client - Needed by CCM-awared client + <li>CCM_Client - Needed by CCM-aware client <li>CCM_Container - Needed by executors and servers <li>CCM_Server - Needed by servers and CIAO tools </UL><p> diff --git a/CIAO/docs/XML/ciao_rt_cad_ext.dtd b/CIAO/docs/XML/ciao_rt_cad_ext.dtd deleted file mode 100644 index 7877afe2151..00000000000 --- a/CIAO/docs/XML/ciao_rt_cad_ext.dtd +++ /dev/null @@ -1,93 +0,0 @@ -<!-- - $Id$ - - DTD for CIAO ComponentAssembly real-time extension. - The extension for this type of XML document should be .RTD - - A component server can be associated to one conforming XML - descriptor file of this DTD via the <extension> tag under - <hostcollocation>, <processcollocation> as - - <extension class="RT-CAD-EXT" - origin="CIAO">pathname_to_xml_file.xml</extension> - - The root element is <rtcad-ext>. - - The <extension> tag under <homeplacement> element can be used to - specify the <rtpolicyset> named in this file (using rtpolicyset's - id attribute.) For example, - - <extension class="RT-POLICY-SET" - origin="CIAO">IDREF_of_some_rtpolicyset</extension> - ---> - -<!ELEMENT rtcad_ext ( rtresources?, rtpolicyset+ ) > - -<!-- RT Resources grammar definitions --> - -<!ELEMENT rtresources (threadpool | threadpoolwithlanes | connectionbands)* > - -<!ELEMENT threadpool EMPTY> -<!ATTLIST threadpool - id ID #REQUIRED - stacksize CDATA #REQUIRED - static_threads CDATA #REQUIRED - dynamic_threads CDATA #REQUIRED - priority CDATA #REQUIRED - buffering (yes | no) #REQUIRED - max_buffer CDATA #REQUIRED - buffer_size CDATA #REQUIRED > - -<!ELEMENT threadpoolwithlanes (lane+) > -<!ATTLIST threadpoolwithlanes - id ID #REQUIRED - stacksize CDATA #REQUIRED - borrowing (yes | no) #REQUIRED - buffering (yes | no) #REQUIRED - max_buffer CDATA #REQUIRED - buffer_size CDATA #REQUIRED > - -<!ELEMENT lane EMPTY> -<!ATTLIST lane - priority CDATA #REQUIRED - static_threads CDATA #REQUIRED - dynamic_threads CDATA #REQUIRED > - -<!ELEMENT connectionbands (band+) > -<!ATTLIST connectionbands - id ID #REQUIRED > - -<!ELEMENT band EMPTY> -<!ATTLIST band - low CDATA #REQUIRED - high CDATA #REQUIRED > - -<!-- RT Policy_Set grammar definitions --> -<!-- Each type of policy in rtpoliyset can only appear once --> -<!ELEMENT rtpolicyset (priority_model_policy, - threadpool_policy, - banded_connection_policy)+ > -<!ATTLIST rtpolicyset - id ID #REQUIRED> - -<!ELEMENT priority_model_policy EMPTY> -<!ATTLIST priority_model_policy - type (server_declared | client_propagated) #REQUIRED - priority CDATA #REQUIRED> - -<!ELEMENT threadpool_policy EMPTY> -<!-- - "idref" must be previously defined by the id attribute of - either <threadpool> or <threadpoollanes> element ---> -<!ATTLIST threadpool_policy - idref IDREF #REQUIRED> - -<!ELEMENT banded_connection_policy EMPTY> -<!-- - "idref" must be previously defined by the id attribute of - <connectionbands> element. ---> -<!ATTLIST banded_connection_policy - idref IDREF #REQUIRED>
\ No newline at end of file diff --git a/CIAO/docs/com-impl.html b/CIAO/docs/com-impl.html index ed5948ab9cf..81b948a8d2f 100644 --- a/CIAO/docs/com-impl.html +++ b/CIAO/docs/com-impl.html @@ -24,8 +24,6 @@ depicts the "Right Way" [TM] this should be done:<p> <img src="imgs/File-Gen-Future.png"><p> -Checkout a <a href="../tools/CCIDL/README">list of things to do</a> for implementing CIDL compiler.<p> - I think it is debatable whether we should merge the "Servant DLL" and "Component Implementation DLL" into one DLL. Me think not. My approach, however, creates some complication on requireing a mechanism @@ -54,7 +52,7 @@ other libraries: <!--#include virtual="/~nanbor/signature.html" --> <!-- <hr> --> <!-- <\!-- hhmts start -\-> --> -<!-- Last modified: Tue Dec 10 22:41:50 Central Standard Time 2002 --> +<!-- Last modified: $Id$ --> <!-- <\!-- hhmts end -\-> --> <!-- <address>Nanbor Wang <nanbor@cs.wustl.edu></address> --> </body> </html> diff --git a/CIAO/docs/new_components.html b/CIAO/docs/new_components.html index db10fca2103..33916c5804e 100644 --- a/CIAO/docs/new_components.html +++ b/CIAO/docs/new_components.html @@ -58,7 +58,7 @@ to deal with manually... <li><code><b>Orc</b>E.idl</code> - Component Executor equivalent interface definitions. This file should be generated - automatically by the CIDL compiler as illustrated in this + automatically by the IDL compiler as illustrated in this <a href="com-impl.html">file</a> but we currently are still working on the implementation of the CIDL compiler. Therefore, you still need to create this file manually.<p> @@ -124,6 +124,6 @@ to deal with manually... <hr> <address></address> <!-- hhmts start --> -Last modified: Fri Mar 21 16:06:48 Central Standard Time 2003 +Last modified: $Id$ <!-- hhmts end --> </body> </html> diff --git a/CIAO/docs/releasenotes/dance.html b/CIAO/docs/releasenotes/dance.html deleted file mode 100644 index 6980860b3c8..00000000000 --- a/CIAO/docs/releasenotes/dance.html +++ /dev/null @@ -1,229 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1" ?> -<!-- $Id$ --> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> - <head> - <title>Deployment And Configuration Engine (DAnCE) Release Notes</title> - </head> - - <body> - <h1>Deployment And Configuration Engine (DAnCE) Release Notes</h1> - - <p><b>D</b>eployment <b>An</b>d <b>C</b>onfiguration <b>E</b>ngine - <b>(DAnCE)</b> is an implementation of the run-time infrastructure as - defined by the final adopted <a - href="http://www.omg.org/cgi-bin/doc?ptc/2003-07-08">OMG Deployment & - Configuration (D&C) specification (ptc/2003-07-08)</a>, which deals with the - configuration and deployment of component-based applications. Currently - DAnCE only supports the deployment & configuration of CORBA - Component Model (CCM)-based applications, though we are interested in - generalizing it for other component models in future work. DAnCE uses - XML descriptors to drive the deployment it performs. One way to - generate these descriptors is using the <b>Co</b>mponent - <b>S</b>ynthesis using <b>M</b>odel-<b>I</b>ntegrated <b>C</b>omputing - (<a href="http://www.dre.vanderbilt.edu/cosmic">CoSMIC</a>) tool-suite. - DAnCE currently uses <b>C</b>omponent <b>I</b>ntegrated <b>A</b>CE - <b>O</b>RB (<a href="http://www.dre.vanderbilt.edu/CIAO">CIAO</a>) as - the underlying CCM implementation in the current release, though again - we are interested in generalizing it for other CCM implementations in - future work. - </p> - - <h3>D&C XML Schema Handling</h3> - - <p> The XML handlers shipped with DAnCE are capable of handling almost - all elements that are defined in the D&C schema. In this context, - handling refers to reading the XML tags and converting them to the - equivalent in-memory IDL-based data structures defined by the - specifications. DAnCE supports the following types of descriptors - specified in the D&C specification:</p> - <ul> - <li> - <p> - <b>CORBA Component Descriptor(.ccd)</b> – - Contains information about component interfaces including - component ports. - </p> - </li> - <li> - <p> - <b>Component Implementation Descriptor(.cid)</b> - – Contains information about component implementations - which might be either monolithic or assembly based. In the case - of assembly based implementations, this descriptor also captures - the dependencies and the connections among components - </p> - </li> - <li> - <p> - <b>Implementation Artifact Descriptor(.iad)</b> - – Contains information about implementation artifacts - in-cluding dependencies between such artifacts - </p> - </li> - <li> - <p> - <b>Component Package Descriptor(.cpd)</b> – - Contains information about grouping of multiple imple-mentations - of the same component interface into component packages - </p> - </li> - <li> - <p> - <b>Package Configuration Descriptor(.pcd)</b> - – Contains information about specific configurations of - such component packages - </p> - </li> - <li> - <p> - <b>Component Domain Descriptor(.cdd)</b> – - Contains information about the target environment in which the - component-based application will be deployed - </p> - </li> - <li> - <p> - <b>TopLevel Package Descriptor(.tpd)</b> – Contains - information identifying the top-level element in a component - package descriptor which might include information about multiple - elements - </p> - </li> - - <li> - <p> - <b>Component Deployment Plan(.cdp)</b> – Contains - information that actually drives the deployment including - information about individual components that represent the - leaf-nodes in case of a hierarchical assembly, connections - between components, and assignment of components to nodes etc. - </p> - </li> - </ul> - <p> For all the above elements, DAnCE supports proxying of the elements - as defined by XMI, i.e, DAnCE supports both parsing of the elements - inline and reference through <b><code>href</code></b> attribute. Some - D&C schema elements are however not handled, including:</p> - <ul> - <li> - <p> - <b>Deployment:Any</b> – This is a complex - element that is composed of many sub-elements. Currently, DAnCE - only parses a subset of the sub-elements of - <b><code>Deployment:Any</code></b>. Specifically, DAnCE supports all the - basic data types defined as part of <b><code>Deployment:Any</code></b>, - and doesn't understand any complex types. - </p> - </li> - <li> - <p> - <b>xmi:Extension</b> – This element allows the - augmention of the standard D&C schema with user-defined - elements. Currently DAnCE doesn't support user-defined extensions - to the schema. - </p> - </li> - <li> - <p> - <b>Deployment:Requirement</b> – This element is - allows the description of requirements of component-based - applications. Since handling this description requires interaction - with the <b><code>TargetManager</code></b> interface (which is not yet - supported), support for <b><code>Deployment:Requirement</code></b> is not - present. - </p> - </li> - <li> - <p> - <b>Deployment:ComponentPropertyDescriptioncode></b> – - This element is used to specify default values for attributes of - component. DAnCE doesn't support setting the values for attributes - of components using this tag. - </p> - </li> - <li> - <p> - <b>Deployment:ComponentExternalPortEndpoint, - Deployment:ExternalReferenceEndpoint</b> – These - elements are used to specify connections between ports of - components in one assembly with ports of components in a different - assembly, or connections between component ports and external - connection endpoints. These features are needed to support - assemblies of components. DAnCE doesn't support yet hierarchical - assemblies, i.e., creation of assemblies which can themselves - contain sub-assemblies. - </p> - </li> - <li> - <p> - <b>Deployment:PlanPropertyMapping</b> – This - element is used to delegate property mapping between a component's - external properties to properties of subcomponents that actually - implement the behavior of the larger component. Since DAnCE doesn't - support hierarchical assemblies, this tag is not yet supported. - </p> - </li> - </ul> - <p> We plan to support these features in future versions of DAnCE. - </p> - <hr /> - <h3> D&C Management Interfaces</h3> - - <p> The D&C specification defines a set of standard CORBA - interfaces that are used to perform the deployment of component-based - applications. These interfaces depend on the in-memory IDL data - structures that are built by DAnCE's XML handlers. Below we outline the - list of interfaces defined by the specification and the level of - support for each interface in DAnCE:</p> - <ul> - <li> - <p> - <b>RepositoryManager</b> – Only the - <b><code>installPackage()</code></b> and <b><code>findPackageByName()</code></b> - operations of this interface are implemented. - </p> - </li> - <li> - <p> - <b>TargetManager</b> – This interface has not - been implemented at all. Implementation of this interface is - planned for the future. - </p> - </li> - <li> - <p> - <b>ExecutionManager</b> – All operations defined - in this interface are implemented. - </p> - </li> - <li> - <p> - <b>DomainApplicationManager, DomainApplication</b> - – All operations except <b><code>getApplications()</code></b> - operation of DomainApplicationManager are implemented. - </p> - </li> - <li> - <p> - <b>NodeManager </b>– All operations except <strong><code>joinDomain()</code></strong> and <strong><code>leaveDomain()</code></strong> operations of NodeManager are implemented. </p> - </li> - <li> - <p><b> NodeApplicationManager, NodeApplication</b> – All operations defined in these interfaces are - implemented. </p> - </li> - </ul> - <p> - We plan to finish implementing the unsupported features in future versions of DAnCE. - </p> - <p> - <a href="http://validator.w3.org/check?uri=referer"> - <img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" - height="31" width="88" /> - </a> - </p> - <address> - Last modified $Date$ by $Author$ - </address> - </body> -</html> diff --git a/CIAO/docs/releasenotes/index.html b/CIAO/docs/releasenotes/index.html index 887a2c8b2f6..ac7e4cad74d 100644 --- a/CIAO/docs/releasenotes/index.html +++ b/CIAO/docs/releasenotes/index.html @@ -49,17 +49,17 @@ release</a> of <a href="http://www.dre.vanderbilt.edu/CIAO">CIAO</a>: <CODE>$CIAO_ROOT/tools</CODE> that are missing in the DAnCE implementation. Please see <a href="../TODO.html"> TODO </a> file for more details. We plan to implement them soon and use DAnCE - continuously. + continuously. - <li> The first cut of DAnCE includes two parts: + <li> The first cut of DAnCE includes two parts: <ul> <li> A modeling tool chain , <a href="http://www.dre.vanderbilt.edu/CoSMIC/"> - CoSMIC</a>, which is capable of describing the Assembly/Component + CoSMIC</a>, which is capable of describing the Assembly/Component using <a href="http://www.isis.vanderbilt.edu/Projects/gme/default.html"> GME</a> as the development bed. The artifacts generated from the - CoSMIC are a set of XML descriptors. + CoSMIC are a set of XML descriptors. <!-- Tao, I realy don't understand what this means - Bala --> <li>This run-time infrastructure that performs the actual deployment @@ -79,41 +79,24 @@ release</a> of <a href="http://www.dre.vanderbilt.edu/CIAO">CIAO</a>: - <li> Two operations <CODE> ciao_preactivate ()</CODE> and - <CODE>ciao_postactivate ()</CODE> have been added to the - <CODE>SessionComponent</CODE> interface. This implies that component - developers have to implement those operations within the - executor. We plan to get around this, i.e., users having to - implement these two operations, in the next month or so. <p> - <li> The CIDL Compiler has been eliminated, all CIAO code is now generated by the IDL compiler.<p> - + <li> CIAO doesn't yet support features that help integrating CORBA components with Enterprise Java Beans (EJB).<p> - <li> Test to demonstrate composition of applications with real-time - behavior using CIAO's real-time extension was added. Please see - ACE_wrappers/TAO/CIAO/tests/RTCCM/Priority_Test.<p> - - <li> The CIAO static configurator tool has been enhanced to support - processing of RTCORBA policy related information. Please see - ACE_wrappers/TAO/CIAO/docs/static_ciao_index.html.<p> - <li> To further interoperability with non-component-aware clients, there - are files in the $CIAO_ROOT/tools/IDL3_to_IDL2 directory that can be + are files in the $CIAO_ROOT/tools/IDL3_to_IDL2 directory that can be compiled into an executable called tao_idl3_to_idl2. This executable takes an IDL file (on the command line) containing IDL3 declarations - and outputs an IDL file with the IDL3 declarations converted to + and outputs an IDL file with the IDL3 declarations converted to equivalent IDL2. IDL2 declarations in the input file are unchanged. See the README file in that directory for more information.<p> </ol> - - <b>Email: </b><a href="mailto:"</a<ADDRESS>ciao-users@cse.wustl.edu</ADDRESS> </body> </html> -<!-- LocalWords: TODOs CCM IDL CCIDL CIDL backend idl +<!-- LocalWords: TODOs CCM IDL backend idl --> diff --git a/CIAO/docs/releasenotes/switch.html b/CIAO/docs/releasenotes/switch.html index 4313b43fd89..a6adfd31942 100644 --- a/CIAO/docs/releasenotes/switch.html +++ b/CIAO/docs/releasenotes/switch.html @@ -23,7 +23,7 @@ CIAO_DUMP_SAMPLE_HISTORY<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> binaries.<br> A couple examples of the component implementation are at: - <code>$CIAO_ROOT/DAnCE/tests</code>. + <code>$CIAO_ROOT/tests</code>. </ul> <h3>When switching from the new CIAO runtime to the old one</h3> diff --git a/CIAO/etc/ciao.doxygen b/CIAO/etc/ciao.doxygen index d42db5281e9..dd8ddf41430 100644 --- a/CIAO/etc/ciao.doxygen +++ b/CIAO/etc/ciao.doxygen @@ -124,10 +124,8 @@ PREDEFINED = __ACE_INLINE__ \ ACE_BEGIN_VERSIONED_NAMESPACE_DECL \ ACE_END_VERSIONED_NAMESPACE_DECL \ ACE_INLINE -EXPAND_AS_DEFINED = ACE_RCSID \ - ACE_UNIMPLEMENTED_FUNC \ - ACE_CACHE_MAP_MANAGER \ - ACE_THROW_SPEC +EXPAND_AS_DEFINED = ACE_UNIMPLEMENTED_FUNC \ + ACE_CACHE_MAP_MANAGER #--------------------------------------------------------------------------- # Configuration::additions related to external references diff --git a/CIAO/etc/ciao_dds4ccm.doxygen b/CIAO/etc/ciao_dds4ccm.doxygen index 325ffb7dcdc..3502debcd71 100644 --- a/CIAO/etc/ciao_dds4ccm.doxygen +++ b/CIAO/etc/ciao_dds4ccm.doxygen @@ -125,10 +125,8 @@ PREDEFINED = __ACE_INLINE__ \ ACE_BEGIN_VERSIONED_NAMESPACE_DECL \ ACE_END_VERSIONED_NAMESPACE_DECL \ ACE_INLINE -EXPAND_AS_DEFINED = ACE_RCSID \ - ACE_UNIMPLEMENTED_FUNC \ - ACE_CACHE_MAP_MANAGER \ - ACE_THROW_SPEC +EXPAND_AS_DEFINED = ACE_UNIMPLEMENTED_FUNC \ + ACE_CACHE_MAP_MANAGER #--------------------------------------------------------------------------- # Configuration::additions related to external references diff --git a/CIAO/examples/BasicSP/README.html b/CIAO/examples/BasicSP/README.html index 9bd740215e1..c5a49e685f7 100644 --- a/CIAO/examples/BasicSP/README.html +++ b/CIAO/examples/BasicSP/README.html @@ -11,28 +11,16 @@ This document describes how to compile/run the BasicSP (HUDisplay) example with </LI> <LI> - Get the latest cidl compiler (if you did not compile from source) from: - <A href="http://www.dre.vanderbilt.edu/cidlc/binary/"> - http://www.dre.vanderbilt.edu/cidlc/binary/ - </A> - - Copy the file into the <code> $CIAO_ROOT/bin </code> directory. - Build ACE, TAO, DAnCE before you proceed. - <br><br> <em>NOTE</em>: <br> While buiding DAnCE, we also suggest that you build the tests in the $CIAO_ROOT/test directory and make sure all the tests run OK before you proceed to try out the BasicSP example or any other DAnCE-based applications. To do this, open the file - - $ACE_ROOT/bin/MakeProjectCreator/config/global.features, - - then change the line from "cidl = 0" to "cidl = 1". <br><br> - + After this, go back to the $CIAO_ROOT/DAnCE directory to generate your workspace/project or makefile by using MPC.<br> After the DAnCE and the tests are build OK, go to the $CIAO_ROOT/DAnCE/tests/NodeApplicationTest directory and make sure all the three perl scripts (run_test.pl, run_test_simple.pl and run_test_ex.pl) run successfully. - + <br><br> </LI> @@ -52,14 +40,14 @@ This document describes how to compile/run the BasicSP (HUDisplay) example with <UL> <LI> Change into the $CIAO_ROOT/examples/BasicSP/descriptors directory Start NodeManagers (NodeDameon) by running <code> basicNodeDaemon.pl </code> - + <LI> Start the execution manager: - <code>$CIAO_ROOT/DAnCE/ExecutionManager/Execution_Manager -o EM.ior -i NodeManagerMap.dat </code> + <code>$DANCE_ROOT/bin/dance_execution_manager -o EM.ior -i NodeManagerMap.dat </code> </LI> <LI> Start the executor: - <code> $CIAO_ROOT/DAnCE/Plan_Launcher/plan_launcher -p flattern_deploymentplan.cdp -k file://EM.ior </code> - + <code>$DANCE_ROOT/bin/dance_plan_launcher -p flattern_deploymentplan.cdp -k file://EM.ior </code> + <LI> After this, components should be deployed successfully. You can run the $CIAO_ROOT/examples/BasicSP/EC/controller to start the application. Please make sure that the component IOR file for the EC component is present when you run this client. diff --git a/CIAO/examples/BasicSP/RepoMan_Usage.html b/CIAO/examples/BasicSP/RepoMan_Usage.html index 0e88d0aee5e..13cadeb7eef 100644 --- a/CIAO/examples/BasicSP/RepoMan_Usage.html +++ b/CIAO/examples/BasicSP/RepoMan_Usage.html @@ -43,12 +43,12 @@ about how to installed Packages into RepoMan.</li> <P> <OL> <li>Using ior file: </li> <PRE> -Change the current directory into $CIAO_ROOT/DAnCE/RepositoryManager -RepositoryManagerDaemon -o +Change the current directory into $DANCE_ROOT/bin +RepositoryManagerDaemon -o </PRE> <li>Using Naming Service:</li> <PRE> -Change the current directory into $CIAO_ROOT/DAnCE/RepositoryManager +Change the current directory into $DANCE_ROOT/bin RepositoryManagerDaemon -v [NameofRM] </PRE> </OL> @@ -62,45 +62,45 @@ RepositoryManagerDaemon -v [NameofRM] <li>Start ExecutionManager.</li> <P> <PRE> - $CIAO_ROOT/DAnCE/ExecutionManager/Execution_Manager -o EM.ior -i NodeManagerMap.dat + $DANCE_ROOT/bin/dance_execution_manager -o EM.ior -i NodeManagerMap.dat </PRE> <li>Start plan_launcher.</li> <P> <OL> <li>Not using RepoMan:</li> <PRE> -$CIAO_ROOT/DAnCE/Plan_Launcher/plan_launcher -p flattened_deploymentplan.cdp -k file://EM.ior +$DANCE_ROOT/bin/dance_plan_launcher -p flattened_deploymentplan.cdp -k file://EM.ior </PRE> <li>Using ior file to get RepoMan, providing the name of one composite componemt:</li> <PRE> -$CIAO_ROOT/DAnCE/Plan_Launcher/plan_launcher -p flattened_deploymentplan.cdp --a BasicSP +$DANCE_ROOT/bin/dance_plan_launcher -p flattened_deploymentplan.cdp +-a BasicSP -k file://EM.ior -l file://$CIAO_ROOT/DAnCE/RepositoryManager/RepositoryManagerDaemon.ior </PRE> <li>Using naming service to get RepoMan, providing the name of one composite componemt:</li> <PRE> -$CIAO_ROOT/DAnCE/Plan_Launcher/plan_launcher -p flattened_deploymentplan.cdp --a BasicSP +$DANCE_ROOT/bin/dance_plan_launcher -p flattened_deploymentplan.cdp +-a BasicSP -k file://EM.ior -v [NameofRM] </PRE> <li>Using naming service to get RepoMan, providing the names of several individual componemts:</li> <PRE> -$CIAO_ROOT/DAnCE/Plan_Launcher/plan_launcher -p flattened_deploymentplan.cdp --a BMClosedED+BMDevice+BMDisplay+EC --k file://EM.ior +$DANCE_ROOT/bin/dance_plan_launcher -p flattened_deploymentplan.cdp +-a BMClosedED+BMDevice+BMDisplay+EC +-k file://EM.ior -v [NameofRM] </PRE> <li>Using naming service to get RepoMan, providing the types of several individual componemts:</li> <PRE> -$CIAO_ROOT/DAnCE/Plan_Launcher/plan_launcher -p flattened_deploymentplan.cdp --e IDL:BasicSP/EC:1.0+IDL:BasicSP/BMDisplay:1.0+IDL:BasicSP/BMDevice:1.0+IDL:BasicSP/BMClosedED:1.0 --k file://EM.ior +$DANCE_ROOT/bin/dance_plan_launcher -p flattened_deploymentplan.cdp +-e IDL:BasicSP/EC:1.0+IDL:BasicSP/BMDisplay:1.0+IDL:BasicSP/BMDevice:1.0+IDL:BasicSP/BMClosedED:1.0 +-k file://EM.ior -v [NameofRM] </PRE> </OL> diff --git a/CIAO/examples/Display/README.html b/CIAO/examples/Display/README.html index e88e6f62ce5..a5346b71974 100644 --- a/CIAO/examples/Display/README.html +++ b/CIAO/examples/Display/README.html @@ -6,7 +6,7 @@ <body alink="#0000ff" bgcolor="#ffffff" link="#000fff" text="#000000" vlink="#ff0f0f"> <h2>Display example README</h2> -<li>To download the code of this example please refer to the CVS repository at <code>$CIAO_ROOT/DAnCE/examples/Display</code>.</li> +<li>To download the code of this example please refer to the SVN repository at <code>$CIAO_ROOT/examples/Display</code>.</li> <hr> <h2>Example Description</h2> @@ -98,7 +98,7 @@ build.</font> <hr> <h3><font size="5">Make</font></h3> -<li>Go to the directory <code>$CIAO_ROOT/DAnCE/examples/Display</code> and do:<br> +<li>Go to the directory <code>$CIAO_ROOT/examples/Display</code> and do:<br> <code>$ACE_ROOT/bin/mwc.pl</code> (use -type option if you are using a compiler/IDE other than gnuace -which by default generates GNU makefiles)</li> <br>For example, using <code>$ACE_ROOT/bin/mwc.pl -type vc71</code> if you are using Visual C++ 7.1 IDE. @@ -129,15 +129,15 @@ Note: Creating the deployment plan descriptor is a tedious and error-prone job, <hr align="justify"> <h3><font size="5">Run</font></h3> -Finally you are ready to test the application you have made. From different shells in <code>$CIAO_ROOT/DAnCE/examples/Display/descriptors/</code> directory: +Finally you are ready to test the application you have made. From different shells in <code>$CIAO_ROOT/examples/Display/descriptors/</code> directory: <br><br> <ul> <li> Start NodeManagers (NodeDameon) by running <code> basicNodeDaemons.pl </code> </li><li> Start the execution manager: - <code>$CIAO_ROOT/DAnCE/ExecutionManager/Execution_Manager -o EM.ior -i NodeManagerMap.dat </code> - The NodeManagerMap.dat file describes the deployment daemons CIAO's Execution_Manager + <code>$DANCE_ROOT/bin/dance_execution_manager -o EM.ior -i NodeManagerMap.dat </code> + The NodeManagerMap.dat file describes the deployment daemons DAnCE's Execution_Manager will contact to instantiate ComponentServer's, home's, and component instances. Each line specify the name of a installation "destination" and the corresponding IOR for @@ -160,7 +160,7 @@ Finally you are ready to test the application you have made. From different shel </li></ul> <li> Start the plan_launcher: - <code> $CIAO_ROOT/DAnCE/Plan_Launcher/plan_launcher -p flattened_deploymentplan.cdp -k file://EM.ior </code> + <code>$DANCE_ROOT/bin/dance_plan_launcher -p flattened_deploymentplan.cdp -k file://EM.ior </code> After this, components should be deployed successfully. @@ -168,8 +168,8 @@ Finally you are ready to test the application you have made. From different shel component to a file called "rategen.ior" in this directory. You will then need to use a controller program in a separate shell window to switch on/off the Rate Generator. - Go to the <em> $CIAO_ROOT/DAnCE/examples/Display/descriptor </em> directory and run the <code>$CIAO_ROOT/DAnCE/examples/Display/RateGen/controller - -o </code> to start the application. To stop the application run <code>$CIAO_ROOT/DAnCE/examples/Display/RateGen/controller + Go to the <em> $CIAO_ROOT/examples/Display/descriptor </em> directory and run the <code>$CIAO_ROOT/examples/Display/RateGen/controller + -o </code> to start the application. To stop the application run <code>$CIAO_ROOT/examples/Display/RateGen/controller -f </code> </li> </ul> diff --git a/CIAO/examples/Display/descriptors/basicNodeDaemon.pl b/CIAO/examples/Display/descriptors/basicNodeDaemon.pl index afebafb0c68..3e0ab781003 100755 --- a/CIAO/examples/Display/descriptors/basicNodeDaemon.pl +++ b/CIAO/examples/Display/descriptors/basicNodeDaemon.pl @@ -32,19 +32,19 @@ $tg->DeleteFile ("NodeApp5.ior"); $CIAO_ROOT=$ENV{'CIAO_ROOT'}; $SV1 = $tg->CreateProcess ("$DANCE_ROOT/bin/dance_node_manager", - "-ORBEndpoint iiop://localhost:10000 -s $CIAO_ROOT/DAnCE/NodeApplication/NodeApplication"); + "-ORBEndpoint iiop://localhost:10000 -s $DANCE_ROOT/bin/dance_locality_manager"); $SV2 = $tg->CreateProcess ("$DANCE_ROOT/bin/dance_node_manager", - "-ORBEndpoint iiop://localhost:20000 -s $CIAO_ROOT/DAnCE/NodeApplication/NodeApplication"); + "-ORBEndpoint iiop://localhost:20000 -s $DANCE_ROOT/bin/dance_locality_manager"); $SV3 = $tg->CreateProcess ("$DANCE_ROOT/bin/dance_node_manager", - "-ORBEndpoint iiop://localhost:30000 -s $CIAO_ROOT/DAnCE/NodeApplication/NodeApplication"); + "-ORBEndpoint iiop://localhost:30000 -s $DANCE_ROOT/bin/dance_locality_manager"); $SV4 = $tg->CreateProcess ("$DANCE_ROOT/bin/dance_node_manager", - "-ORBEndpoint iiop://localhost:40000 -s $CIAO_ROOT/DAnCE/NodeApplication/NodeApplication"); + "-ORBEndpoint iiop://localhost:40000 -s $DANCE_ROOT/bin/dance_locality_manager"); $SV5 = $tg->CreateProcess ("$DANCE_ROOT/bin/dance_node_manager", - "-ORBEndpoint iiop://localhost:50000 -s $CIAO_ROOT/DAnCE/NodeApplication/NodeApplication"); + "-ORBEndpoint iiop://localhost:50000 -s $DANCE_ROOT/bin/dance_locality_manager"); $SV1->Spawn (); $SV2->Spawn (); $SV3->Spawn (); diff --git a/CIAO/examples/Display/descriptors/run_NodeDaemons.pl b/CIAO/examples/Display/descriptors/run_NodeDaemons.pl index e07c2aedd67..a7f085f9d50 100755 --- a/CIAO/examples/Display/descriptors/run_NodeDaemons.pl +++ b/CIAO/examples/Display/descriptors/run_NodeDaemons.pl @@ -21,10 +21,10 @@ $iorfile2 = $tg->DeleteFile ($iorbase2); $CIAO_ROOT=$ENV{'CIAO_ROOT'}; $SV1 = $tg->CreateProcess ("$DANCE_ROOT/bin/dance_node_manager", - "-ORBEndpoint iiop://localhost:10001 -s $CIAO_ROOT/DAnCE/NodeApplication/NodeApplication"); + "-ORBEndpoint iiop://localhost:10001 -s $DANCE_ROOT/bin/dance_locality_manager"); $SV2 = $tg->CreateProcess ("$DANCE_ROOT/bin/dance_node_manager", - "-ORBEndpoint iiop://localhost:20001 -s $CIAO_ROOT/DAnCE/NodeApplication/NodeApplication"); + "-ORBEndpoint iiop://localhost:20001 -s $DANCE_ROOT/bin/dance_locality_manager"); $SV1->Spawn (); $SV2->Spawn (); diff --git a/CIAO/examples/Hello/Sender/Sender_exec.h b/CIAO/examples/Hello/Sender/Sender_exec.h index 7bc2211fd4d..f8d49661c26 100644 --- a/CIAO/examples/Hello/Sender/Sender_exec.h +++ b/CIAO/examples/Hello/Sender/Sender_exec.h @@ -59,7 +59,7 @@ namespace CIAO_Hello_Sender_Impl virtual ~ReadMessage_exec_i (void); - // Operations and attributes from ::Hello::ReadMessage + // Operations and attributes from Hello::ReadMessage // TAO_IDL - Generated from // c:\middleware\ace_wrappers\tao\tao_idl\be\be_visitor_operation/operation_ch.cpp:42 diff --git a/CIAO/examples/Hello/descriptors/run_NodeDaemons.pl b/CIAO/examples/Hello/descriptors/run_NodeDaemons.pl index 56d054f294a..50b3930fc64 100755 --- a/CIAO/examples/Hello/descriptors/run_NodeDaemons.pl +++ b/CIAO/examples/Hello/descriptors/run_NodeDaemons.pl @@ -31,10 +31,10 @@ $iorfile2 = $tg->DeleteFile ($iorbase2); $CIAO_ROOT=$ENV{'CIAO_ROOT'}; $SV1 = $tg->CreateProcess ("$DANCE_ROOT/bin/dance_node_manager", - "-ORBEndpoint iiop://localhost:10001 -s $CIAO_ROOT/DAnCE/NodeApplication/NodeApplication"); + "-ORBEndpoint iiop://localhost:10001 -s $DANCE_ROOT/bin/dance_locality_manager"); $SV2 = $tg->CreateProcess ("$DANCE_ROOT/bin/dance_node_manager", - "-ORBEndpoint iiop://localhost:20001 -s $CIAO_ROOT/DAnCE/NodeApplication/NodeApplication"); + "-ORBEndpoint iiop://localhost:20001 -s $DANCE_ROOT/bin/dance_locality_manager"); $SV1->Spawn (); $SV2->Spawn (); diff --git a/CIAO/examples/Hello/step-by-step.html b/CIAO/examples/Hello/step-by-step.html index 49b184ed3c1..518331f63f8 100644 --- a/CIAO/examples/Hello/step-by-step.html +++ b/CIAO/examples/Hello/step-by-step.html @@ -119,7 +119,7 @@ supplied as a command argument. Please see the the last part of <h3>Make</h3> <UL> -<li>Go to the directory <code>$CIAO_ROOT/DAnCE</code> and do:<br> +<li>Go to the directory <code>$DANCE_ROOT</code> and do:<br> <code>$ACE_ROOT/bin/mwc.pl</code></li> <br>For example, using <code>$ACE_ROOT/bin/mwc.pl -type vc71</code> if you are using Visual C++ 7.1 IDE <br>or <code>$ACE_ROOT/bin/mwc.pl -type gnuace</code> on Linux platforms.</li><P> diff --git a/CIAO/examples/Null_Component/Null_Component_exec.h b/CIAO/examples/Null_Component/Null_Component_exec.h index 442c837b833..d6019544528 100644 --- a/CIAO/examples/Null_Component/Null_Component_exec.h +++ b/CIAO/examples/Null_Component/Null_Component_exec.h @@ -56,7 +56,7 @@ namespace CIAO_Null_Component_Impl Null_Interface_exec_i (void); virtual ~Null_Interface_exec_i (void); - // Operations and attributes from ::Null_Interface + // Operations and attributes from Null_Interface // TAO_IDL - Generated from // c:\middleware\ace_wrappers\tao\tao_idl\be\be_visitor_operation/operation_ch.cpp:42 diff --git a/CIAO/examples/Null_Component_Glfa/Null_Component_exec.h b/CIAO/examples/Null_Component_Glfa/Null_Component_exec.h index 442c837b833..d6019544528 100644 --- a/CIAO/examples/Null_Component_Glfa/Null_Component_exec.h +++ b/CIAO/examples/Null_Component_Glfa/Null_Component_exec.h @@ -56,7 +56,7 @@ namespace CIAO_Null_Component_Impl Null_Interface_exec_i (void); virtual ~Null_Interface_exec_i (void); - // Operations and attributes from ::Null_Interface + // Operations and attributes from Null_Interface // TAO_IDL - Generated from // c:\middleware\ace_wrappers\tao\tao_idl\be\be_visitor_operation/operation_ch.cpp:42 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 5df04de4d11..77645d9db2b 100644 --- a/CIAO/tests/Bug_2130_Regression/SEC_CheckPoint/TSEC_CheckPoint.mpc +++ b/CIAO/tests/Bug_2130_Regression/SEC_CheckPoint/TSEC_CheckPoint.mpc @@ -30,7 +30,7 @@ project(TSEC_CheckPoint_lem_gen) : ciaoidldefaults { } -project(TSEC_CheckPoint_stub): ccm_stub, event { +project(TSEC_CheckPoint_stub): ccm_stub { after += ENW_stub TSEC_CheckPoint_idl_gen libpaths += ../interfaces libs += ENW_stub @@ -54,7 +54,7 @@ project(TSEC_CheckPoint_stub): ccm_stub, event { } } -project(TSEC_CheckPoint_svnt) : ciao_servant, event { +project(TSEC_CheckPoint_svnt) : ciao_servant { after += TSEC_CheckPoint_skel TSEC_CheckPoint_exec after += ENW_skel ENW_stub sharedname = TSEC_CheckPoint_svnt @@ -74,7 +74,7 @@ project(TSEC_CheckPoint_svnt) : ciao_servant, event { } -project(TSEC_CheckPoint_exec) : ciao_executor, event, ccm_svnt, ciao_session_container, naming { +project(TSEC_CheckPoint_exec) : ciao_executor, ccm_svnt, ciao_session_container, naming { after += TSEC_CheckPoint_stub TSEC_CheckPoint_lem_gen after += ENW_skel ENW_stub requires += dummy_label @@ -103,7 +103,7 @@ project(TSEC_CheckPoint_exec) : ciao_executor, event, ccm_svnt, ciao_session_con } -project(TSEC_CheckPoint_controller) : ccm_stub, valuetype, event { +project(TSEC_CheckPoint_controller) : ccm_stub, valuetype { exename = controller after += TSEC_CheckPoint_stub libs += TSEC_CheckPoint_stub ENW_stub diff --git a/CIAO/tests/Bug_2130_Regression/descriptors/run_test.pl b/CIAO/tests/Bug_2130_Regression/descriptors/run_test.pl index a557f7a943a..be73abdc64a 100755 --- a/CIAO/tests/Bug_2130_Regression/descriptors/run_test.pl +++ b/CIAO/tests/Bug_2130_Regression/descriptors/run_test.pl @@ -134,7 +134,7 @@ if ($status != 0) { # Invoke execution manager. print "Invoking execution manager\n"; -$EM = $tg_exe_man->CreateProcess ("$CIAO_ROOT/bin/Execution_Manager", +$EM = $tg_exe_man->CreateProcess ("$DANCE_ROOT/bin/dance_execution_manager", "-o $ior_emfile -i -cdd $dat_file"); $EM->Spawn (); diff --git a/CIAO/tests/Bug_2130_Regression/interfaces/ENW.mpc b/CIAO/tests/Bug_2130_Regression/interfaces/ENW.mpc index 5a0580125ef..0c5f08c1101 100644 --- a/CIAO/tests/Bug_2130_Regression/interfaces/ENW.mpc +++ b/CIAO/tests/Bug_2130_Regression/interfaces/ENW.mpc @@ -1,6 +1,6 @@ //$Id$ -project(ENW_stub): ccm_stub, event, avoids_ccm_noevent { +project(ENW_stub): ccm_stub, avoids_ccm_noevent { sharedname = ENW_stub idlflags -= -GT idlflags += -Wb,stub_export_macro=ENW_STUB_Export \ @@ -18,7 +18,7 @@ project(ENW_stub): ccm_stub, event, avoids_ccm_noevent { } } -project(ENW_skel) : ciao_servant, event, avoids_ccm_noevent { +project(ENW_skel) : ciao_servant, avoids_ccm_noevent { after += ENW_stub sharedname = ENW_skel libs += ENW_stub diff --git a/CIAO/tests/Bug_3834_Regression/CompA_exec.h b/CIAO/tests/Bug_3834_Regression/CompA_exec.h index 2bef0e4c289..d6d4e3b3817 100644 --- a/CIAO/tests/Bug_3834_Regression/CompA_exec.h +++ b/CIAO/tests/Bug_3834_Regression/CompA_exec.h @@ -55,7 +55,7 @@ namespace CIAO_CompA_Impl Moo_exec_i (void); virtual ~Moo_exec_i (void); - // Operations and attributes from ::Moo + // Operations and attributes from Moo // TAO_IDL - Generated from // be/be_visitor_operation/operation_ch.cpp:37 diff --git a/CIAO/tests/Bug_3944_Regression/base_connector_conn.idl b/CIAO/tests/Bug_3944_Regression/base_connector_conn.idl new file mode 100644 index 00000000000..fbce1bb2a97 --- /dev/null +++ b/CIAO/tests/Bug_3944_Regression/base_connector_conn.idl @@ -0,0 +1,40 @@ +// $Id$ + +#ifndef BASE_CONNECTOR_CONN_IDL +#define BASE_CONNECTOR_CONN_IDL + +#include <Components.idl> + +#pragma ciao lem "base_connector_connE.idl" +#pragma dds4ccm impl "base_connector_event_t.h" + +module One +{ + module Foo <typename T, sequence<T> TSeq> + { + local interface Bar + { + void ope (); + }; + + porttype Write + { + provides Bar mybar; + }; + + porttype Listen + { + uses Bar mybar; + }; + + connector MyBaseEvent + { + mirrorport Write supplier; + mirrorport Listen consumer; + }; + }; +}; + +#endif + + diff --git a/CIAO/tests/Bug_3944_Regression/connector_conn.idl b/CIAO/tests/Bug_3944_Regression/connector_conn.idl new file mode 100644 index 00000000000..2af8e4a1a9f --- /dev/null +++ b/CIAO/tests/Bug_3944_Regression/connector_conn.idl @@ -0,0 +1,24 @@ +// $Id$ + +#ifndef CONNECTOR_CONN_IDL +#define CONNECTOR_CONN_IDL + +#include <Components.idl> +#include "base_connector_conn.idl" + +#pragma ciao lem "connector_connE.idl" +#pragma dds4ccm impl "connector_event_t.h" + +module Two +{ + module Foo <typename T, sequence<T> TSeq> + { + connector MyConn : One::Foo::MyBaseEvent + { + }; + }; +}; + +#endif + + diff --git a/CIAO/tests/Bug_3944_Regression/connector_inst_conn.idl b/CIAO/tests/Bug_3944_Regression/connector_inst_conn.idl new file mode 100644 index 00000000000..699a05a624f --- /dev/null +++ b/CIAO/tests/Bug_3944_Regression/connector_inst_conn.idl @@ -0,0 +1,21 @@ +// $Id$ + +#ifndef CONNECTOR_INST_CONN_IDL +#define CONNECTOR_INST_CONN_IDL + +#include <Components.idl> +#include "connector_conn.idl" + +#pragma ciao lem "connector_inst_connE.idl" + +struct Baz +{ + long a; +}; + +typedef sequence<Baz> BazSeq; + +module Two::Foo<Baz,BazSeq> MyConnInst; + +#endif + diff --git a/CIAO/tests/Bug_3944_Regression/run_test.pl b/CIAO/tests/Bug_3944_Regression/run_test.pl new file mode 100755 index 00000000000..2ea76c45a2d --- /dev/null +++ b/CIAO/tests/Bug_3944_Regression/run_test.pl @@ -0,0 +1,46 @@ + +# $Id$ + +eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' + & eval 'exec perl -S $0 $argv:q' + if 0; + +# -*- perl -*- + +use lib "$ENV{ACE_ROOT}/bin"; +use PerlACE::TestTarget; +use File::Spec; + +$status =0; + +open (OLDOUT, ">&STDOUT"); +open (STDOUT, ">" . File::Spec->devnull()); +open (OLDERR, ">&STDERR"); +open (STDERR, ">&STDOUT"); + +# The location of the tao_idl utility - depends on O/S +if ($^O eq "MSWin32"){ + $tao_idl = "../../../../../bin/tao_idl"; +} +else{ + $tao_idl = "../../../../..TAO/TAO_IDL/tao_idl"; +} + +my $server = PerlACE::TestTarget::create_target (1) || die "Create target 1 failed\n"; + +$input_file1 = $server->LocalFile ("connector_inst_conn.idl"); + +# Compile the IDL +$SV = $server->CreateProcess ("$tao_idl", "$input_file1"); + +$server_status1 = $SV->SpawnWaitKill ($server->ProcessStartWaitInterval()); + +open (STDOUT, ">&OLDOUT"); +open (STDERR, ">&OLDERR"); + +if ($server_status1 == 0) { + print STDERR "ERROR: tao_idl returned $server_status1 for $input_file1, should have failed\n"; + $status = 1; +} + +exit $status; diff --git a/CIAO/tests/CIF/Component/CIF_Component_exec.h b/CIAO/tests/CIF/Component/CIF_Component_exec.h index d08eae79c05..3a2f241fa7b 100644 --- a/CIAO/tests/CIF/Component/CIF_Component_exec.h +++ b/CIAO/tests/CIF/Component/CIF_Component_exec.h @@ -56,7 +56,7 @@ namespace CIAO_CIF_CIF_Provider_Impl ::CIF::CCM_CIF_Provider_Context_ptr ctx); virtual ~provide_cif_foo_exec_i (void); - // Operations and attributes from ::CIF::foo + // Operations and attributes from CIF::foo virtual void do_foo (void); @@ -76,7 +76,7 @@ namespace CIAO_CIF_CIF_Provider_Impl ::CIF::CCM_CIF_Provider_Context_ptr ctx); virtual ~provide_cif_derived_foo_exec_i (void); - // Operations and attributes from ::CIF::derived_foo + // Operations and attributes from CIF::derived_foo virtual void do_derived_foo (void); diff --git a/CIAO/tests/Cookies/Cookie.cpp b/CIAO/tests/Cookies/Cookie.cpp new file mode 100644 index 00000000000..5d6b71102d8 --- /dev/null +++ b/CIAO/tests/Cookies/Cookie.cpp @@ -0,0 +1,63 @@ +// $Id$ + +#include "Cookie.h" +#include "ciao/Valuetype_Factories/Cookies.h" + +#define KEY_VALUE 123456789 + +Cookie::Cookie (CORBA::ORB_ptr orb) + : orb_ (CORBA::ORB::_duplicate (orb)) +{ +} + +::Components::Cookie * +Cookie::get_cookie (void) +{ + ::Components::Cookie_var ck; + ptrdiff_t const &key = KEY_VALUE; + ACE_NEW_THROW_EX (ck.inout (), + ::CIAO::Cookie_Impl (key), + ::CORBA::NO_MEMORY ()); + + return ck._retn (); +} + +void +Cookie::check_cookie (::Components::Cookie * cookie) +{ + ptrdiff_t key = 0UL; + try + { + if (cookie == 0 || ! ::CIAO::Cookie_Impl::extract (cookie, key)) + { + ACE_ERROR ((LM_ERROR, "Cookie::check_cookie - " + "ERROR: Unable to extract cookie.\n")); + } + else + { + if (key == KEY_VALUE) + { + ACE_DEBUG ((LM_DEBUG, "Cookie::check_cookie - " + "OK: Cookie seems ok.\n")); + } + else + { + ACE_DEBUG ((LM_DEBUG, "Cookie::check_cookie - " + "ERROR: Unexpected cookie: expected <%u> - received <%u>\n", + KEY_VALUE, key)); + } + } + } + catch (...) + { + ACE_ERROR ((LM_ERROR, "Cookie::check_cookie - " + "ERROR: Unexpected exception caught\n")); + } + +} + +void +Cookie::shutdown (void) +{ + this->orb_->shutdown (0); +} diff --git a/CIAO/tests/Cookies/Cookie.h b/CIAO/tests/Cookies/Cookie.h new file mode 100644 index 00000000000..6812955f8cb --- /dev/null +++ b/CIAO/tests/Cookies/Cookie.h @@ -0,0 +1,33 @@ +// +// $Id$ +// + +#ifndef HELLO_H +#define HELLO_H +#include /**/ "ace/pre.h" + +#include "TestS.h" + +/// Implement the Test::Hello interface +class Cookie + : public virtual POA_Test::Cook +{ +public: + /// Constructor + Cookie (CORBA::ORB_ptr orb); + + // = The skeleton methods + virtual ::Components::Cookie * get_cookie (void); + + virtual void check_cookie (::Components::Cookie * cookie); + + virtual void shutdown (void); + +private: + /// Use an ORB reference to conver strings to objects and shutdown + /// the application. + CORBA::ORB_var orb_; +}; + +#include /**/ "ace/post.h" +#endif /* HELLO_H */ diff --git a/CIAO/tests/Cookies/Cookies.mpc b/CIAO/tests/Cookies/Cookies.mpc new file mode 100644 index 00000000000..350acdbc3a3 --- /dev/null +++ b/CIAO/tests/Cookies/Cookies.mpc @@ -0,0 +1,43 @@ +// -*- MPC -*- +// $Id$ + +project(*idl): taoidldefaults { + idlflags += -Sp + idlflags += -I $(CIAO_ROOT) + IDL_Files { + Test.idl + } + custom_only = 1 +} + +project(*Server): taoserver, ciao_base, ccm_cookie { + after += *idl CCM_Cookie_Factory + libs += CCM_Cookie_Factory + includes += $(CIAO_ROOT) + Source_Files { + Cookie.cpp + server.cpp + } + Source_Files { + TestC.cpp + TestS.cpp + } + IDL_Files { + } +} + +project(*Client): taoclient, ciao_base, ccm_cookie { + after += *idl + includes += $(CIAO_ROOT) + libs += CCM_Cookie_Factory + + Source_Files { + client.cpp + } + Source_Files { + TestC.cpp + } + IDL_Files { + } +} + diff --git a/CIAO/tests/Cookies/Test.idl b/CIAO/tests/Cookies/Test.idl new file mode 100644 index 00000000000..05c714f03f2 --- /dev/null +++ b/CIAO/tests/Cookies/Test.idl @@ -0,0 +1,17 @@ +// +// $Id$ +// + +#include "ccm/CCM_Cookie.idl" + +module Test +{ + interface Cook + { + ::Components::Cookie get_cookie (); + + void check_cookie (in ::Components::Cookie ck); + + oneway void shutdown (); + }; +}; diff --git a/CIAO/tests/Cookies/client.cpp b/CIAO/tests/Cookies/client.cpp new file mode 100644 index 00000000000..ca6940f459d --- /dev/null +++ b/CIAO/tests/Cookies/client.cpp @@ -0,0 +1,85 @@ +// $Id$ + +#include "TestC.h" +#include "ace/Get_Opt.h" +#include "ciao/Base/Client_init.h" + +const ACE_TCHAR *ior = ACE_TEXT ("file://test.ior"); + +int +parse_args (int argc, ACE_TCHAR *argv[]) +{ + ACE_Get_Opt get_opts (argc, argv, ACE_TEXT("k:")); + int c; + + while ((c = get_opts ()) != -1) + switch (c) + { + case 'k': + ior = get_opts.opt_arg (); + break; + + case '?': + default: + ACE_ERROR_RETURN ((LM_ERROR, + "usage: %s " + "-k <ior> " + "\n", + argv [0]), + -1); + } + // Indicates successful parsing of the command line + return 0; +} + +int +ACE_TMAIN(int argc, ACE_TCHAR *argv[]) +{ + try + { + CORBA::ORB_var orb = CORBA::ORB_init (argc, argv); + + ::CIAO::Client_init (orb.in ()); + + if (parse_args (argc, argv) != 0) + return 1; + + CORBA::Object_var tmp = orb->string_to_object(ior); + + Test::Cook_var cook = Test::Cook::_narrow(tmp.in ()); + + if (CORBA::is_nil (cook.in ())) + { + ACE_ERROR_RETURN ((LM_DEBUG, + "Nil Test::Cook reference <%s>\n", + ior), + 1); + } + + Components::Cookie_var cookie = cook->get_cookie (); + + ACE_DEBUG ((LM_DEBUG, "(%P|%t) - cookie returned <%@>\n", + cookie.in ())); + + try + { + cook->check_cookie (cookie.in ()); + } + catch (const CORBA::Exception& ex) + { + ex._tao_print_exception ("Client exception caught:"); + return 1; + } + + cook->shutdown (); + + orb->destroy (); + } + catch (const CORBA::Exception& ex) + { + ex._tao_print_exception ("Client exception caught:"); + return 1; + } + + return 0; +} diff --git a/CIAO/tests/Cookies/run_test.pl b/CIAO/tests/Cookies/run_test.pl new file mode 100755 index 00000000000..719974e5c50 --- /dev/null +++ b/CIAO/tests/Cookies/run_test.pl @@ -0,0 +1,73 @@ +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; + +$status = 0; +$debug_level = '0'; + +foreach $i (@ARGV) { + if ($i eq '-debug') { + $debug_level = '10'; + } +} + +my $server = PerlACE::TestTarget::create_target (1) || die "Create target 1 failed\n"; +my $client = PerlACE::TestTarget::create_target (2) || die "Create target 2 failed\n"; + +my $iorbase = "server.ior"; +my $server_iorfile = $server->LocalFile ($iorbase); +my $client_iorfile = $client->LocalFile ($iorbase); +$server->DeleteFile($iorbase); +$client->DeleteFile($iorbase); + +$SV = $server->CreateProcess ("server", "-ORBdebuglevel $debug_level -o $server_iorfile"); +$CL = $client->CreateProcess ("client", "-k file://$client_iorfile"); +$server_status = $SV->Spawn (); + +if ($server_status != 0) { + print STDERR "ERROR: server returned $server_status\n"; + exit 1; +} + +if ($server->WaitForFileTimed ($iorbase, + $server->ProcessStartWaitInterval()) == -1) { + print STDERR "ERROR: cannot find file <$server_iorfile>\n"; + $SV->Kill (); $SV->TimedWait (1); + exit 1; +} + +if ($server->GetFile ($iorbase) == -1) { + print STDERR "ERROR: cannot retrieve file <$server_iorfile>\n"; + $SV->Kill (); $SV->TimedWait (1); + exit 1; +} +if ($client->PutFile ($iorbase) == -1) { + print STDERR "ERROR: cannot set file <$client_iorfile>\n"; + $SV->Kill (); $SV->TimedWait (1); + exit 1; +} + +$client_status = $CL->SpawnWaitKill ($client->ProcessStartWaitInterval()); + +if ($client_status != 0) { + print STDERR "ERROR: client returned $client_status\n"; + $status = 1; +} + +$server_status = $SV->WaitKill ($server->ProcessStopWaitInterval()); + +if ($server_status != 0) { + print STDERR "ERROR: server returned $server_status\n"; + $status = 1; +} + +$server->DeleteFile($iorbase); +$client->DeleteFile($iorbase); + +exit $status; diff --git a/CIAO/tests/Cookies/server.cpp b/CIAO/tests/Cookies/server.cpp new file mode 100644 index 00000000000..941397bf818 --- /dev/null +++ b/CIAO/tests/Cookies/server.cpp @@ -0,0 +1,104 @@ +// $Id$ + +#include "Cookie.h" +#include "ace/Get_Opt.h" +#include "ace/OS_NS_stdio.h" +#include "ciao/Base/Server_init.h" + +const ACE_TCHAR *ior_output_file = ACE_TEXT ("test.ior"); + +int +parse_args (int argc, ACE_TCHAR *argv[]) +{ + ACE_Get_Opt get_opts (argc, argv, ACE_TEXT("o:")); + int c; + + while ((c = get_opts ()) != -1) + switch (c) + { + case 'o': + ior_output_file = get_opts.opt_arg (); + break; + + case '?': + default: + ACE_ERROR_RETURN ((LM_ERROR, + "usage: %s " + "-o <iorfile>" + "\n", + argv [0]), + -1); + } + // Indicates successful parsing of the command line + return 0; +} + +int +ACE_TMAIN(int argc, ACE_TCHAR *argv[]) +{ + try + { + CORBA::ORB_var orb = + CORBA::ORB_init (argc, argv); + + CIAO::Server_init (orb); + + CORBA::Object_var poa_object = + orb->resolve_initial_references("RootPOA"); + + PortableServer::POA_var root_poa = + PortableServer::POA::_narrow (poa_object.in ()); + + if (CORBA::is_nil (root_poa.in ())) + ACE_ERROR_RETURN ((LM_ERROR, + " (%P|%t) Panic: nil RootPOA\n"), + 1); + + PortableServer::POAManager_var poa_manager = root_poa->the_POAManager (); + + if (parse_args (argc, argv) != 0) + return 1; + + Cookie *cookie_impl = 0; + ACE_NEW_RETURN (cookie_impl, + Cookie (orb.in ()), + 1); + PortableServer::ServantBase_var owner_transfer (cookie_impl); + + PortableServer::ObjectId_var id = + root_poa->activate_object (cookie_impl); + + CORBA::Object_var object = root_poa->id_to_reference (id.in ()); + + Test::Cook_var cook = Test::Cook::_narrow (object.in ()); + + CORBA::String_var ior = orb->object_to_string (cook.in ()); + + // Output the IOR to the <ior_output_file> + FILE *output_file= ACE_OS::fopen (ior_output_file, "w"); + if (output_file == 0) + ACE_ERROR_RETURN ((LM_ERROR, + "Cannot open output file for writing IOR: %s\n", + ior_output_file), + 1); + ACE_OS::fprintf (output_file, "%s", ior.in ()); + ACE_OS::fclose (output_file); + + poa_manager->activate (); + + orb->run (); + + ACE_DEBUG ((LM_DEBUG, "(%P|%t) server - event loop finished\n")); + + root_poa->destroy (1, 1); + + orb->destroy (); + } + catch (const CORBA::Exception& ex) + { + ex._tao_print_exception ("Server exception caught:"); + return 1; + } + + return 0; +} diff --git a/CIAO/tests/DAnCE/Components/Progressive_exec.h b/CIAO/tests/DAnCE/Components/Progressive_exec.h index 09c0fbc2a35..cc563faa3c2 100644 --- a/CIAO/tests/DAnCE/Components/Progressive_exec.h +++ b/CIAO/tests/DAnCE/Components/Progressive_exec.h @@ -56,7 +56,7 @@ namespace CIAO_Simple_Progressive_Impl ::Simple::CCM_Progressive_Context_ptr); virtual ~Trigger_exec_i (void); - // Operations and attributes from ::Simple::Trigger + // Operations and attributes from Simple::Trigger // TAO_IDL - Generated from // be/be_visitor_operation/operation_ch.cpp:37 diff --git a/CIAO/tests/DAnCE/NodeManager-Deployments/PublishConnectionExplicitHome.cdp b/CIAO/tests/DAnCE/NodeManager-Deployments/PublishConnectionExplicitHome.cdp index 784a675ba07..b0313928731 100644 --- a/CIAO/tests/DAnCE/NodeManager-Deployments/PublishConnectionExplicitHome.cdp +++ b/CIAO/tests/DAnCE/NodeManager-Deployments/PublishConnectionExplicitHome.cdp @@ -185,6 +185,14 @@ <implementation xmi:idref="SimpleConsumerHomeImplementation" /> </instance> + <instance xmi:id="SimpleConsumerHomeInstance2"> + <name>SimpleConsumerHome2</name> + <node>Node</node> + <!-- hostname --> + <source/> + <implementation xmi:idref="SimpleConsumerHomeImplementation" /> + </instance> + <instance xmi:id="SimpleConsumerComponentInstance"> <name>SimpleConsumerComponent</name> <node>Node</node> @@ -204,6 +212,25 @@ </configProperty> </instance> + <instance xmi:id="SimpleConsumerComponentInstance2"> + <name>SimpleConsumerComponent2</name> + <node>Node</node> + <!-- hostname --> + <source/> + <implementation xmi:idref="SimpleConsumerComponentImplementation" /> + <configProperty> + <name>edu.vanderbilt.dre.CIAO.ComponentHomeId</name> + <value> + <type> + <kind>tk_string</kind> + </type> + <value> + <string>SimpleConsumerHome2</string> + </value> + </value> + </configProperty> + </instance> + <connection> <name>TestConnection</name> <internalEndpoint> @@ -219,6 +246,21 @@ <instance xmi:idref="SimpleConsumerComponentInstance" /> </internalEndpoint> </connection> + <connection> + <name>TestConnection2</name> + <internalEndpoint> + <portName>hello_</portName> + <provider>false</provider> + <kind>EventPublisher</kind> + <instance xmi:idref="SimplePublisherComponentInstance" /> + </internalEndpoint> + <internalEndpoint> + <portName>hello_</portName> + <provider>true</provider> + <kind>EventConsumer</kind> + <instance xmi:idref="SimpleConsumerComponentInstance2" /> + </internalEndpoint> + </connection> <!-- Artifacts declarations --> <artifact xmi:id="SimplePublisher_ExecArtifact"> diff --git a/CIAO/tests/DAnCE/PartialShutdown/Base/PartialShutdown.idl b/CIAO/tests/DAnCE/PartialShutdown/Base/PartialShutdown.idl new file mode 100644 index 00000000000..73e59ec1568 --- /dev/null +++ b/CIAO/tests/DAnCE/PartialShutdown/Base/PartialShutdown.idl @@ -0,0 +1,26 @@ +// $Id$ + +/** + * @file PartialShutdown.idl + * @author Marcel Smit <msmit@remedy.nl> + */ + +#ifndef PARTIALSHUTDOWN_IDL_ +#define PARTIALSHUTDOWN_IDL_ + +#include <Components.idl> + +#pragma ciao lem "Base/PartialShutdownE.idl" + +module PartialShutdown +{ + local interface Writer { + void write_line (in string line); + }; + + local interface Reader { + CORBA::StringSeq read_lines (); + }; +}; + +#endif /* PARTIALSHUTDOWN_IDL_ */ diff --git a/CIAO/tests/DAnCE/PartialShutdown/Base/PartialShutdown.mpc b/CIAO/tests/DAnCE/PartialShutdown/Base/PartialShutdown.mpc new file mode 100644 index 00000000000..41ec839bbec --- /dev/null +++ b/CIAO/tests/DAnCE/PartialShutdown/Base/PartialShutdown.mpc @@ -0,0 +1,89 @@ +// $Id$ +// This file is generated with "generate_component_mpc.pl -n PartialShutdown" + +project(PartialShutdown_idl_gen) : componentidldefaults { + custom_only = 1 + idlflags += -Wb,stub_export_macro=PARTIALSHUTDOWN_STUB_Export \ + -Wb,stub_export_include=PartialShutdown_stub_export.h \ + -Wb,skel_export_macro=PARTIALSHUTDOWN_SKEL_Export \ + -Wb,skel_export_include=PartialShutdown_skel_export.h \ + -Wb,exec_export_macro=PARTIALSHUTDOWN_EXEC_Export \ + -Wb,exec_export_include=PartialShutdown_exec_export.h \ + -Gxhex -Gxhsk -Gxhst + + IDL_Files { + PartialShutdown.idl + } +} + +project(PartialShutdown_lem_gen) : ciaoidldefaults, avoids_ccm_noevent { + custom_only = 1 + after += PartialShutdown_idl_gen + idlflags += \ + -Wb,export_macro=PARTIALSHUTDOWN_STUB_Export \ + -Wb,export_include=PartialShutdown_stub_export.h \ + -I.. + + IDL_Files { + PartialShutdownE.idl + } +} + +project(PartialShutdown_stub) : ccm_stub { + after += PartialShutdown_lem_gen + libs += + + libout = ../lib + libpaths += ../lib + + sharedname = PartialShutdown_stub + dynamicflags += PARTIALSHUTDOWN_STUB_BUILD_DLL + + IDL_Files { + } + + Source_Files { + PartialShutdownC.cpp + PartialShutdownEC.cpp + } + + Header_Files { + PartialShutdownC.h + PartialShutdownEC.h + PartialShutdown_stub_export.h + } + + Inline_Files { + PartialShutdownC.inl + } +} + + +project(PartialShutdown_skel) : ciao_executor { + after += PartialShutdown_stub PartialShutdown_lem_stub + sharedname = PartialShutdown_skel + libs += PartialShutdown_stub + + libout = ../lib + libpaths += ../lib + + dynamicflags += PARTIALSHUTDOWN_SKEL_BUILD_DLL + + IDL_Files { + } + + Source_Files { + PartialShutdownS.cpp + } + + Header_Files { + PartialShutdownS.h + PartialShutdown_skel_export.h + } + + Inline_Files { + PartialShutdownS.inl + } +} + + diff --git a/CIAO/tests/DAnCE/PartialShutdown/Component1/Component1.idl b/CIAO/tests/DAnCE/PartialShutdown/Component1/Component1.idl new file mode 100644 index 00000000000..5b4df332640 --- /dev/null +++ b/CIAO/tests/DAnCE/PartialShutdown/Component1/Component1.idl @@ -0,0 +1,29 @@ +// $Id$ + +/** + * @file Component1.idl + * @author Marcel Smit <msmit@remedy.nl> + */ + +#ifndef COMPONENT1_IDL_ +#define COMPONENT1_IDL_ + +#include "Base/PartialShutdown.idl" + +module PartialShutdown +{ + component Component1 + { + uses Writer write_to_comp_2; + uses Writer write_to_comp_3; + + uses Reader read_from_comp_2; + uses Reader read_from_comp_3; + + provides Writer comp_1_writer; + + provides Reader comp_1_reader; + }; +}; + +#endif /* COMPONENT1_IDL_ */ diff --git a/CIAO/tests/DAnCE/PartialShutdown/Component1/Component1.mpc b/CIAO/tests/DAnCE/PartialShutdown/Component1/Component1.mpc new file mode 100755 index 00000000000..bc4fd0d067a --- /dev/null +++ b/CIAO/tests/DAnCE/PartialShutdown/Component1/Component1.mpc @@ -0,0 +1,151 @@ +// $Id$ +// This file is generated with "generate_component_mpc.pl -p PartialShutdown Component1" + +project(PartialShutdown_Component1_idl_gen) : componentidldefaults { + custom_only = 1 + idlflags += -Wb,stub_export_macro=COMPONENT1_STUB_Export \ + -Wb,stub_export_include=Component1_stub_export.h \ + -Wb,skel_export_macro=COMPONENT1_SVNT_Export \ + -Wb,skel_export_include=Component1_svnt_export.h \ + -Wb,exec_export_macro=COMPONENT1_EXEC_Export \ + -Wb,exec_export_include=Component1_exec_export.h \ + -Gxhex -Gxhsk -Gxhst -I.. + + IDL_Files { + Component1.idl + } +} + +project(PartialShutdown_Component1_lem_gen) : ciaoidldefaults { + after += PartialShutdown_Component1_idl_gen + custom_only = 1 + idlflags += -Wb,stub_export_macro=COMPONENT1_LEM_STUB_Export \ + -Wb,stub_export_include=Component1_lem_stub_export.h \ + -SS -Gxhst -I.. + + IDL_Files { + Component1E.idl + } +} + +project(PartialShutdown_Component1_lem_stub) : ccm_svnt { + after += PartialShutdown_Component1_lem_gen PartialShutdown_Component1_stub \ + PartialShutdown_stub + libs += PartialShutdown_stub Component1_stub + + includes += .. + + libout = ../lib + libpaths += ../lib + + sharedname = Component1_lem_stub + dynamicflags += COMPONENT1_LEM_STUB_BUILD_DLL + + IDL_Files { + } + + Source_Files { + Component1EC.cpp + } + + Header_Files { + Component1EC.h + Component1_lem_stub_export.h + } + + Inline_Files { + Component1EC.inl + } +} + +project(PartialShutdown_Component1_stub) : ccm_stub { + after += PartialShutdown_Component1_idl_gen PartialShutdown_stub + libs += PartialShutdown_stub + + includes += .. + + libout = ../lib + libpaths += ../lib + + sharedname = Component1_stub + dynamicflags += COMPONENT1_STUB_BUILD_DLL + + IDL_Files { + } + + Source_Files { + Component1C.cpp + } + + Header_Files { + Component1C.h + Component1_stub_export.h + } + + Inline_Files { + Component1C.inl + } +} + +project(PartialShutdown_Component1_exec) : ciao_executor { + after += PartialShutdown_Component1_lem_stub PartialShutdown_Component1_stub + sharedname = Component1_exec + libs += Component1_stub Component1_lem_stub PartialShutdown_stub + + includes += .. + + libout = ../lib + libpaths += ../lib + + dynamicflags += COMPONENT1_EXEC_BUILD_DLL + + IDL_Files { + } + + Source_Files { + Component1_exec.cpp + } + + Header_Files { + Component1_exec.h + Component1_exec_export.h + } + + Inline_Files { + } +} + + +project(PartialShutdown_Component1_svnt) : ciao_servant { + after += PartialShutdown_Component1_lem_stub \ + PartialShutdown_Component1_lem_stub + sharedname = Component1_svnt + libs += Component1_stub Component1_lem_stub PartialShutdown_stub + + includes += .. + + libout = ../lib + libpaths += ../lib + + dynamicflags += COMPONENT1_SVNT_BUILD_DLL + + IDL_Files { + } + + Source_Files { + Component1S.cpp + Component1_svnt.cpp + } + + Header_Files { + Component1S.h + Component1_svnt.h + Component1_svnt_export.h + } + + Inline_Files { + Component1S.inl + } +} + + diff --git a/CIAO/tests/DAnCE/PartialShutdown/Component1/Component1_exec.cpp b/CIAO/tests/DAnCE/PartialShutdown/Component1/Component1_exec.cpp new file mode 100644 index 00000000000..087c39bd758 --- /dev/null +++ b/CIAO/tests/DAnCE/PartialShutdown/Component1/Component1_exec.cpp @@ -0,0 +1,431 @@ +// -*- C++ -*- +// $Id$ + +/** + * Code generated by the The ACE ORB (TAO) IDL Compiler v2.0.0 + * 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 + **/ + +#include "Component1_exec.h" +#include "tao/ORB_Core.h" +#include "ace/Reactor.h" + +namespace CIAO_PartialShutdown_Component1_Impl +{ + /** + * WriteTicker + */ + + WriteTicker::WriteTicker (Component1_exec_i &callback) + : callback_ (callback) + { + } + + int + WriteTicker::handle_timeout (const ACE_Time_Value &, const void *) + { + // Notify the subscribers + this->callback_.write_all (); + return 0; + } + + /** + * ReadTicker + */ + + ReadTicker::ReadTicker (Component1_exec_i &callback) + : callback_ (callback) + { + } + + int + ReadTicker::handle_timeout (const ACE_Time_Value &, const void *) + { + // Notify the subscribers + this->callback_.read_all (); + return 0; + } + + /** + * Facet Executor Implementation Class: comp_1_writer_exec_i + */ + + comp_1_writer_exec_i::comp_1_writer_exec_i ( + ::PartialShutdown::CCM_Component1_Context_ptr ctx, + Component1_exec_i & callback) + : ciao_context_ ( + ::PartialShutdown::CCM_Component1_Context::_duplicate (ctx)) + , callback_ (callback) + { + } + + comp_1_writer_exec_i::~comp_1_writer_exec_i (void) + { + } + + // Operations from ::PartialShutdown::Writer + + void + comp_1_writer_exec_i::write_line (const char * line) + { + this->callback_.write_line (line); + } + + /** + * Facet Executor Implementation Class: comp_1_reader_exec_i + */ + + comp_1_reader_exec_i::comp_1_reader_exec_i ( + ::PartialShutdown::CCM_Component1_Context_ptr ctx, + Component1_exec_i & callback) + : ciao_context_ ( + ::PartialShutdown::CCM_Component1_Context::_duplicate (ctx)) + , callback_ (callback) + { + } + + comp_1_reader_exec_i::~comp_1_reader_exec_i (void) + { + } + + // Operations from ::PartialShutdown::Reader + + ::CORBA::StringSeq * + comp_1_reader_exec_i::read_lines (void) + { + return this->callback_.read_lines (); + } + + /** + * Component Executor Implementation Class: Component1_exec_i + */ + + Component1_exec_i::Component1_exec_i (void) + { + ACE_NEW_THROW_EX (this->write_ticker_, + WriteTicker (*this), + ::CORBA::NO_MEMORY ()); + ACE_NEW_THROW_EX (this->read_ticker_, + ReadTicker (*this), + ::CORBA::NO_MEMORY ()); + } + + Component1_exec_i::~Component1_exec_i (void) + { + delete this->write_ticker_; + delete this->read_ticker_; + if (!::CORBA::is_nil (this->ciao_context_.in ())) + { + PartialShutdown::Reader_var read_from_comp_2 = + this->ciao_context_->get_connection_read_from_comp_2 (); + if (!::CORBA::is_nil (read_from_comp_2.in ())) + { + ACE_ERROR ((LM_ERROR, "Component1_exec_i::~Component1_exec_i - " + "ERROR: Read interface of component 2 still valid\n")); + } + else + { + ACE_DEBUG ((LM_DEBUG, "Component1_exec_i::~Component1_exec_i - " + "OK: Read interface of component 2 is not valid\n")); + } + PartialShutdown::Reader_var read_from_comp_3 = + this->ciao_context_->get_connection_read_from_comp_3 (); + if (!::CORBA::is_nil (read_from_comp_3.in ())) + { + ACE_ERROR ((LM_ERROR, "Component1_exec_i::~Component1_exec_i - " + "ERROR: Read interface of component 3 still valid\n")); + } + else + { + ACE_DEBUG ((LM_DEBUG, "Component1_exec_i::~Component1_exec_i - " + "OK: Read interface of component 3 is not valid\n")); + } + + PartialShutdown::Writer_var writer_to_comp_2 = + this->ciao_context_->get_connection_write_to_comp_2 (); + if (!::CORBA::is_nil (writer_to_comp_2.in ())) + { + ACE_ERROR ((LM_ERROR, "Component1_exec_i::~Component1_exec_i - " + "ERROR: Write interface of component 2 still valid\n")); + } + else + { + ACE_DEBUG ((LM_DEBUG, "Component1_exec_i::~Component1_exec_i - " + "OK: Write interface of component 2 is not valid\n")); + } + + PartialShutdown::Writer_var writer_to_comp_3 = + this->ciao_context_->get_connection_write_to_comp_3 (); + if (!::CORBA::is_nil (writer_to_comp_3.in ())) + { + ACE_ERROR ((LM_ERROR, "Component1_exec_i::~Component1_exec_i - " + "ERROR: Write interface of component 3 still valid\n")); + } + else + { + ACE_DEBUG ((LM_DEBUG, "Component1_exec_i::~Component1_exec_i - " + "OK: Write interface of component 3 is not valid\n")); + } + } + } + + // Supported operations and attributes. + ACE_Reactor* + Component1_exec_i::reactor (void) + { + ACE_Reactor* reactor = 0; + ::CORBA::Object_var ccm_object = + this->ciao_context_->get_CCM_object(); + if (! ::CORBA::is_nil (ccm_object.in ())) + { + ::CORBA::ORB_var orb = ccm_object->_get_orb (); + if (! ::CORBA::is_nil (orb.in ())) + { + reactor = orb->orb_core ()->reactor (); + } + } + if (reactor == 0) + { + throw ::CORBA::INTERNAL (); + } + return reactor; + } + + void Component1_exec_i::read_all (void) + { + PartialShutdown::Reader_var read_from_comp_2 = + this->ciao_context_->get_connection_read_from_comp_2 (); + if (::CORBA::is_nil (read_from_comp_2.in ())) + { + ACE_ERROR ((LM_ERROR, "Component1_exec_i::read_all - " + "ERROR: Reader of component 2 seems NIL\n")); + } + else + { + ::CORBA::StringSeq_var strings_from_2 = + read_from_comp_2->read_lines (); + for (::CORBA::ULong i = 0; i < strings_from_2->length (); ++i) + { + ACE_DEBUG ((LM_DEBUG, "COMPONENT1: READ FROM COMPONENT2 : %C\n", + strings_from_2[i].in ())); + } + } + + PartialShutdown::Reader_var read_from_comp_3 = + this->ciao_context_->get_connection_read_from_comp_3 (); + if (::CORBA::is_nil (read_from_comp_3.in ())) + { + ACE_DEBUG ((LM_DEBUG, "Component1_exec_i::read_all - " + "Reader of component 3 seems NIL\n")); + } + else + { + ::CORBA::StringSeq_var strings_from_3 = + read_from_comp_3->read_lines (); + for (::CORBA::ULong i = 0; i < strings_from_3->length (); ++i) + { + ACE_DEBUG ((LM_DEBUG, "COMPONENT1: READ FROM COMPONENT3 : %C\n", + strings_from_3[i].in ())); + } + } + } + + void Component1_exec_i::write_all (void) + { + const char * str_to_comp_2 = "FROM COMPONENT1 TO COMPONENT2"; + const char * str_to_comp_3 = "FROM COMPONENT1 TO COMPONENT3"; + + PartialShutdown::Writer_var writer_to_comp_2 = + this->ciao_context_->get_connection_write_to_comp_2 (); + if (::CORBA::is_nil (writer_to_comp_2.in ())) + { + ACE_ERROR ((LM_ERROR, "Component1_exec_i::write_all - " + "ERROR: Writer to component 2 seems NIL\n")); + } + else + { + writer_to_comp_2->write_line (str_to_comp_2); + } + + PartialShutdown::Writer_var writer_to_comp_3 = + this->ciao_context_->get_connection_write_to_comp_3 (); + + if (::CORBA::is_nil (writer_to_comp_3.in ())) + { + ACE_DEBUG ((LM_DEBUG, "Component1_exec_i::write_all - " + "Writer to component 3 seems NIL\n")); + } + else + { + writer_to_comp_3->write_line (str_to_comp_3); + } + } + + void + Component1_exec_i::write_line (const char* line) + { + ACE_GUARD_THROW_EX (TAO_SYNCH_MUTEX, _guard, + this->mutex_, CORBA::INTERNAL ()); + { + ACE_DEBUG ((LM_DEBUG, "Component1_exec_i::write_line - " + "New line: <%C>\n", + line)); + this->strings_.push_back (line); + } + } + + + ::CORBA::StringSeq * + Component1_exec_i::read_lines (void) + { + CORBA::StringSeq *args = 0; + ACE_NEW_THROW_EX (args, + CORBA::StringSeq, + CORBA::NO_MEMORY ()); + + CORBA::StringSeq_var safe_args (args); + + // Copy the argument vector to the string sequence. + + args->length (this->strings_.size ()); + for (::CORBA::ULong i = 0; i < this->strings_.size (); ++i) + { + (*args)[i] = CORBA::string_dup (this->strings_[i]); + } + + return safe_args._retn (); + } + + // Component attributes and port operations. + + ::PartialShutdown::CCM_Writer_ptr + Component1_exec_i::get_comp_1_writer (void) + { + if ( ::CORBA::is_nil (this->ciao_comp_1_writer_.in ())) + { + comp_1_writer_exec_i *tmp = 0; + ACE_NEW_RETURN ( + tmp, + comp_1_writer_exec_i ( + this->ciao_context_.in (), + *this), + ::PartialShutdown::CCM_Writer::_nil ()); + + this->ciao_comp_1_writer_ = tmp; + } + + return + ::PartialShutdown::CCM_Writer::_duplicate ( + this->ciao_comp_1_writer_.in ()); + } + + ::PartialShutdown::CCM_Reader_ptr + Component1_exec_i::get_comp_1_reader (void) + { + if ( ::CORBA::is_nil (this->ciao_comp_1_reader_.in ())) + { + comp_1_reader_exec_i *tmp = 0; + ACE_NEW_RETURN ( + tmp, + comp_1_reader_exec_i ( + this->ciao_context_.in (), + *this), + ::PartialShutdown::CCM_Reader::_nil ()); + + this->ciao_comp_1_reader_ = tmp; + } + + return + ::PartialShutdown::CCM_Reader::_duplicate ( + this->ciao_comp_1_reader_.in ()); + } + + // Operations from Components::SessionComponent. + + void + Component1_exec_i::set_session_context ( + ::Components::SessionContext_ptr ctx) + { + this->ciao_context_ = + ::PartialShutdown::CCM_Component1_Context::_narrow (ctx); + + if ( ::CORBA::is_nil (this->ciao_context_.in ())) + { + throw ::CORBA::INTERNAL (); + } + } + + void + Component1_exec_i::configuration_complete (void) + { + /* Your code here. */ + } + + void + Component1_exec_i::ccm_activate (void) + { + if (this->reactor ()->schedule_timer ( + this->write_ticker_, + 0, + ACE_Time_Value (5, 0), + ACE_Time_Value (1, 0)) == -1) + { + ACE_ERROR ((LM_ERROR, ACE_TEXT ("Sender_exec_i::start : ") + ACE_TEXT ("Error scheduling write ticker\n"))); + } + if (this->reactor ()->schedule_timer ( + this->read_ticker_, + 0, + ACE_Time_Value (5, 0), + ACE_Time_Value (1, 0)) == -1) + { + ACE_ERROR ((LM_ERROR, ACE_TEXT ("Sender_exec_i::start : ") + ACE_TEXT ("Error scheduling read ticker\n"))); + } + } + + void + Component1_exec_i::ccm_passivate (void) + { + this->reactor ()->cancel_timer (this->write_ticker_); + this->reactor ()->cancel_timer (this->read_ticker_); + } + + void + Component1_exec_i::ccm_remove (void) + { + /* Your code here. */ + } + + extern "C" COMPONENT1_EXEC_Export ::Components::EnterpriseComponent_ptr + create_PartialShutdown_Component1_Impl (void) + { + ::Components::EnterpriseComponent_ptr retval = + ::Components::EnterpriseComponent::_nil (); + + ACE_NEW_NORETURN ( + retval, + Component1_exec_i); + + return retval; + } +} diff --git a/CIAO/tests/DAnCE/PartialShutdown/Component1/Component1_exec.h b/CIAO/tests/DAnCE/PartialShutdown/Component1/Component1_exec.h new file mode 100644 index 00000000000..909af1656b4 --- /dev/null +++ b/CIAO/tests/DAnCE/PartialShutdown/Component1/Component1_exec.h @@ -0,0 +1,207 @@ +// -*- C++ -*- +// $Id$ + +/** + * Code generated by the The ACE ORB (TAO) IDL Compiler v2.0.0 + * 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 + **/ +#ifndef CIAO_COMPONENT1_EXEC_CACZYE_H_ +#define CIAO_COMPONENT1_EXEC_CACZYE_H_ + +#include /**/ "ace/pre.h" + +#include "Component1EC.h" + +#if !defined (ACE_LACKS_PRAGMA_ONCE) +# pragma once +#endif /* ACE_LACKS_PRAGMA_ONCE */ + +#include /**/ "Component1_exec_export.h" +#include "tao/LocalObject.h" + +#include <vector> + +namespace CIAO_PartialShutdown_Component1_Impl +{ + class Component1_exec_i; + + /** + * WriteTicker + */ + + class WriteTicker : + public ACE_Event_Handler + { + public: + WriteTicker (Component1_exec_i &callback); + int handle_timeout (const ACE_Time_Value &, const void *); + private: + /// Maintains a handle that actually process the event + Component1_exec_i &callback_; + }; + + /** + * ReadTicker + */ + + class ReadTicker : + public ACE_Event_Handler + { + public: + ReadTicker (Component1_exec_i &callback); + int handle_timeout (const ACE_Time_Value &, const void *); + private: + /// Maintains a handle that actually process the event + Component1_exec_i &callback_; + }; + + /** + * Provider Executor Implementation Class: comp_1_writer_exec_i + */ + + class comp_1_writer_exec_i + : public virtual ::PartialShutdown::CCM_Writer, + public virtual ::CORBA::LocalObject + { + public: + comp_1_writer_exec_i ( + ::PartialShutdown::CCM_Component1_Context_ptr ctx, + Component1_exec_i & callback); + virtual ~comp_1_writer_exec_i (void); + + //@{ + /** Operations and attributes from PartialShutdown::Writer. */ + + virtual + void write_line (const char * line); + //@} + + private: + ::PartialShutdown::CCM_Component1_Context_var ciao_context_; + Component1_exec_i & callback_; + }; + + /** + * Provider Executor Implementation Class: comp_1_reader_exec_i + */ + + class comp_1_reader_exec_i + : public virtual ::PartialShutdown::CCM_Reader, + public virtual ::CORBA::LocalObject + { + public: + comp_1_reader_exec_i ( + ::PartialShutdown::CCM_Component1_Context_ptr ctx, + Component1_exec_i & callback); + virtual ~comp_1_reader_exec_i (void); + + //@{ + /** Operations and attributes from PartialShutdown::Reader. */ + virtual + ::CORBA::StringSeq * read_lines (void); + //@} + + private: + ::PartialShutdown::CCM_Component1_Context_var ciao_context_; + Component1_exec_i & callback_; + }; + + /** + * Component Executor Implementation Class: Component1_exec_i + */ + + class Component1_exec_i + : public virtual Component1_Exec, + public virtual ::CORBA::LocalObject + { + public: + Component1_exec_i (void); + virtual ~Component1_exec_i (void); + + //@{ + /** Supported operations and attributes. */ + + //@} + + //@{ + /** Component attributes and port operations. */ + + virtual ::PartialShutdown::CCM_Writer_ptr + get_comp_1_writer (void); + + virtual ::PartialShutdown::CCM_Reader_ptr + get_comp_1_reader (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); + //@} + + //@{ + /** User defined public operations. */ + void read_all (void); + void write_all (void); + + void write_line (const char * line); + ::CORBA::StringSeq * read_lines (void); + //@} + + private: + ::PartialShutdown::CCM_Component1_Context_var ciao_context_; + + //@{ + /** Component attributes. */ + ::PartialShutdown::CCM_Writer_var ciao_comp_1_writer_; + ::PartialShutdown::CCM_Reader_var ciao_comp_1_reader_; + //@} + + //@{ + /** User defined members. */ + WriteTicker * write_ticker_; + ReadTicker * read_ticker_; + + TAO_SYNCH_MUTEX mutex_; + typedef std::vector <const char *> Strings; + Strings strings_; + //@} + + //@{ + /** User defined private operations. */ + + //@} + + /// Get the ACE_Reactor + ACE_Reactor* reactor (void); + }; + + extern "C" COMPONENT1_EXEC_Export ::Components::EnterpriseComponent_ptr + create_PartialShutdown_Component1_Impl (void); +} + +#include /**/ "ace/post.h" + +#endif /* ifndef */ diff --git a/CIAO/tests/DAnCE/PartialShutdown/Component2/Component2.idl b/CIAO/tests/DAnCE/PartialShutdown/Component2/Component2.idl new file mode 100644 index 00000000000..0cd9e01f32d --- /dev/null +++ b/CIAO/tests/DAnCE/PartialShutdown/Component2/Component2.idl @@ -0,0 +1,29 @@ +// $Id$ + +/** + * @file Component2.idl + * @author Marcel Smit <msmit@remedy.nl> + */ + +#ifndef COMPONENT2_IDL_ +#define COMPONENT2_IDL_ + +#include "Base/PartialShutdown.idl" + +module PartialShutdown +{ + component Component2 + { + uses Writer write_to_comp_1; + uses Writer write_to_comp_3; + + uses Reader read_from_comp_1; + uses Reader read_from_comp_3; + + provides Writer comp_2_writer; + + provides Reader comp_2_reader; + }; +}; + +#endif /* COMPONENT2_IDL_ */ diff --git a/CIAO/tests/DAnCE/PartialShutdown/Component2/Component2.mpc b/CIAO/tests/DAnCE/PartialShutdown/Component2/Component2.mpc new file mode 100755 index 00000000000..393d13e9121 --- /dev/null +++ b/CIAO/tests/DAnCE/PartialShutdown/Component2/Component2.mpc @@ -0,0 +1,149 @@ +// $Id$ +// This file is generated with "generate_component_mpc.pl -p PartialShutdown Component2" + +project(PartialShutdown_Component2_idl_gen) : componentidldefaults { + custom_only = 1 + idlflags += -Wb,stub_export_macro=COMPONENT2_STUB_Export \ + -Wb,stub_export_include=Component2_stub_export.h \ + -Wb,skel_export_macro=COMPONENT2_SVNT_Export \ + -Wb,skel_export_include=Component2_svnt_export.h \ + -Wb,exec_export_macro=COMPONENT2_EXEC_Export \ + -Wb,exec_export_include=Component2_exec_export.h \ + -Gxhex -Gxhsk -Gxhst -I.. + + IDL_Files { + Component2.idl + } +} + +project(PartialShutdown_Component2_lem_gen) : ciaoidldefaults { + after += PartialShutdown_Component2_idl_gen + custom_only = 1 + idlflags += -Wb,stub_export_macro=COMPONENT2_LEM_STUB_Export \ + -Wb,stub_export_include=Component2_lem_stub_export.h \ + -SS -Gxhst -I.. + + IDL_Files { + Component2E.idl + } +} + +project(PartialShutdown_Component2_lem_stub) : ccm_svnt { + after += PartialShutdown_Component2_lem_gen PartialShutdown_Component2_stub PartialShutdown_stub + libs += PartialShutdown_stub Component2_stub + + includes += .. + + libout = ../lib + libpaths += ../lib + + sharedname = Component2_lem_stub + dynamicflags += COMPONENT2_LEM_STUB_BUILD_DLL + + IDL_Files { + } + + Source_Files { + Component2EC.cpp + } + + Header_Files { + Component2EC.h + Component2_lem_stub_export.h + } + + Inline_Files { + Component2EC.inl + } +} + +project(PartialShutdown_Component2_stub) : ccm_stub { + after += PartialShutdown_Component2_idl_gen PartialShutdown_stub + libs += PartialShutdown_stub + + includes += .. + + libout = ../lib + libpaths += ../lib + + sharedname = Component2_stub + dynamicflags += COMPONENT2_STUB_BUILD_DLL + + IDL_Files { + } + + Source_Files { + Component2C.cpp + } + + Header_Files { + Component2C.h + Component2_stub_export.h + } + + Inline_Files { + Component2C.inl + } +} + +project(PartialShutdown_Component2_exec) : ciao_executor { + after += PartialShutdown_Component2_lem_stub PartialShutdown_Component2_stub + sharedname = Component2_exec + libs += Component2_stub Component2_lem_stub PartialShutdown_stub + + includes += .. + + libout = ../lib + libpaths += ../lib + + dynamicflags += COMPONENT2_EXEC_BUILD_DLL + + IDL_Files { + } + + Source_Files { + Component2_exec.cpp + } + + Header_Files { + Component2_exec.h + Component2_exec_export.h + } + + Inline_Files { + } +} + + +project(PartialShutdown_Component2_svnt) : ciao_servant { + after += PartialShutdown_Component2_lem_stub + sharedname = Component2_svnt + libs += Component2_stub Component2_lem_stub PartialShutdown_stub + + includes += .. + + libout = ../lib + libpaths += ../lib + + dynamicflags += COMPONENT2_SVNT_BUILD_DLL + + IDL_Files { + } + + Source_Files { + Component2S.cpp + Component2_svnt.cpp + } + + Header_Files { + Component2S.h + Component2_svnt.h + Component2_svnt_export.h + } + + Inline_Files { + Component2S.inl + } +} + + diff --git a/CIAO/tests/DAnCE/PartialShutdown/Component2/Component2_exec.cpp b/CIAO/tests/DAnCE/PartialShutdown/Component2/Component2_exec.cpp new file mode 100644 index 00000000000..81be92a6023 --- /dev/null +++ b/CIAO/tests/DAnCE/PartialShutdown/Component2/Component2_exec.cpp @@ -0,0 +1,431 @@ +// -*- C++ -*- +// $Id$ + +/** + * Code generated by the The ACE ORB (TAO) IDL Compiler v2.0.0 + * 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 + **/ + +#include "Component2_exec.h" +#include "tao/ORB_Core.h" +#include "ace/Reactor.h" + +namespace CIAO_PartialShutdown_Component2_Impl +{ + + /** + * WriteTicker + */ + + WriteTicker::WriteTicker (Component2_exec_i &callback) + : callback_ (callback) + { + } + + int + WriteTicker::handle_timeout (const ACE_Time_Value &, const void *) + { + // Notify the subscribers + this->callback_.write_all (); + return 0; + } + + /** + * ReadTicker + */ + + ReadTicker::ReadTicker (Component2_exec_i &callback) + : callback_ (callback) + { + } + + int + ReadTicker::handle_timeout (const ACE_Time_Value &, const void *) + { + // Notify the subscribers + this->callback_.read_all (); + return 0; + } + + /** + * Facet Executor Implementation Class: comp_2_writer_exec_i + */ + + comp_2_writer_exec_i::comp_2_writer_exec_i ( + ::PartialShutdown::CCM_Component2_Context_ptr ctx, + Component2_exec_i & callback) + : ciao_context_ ( + ::PartialShutdown::CCM_Component2_Context::_duplicate (ctx)) + , callback_(callback) + { + } + + comp_2_writer_exec_i::~comp_2_writer_exec_i (void) + { + } + + // Operations from ::PartialShutdown::Writer + + void + comp_2_writer_exec_i::write_line (const char * line) + { + this->callback_.write_line(line); + } + + /** + * Facet Executor Implementation Class: comp_2_reader_exec_i + */ + + comp_2_reader_exec_i::comp_2_reader_exec_i ( + ::PartialShutdown::CCM_Component2_Context_ptr ctx, + Component2_exec_i & callback) + : ciao_context_ ( + ::PartialShutdown::CCM_Component2_Context::_duplicate (ctx)) + , callback_(callback) + { + } + + comp_2_reader_exec_i::~comp_2_reader_exec_i (void) + { + } + + // Operations from ::PartialShutdown::Reader + + ::CORBA::StringSeq * + comp_2_reader_exec_i::read_lines (void) + { + return this->callback_.read_lines (); + } + + /** + * Component Executor Implementation Class: Component2_exec_i + */ + + Component2_exec_i::Component2_exec_i (void) + { + ACE_NEW_THROW_EX (this->write_ticker_, + WriteTicker (*this), + ::CORBA::NO_MEMORY ()); + ACE_NEW_THROW_EX (this->read_ticker_, + ReadTicker (*this), + ::CORBA::NO_MEMORY ()); + } + + Component2_exec_i::~Component2_exec_i (void) + { + delete this->write_ticker_; + delete this->read_ticker_; + if (!::CORBA::is_nil (this->ciao_context_.in ())) + { + PartialShutdown::Reader_var read_from_comp_1 = + this->ciao_context_->get_connection_read_from_comp_1 (); + if (!::CORBA::is_nil (read_from_comp_1.in ())) + { + ACE_ERROR ((LM_ERROR, "Component2_exec_i::~Component2_exec_i - " + "ERROR: Read interface of component 1 still valid\n")); + } + else + { + ACE_DEBUG ((LM_DEBUG, "Component2_exec_i::~Component2_exec_i - " + "OK: Read interface of component 1 is not valid\n")); + } + PartialShutdown::Reader_var read_from_comp_3 = + this->ciao_context_->get_connection_read_from_comp_3 (); + if (!::CORBA::is_nil (read_from_comp_3.in ())) + { + ACE_ERROR ((LM_ERROR, "Component2_exec_i::~Component2_exec_i - " + "ERROR: Read interface of component 3 still valid\n")); + } + else + { + ACE_DEBUG ((LM_DEBUG, "Component2_exec_i::~Component2_exec_i - " + "OK: Read interface of component 3 is not valid\n")); + } + + PartialShutdown::Writer_var writer_to_comp_1 = + this->ciao_context_->get_connection_write_to_comp_1 (); + if (!::CORBA::is_nil (writer_to_comp_1.in ())) + { + ACE_ERROR ((LM_ERROR, "Component2_exec_i::~Component2_exec_i - " + "ERROR: Write interface of component 1 still valid\n")); + } + else + { + ACE_DEBUG ((LM_DEBUG, "Component2_exec_i::~Component2_exec_i - " + "OK: Write interface of component 1 is not valid\n")); + } + + PartialShutdown::Writer_var writer_to_comp_3 = + this->ciao_context_->get_connection_write_to_comp_3 (); + if (!::CORBA::is_nil (writer_to_comp_3.in ())) + { + ACE_ERROR ((LM_ERROR, "Component2_exec_i::~Component2_exec_i - " + "ERROR: Write interface of component 3 still valid\n")); + } + else + { + ACE_DEBUG ((LM_DEBUG, "Component2_exec_i::~Component2_exec_i - " + "OK: Write interface of component 3 is not valid\n")); + } + } + } + + // Supported operations and attributes. + ACE_Reactor* + Component2_exec_i::reactor (void) + { + ACE_Reactor* reactor = 0; + ::CORBA::Object_var ccm_object = + this->ciao_context_->get_CCM_object(); + if (! ::CORBA::is_nil (ccm_object.in ())) + { + ::CORBA::ORB_var orb = ccm_object->_get_orb (); + if (! ::CORBA::is_nil (orb.in ())) + { + reactor = orb->orb_core ()->reactor (); + } + } + if (reactor == 0) + { + throw ::CORBA::INTERNAL (); + } + return reactor; + } + + void Component2_exec_i::read_all (void) + { + PartialShutdown::Reader_var read_from_comp_1 = + this->ciao_context_->get_connection_read_from_comp_1 (); + if (::CORBA::is_nil (read_from_comp_1.in ())) + { + ACE_ERROR ((LM_ERROR, "Component2_exec_i::read_all - " + "ERROR: Reader of component 1 seems NIL\n")); + } + else + { + ::CORBA::StringSeq_var strings_from_1 = + read_from_comp_1->read_lines (); + for (::CORBA::ULong i = 0; i < strings_from_1->length (); ++i) + { + ACE_DEBUG ((LM_DEBUG, "COMPONENT2: READ FROM COMPONENT1 : %C\n", + strings_from_1[i].in ())); + } + } + + PartialShutdown::Reader_var read_from_comp_3 = + this->ciao_context_->get_connection_read_from_comp_3 (); + if (::CORBA::is_nil (read_from_comp_3.in ())) + { + ACE_DEBUG ((LM_DEBUG, "Component2_exec_i::read_all - " + "Reader of component 3 seems NIL\n")); + } + else + { + ::CORBA::StringSeq_var strings_from_3 = + read_from_comp_3->read_lines (); + for (::CORBA::ULong i = 0; i < strings_from_3->length (); ++i) + { + ACE_DEBUG ((LM_DEBUG, "COMPONENT2: READ FROM COMPONENT3 : %C\n", + strings_from_3[i].in ())); + } + } + } + + void Component2_exec_i::write_all (void) + { + const char * str_to_comp_1 = "FROM COMPONENT2 TO COMPONENT1"; + const char * str_to_comp_3 = "FROM COMPONENT2 TO COMPONENT3"; + + PartialShutdown::Writer_var writer_to_comp_1 = + this->ciao_context_->get_connection_write_to_comp_1 (); + if (::CORBA::is_nil (writer_to_comp_1.in ())) + { + ACE_ERROR ((LM_ERROR, "Component2_exec_i::write_all - " + "ERROR: Writer to component 1 seems NIL\n")); + } + else + { + writer_to_comp_1->write_line (str_to_comp_1); + } + + PartialShutdown::Writer_var writer_to_comp_3 = + this->ciao_context_->get_connection_write_to_comp_3 (); + + if (::CORBA::is_nil (writer_to_comp_3.in ())) + { + ACE_DEBUG ((LM_DEBUG, "Component2_exec_i::write_all - " + "Writer to component 3 seems NIL\n")); + } + else + { + writer_to_comp_3->write_line (str_to_comp_3); + } + } + + void + Component2_exec_i::write_line (const char* line) + { + ACE_GUARD_THROW_EX (TAO_SYNCH_MUTEX, _guard, + this->mutex_, CORBA::INTERNAL ()); + { + ACE_DEBUG ((LM_DEBUG, "Component2_exec_i::write_line - " + "New line: <%C>\n", + line)); + this->strings_.push_back (line); + } + } + + + ::CORBA::StringSeq * + Component2_exec_i::read_lines (void) + { + CORBA::StringSeq *args = 0; + ACE_NEW_THROW_EX (args, + CORBA::StringSeq, + CORBA::NO_MEMORY ()); + + CORBA::StringSeq_var safe_args (args); + + // Copy the argument vector to the string sequence. + + args->length (this->strings_.size ()); + for (::CORBA::ULong i = 0; i < this->strings_.size (); ++i) + { + (*args)[i] = CORBA::string_dup (this->strings_[i]); + } + + return safe_args._retn (); + } + // Component attributes and port operations. + + ::PartialShutdown::CCM_Writer_ptr + Component2_exec_i::get_comp_2_writer (void) + { + if ( ::CORBA::is_nil (this->ciao_comp_2_writer_.in ())) + { + comp_2_writer_exec_i *tmp = 0; + ACE_NEW_RETURN ( + tmp, + comp_2_writer_exec_i ( + this->ciao_context_.in (), + *this), + ::PartialShutdown::CCM_Writer::_nil ()); + + this->ciao_comp_2_writer_ = tmp; + } + + return + ::PartialShutdown::CCM_Writer::_duplicate ( + this->ciao_comp_2_writer_.in ()); + } + + ::PartialShutdown::CCM_Reader_ptr + Component2_exec_i::get_comp_2_reader (void) + { + if ( ::CORBA::is_nil (this->ciao_comp_2_reader_.in ())) + { + comp_2_reader_exec_i *tmp = 0; + ACE_NEW_RETURN ( + tmp, + comp_2_reader_exec_i ( + this->ciao_context_.in (), + *this), + ::PartialShutdown::CCM_Reader::_nil ()); + + this->ciao_comp_2_reader_ = tmp; + } + + return + ::PartialShutdown::CCM_Reader::_duplicate ( + this->ciao_comp_2_reader_.in ()); + } + + // Operations from Components::SessionComponent. + + void + Component2_exec_i::set_session_context ( + ::Components::SessionContext_ptr ctx) + { + this->ciao_context_ = + ::PartialShutdown::CCM_Component2_Context::_narrow (ctx); + + if ( ::CORBA::is_nil (this->ciao_context_.in ())) + { + throw ::CORBA::INTERNAL (); + } + } + + void + Component2_exec_i::configuration_complete (void) + { + /* Your code here. */ + } + + void + Component2_exec_i::ccm_activate (void) + { + if (this->reactor ()->schedule_timer ( + this->write_ticker_, + 0, + ACE_Time_Value (5, 0), + ACE_Time_Value (1, 0)) == -1) + { + ACE_ERROR ((LM_ERROR, ACE_TEXT ("Sender_exec_i::start : ") + ACE_TEXT ("Error scheduling write ticker\n"))); + } + if (this->reactor ()->schedule_timer ( + this->read_ticker_, + 0, + ACE_Time_Value (5, 0), + ACE_Time_Value (1, 0)) == -1) + { + ACE_ERROR ((LM_ERROR, ACE_TEXT ("Sender_exec_i::start : ") + ACE_TEXT ("Error scheduling read ticker\n"))); + } + } + + void + Component2_exec_i::ccm_passivate (void) + { + this->reactor ()->cancel_timer (this->write_ticker_); + this->reactor ()->cancel_timer (this->read_ticker_); + } + + void + Component2_exec_i::ccm_remove (void) + { + /* Your code here. */ + } + + extern "C" COMPONENT2_EXEC_Export ::Components::EnterpriseComponent_ptr + create_PartialShutdown_Component2_Impl (void) + { + ::Components::EnterpriseComponent_ptr retval = + ::Components::EnterpriseComponent::_nil (); + + ACE_NEW_NORETURN ( + retval, + Component2_exec_i); + + return retval; + } +} diff --git a/CIAO/tests/DAnCE/PartialShutdown/Component2/Component2_exec.h b/CIAO/tests/DAnCE/PartialShutdown/Component2/Component2_exec.h new file mode 100644 index 00000000000..a1201914d12 --- /dev/null +++ b/CIAO/tests/DAnCE/PartialShutdown/Component2/Component2_exec.h @@ -0,0 +1,208 @@ +// -*- C++ -*- +// $Id$ + +/** + * Code generated by the The ACE ORB (TAO) IDL Compiler v2.0.0 + * 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 + **/ +#ifndef CIAO_COMPONENT2_EXEC_M1RLIS_H_ +#define CIAO_COMPONENT2_EXEC_M1RLIS_H_ + +#include /**/ "ace/pre.h" + +#include "Component2EC.h" + +#if !defined (ACE_LACKS_PRAGMA_ONCE) +# pragma once +#endif /* ACE_LACKS_PRAGMA_ONCE */ + +#include /**/ "Component2_exec_export.h" +#include "tao/LocalObject.h" + +#include <vector> + +namespace CIAO_PartialShutdown_Component2_Impl +{ + class Component2_exec_i; + + /** + * WriteTicker + */ + + class WriteTicker : + public ACE_Event_Handler + { + public: + WriteTicker (Component2_exec_i &callback); + int handle_timeout (const ACE_Time_Value &, const void *); + private: + /// Maintains a handle that actually process the event + Component2_exec_i &callback_; + }; + + /** + * ReadTicker + */ + + class ReadTicker : + public ACE_Event_Handler + { + public: + ReadTicker (Component2_exec_i &callback); + int handle_timeout (const ACE_Time_Value &, const void *); + private: + /// Maintains a handle that actually process the event + Component2_exec_i &callback_; + }; + + /** + * Provider Executor Implementation Class: comp_2_writer_exec_i + */ + + class comp_2_writer_exec_i + : public virtual ::PartialShutdown::CCM_Writer, + public virtual ::CORBA::LocalObject + { + public: + comp_2_writer_exec_i ( + ::PartialShutdown::CCM_Component2_Context_ptr ctx, + Component2_exec_i &callback); + virtual ~comp_2_writer_exec_i (void); + + //@{ + /** Operations and attributes from PartialShutdown::Writer. */ + + virtual + void write_line (const char * line); + //@} + + private: + ::PartialShutdown::CCM_Component2_Context_var ciao_context_; + Component2_exec_i &callback_; + }; + + /** + * Provider Executor Implementation Class: comp_2_reader_exec_i + */ + + class comp_2_reader_exec_i + : public virtual ::PartialShutdown::CCM_Reader, + public virtual ::CORBA::LocalObject + { + public: + comp_2_reader_exec_i ( + ::PartialShutdown::CCM_Component2_Context_ptr ctx, + Component2_exec_i &callback); + virtual ~comp_2_reader_exec_i (void); + + //@{ + /** Operations and attributes from PartialShutdown::Reader. */ + + virtual + ::CORBA::StringSeq * read_lines (void); + //@} + + private: + ::PartialShutdown::CCM_Component2_Context_var ciao_context_; + Component2_exec_i &callback_; + }; + + /** + * Component Executor Implementation Class: Component2_exec_i + */ + + class Component2_exec_i + : public virtual Component2_Exec, + public virtual ::CORBA::LocalObject + { + public: + Component2_exec_i (void); + virtual ~Component2_exec_i (void); + + //@{ + /** Supported operations and attributes. */ + + //@} + + //@{ + /** Component attributes and port operations. */ + + virtual ::PartialShutdown::CCM_Writer_ptr + get_comp_2_writer (void); + + virtual ::PartialShutdown::CCM_Reader_ptr + get_comp_2_reader (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); + //@} + + //@{ + /** User defined public operations. */ + void read_all (void); + void write_all (void); + + void write_line (const char * line); + ::CORBA::StringSeq * read_lines (void); + //@} + + private: + ::PartialShutdown::CCM_Component2_Context_var ciao_context_; + + //@{ + /** Component attributes. */ + ::PartialShutdown::CCM_Writer_var ciao_comp_2_writer_; + ::PartialShutdown::CCM_Reader_var ciao_comp_2_reader_; + //@} + + //@{ + /** User defined members. */ + WriteTicker * write_ticker_; + ReadTicker * read_ticker_; + TAO_SYNCH_MUTEX mutex_; + typedef std::vector <const char *> Strings; + Strings strings_; + + //@} + + //@{ + /** User defined private operations. */ + + //@} + + /// Get the ACE_Reactor + ACE_Reactor* reactor (void); + }; + + extern "C" COMPONENT2_EXEC_Export ::Components::EnterpriseComponent_ptr + create_PartialShutdown_Component2_Impl (void); +} + +#include /**/ "ace/post.h" + +#endif /* ifndef */ diff --git a/CIAO/tests/DAnCE/PartialShutdown/Component3/Component3.idl b/CIAO/tests/DAnCE/PartialShutdown/Component3/Component3.idl new file mode 100644 index 00000000000..1edc514d783 --- /dev/null +++ b/CIAO/tests/DAnCE/PartialShutdown/Component3/Component3.idl @@ -0,0 +1,29 @@ +// $Id$ + +/** + * @file Component3.idl + * @author Marcel Smit <msmit@remedy.nl> + */ + +#ifndef COMPONENT3_IDL_ +#define COMPONENT3_IDL_ + +#include "Base/PartialShutdown.idl" + +module PartialShutdown +{ + component Component3 + { + uses Writer write_to_comp_1; + uses Writer write_to_comp_2; + + uses Reader read_from_comp_1; + uses Reader read_from_comp_2; + + provides Writer comp_3_writer; + + provides Reader comp_3_reader; + }; +}; + +#endif /* COMPONENT3_IDL_ */ diff --git a/CIAO/tests/DAnCE/PartialShutdown/Component3/Component3.mpc b/CIAO/tests/DAnCE/PartialShutdown/Component3/Component3.mpc new file mode 100755 index 00000000000..4d765df747f --- /dev/null +++ b/CIAO/tests/DAnCE/PartialShutdown/Component3/Component3.mpc @@ -0,0 +1,149 @@ +// $Id$ +// This file is generated with "generate_component_mpc.pl -p PartialShutdown Component3" + +project(PartialShutdown_Component3_idl_gen) : componentidldefaults { + custom_only = 1 + idlflags += -Wb,stub_export_macro=COMPONENT3_STUB_Export \ + -Wb,stub_export_include=Component3_stub_export.h \ + -Wb,skel_export_macro=COMPONENT3_SVNT_Export \ + -Wb,skel_export_include=Component3_svnt_export.h \ + -Wb,exec_export_macro=COMPONENT3_EXEC_Export \ + -Wb,exec_export_include=Component3_exec_export.h \ + -Gxhex -Gxhsk -Gxhst -I.. + + IDL_Files { + Component3.idl + } +} + +project(PartialShutdown_Component3_lem_gen) : ciaoidldefaults { + after += PartialShutdown_Component3_idl_gen + custom_only = 1 + idlflags += -Wb,stub_export_macro=COMPONENT3_LEM_STUB_Export \ + -Wb,stub_export_include=Component3_lem_stub_export.h \ + -SS -Gxhst -I.. + + IDL_Files { + Component3E.idl + } +} + +project(PartialShutdown_Component3_lem_stub) : ccm_svnt { + after += PartialShutdown_Component3_lem_gen PartialShutdown_Component3_stub PartialShutdown_stub + libs += PartialShutdown_stub Component3_stub + + libout = ../lib + libpaths += ../lib + + includes += .. + + sharedname = Component3_lem_stub + dynamicflags += COMPONENT3_LEM_STUB_BUILD_DLL + + IDL_Files { + } + + Source_Files { + Component3EC.cpp + } + + Header_Files { + Component3EC.h + Component3_lem_stub_export.h + } + + Inline_Files { + Component3EC.inl + } +} + +project(PartialShutdown_Component3_stub) : ccm_stub { + after += PartialShutdown_Component3_idl_gen PartialShutdown_stub + libs += PartialShutdown_stub + + includes += .. + + libout = ../lib + libpaths += ../lib + + sharedname = Component3_stub + dynamicflags += COMPONENT3_STUB_BUILD_DLL + + IDL_Files { + } + + Source_Files { + Component3C.cpp + } + + Header_Files { + Component3C.h + Component3_stub_export.h + } + + Inline_Files { + Component3C.inl + } +} + +project(PartialShutdown_Component3_exec) : ciao_executor { + after += PartialShutdown_Component3_lem_stub PartialShutdown_Component3_stub + sharedname = Component3_exec + libs += Component3_stub Component3_lem_stub PartialShutdown_stub + + includes += .. + + libout = ../lib + libpaths += ../lib + + dynamicflags += COMPONENT3_EXEC_BUILD_DLL + + IDL_Files { + } + + Source_Files { + Component3_exec.cpp + } + + Header_Files { + Component3_exec.h + Component3_exec_export.h + } + + Inline_Files { + } +} + + +project(PartialShutdown_Component3_svnt) : ciao_servant { + after += PartialShutdown_Component3_lem_stub + sharedname = Component3_svnt + libs += Component3_stub Component3_lem_stub PartialShutdown_stub + + includes += .. + + libout = ../lib + libpaths += ../lib + + dynamicflags += COMPONENT3_SVNT_BUILD_DLL + + IDL_Files { + } + + Source_Files { + Component3S.cpp + Component3_svnt.cpp + } + + Header_Files { + Component3S.h + Component3_svnt.h + Component3_svnt_export.h + } + + Inline_Files { + Component3S.inl + } +} + + diff --git a/CIAO/tests/DAnCE/PartialShutdown/Component3/Component3_exec.cpp b/CIAO/tests/DAnCE/PartialShutdown/Component3/Component3_exec.cpp new file mode 100644 index 00000000000..9b62382a25a --- /dev/null +++ b/CIAO/tests/DAnCE/PartialShutdown/Component3/Component3_exec.cpp @@ -0,0 +1,432 @@ +// -*- C++ -*- +// $Id$ + +/** + * Code generated by the The ACE ORB (TAO) IDL Compiler v2.0.0 + * 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 + **/ + +#include "Component3_exec.h" +#include "tao/ORB_Core.h" +#include "ace/Reactor.h" + +namespace CIAO_PartialShutdown_Component3_Impl +{ + + /** + * WriteTicker + */ + + WriteTicker::WriteTicker (Component3_exec_i &callback) + : callback_ (callback) + { + } + + int + WriteTicker::handle_timeout (const ACE_Time_Value &, const void *) + { + // Notify the subscribers + this->callback_.write_all (); + return 0; + } + + /** + * ReadTicker + */ + + ReadTicker::ReadTicker (Component3_exec_i &callback) + : callback_ (callback) + { + } + + int + ReadTicker::handle_timeout (const ACE_Time_Value &, const void *) + { + // Notify the subscribers + this->callback_.read_all (); + return 0; + } + + /** + * Facet Executor Implementation Class: comp_3_writer_exec_i + */ + + comp_3_writer_exec_i::comp_3_writer_exec_i ( + ::PartialShutdown::CCM_Component3_Context_ptr ctx, + Component3_exec_i & callback) + : ciao_context_ ( + ::PartialShutdown::CCM_Component3_Context::_duplicate (ctx)) + , callback_ (callback) + { + } + + comp_3_writer_exec_i::~comp_3_writer_exec_i (void) + { + } + + // Operations from ::PartialShutdown::Writer + + void + comp_3_writer_exec_i::write_line (const char * line) + { + this->callback_.write_line (line); + } + + /** + * Facet Executor Implementation Class: comp_3_reader_exec_i + */ + + comp_3_reader_exec_i::comp_3_reader_exec_i ( + ::PartialShutdown::CCM_Component3_Context_ptr ctx, + Component3_exec_i & callback) + : ciao_context_ ( + ::PartialShutdown::CCM_Component3_Context::_duplicate (ctx)) + , callback_ (callback) + { + } + + comp_3_reader_exec_i::~comp_3_reader_exec_i (void) + { + } + + // Operations from ::PartialShutdown::Reader + + ::CORBA::StringSeq * + comp_3_reader_exec_i::read_lines (void) + { + return this->callback_.read_lines (); + } + + /** + * Component Executor Implementation Class: Component3_exec_i + */ + + Component3_exec_i::Component3_exec_i (void) + { + ACE_NEW_THROW_EX (this->write_ticker_, + WriteTicker (*this), + ::CORBA::NO_MEMORY ()); + ACE_NEW_THROW_EX (this->read_ticker_, + ReadTicker (*this), + ::CORBA::NO_MEMORY ()); + } + + Component3_exec_i::~Component3_exec_i (void) + { + delete this->write_ticker_; + delete this->read_ticker_; + if (!::CORBA::is_nil (this->ciao_context_.in ())) + { + PartialShutdown::Reader_var read_from_comp_1 = + this->ciao_context_->get_connection_read_from_comp_1 (); + if (!::CORBA::is_nil (read_from_comp_1.in ())) + { + ACE_ERROR ((LM_ERROR, "Component3_exec_i::~Component3_exec_i - " + "ERROR: Read interface of component 1 still valid\n")); + } + else + { + ACE_DEBUG ((LM_DEBUG, "Component3_exec_i::~Component3_exec_i - " + "OK: Read interface of component 1 is not valid\n")); + } + PartialShutdown::Reader_var read_from_comp_2 = + this->ciao_context_->get_connection_read_from_comp_2 (); + if (!::CORBA::is_nil (read_from_comp_2.in ())) + { + ACE_ERROR ((LM_ERROR, "Component3_exec_i::~Component3_exec_i - " + "ERROR: Read interface of component 2 still valid\n")); + } + else + { + ACE_DEBUG ((LM_DEBUG, "Component3_exec_i::~Component3_exec_i - " + "OK: Read interface of component 2 is not valid\n")); + } + + PartialShutdown::Writer_var writer_to_comp_1 = + this->ciao_context_->get_connection_write_to_comp_1 (); + if (!::CORBA::is_nil (writer_to_comp_1.in ())) + { + ACE_ERROR ((LM_ERROR, "Component3_exec_i::~Component3_exec_i - " + "ERROR: Write interface of component 1 still valid\n")); + } + else + { + ACE_DEBUG ((LM_DEBUG, "Component3_exec_i::~Component3_exec_i - " + "OK: Write interface of component 1 is not valid\n")); + } + + PartialShutdown::Writer_var writer_to_comp_2 = + this->ciao_context_->get_connection_write_to_comp_2 (); + if (!::CORBA::is_nil (writer_to_comp_2.in ())) + { + ACE_ERROR ((LM_ERROR, "Component3_exec_i::~Component3_exec_i - " + "ERROR: Write interface of component 2 still valid\n")); + } + else + { + ACE_DEBUG ((LM_DEBUG, "Component3_exec_i::~Component3_exec_i - " + "OK: Write interface of component 2 is not valid\n")); + } + } + } + + // Supported operations and attributes. + ACE_Reactor* + Component3_exec_i::reactor (void) + { + ACE_Reactor* reactor = 0; + ::CORBA::Object_var ccm_object = + this->ciao_context_->get_CCM_object(); + if (! ::CORBA::is_nil (ccm_object.in ())) + { + ::CORBA::ORB_var orb = ccm_object->_get_orb (); + if (! ::CORBA::is_nil (orb.in ())) + { + reactor = orb->orb_core ()->reactor (); + } + } + if (reactor == 0) + { + throw ::CORBA::INTERNAL (); + } + return reactor; + } + + void Component3_exec_i::read_all (void) + { + PartialShutdown::Reader_var read_from_comp_1 = + this->ciao_context_->get_connection_read_from_comp_1 (); + if (::CORBA::is_nil (read_from_comp_1.in ())) + { + ACE_ERROR ((LM_ERROR, "Component3_exec_i::read_all - " + "ERROR: Reader of component 1 seems NIL\n")); + } + else + { + ::CORBA::StringSeq_var strings_from_1 = + read_from_comp_1->read_lines (); + for (::CORBA::ULong i = 0; i < strings_from_1->length (); ++i) + { + ACE_DEBUG ((LM_DEBUG, "COMPONENT3: READ FROM COMPONENT1 : %C\n", + strings_from_1[i].in ())); + } + } + + PartialShutdown::Reader_var read_from_comp_2 = + this->ciao_context_->get_connection_read_from_comp_2 (); + if (::CORBA::is_nil (read_from_comp_2.in ())) + { + ACE_ERROR ((LM_ERROR, "Component3_exec_i::read_all - " + "ERROR: Reader of component 2 seems NIL\n")); + } + else + { + ::CORBA::StringSeq_var strings_from_2 = + read_from_comp_2->read_lines (); + for (::CORBA::ULong i = 0; i < strings_from_2->length (); ++i) + { + ACE_DEBUG ((LM_DEBUG, "COMPONENT3: READ FROM COMPONENT2 : %C\n", + strings_from_2[i].in ())); + } + } + } + + void Component3_exec_i::write_all (void) + { + const char * str_to_comp_1 = "FROM COMPONENT3 TO COMPONENT1"; + const char * str_to_comp_2 = "FROM COMPONENT3 TO COMPONENT2"; + + PartialShutdown::Writer_var writer_to_comp_1 = + this->ciao_context_->get_connection_write_to_comp_1 (); + if (::CORBA::is_nil (writer_to_comp_1.in ())) + { + ACE_ERROR ((LM_ERROR, "Component3_exec_i::write_all - " + "ERROR: Writer to component 1 seems NIL\n")); + } + else + { + writer_to_comp_1->write_line (str_to_comp_1); + } + + PartialShutdown::Writer_var writer_to_comp_2 = + this->ciao_context_->get_connection_write_to_comp_2 (); + + if (::CORBA::is_nil (writer_to_comp_2.in ())) + { + ACE_ERROR ((LM_ERROR, "Component3_exec_i::write_all - " + "ERROR: Writer to component 2 seems NIL\n")); + } + else + { + writer_to_comp_2->write_line (str_to_comp_2); + } + } + + void + Component3_exec_i::write_line (const char* line) + { + ACE_GUARD_THROW_EX (TAO_SYNCH_MUTEX, _guard, + this->mutex_, CORBA::INTERNAL ()); + { + ACE_DEBUG ((LM_DEBUG, "Component3_exec_i::write_line - " + "New line: <%C>\n", + line)); + this->strings_.push_back (line); + } + } + + + ::CORBA::StringSeq * + Component3_exec_i::read_lines (void) + { + CORBA::StringSeq *args = 0; + ACE_NEW_THROW_EX (args, + CORBA::StringSeq, + CORBA::NO_MEMORY ()); + + CORBA::StringSeq_var safe_args (args); + + // Copy the argument vector to the string sequence. + + args->length (this->strings_.size ()); + for (::CORBA::ULong i = 0; i < this->strings_.size (); ++i) + { + (*args)[i] = CORBA::string_dup (this->strings_[i]); + } + + return safe_args._retn (); + } + + // Component attributes and port operations. + + ::PartialShutdown::CCM_Writer_ptr + Component3_exec_i::get_comp_3_writer (void) + { + if ( ::CORBA::is_nil (this->ciao_comp_3_writer_.in ())) + { + comp_3_writer_exec_i *tmp = 0; + ACE_NEW_RETURN ( + tmp, + comp_3_writer_exec_i ( + this->ciao_context_.in (), + *this), + ::PartialShutdown::CCM_Writer::_nil ()); + + this->ciao_comp_3_writer_ = tmp; + } + + return + ::PartialShutdown::CCM_Writer::_duplicate ( + this->ciao_comp_3_writer_.in ()); + } + + ::PartialShutdown::CCM_Reader_ptr + Component3_exec_i::get_comp_3_reader (void) + { + if ( ::CORBA::is_nil (this->ciao_comp_3_reader_.in ())) + { + comp_3_reader_exec_i *tmp = 0; + ACE_NEW_RETURN ( + tmp, + comp_3_reader_exec_i ( + this->ciao_context_.in (), + *this), + ::PartialShutdown::CCM_Reader::_nil ()); + + this->ciao_comp_3_reader_ = tmp; + } + + return + ::PartialShutdown::CCM_Reader::_duplicate ( + this->ciao_comp_3_reader_.in ()); + } + + // Operations from Components::SessionComponent. + + void + Component3_exec_i::set_session_context ( + ::Components::SessionContext_ptr ctx) + { + this->ciao_context_ = + ::PartialShutdown::CCM_Component3_Context::_narrow (ctx); + + if ( ::CORBA::is_nil (this->ciao_context_.in ())) + { + throw ::CORBA::INTERNAL (); + } + } + + void + Component3_exec_i::configuration_complete (void) + { + /* Your code here. */ + } + + void + Component3_exec_i::ccm_activate (void) + { + if (this->reactor ()->schedule_timer ( + this->write_ticker_, + 0, + ACE_Time_Value (5, 0), + ACE_Time_Value (1, 0)) == -1) + { + ACE_ERROR ((LM_ERROR, ACE_TEXT ("Sender_exec_i::start : ") + ACE_TEXT ("Error scheduling write ticker\n"))); + } + if (this->reactor ()->schedule_timer ( + this->read_ticker_, + 0, + ACE_Time_Value (5, 0), + ACE_Time_Value (1, 0)) == -1) + { + ACE_ERROR ((LM_ERROR, ACE_TEXT ("Sender_exec_i::start : ") + ACE_TEXT ("Error scheduling read ticker\n"))); + } + } + + void + Component3_exec_i::ccm_passivate (void) + { + this->reactor ()->cancel_timer (this->write_ticker_); + this->reactor ()->cancel_timer (this->read_ticker_); + } + + void + Component3_exec_i::ccm_remove (void) + { + /* Your code here. */ + } + + extern "C" COMPONENT3_EXEC_Export ::Components::EnterpriseComponent_ptr + create_PartialShutdown_Component3_Impl (void) + { + ::Components::EnterpriseComponent_ptr retval = + ::Components::EnterpriseComponent::_nil (); + + ACE_NEW_NORETURN ( + retval, + Component3_exec_i); + + return retval; + } +} diff --git a/CIAO/tests/DAnCE/PartialShutdown/Component3/Component3_exec.h b/CIAO/tests/DAnCE/PartialShutdown/Component3/Component3_exec.h new file mode 100644 index 00000000000..b243f0ec5f6 --- /dev/null +++ b/CIAO/tests/DAnCE/PartialShutdown/Component3/Component3_exec.h @@ -0,0 +1,210 @@ +// -*- C++ -*- +// $Id$ + +/** + * Code generated by the The ACE ORB (TAO) IDL Compiler v2.0.0 + * 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 + **/ +#ifndef CIAO_COMPONENT3_EXEC_UTY3AH_H_ +#define CIAO_COMPONENT3_EXEC_UTY3AH_H_ + +#include /**/ "ace/pre.h" + +#include "Component3EC.h" + +#if !defined (ACE_LACKS_PRAGMA_ONCE) +# pragma once +#endif /* ACE_LACKS_PRAGMA_ONCE */ + +#include /**/ "Component3_exec_export.h" +#include "tao/LocalObject.h" + +#include <vector> + +namespace CIAO_PartialShutdown_Component3_Impl +{ + class Component3_exec_i; + + /** + * WriteTicker + */ + + class WriteTicker : + public ACE_Event_Handler + { + public: + WriteTicker (Component3_exec_i &callback); + int handle_timeout (const ACE_Time_Value &, const void *); + private: + /// Maintains a handle that actually process the event + Component3_exec_i &callback_; + }; + + /** + * ReadTicker + */ + + class ReadTicker : + public ACE_Event_Handler + { + public: + ReadTicker (Component3_exec_i &callback); + int handle_timeout (const ACE_Time_Value &, const void *); + private: + /// Maintains a handle that actually process the event + Component3_exec_i &callback_; + }; + + + /** + * Provider Executor Implementation Class: comp_3_writer_exec_i + */ + + class comp_3_writer_exec_i + : public virtual ::PartialShutdown::CCM_Writer, + public virtual ::CORBA::LocalObject + { + public: + comp_3_writer_exec_i ( + ::PartialShutdown::CCM_Component3_Context_ptr ctx, + Component3_exec_i & callback); + virtual ~comp_3_writer_exec_i (void); + + //@{ + /** Operations and attributes from PartialShutdown::Writer. */ + + virtual + void write_line (const char * line); + //@} + + private: + ::PartialShutdown::CCM_Component3_Context_var ciao_context_; + Component3_exec_i & callback_; + }; + + /** + * Provider Executor Implementation Class: comp_3_reader_exec_i + */ + + class comp_3_reader_exec_i + : public virtual ::PartialShutdown::CCM_Reader, + public virtual ::CORBA::LocalObject + { + public: + comp_3_reader_exec_i ( + ::PartialShutdown::CCM_Component3_Context_ptr ctx, + Component3_exec_i & callback); + virtual ~comp_3_reader_exec_i (void); + + //@{ + /** Operations and attributes from PartialShutdown::Reader. */ + + virtual + ::CORBA::StringSeq * read_lines (void); + //@} + + private: + ::PartialShutdown::CCM_Component3_Context_var ciao_context_; + Component3_exec_i & callback_; + }; + + /** + * Component Executor Implementation Class: Component3_exec_i + */ + + class Component3_exec_i + : public virtual Component3_Exec, + public virtual ::CORBA::LocalObject + { + public: + Component3_exec_i (void); + virtual ~Component3_exec_i (void); + + //@{ + /** Supported operations and attributes. */ + + //@} + + //@{ + /** Component attributes and port operations. */ + + virtual ::PartialShutdown::CCM_Writer_ptr + get_comp_3_writer (void); + + virtual ::PartialShutdown::CCM_Reader_ptr + get_comp_3_reader (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); + //@} + + //@{ + /** User defined public operations. */ + void read_all (void); + void write_all (void); + + void write_line (const char * line); + ::CORBA::StringSeq * read_lines (void); + + //@} + + private: + ::PartialShutdown::CCM_Component3_Context_var ciao_context_; + + //@{ + /** Component attributes. */ + ::PartialShutdown::CCM_Writer_var ciao_comp_3_writer_; + ::PartialShutdown::CCM_Reader_var ciao_comp_3_reader_; + //@} + + //@{ + /** User defined members. */ + WriteTicker * write_ticker_; + ReadTicker * read_ticker_; + TAO_SYNCH_MUTEX mutex_; + typedef std::vector <const char *> Strings; + Strings strings_; + + //@} + + //@{ + /** User defined private operations. */ + + //@} + + /// Get the ACE_Reactor + ACE_Reactor* reactor (void); + }; + + extern "C" COMPONENT3_EXEC_Export ::Components::EnterpriseComponent_ptr + create_PartialShutdown_Component3_Impl (void); +} + +#include /**/ "ace/post.h" + +#endif /* ifndef */ diff --git a/CIAO/tests/DAnCE/PartialShutdown/descriptors/Plan.cdp b/CIAO/tests/DAnCE/PartialShutdown/descriptors/Plan.cdp new file mode 100644 index 00000000000..f6bc9377a28 --- /dev/null +++ b/CIAO/tests/DAnCE/PartialShutdown/descriptors/Plan.cdp @@ -0,0 +1,486 @@ +<!-- $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>PartialShutdown_Depl_1</label> + <UUID>PartialShutdown_Depl_1</UUID> + + <implementation xmi:id="Component1Implementation"> + <name>Component1Implementation</name> + <source/> + <artifact xmi:idref="Component1_ExecArtifact" /> + <artifact xmi:idref="Component1_SvntArtifact" /> + <execParameter> + <name>component factory</name> + <value> + <type> + <kind>tk_string</kind> + </type> + <value> + <string>create_PartialShutdown_Component1_Impl</string> + </value> + </value> + </execParameter> + <execParameter> + <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name> + <value> + <type> + <kind>tk_string</kind> + </type> + <value> + <string>create_PartialShutdown_Component1_Servant</string> + </value> + </value> + </execParameter> + <execParameter> + <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name> + <value> + <type> + <kind>tk_string</kind> + </type> + <value> + <string>Component1_svnt</string> + </value> + </value> + </execParameter> + <execParameter> + <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name> + <value> + <type> + <kind>tk_string</kind> + </type> + <value> + <string>Component1_exec</string> + </value> + </value> + </execParameter> + </implementation> + <implementation xmi:id="Component2Implementation"> + <name>Component2Implementation</name> + <source/> + <artifact xmi:idref="Component2_ExecArtifact" /> + <artifact xmi:idref="Component2_SvntArtifact" /> + <execParameter> + <name>component factory</name> + <value> + <type> + <kind>tk_string</kind> + </type> + <value> + <string>create_PartialShutdown_Component2_Impl</string> + </value> + </value> + </execParameter> + <execParameter> + <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name> + <value> + <type> + <kind>tk_string</kind> + </type> + <value> + <string>create_PartialShutdown_Component2_Servant</string> + </value> + </value> + </execParameter> + <execParameter> + <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name> + <value> + <type> + <kind>tk_string</kind> + </type> + <value> + <string>Component2_svnt</string> + </value> + </value> + </execParameter> + <execParameter> + <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name> + <value> + <type> + <kind>tk_string</kind> + </type> + <value> + <string>Component2_exec</string> + </value> + </value> + </execParameter> + </implementation> + <implementation xmi:id="Component3Implementation"> + <name>Component3Implementation</name> + <source/> + <artifact xmi:idref="Component3_ExecArtifact" /> + <artifact xmi:idref="Component3_SvntArtifact" /> + <execParameter> + <name>component factory</name> + <value> + <type> + <kind>tk_string</kind> + </type> + <value> + <string>create_PartialShutdown_Component3_Impl</string> + </value> + </value> + </execParameter> + <execParameter> + <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name> + <value> + <type> + <kind>tk_string</kind> + </type> + <value> + <string>create_PartialShutdown_Component3_Servant</string> + </value> + </value> + </execParameter> + <execParameter> + <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name> + <value> + <type> + <kind>tk_string</kind> + </type> + <value> + <string>Component3_svnt</string> + </value> + </value> + </execParameter> + <execParameter> + <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name> + <value> + <type> + <kind>tk_string</kind> + </type> + <value> + <string>Component3_exec</string> + </value> + </value> + </execParameter> + </implementation> + + <instance xmi:id="Component1Instance"> + <name>Component1</name> + <node>ComponentNode</node> + <source/> + <implementation xmi:idref="Component1Implementation" /> + </instance> + <instance xmi:id="Component2Instance"> + <name>Component2</name> + <node>ComponentNode</node> + <source/> + <implementation xmi:idref="Component2Implementation" /> + </instance> + <instance xmi:id="Component3Instance"> + <name>Component3</name> + <node>ComponentNode</node> + <source/> + <implementation xmi:idref="Component3Implementation" /> + </instance> + + <!-- writer connections : + 1 writes to 2 + 1 writes to 3 + 2 writes to 1 + 2 writes to 3 + 3 writes to 1 + 3 writes to 2 + --> + <connection> + <name>component1_2_write</name> + <deployRequirement> + <name>edu.dre.vanderbilt.DAnCE.ConnectionType</name> + <resourceType>Local_Interface</resourceType> + </deployRequirement> + <internalEndpoint> + <portName>write_to_comp_2</portName> + <provider>false</provider> + <kind>SimplexReceptacle</kind> + <instance xmi:idref="Component1Instance" /> + </internalEndpoint> + <internalEndpoint> + <portName>comp_2_writer</portName> + <provider>true</provider> + <kind>Facet</kind> + <instance xmi:idref="Component2Instance" /> + </internalEndpoint> + </connection> + <connection> + <name>component1_3_write</name> + <deployRequirement> + <name>edu.dre.vanderbilt.DAnCE.ConnectionType</name> + <resourceType>Local_Interface</resourceType> + </deployRequirement> + <internalEndpoint> + <portName>write_to_comp_3</portName> + <provider>false</provider> + <kind>SimplexReceptacle</kind> + <instance xmi:idref="Component1Instance" /> + </internalEndpoint> + <internalEndpoint> + <portName>comp_3_writer</portName> + <provider>true</provider> + <kind>Facet</kind> + <instance xmi:idref="Component3Instance" /> + </internalEndpoint> + </connection> + + <connection> + <name>component2_1_write</name> + <deployRequirement> + <name>edu.dre.vanderbilt.DAnCE.ConnectionType</name> + <resourceType>Local_Interface</resourceType> + </deployRequirement> + <internalEndpoint> + <portName>write_to_comp_1</portName> + <provider>false</provider> + <kind>SimplexReceptacle</kind> + <instance xmi:idref="Component2Instance" /> + </internalEndpoint> + <internalEndpoint> + <portName>comp_1_writer</portName> + <provider>true</provider> + <kind>Facet</kind> + <instance xmi:idref="Component1Instance" /> + </internalEndpoint> + </connection> + <connection> + <name>component2_3_write</name> + <deployRequirement> + <name>edu.dre.vanderbilt.DAnCE.ConnectionType</name> + <resourceType>Local_Interface</resourceType> + </deployRequirement> + <internalEndpoint> + <portName>write_to_comp_3</portName> + <provider>false</provider> + <kind>SimplexReceptacle</kind> + <instance xmi:idref="Component2Instance" /> + </internalEndpoint> + <internalEndpoint> + <portName>comp_3_writer</portName> + <provider>true</provider> + <kind>Facet</kind> + <instance xmi:idref="Component3Instance" /> + </internalEndpoint> + </connection> + <connection> + <name>component3_1_write</name> + <deployRequirement> + <name>edu.dre.vanderbilt.DAnCE.ConnectionType</name> + <resourceType>Local_Interface</resourceType> + </deployRequirement> + <internalEndpoint> + <portName>write_to_comp_1</portName> + <provider>false</provider> + <kind>SimplexReceptacle</kind> + <instance xmi:idref="Component3Instance" /> + </internalEndpoint> + <internalEndpoint> + <portName>comp_1_writer</portName> + <provider>true</provider> + <kind>Facet</kind> + <instance xmi:idref="Component1Instance" /> + </internalEndpoint> + </connection> + <connection> + <name>component3_2_write</name> + <deployRequirement> + <name>edu.dre.vanderbilt.DAnCE.ConnectionType</name> + <resourceType>Local_Interface</resourceType> + </deployRequirement> + <internalEndpoint> + <portName>write_to_comp_2</portName> + <provider>false</provider> + <kind>SimplexReceptacle</kind> + <instance xmi:idref="Component3Instance" /> + </internalEndpoint> + <internalEndpoint> + <portName>comp_2_writer</portName> + <provider>true</provider> + <kind>Facet</kind> + <instance xmi:idref="Component2Instance" /> + </internalEndpoint> + </connection> + + <!-- reader connections : + 1 reads from 2 + 1 reads from 3 + 2 reads from 1 + 2 reads from 3 + 3 reads from 1 + 3 reads from 2 + --> + <connection> + <name>component1_2_read</name> + <deployRequirement> + <name>edu.dre.vanderbilt.DAnCE.ConnectionType</name> + <resourceType>Local_Interface</resourceType> + </deployRequirement> + <internalEndpoint> + <portName>read_from_comp_2</portName> + <provider>false</provider> + <kind>SimplexReceptacle</kind> + <instance xmi:idref="Component1Instance" /> + </internalEndpoint> + <internalEndpoint> + <portName>comp_2_reader</portName> + <provider>true</provider> + <kind>Facet</kind> + <instance xmi:idref="Component2Instance" /> + </internalEndpoint> + </connection> + <connection> + <name>component1_3_read</name> + <deployRequirement> + <name>edu.dre.vanderbilt.DAnCE.ConnectionType</name> + <resourceType>Local_Interface</resourceType> + </deployRequirement> + <internalEndpoint> + <portName>read_from_comp_3</portName> + <provider>false</provider> + <kind>SimplexReceptacle</kind> + <instance xmi:idref="Component1Instance" /> + </internalEndpoint> + <internalEndpoint> + <portName>comp_3_reader</portName> + <provider>true</provider> + <kind>Facet</kind> + <instance xmi:idref="Component3Instance" /> + </internalEndpoint> + </connection> + + <connection> + <name>component2_1_read</name> + <deployRequirement> + <name>edu.dre.vanderbilt.DAnCE.ConnectionType</name> + <resourceType>Local_Interface</resourceType> + </deployRequirement> + <internalEndpoint> + <portName>read_from_comp_1</portName> + <provider>false</provider> + <kind>SimplexReceptacle</kind> + <instance xmi:idref="Component2Instance" /> + </internalEndpoint> + <internalEndpoint> + <portName>comp_1_reader</portName> + <provider>true</provider> + <kind>Facet</kind> + <instance xmi:idref="Component1Instance" /> + </internalEndpoint> + </connection> + <connection> + <name>component2_3_read</name> + <deployRequirement> + <name>edu.dre.vanderbilt.DAnCE.ConnectionType</name> + <resourceType>Local_Interface</resourceType> + </deployRequirement> + <internalEndpoint> + <portName>read_from_comp_3</portName> + <provider>false</provider> + <kind>SimplexReceptacle</kind> + <instance xmi:idref="Component2Instance" /> + </internalEndpoint> + <internalEndpoint> + <portName>comp_3_reader</portName> + <provider>true</provider> + <kind>Facet</kind> + <instance xmi:idref="Component3Instance" /> + </internalEndpoint> + </connection> + + <connection> + <name>component3_1_read</name> + <deployRequirement> + <name>edu.dre.vanderbilt.DAnCE.ConnectionType</name> + <resourceType>Local_Interface</resourceType> + </deployRequirement> + <internalEndpoint> + <portName>read_from_comp_1</portName> + <provider>false</provider> + <kind>SimplexReceptacle</kind> + <instance xmi:idref="Component3Instance" /> + </internalEndpoint> + <internalEndpoint> + <portName>comp_1_reader</portName> + <provider>true</provider> + <kind>Facet</kind> + <instance xmi:idref="Component1Instance" /> + </internalEndpoint> + </connection> + + <connection> + <name>component3_2_read</name> + <deployRequirement> + <name>edu.dre.vanderbilt.DAnCE.ConnectionType</name> + <resourceType>Local_Interface</resourceType> + </deployRequirement> + <internalEndpoint> + <portName>read_from_comp_2</portName> + <provider>false</provider> + <kind>SimplexReceptacle</kind> + <instance xmi:idref="Component3Instance" /> + </internalEndpoint> + <internalEndpoint> + <portName>comp_2_reader</portName> + <provider>true</provider> + <kind>Facet</kind> + <instance xmi:idref="Component2Instance" /> + </internalEndpoint> + </connection> + + <artifact xmi:id="Component1_ExecArtifact"> + <name>Component1_exec</name> + <source/> + <node/> + <location>Component1_exec</location> + </artifact> + <artifact xmi:id="Component1_SvntArtifact"> + <name>Component1_svnt</name> + <source/> + <node/> + <location>Component1_svnt</location> + </artifact> + <artifact xmi:id="Component1_StubArtifact"> + <name>Component1_stub</name> + <source/> + <node/> + <location>Component1_stub</location> + </artifact> + + <artifact xmi:id="Component2_ExecArtifact"> + <name>Component2_exec</name> + <source/> + <node/> + <location>Component2_exec</location> + </artifact> + <artifact xmi:id="Component2_SvntArtifact"> + <name>Component2_svnt</name> + <source/> + <node/> + <location>Component2_svnt</location> + </artifact> + <artifact xmi:id="Component2_StubArtifact"> + <name>Component2_stub</name> + <source/> + <node/> + <location>Component2_stub</location> + </artifact> + + <artifact xmi:id="Component3_ExecArtifact"> + <name>Component3_exec</name> + <source/> + <node/> + <location>Component3_exec</location> + </artifact> + <artifact xmi:id="Component3_SvntArtifact"> + <name>Component3_svnt</name> + <source/> + <node/> + <location>Component3_svnt</location> + </artifact> + <artifact xmi:id="Component3_StubArtifact"> + <name>Component3_stub</name> + <source/> + <node/> + <location>Component3_stub</location> + </artifact> +</Deployment:DeploymentPlan> diff --git a/CIAO/tests/DAnCE/PartialShutdown/descriptors/run_test.pl b/CIAO/tests/DAnCE/PartialShutdown/descriptors/run_test.pl new file mode 100755 index 00000000000..b22641e5e32 --- /dev/null +++ b/CIAO/tests/DAnCE/PartialShutdown/descriptors/run_test.pl @@ -0,0 +1,263 @@ +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 = 3; +@ports = ( 60010, 60011, 60012 ); +@iorbases = ( "NodeApp1.ior", "NodeApp2.ior", "NodeApp3.ior" ); +@iorfiles = 0; +@nodenames = ( "ComponentNode", "ComponentNode", "ComponentNode" ); + +# ior files other than daemon +# 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; +$cdp_file = "Plan.cdp"; +# $cdp_shutdown_3 = "shutdown_comp_3.cdp"; +# $cdp_shutdown_rest = "shutdown_rest.cdp"; + +sub create_targets { + # naming service + $tg_naming = PerlACE::TestTarget::create_target (1) || die "Create target for ns failed\n"; + $tg_naming->AddLibPath ('../lib'); + # 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 ('../lib'); + } + # execution manager + $tg_exe_man = PerlACE::TestTarget::create_target (1) || die "Create target for EM failed\n"; + $tg_exe_man->AddLibPath ('../lib'); + # executor (plan_launcher) + $tg_executor = PerlACE::TestTarget::create_target (1) || die "Create target for executor failed\n"; + $tg_executor->AddLibPath ('../lib'); +} + +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"; + + 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; +} + +create_targets (); +init_ior_files (); + +# Invoke naming service + +$NS = $tg_naming->CreateProcess ("$TAO_ROOT/orbsvcs/Naming_Service/tao_cosnaming", " -ORBEndpoint iiop://localhost:60003 -o $ior_nsfile"); + +$ns_status = $NS->Spawn (); + +if ($ns_status != 0) { + print STDERR "ERROR: Unable to execute the naming service\n"; + kill_open_processes (); + exit 1; +} + +print STDERR "Starting Naming Service with -ORBEndpoint iiop://localhost:60003 -o ns.ior\n"; + +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 daemon\n"; + kill_open_processes (); + exit 1; +} + +$daemons_running = 1; + +# Invoke execution manager. +print "Invoking execution manager (dance_execution_manager.exe) with -e$ior_emfile\n"; +$EM = $tg_exe_man->CreateProcess ("$DANCE_ROOT/bin/dance_execution_manager", + "-e$ior_emfile --domain-nc corbaloc:rir:/NameService"); +$em_status = $EM->Spawn (); + +if ($em_status != 0) { + print STDERR "ERROR: dance_execution_manager returned $em_status"; + exit 1; +} + +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 $cdp_file -k file://$ior_emfile\n"; +$E = $tg_executor->CreateProcess ("$DANCE_ROOT/bin/dance_plan_launcher", + "-x $cdp_file -k file://$ior_emfile"); +$pl_status = $E->SpawnWaitKill (2 * $tg_executor->ProcessStartWaitInterval ()); + +if ($pl_status != 0) { + print STDERR "ERROR: dance_plan_launcher returned $pl_status\n"; + kill_open_processes (); + exit 1; +} + +for ($i = 0; $i < $nr_daemon; ++$i) { + if ($tg_daemons[$i]->WaitForFileTimed ($iorbases[$i], + $tg_daemons[$i]->ProcessStopWaitInterval ()) == -1) { + print STDERR "ERROR: The ior file of daemon $i could not be found\n"; + kill_open_processes (); + exit 1; + } +} + +print "Sleeping 20 seconds shutting down\n"; +sleep (20); + +# Invoke executor - stop the application -. +print "Invoking executor - shutting down -\n"; +print "by running dance_plan_launcher.exe with -k file://$ior_emfile -x $cdp_file\n"; + +$E = $tg_executor->CreateProcess ("$DANCE_ROOT/bin/dance_plan_launcher", + "-k file://$ior_emfile -x $cdp_file -s"); +$pl_status = $E->SpawnWaitKill ($tg_executor->ProcessStartWaitInterval ()); + +if ($pl_status != 0) { + print STDERR "ERROR: dance_plan_launcher returned $pl_status\n"; + kill_open_processes (); + exit 1; +} + +# print "Sleeping 10 seconds before shutting down the rest\n"; +# sleep (10); + +# Invoke executor - stop the application -. +# print "Invoking executor - shutdown component 3 -\n"; +# print "by running dance_plan_launcher.exe with -k file://$ior_emfile -x $cdp_shutdown_rest\n"; + +# $E = $tg_executor->CreateProcess ("$DANCE_ROOT/bin/dance_plan_launcher", +# "-k file://$ior_emfile -x $cdp_shutdown_rest -s"); +# $pl_status = $E->SpawnWaitKill ($tg_executor->ProcessStartWaitInterval ()); +# +# if ($pl_status != 0) { +# print STDERR "ERROR: dance_plan_launcher returned $pl_status\n"; +# kill_open_processes (); +# exit 1; +# } + +# print "Executor returned.\n"; +# print "Shutting down rest of the processes.\n"; + +delete_ior_files (); +kill_open_processes (); + +exit $status; diff --git a/CIAO/tests/IDL_Test/Cornucopia/Cornucopia.doxygen b/CIAO/tests/IDL_Test/Cornucopia/Cornucopia.doxygen new file mode 100644 index 00000000000..01763704ce6 --- /dev/null +++ b/CIAO/tests/IDL_Test/Cornucopia/Cornucopia.doxygen @@ -0,0 +1,163 @@ +# Doxyfile 1.3.4 +# +# $Id$ +# + +PROJECT_NAME = Cornucopia +PROJECT_NUMBER = Snapshot +OUTPUT_DIRECTORY = . +OUTPUT_LANGUAGE = English +DISABLE_INDEX = NO +EXTRACT_ALL = YES +EXTRACT_PRIVATE = YES +EXTRACT_STATIC = YES +HIDE_UNDOC_MEMBERS = NO +HIDE_UNDOC_CLASSES = NO +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES +ALWAYS_DETAILED_SEC = NO +FULL_PATH_NAMES = NO +STRIP_FROM_PATH = +INTERNAL_DOCS = YES +CLASS_DIAGRAMS = YES +SOURCE_BROWSER = YES +INLINE_SOURCES = YES +STRIP_CODE_COMMENTS = NO +CASE_SENSE_NAMES = YES +HIDE_SCOPE_NAMES = NO +VERBATIM_HEADERS = YES +SHOW_INCLUDE_FILES = YES +JAVADOC_AUTOBRIEF = NO +INHERIT_DOCS = YES +INLINE_INFO = YES +SORT_MEMBER_DOCS = YES +DISTRIBUTE_GROUP_DOC = YES +TAB_SIZE = 8 +ENABLED_SECTIONS = +SHORT_NAMES = YES + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +QUIET = YES +WARNINGS = YES +WARN_IF_UNDOCUMENTED = YES +WARN_FORMAT = "$file:$line: $text" + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +INPUT = . +FILE_PATTERNS = Cornucopia_exec.h Cornucopia_exec.cpp +RECURSIVE = YES +EXCLUDE = +EXCLUDE_PATTERNS = +EXAMPLE_PATH = +EXAMPLE_PATTERNS = +IMAGE_PATH = +INPUT_FILTER = + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +ALPHABETICAL_INDEX = YES +COLS_IN_ALPHA_INDEX = 1 +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +GENERATE_HTML = YES +HTML_OUTPUT = html +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = +HTML_ALIGN_MEMBERS = YES +GENERATE_HTMLHELP = YES + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +GENERATE_LATEX = NO +LATEX_OUTPUT = latex +COMPACT_LATEX = NO +PAPER_TYPE = a4wide +EXTRA_PACKAGES = +LATEX_HEADER = +PDF_HYPERLINKS = NO +LATEX_BATCHMODE = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +GENERATE_RTF = NO +RTF_OUTPUT = rtf +COMPACT_RTF = NO +RTF_HYPERLINKS = NO +RTF_STYLESHEET_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +GENERATE_MAN = NO +MAN_OUTPUT = man +MAN_EXTENSION = .3 + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = YES +EXPAND_ONLY_PREDEF = YES +SEARCH_INCLUDES = YES +INCLUDE_PATH = +PREDEFINED = __ACE_INLINE__ CORNUCOPIA_EXEC_Export= \ + ACE_TEMPLATES_REQUIRE_SOURCE \ + ACE_BEGIN_VERSIONED_NAMESPACE_DECL \ + ACE_END_VERSIONED_NAMESPACE_DECL \ + ACE_INLINE +EXPAND_AS_DEFINED = ACE_UNIMPLEMENTED_FUNC \ + ACE_CACHE_MAP_MANAGER + +#--------------------------------------------------------------------------- +# Configuration::additions related to external references +#--------------------------------------------------------------------------- + +TAGFILES = +GENERATE_TAGFILE = Cornucopia.tag +ALLEXTERNALS = NO +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz + +HAVE_DOT = NO +CLASS_GRAPH = YES +COLLABORATION_GRAPH = YES +INCLUDE_GRAPH = NO +INCLUDED_BY_GRAPH = NO +GRAPHICAL_HIERARCHY = YES +DOT_MULTI_TARGETS = YES +MAX_DOT_GRAPH_DEPTH = 3 +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found on the path. +DOT_PATH = + +#--------------------------------------------------------------------------- +# Configuration::additions related to the search engine +#--------------------------------------------------------------------------- + +SEARCHENGINE = YES + diff --git a/CIAO/tests/IDL_Test/Cornucopia/Cornucopia.idl b/CIAO/tests/IDL_Test/Cornucopia/Cornucopia.idl index 9092008cd2c..215102417e6 100644 --- a/CIAO/tests/IDL_Test/Cornucopia/Cornucopia.idl +++ b/CIAO/tests/IDL_Test/Cornucopia/Cornucopia.idl @@ -257,3 +257,19 @@ module YY module ZZ::DDSX < ::Hello, ::HelloSeq> ZZDDSX; module YY::DDSY < ::Hello, ::HelloSeq> ZZDDSY; + +module FooConnector_T<interface T, interface AMI4CCM_T> +{ + porttype AMI4CCM_Port_Type + { + provides AMI4CCM_T ami4ccm_provides; + provides T ami4ccm_sync_provides; + uses T ami4ccm_uses; + }; + connector AMI4CCM_Connector + { + port AMI4CCM_Port_Type ami4ccm_port; + }; +}; + +module FooConnector_T<Supported::IfacePawPaw, Supported::IfacePawPaw> FooPawPaw; diff --git a/CIAO/tests/IDL_Test/Cornucopia/run_test.pl b/CIAO/tests/IDL_Test/Cornucopia/run_test.pl new file mode 100755 index 00000000000..3656a9d2aaa --- /dev/null +++ b/CIAO/tests/IDL_Test/Cornucopia/run_test.pl @@ -0,0 +1,30 @@ + +# $Id$ + +eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' + & eval 'exec perl -S $0 $argv:q' + if 0; + +# -*- perl -*- + +use lib "$ENV{ACE_ROOT}/bin"; +use PerlACE::TestTarget; +use File::Spec; + +$status =0; + +my $server = PerlACE::TestTarget::create_target (1) || die "Create target 1 failed\n"; + +$input_file1 = $server->LocalFile ("Cornucopia.doxygen"); + +# Compile the IDL +$SV = $server->CreateProcess ("/usr/bin/doxygen", "$input_file1"); + +$server_status1 = $SV->SpawnWaitKill ($server->ProcessStartWaitInterval()); + +if ($server_status1 != 0) { + print STDERR "ERROR: doxygen returned $server_status1 for $input_file1, should have failed\n"; + $status = 1; +} + +exit $status; diff --git a/CIAO/tests/IDL_Test/NonTopic_Connector/NonTopic_Connector_T.cpp b/CIAO/tests/IDL_Test/NonTopic_Connector/NonTopic_Connector_T.cpp index 91ac7e9412f..633a64d985c 100644 --- a/CIAO/tests/IDL_Test/NonTopic_Connector/NonTopic_Connector_T.cpp +++ b/CIAO/tests/IDL_Test/NonTopic_Connector/NonTopic_Connector_T.cpp @@ -1,139 +1,135 @@ // $Id$ // connector template for Typed_NonTopic_Test_1 -template <typename CCM_TYPE, typename T, bool FIXED_T, - typename U, bool FIXED_U, - typename V, bool FIXED_V, - typename Tseq, bool FIXED_Ts, - typename Useq, bool FIXED_Ys, - typename VSeq, bool FIXED_Vs> -NT_Connector_T<CCM_TYPE, T, FIXED_T,U, FIXED_U, V, FIXED_V, - Tseq, FIXED_Ts, Useq, FIXED_Ys, - VSeq, FIXED_Vs>::NT_Connector_T (void) +template <typename CCM_TYPE, + typename T, bool FIXED_T, + typename U, bool FIXED_U, + typename V, bool FIXED_V, + typename Tseq, + typename Useq, + typename VSeq> +NT_Connector_T<CCM_TYPE, T, FIXED_T, U, FIXED_U, V, FIXED_V, Tseq, Useq, VSeq>::NT_Connector_T (void) { } -template <typename CCM_TYPE, typename T, bool FIXED_T, - typename U, bool FIXED_U, - typename V, bool FIXED_V, - typename Tseq, bool FIXED_Ts, - typename Useq, bool FIXED_Ys, - typename VSeq, bool FIXED_Vs> +template <typename CCM_TYPE, + typename T, bool FIXED_T, + typename U, bool FIXED_U, + typename V, bool FIXED_V, + typename Tseq, + typename Useq, + typename VSeq> void -NT_Connector_T < CCM_TYPE, T, FIXED_T,U, FIXED_U,V, FIXED_V, - Tseq, FIXED_Ts,Useq, FIXED_Ys, - VSeq,FIXED_Vs>::set_session_context ( - ::Components::SessionContext_ptr /* ctx*/) +NT_Connector_T<CCM_TYPE, T, FIXED_T, U, FIXED_U, V, FIXED_V, Tseq, Useq, VSeq>::set_session_context ( + ::Components::SessionContext_ptr /* ctx*/) { } -template <typename CCM_TYPE, typename T, bool FIXED_T, - typename U, bool FIXED_U, - typename V, bool FIXED_V, - typename Tseq, bool FIXED_Ts, - typename Useq, bool FIXED_Ys, - typename VSeq, bool FIXED_Vs> +template <typename CCM_TYPE, + typename T, bool FIXED_T, + typename U, bool FIXED_U, + typename V, bool FIXED_V, + typename Tseq, + typename Useq, + typename VSeq> void -NT_Connector_T < CCM_TYPE, T, FIXED_T, U, FIXED_U, V, FIXED_V, - Tseq, FIXED_Ts, Useq, FIXED_Ys, - VSeq, FIXED_Vs>::configuration_complete (void) +NT_Connector_T<CCM_TYPE, T, FIXED_T, U, FIXED_U, V, FIXED_V, Tseq, Useq, VSeq>::configuration_complete (void) { } -template <typename CCM_TYPE, typename T, bool FIXED_T, - typename U, bool FIXED_U, - typename V, bool FIXED_V, - typename Tseq, bool FIXED_Ts, - typename Useq, bool FIXED_Ys, - typename VSeq, bool FIXED_Vs> +template <typename CCM_TYPE, + typename T, bool FIXED_T, + typename U, bool FIXED_U, + typename V, bool FIXED_V, + typename Tseq, + typename Useq, + typename VSeq> void -NT_Connector_T < CCM_TYPE, T, FIXED_T, U, FIXED_U, V, FIXED_V, - Tseq, FIXED_Ts,Useq, FIXED_Ys, - VSeq, FIXED_Vs>::ccm_remove (void) +NT_Connector_T<CCM_TYPE, T, FIXED_T, U, FIXED_U, V, FIXED_V, Tseq, Useq, VSeq>::ccm_remove (void) { } -template <typename CCM_TYPE, typename T, bool FIXED_T, - typename U, bool FIXED_U, - typename V, bool FIXED_V, - typename Tseq, bool FIXED_Ts, - typename Useq, bool FIXED_Ys, - typename VSeq, bool FIXED_Vs> +template <typename CCM_TYPE, + typename T, bool FIXED_T, + typename U, bool FIXED_U, + typename V, bool FIXED_V, + typename Tseq, + typename Useq, + typename VSeq> void -NT_Connector_T < CCM_TYPE, T, FIXED_T, U, FIXED_U, V, FIXED_V, -Tseq, FIXED_Ts, Useq, FIXED_Ys, VSeq, FIXED_Vs>::ccm_activate (void) +NT_Connector_T<CCM_TYPE, T, FIXED_T, U, FIXED_U, V, FIXED_V, Tseq, Useq, VSeq>::ccm_activate (void) { } -template <typename CCM_TYPE, typename T, bool FIXED_T, - typename U, bool FIXED_U, - typename V, bool FIXED_V, - typename Tseq, bool FIXED_Ts, - typename Useq, bool FIXED_Ys, - typename VSeq, bool FIXED_Vs> +template <typename CCM_TYPE, + typename T, bool FIXED_T, + typename U, bool FIXED_U, + typename V, bool FIXED_V, + typename Tseq, + typename Useq, + typename VSeq> void -NT_Connector_T < CCM_TYPE, T, FIXED_T, U, FIXED_U, V, FIXED_V, -Tseq, FIXED_Ts, Useq, FIXED_Ys, VSeq, FIXED_Vs>::ccm_passivate (void) +NT_Connector_T<CCM_TYPE, T, FIXED_T, U, FIXED_U, V, FIXED_V, Tseq, Useq, VSeq>::ccm_passivate (void) { } // connector template for Typed_NonTopic_Test_2 -template <typename CCM_TYPE,typename T, bool FIXED_T, - typename U, bool FIXED_U, - typename Tseq,bool FIXED_Ts, - typename Useq,bool FIXED_Us> -NT_2_Connector_T<CCM_TYPE, T, FIXED_T, U, FIXED_U, - Tseq, FIXED_Ts, Useq, FIXED_Us>::NT_2_Connector_T(void) +template <typename CCM_TYPE, + typename T, bool FIXED_T, + typename U, bool FIXED_U, + typename Tseq, + typename Useq> +NT_2_Connector_T<CCM_TYPE, T, FIXED_T, U, FIXED_U, Tseq, Useq>::NT_2_Connector_T(void) { } -template <typename CCM_TYPE,typename T, bool FIXED_T, - typename U, bool FIXED_U, - typename Tseq,bool FIXED_Ts, - typename Useq,bool FIXED_Us> +template <typename CCM_TYPE, + typename T, bool FIXED_T, + typename U, bool FIXED_U, + typename Tseq, + typename Useq> void -NT_2_Connector_T<CCM_TYPE, T, FIXED_T,U, FIXED_U, -Tseq, FIXED_Ts,Useq, FIXED_Us>::set_session_context ( - ::Components::SessionContext_ptr /* ctx*/) +NT_2_Connector_T<CCM_TYPE, T, FIXED_T,U, FIXED_U, Tseq,Useq>::set_session_context ( + ::Components::SessionContext_ptr /* ctx*/) { } -template <typename CCM_TYPE,typename T, bool FIXED_T, - typename U, bool FIXED_U, - typename Tseq,bool FIXED_Ts, - typename Useq,bool FIXED_Us> +template <typename CCM_TYPE, + typename T, bool FIXED_T, + typename U, bool FIXED_U, + typename Tseq, + typename Useq> void -NT_2_Connector_T<CCM_TYPE, T, FIXED_T, -U, FIXED_U,Tseq, FIXED_Ts,Useq, FIXED_Us>::configuration_complete (void) +NT_2_Connector_T<CCM_TYPE, T, FIXED_T, U, FIXED_U, Tseq, Useq>::configuration_complete (void) { } -template <typename CCM_TYPE,typename T, bool FIXED_T, - typename U, bool FIXED_U, - typename Tseq,bool FIXED_Ts, - typename Useq,bool FIXED_Us> +template <typename CCM_TYPE, + typename T, bool FIXED_T, + typename U, bool FIXED_U, + typename Tseq, + typename Useq> void -NT_2_Connector_T<CCM_TYPE, T, FIXED_T,U, FIXED_U, -Tseq, FIXED_Ts,Useq, FIXED_Us>::ccm_remove (void) +NT_2_Connector_T<CCM_TYPE, T, FIXED_T,U, FIXED_U, Tseq,Useq>::ccm_remove (void) { } -template <typename CCM_TYPE,typename T, bool FIXED_T, - typename U, bool FIXED_U, - typename Tseq,bool FIXED_Ts, - typename Useq,bool FIXED_Us> +template <typename CCM_TYPE, + typename T, bool FIXED_T, + typename U, bool FIXED_U, + typename Tseq, + typename Useq> void -NT_2_Connector_T<CCM_TYPE, T, FIXED_T,U, FIXED_U, -Tseq, FIXED_Ts,Useq, FIXED_Us>::ccm_activate (void) +NT_2_Connector_T<CCM_TYPE, T, FIXED_T,U, FIXED_U, Tseq,Useq>::ccm_activate (void) { } -template <typename CCM_TYPE,typename T, bool FIXED_T, - typename U, bool FIXED_U, - typename Tseq,bool FIXED_Ts, - typename Useq,bool FIXED_Us> +template <typename CCM_TYPE, + typename T, bool FIXED_T, + typename U, bool FIXED_U, + typename Tseq, + typename Useq> void -NT_2_Connector_T<CCM_TYPE, T, FIXED_T,U, FIXED_U, -Tseq, FIXED_Ts,Useq, FIXED_Us>::ccm_passivate (void) +NT_2_Connector_T<CCM_TYPE, T, FIXED_T,U, FIXED_U, Tseq,Useq>::ccm_passivate (void) { } diff --git a/CIAO/tests/IDL_Test/NonTopic_Connector/NonTopic_Connector_T.h b/CIAO/tests/IDL_Test/NonTopic_Connector/NonTopic_Connector_T.h index 6e9cd166d5f..fc81831e0b4 100644 --- a/CIAO/tests/IDL_Test/NonTopic_Connector/NonTopic_Connector_T.h +++ b/CIAO/tests/IDL_Test/NonTopic_Connector/NonTopic_Connector_T.h @@ -4,12 +4,13 @@ #define NT_CONNECTOR_T // connector template for Typed_NonTopic_Test_1 -template <typename CCM_TYPE, typename T, bool FIXED_T, - typename U, bool FIXED_U, - typename V, bool FIXED_V, - typename Tseq, bool FIXED_Ts, - typename Useq, bool FIXED_Ys, - typename VSeq, bool FIXED_Vs> +template <typename CCM_TYPE, + typename T, bool FIXED_T, + typename U, bool FIXED_U, + typename V, bool FIXED_V, + typename Tseq, + typename Useq, + typename VSeq> class NT_Connector_T : public virtual CCM_TYPE::base_type { @@ -26,10 +27,11 @@ public: // connector template for Typed_NonTopic_Test_2 and Typed_NonTopic_Test_3 -template <typename CCM_TYPE,typename T, bool FIXED_T, - typename U, bool FIXED_U, - typename Tseq,bool FIXED_Ts, - typename Useq,bool FIXED_Us> +template <typename CCM_TYPE, + typename T, bool FIXED_T, + typename U, bool FIXED_U, + typename Tseq, + typename Useq> class NT_2_Connector_T : public virtual CCM_TYPE::base_type { diff --git a/CIAO/tests/Thread/Sender/Sender_exec.h b/CIAO/tests/Thread/Sender/Sender_exec.h index 1a33a3d5cc9..d6483aa1de4 100644 --- a/CIAO/tests/Thread/Sender/Sender_exec.h +++ b/CIAO/tests/Thread/Sender/Sender_exec.h @@ -28,7 +28,7 @@ namespace CIAO_Thread_Sender_Impl virtual ~ReadMessage_exec_i (void); - // Operations and attributes from ::Thread::ReadMessage + // Operations and attributes from Thread::ReadMessage virtual char * get_message (void); diff --git a/CIAO/tutorials/Quoter/Simple/04.html b/CIAO/tutorials/Quoter/Simple/04.html index 60c49cb63bc..5097af5ae73 100644 --- a/CIAO/tutorials/Quoter/Simple/04.html +++ b/CIAO/tutorials/Quoter/Simple/04.html @@ -72,7 +72,7 @@ COLOR:black'>%CIAO_ROOT%/docs/tutorials/Quoter/Simple/descriptors</span></code>< %DANCE_ROOT%/bin/dance_execution_manager -eEM.ior --cdd NodeMap.cdd</span></code> </P> <p><span style='COLOR:black'>The </span><code><span style='FONT-SIZE:10pt; COLOR:black'>NodeMap.cdd</span></code><span style='COLOR:black'> file describes - the deployment daemons CIAO's Execution_Manager will contact to instantiate + the deployment daemons DAnCE's Execution_Manager will contact to instantiate ComponentServer's, home's, and component instances. In xml the name of an installation "destination" and the corresponding IOR for the CIAO_Daemon are described.</span></p> diff --git a/CIAO/tutorials/Quoter/Simple/Distributor/StockDistributor_exec.h b/CIAO/tutorials/Quoter/Simple/Distributor/StockDistributor_exec.h index 87ad7a9195a..49972e7fb99 100644 --- a/CIAO/tutorials/Quoter/Simple/Distributor/StockDistributor_exec.h +++ b/CIAO/tutorials/Quoter/Simple/Distributor/StockDistributor_exec.h @@ -61,7 +61,7 @@ namespace CIAO_Stock_StockDistributor_Impl virtual ~StockQuoter_exec_i (void); - // Operations and attributes from ::Stock::StockQuoter + // Operations and attributes from Stock::StockQuoter // TAO_IDL - Generated from // c:\middleware\ace_wrappers\tao\tao_idl\be\be_visitor_operation/operation_ch.cpp:42 diff --git a/CIAO/tutorials/Quoter/Simple/README.html b/CIAO/tutorials/Quoter/Simple/README.html index 76414ba92cc..a5be49e8bca 100644 --- a/CIAO/tutorials/Quoter/Simple/README.html +++ b/CIAO/tutorials/Quoter/Simple/README.html @@ -60,7 +60,7 @@ generate makefiles and Visual C++ project/solutions files for all <a href="http://www.cs.wustl.edu/%7Eschmidt/TAO.html">TAO</a> and <a href="http://www.cs.wustl.edu/%7Eschmidt/CIAO.html">CIAO</a> libraries. </li> -<li> idl and cidl files for each component are placed in +<li> idl and files for each component are placed in components directory. </li> <li> The <code>_exec.h</code> and <code>_exec.cpp</code> files @@ -116,10 +116,10 @@ directory: <ul> <li>Start NodeManagers (NodeDameon) by running runNodeDaemon.pl </li> <li>Start the execution manager -$CIAO_ROOT/DAnCE/ExecutionManager/Execution_Manager -o ior -i +$DANCE_ROOT/bin/dance_execution_manager -o ior -i Stock.dat </li> </ul> -<p>The Stock.dat file describes the deployment daemons CIAO's +<p>The Stock.dat file describes the deployment daemons DAnCE's Execution_Manager will contact to instantiate ComponentServer's, home's, and component instances. @@ -134,7 +134,7 @@ this in the future. </li> </ul> <ul> <li> Start the plan_launcher by running -$CIAO_ROOT/DAnCE/Plan_Launcher/plan_launcher -p +$DANCE_ROOT/bin/dance_plan_launcher -p flattened_deploymentplan.cdp -k file://ior</li> <li>By now the components should be successfully deployed. You may run the driver program to start the application. Open a new shell, keep |