diff options
author | msmit <msmit@remedy.nl> | 2009-08-18 10:02:19 +0000 |
---|---|---|
committer | msmit <msmit@remedy.nl> | 2009-08-18 10:02:19 +0000 |
commit | f386e337396d00aaccde3da08f0fe9a65430f363 (patch) | |
tree | 8972cbd39edabf558100cb132b8d1388a26b5079 | |
parent | 7b5c99b6319a8a32083f445a1f641806330a0cf5 (diff) | |
download | ATCD-f386e337396d00aaccde3da08f0fe9a65430f363.tar.gz |
Tue Aug 18 09:59:07 UTC 2009 Marcel Smit <msmit@remedy.nl>
* tests/AMI_CCM/Hello_Base/Hello_Base.idl:
* tests/AMI_CCM/Receiver/Hello_Receiver.idl:
* tests/AMI_CCM/Receiver/Hello_Receiver_exec.h:
* tests/AMI_CCM/Receiver/Hello_Receiver_exec.cpp:
* tests/AMI_CCM/Sender/Hello_Sender.idl:
* tests/AMI_CCM/Sender/Hello_Sender_exec.h:
* tests/AMI_CCM/Sender/Hello_Sender_exec.cpp:
* tests/AMI_CCM/descriptors/Plan.cdp:
* tests/AMI_CCM/descriptors/run_test.pl:
Baseline for AMI implementation. Sender and Receiver
components are deployable and runable.
10 files changed, 101 insertions, 105 deletions
diff --git a/modules/CIAO/ChangeLog b/modules/CIAO/ChangeLog index a90f2b85b65..b3d8dc78d89 100644 --- a/modules/CIAO/ChangeLog +++ b/modules/CIAO/ChangeLog @@ -1,3 +1,17 @@ +Tue Aug 18 09:59:07 UTC 2009 Marcel Smit <msmit@remedy.nl> + + * tests/AMI_CCM/Hello_Base/Hello_Base.idl: + * tests/AMI_CCM/Receiver/Hello_Receiver.idl: + * tests/AMI_CCM/Receiver/Hello_Receiver_exec.h: + * tests/AMI_CCM/Receiver/Hello_Receiver_exec.cpp: + * tests/AMI_CCM/Sender/Hello_Sender.idl: + * tests/AMI_CCM/Sender/Hello_Sender_exec.h: + * tests/AMI_CCM/Sender/Hello_Sender_exec.cpp: + * tests/AMI_CCM/descriptors/Plan.cdp: + * tests/AMI_CCM/descriptors/run_test.pl: + Baseline for AMI implementation. Sender and Receiver + components are deployable and runable. + Fri Jul 24 11:54:48 UTC 2009 Marcel Smit <msmit@remedy.nl> * tests/AMI_CCM/Hello_Base/Hello_Base.mpc: @@ -7,7 +21,7 @@ Fri Jul 24 11:54:48 UTC 2009 Marcel Smit <msmit@remedy.nl> * tests/AMI_CCM/Sender/Hello_Sender.mpc: * tests/AMI_CCM/Sender/Hello_Sender_exec.h: * tests/AMI_CCM/Sender/Hello_Sender_exec.cpp: - Rerun example. + Rerun example. * tests/AMI_CCM/descriptors/Plan.cdp: Added connectors. Now both components diff --git a/modules/CIAO/tests/AMI_CCM/Hello_Base/Hello_Base.idl b/modules/CIAO/tests/AMI_CCM/Hello_Base/Hello_Base.idl index ae6031a46b9..ae3bda94d5b 100644 --- a/modules/CIAO/tests/AMI_CCM/Hello_Base/Hello_Base.idl +++ b/modules/CIAO/tests/AMI_CCM/Hello_Base/Hello_Base.idl @@ -9,7 +9,7 @@ module CCM_AMI interface AMI_foo { - long asynch_foo (in string in_str, out string answer) + long asynch_foo (in string in_str) raises (InternalError); void foo_callback (in long result, in string answer); }; diff --git a/modules/CIAO/tests/AMI_CCM/Receiver/Hello_Receiver.idl b/modules/CIAO/tests/AMI_CCM/Receiver/Hello_Receiver.idl index 8ae6046cc75..e2cf42ae8db 100644 --- a/modules/CIAO/tests/AMI_CCM/Receiver/Hello_Receiver.idl +++ b/modules/CIAO/tests/AMI_CCM/Receiver/Hello_Receiver.idl @@ -11,8 +11,8 @@ module Hello_AMI { component Receiver { - provides CCM_AMI::AMI_foo asynch_foo; - uses CCM_AMI::AMI_foo callback_foo; + provides CCM_AMI::AMI_foo perform_asynch_foo; + //uses CCM_AMI::AMI_foo callback_foo; }; home ReceiverHome manages Receiver diff --git a/modules/CIAO/tests/AMI_CCM/Receiver/Hello_Receiver_exec.cpp b/modules/CIAO/tests/AMI_CCM/Receiver/Hello_Receiver_exec.cpp index 805d0196080..f9dfe329243 100644 --- a/modules/CIAO/tests/AMI_CCM/Receiver/Hello_Receiver_exec.cpp +++ b/modules/CIAO/tests/AMI_CCM/Receiver/Hello_Receiver_exec.cpp @@ -49,11 +49,11 @@ namespace CIAO_Hello_AMI_Receiver_Impl ::CORBA::Long AMI_foo_exec_i::asynch_foo ( - const char * /* in_str */, - ::CORBA::String_out /* answer */) + const char * in_str ) { /* Your code here. */ - return 0; + printf ("\n\n\n\n\nReceived string <%s>!!!!\n", in_str); + return 15; } void @@ -83,10 +83,11 @@ namespace CIAO_Hello_AMI_Receiver_Impl // Port operations. ::CCM_AMI::CCM_AMI_foo_ptr - Receiver_exec_i::get_asynch_foo (void) + Receiver_exec_i::get_perform_asynch_foo (void) { /* Your code here. */ - return ::CCM_AMI::CCM_AMI_foo::_nil (); + return new AMI_foo_exec_i (); + //return ::CCM_AMI::CCM_AMI_foo::_nil (); } // Operations from Components::SessionComponent. diff --git a/modules/CIAO/tests/AMI_CCM/Receiver/Hello_Receiver_exec.h b/modules/CIAO/tests/AMI_CCM/Receiver/Hello_Receiver_exec.h index 08a7853f2fa..b7f501a5848 100644 --- a/modules/CIAO/tests/AMI_CCM/Receiver/Hello_Receiver_exec.h +++ b/modules/CIAO/tests/AMI_CCM/Receiver/Hello_Receiver_exec.h @@ -58,8 +58,7 @@ namespace CIAO_Hello_AMI_Receiver_Impl virtual ::CORBA::Long asynch_foo ( - const char * in_str, - ::CORBA::String_out answer); + const char * in_str); // TAO_IDL - Generated from // be/be_visitor_operation/operation_ch.cpp:46 @@ -85,7 +84,7 @@ namespace CIAO_Hello_AMI_Receiver_Impl // Port operations. virtual ::CCM_AMI::CCM_AMI_foo_ptr - get_asynch_foo (void); + get_perform_asynch_foo (void); // Operations from Components::SessionComponent. diff --git a/modules/CIAO/tests/AMI_CCM/Sender/Hello_Sender.idl b/modules/CIAO/tests/AMI_CCM/Sender/Hello_Sender.idl index 3e03ce2245f..f87b683701c 100644 --- a/modules/CIAO/tests/AMI_CCM/Sender/Hello_Sender.idl +++ b/modules/CIAO/tests/AMI_CCM/Sender/Hello_Sender.idl @@ -11,8 +11,8 @@ module Hello_AMI { component Sender { - uses CCM_AMI::AMI_foo asynch_foo; - provides CCM_AMI::AMI_foo callback_foo; + uses CCM_AMI::AMI_foo run_asynch_foo; + //provides CCM_AMI::AMI_foo callback_foo; }; home SenderHome manages Sender diff --git a/modules/CIAO/tests/AMI_CCM/Sender/Hello_Sender_exec.cpp b/modules/CIAO/tests/AMI_CCM/Sender/Hello_Sender_exec.cpp index 3811e86c369..ff715aa8304 100644 --- a/modules/CIAO/tests/AMI_CCM/Sender/Hello_Sender_exec.cpp +++ b/modules/CIAO/tests/AMI_CCM/Sender/Hello_Sender_exec.cpp @@ -31,44 +31,45 @@ #include "Hello_Sender_exec.h" #include "ciao/CIAO_common.h" + + + namespace CIAO_Hello_AMI_Sender_Impl { - //============================================================ - // Facet Executor Implementation Class: AMI_foo_exec_i - //============================================================ - - AMI_foo_exec_i::AMI_foo_exec_i (void) - { - } - - AMI_foo_exec_i::~AMI_foo_exec_i (void) - { - } - - // Operations from ::CCM_AMI::AMI_foo - - ::CORBA::Long - AMI_foo_exec_i::asynch_foo ( - const char * /* in_str */, - ::CORBA::String_out /* answer */) - { - /* Your code here. */ - return 0; - } - - void - AMI_foo_exec_i::foo_callback ( - ::CORBA::Long /* result */, - const char * /* answer */) - { - /* Your code here. */ - } - + +pulse_generator::pulse_generator (::CCM_AMI::AMI_foo_ptr foo_receiver) + : foo_receiver_ (::CCM_AMI::AMI_foo::_duplicate (foo_receiver)) +{ + printf ("pulse_generator::pulse_generator\n"); +} + +pulse_generator::~pulse_generator () +{ +} + +int pulse_generator::svc () +{ + printf ("pulse_generator::svc"); + ACE_OS::sleep (10); + while (1) + { + if (CORBA::is_nil (foo_receiver_)) + printf ("foo_receiver is NIL !!!\n"); + foo_receiver_->asynch_foo ("@#$%~!@$&%$^&*#$%@!# Do something funny %^*&%^$%^#%#@!$%"); + printf ("asynch_foo called\n"); + ACE_OS::sleep (2); + } + return 0; +} + + + //============================================================ // Component Executor Implementation Class: Sender_exec_i //============================================================ Sender_exec_i::Sender_exec_i (void) + :pulser_(0) { } @@ -82,13 +83,6 @@ namespace CIAO_Hello_AMI_Sender_Impl // Port operations. - ::CCM_AMI::CCM_AMI_foo_ptr - Sender_exec_i::get_callback_foo (void) - { - /* Your code here. */ - return ::CCM_AMI::CCM_AMI_foo::_nil (); - } - // Operations from Components::SessionComponent. void @@ -103,18 +97,23 @@ namespace CIAO_Hello_AMI_Sender_Impl throw ::CORBA::INTERNAL (); } } - + void Sender_exec_i::configuration_complete (void) { - /* Your code here. */ } void Sender_exec_i::ccm_activate (void) { - /* Your code here. */ - + printf ("\n\nCCM active\n"); + ::CCM_AMI::AMI_foo_var foo = + this->context_->get_connection_run_asynch_foo (); + + this->pulser_= new pulse_generator (foo); + + this->pulser_->activate (THR_NEW_LWP | THR_JOINABLE, + 1); } void diff --git a/modules/CIAO/tests/AMI_CCM/Sender/Hello_Sender_exec.h b/modules/CIAO/tests/AMI_CCM/Sender/Hello_Sender_exec.h index 7d5db0fb764..45f41326219 100644 --- a/modules/CIAO/tests/AMI_CCM/Sender/Hello_Sender_exec.h +++ b/modules/CIAO/tests/AMI_CCM/Sender/Hello_Sender_exec.h @@ -40,55 +40,37 @@ #endif /* ACE_LACKS_PRAGMA_ONCE */ #include "tao/LocalObject.h" +#include "ace/Task.h" + namespace CIAO_Hello_AMI_Sender_Impl { - class AMI_foo_exec_i - : public virtual ::CCM_AMI::CCM_AMI_foo, - public virtual ::CORBA::LocalObject + class Sender_exec_i; + + class pulse_generator : public virtual ACE_Task_Base { public: - AMI_foo_exec_i (void); - virtual ~AMI_foo_exec_i (void); - - // Operations and attributes from ::CCM_AMI::AMI_foo - - // TAO_IDL - Generated from - // be/be_visitor_operation/operation_ch.cpp:46 - - virtual ::CORBA::Long - asynch_foo ( - const char * in_str, - ::CORBA::String_out answer); - - // TAO_IDL - Generated from - // be/be_visitor_operation/operation_ch.cpp:46 - - virtual void - foo_callback ( - ::CORBA::Long result, - const char * answer); + pulse_generator (::CCM_AMI::AMI_foo_ptr foo_receiver); + + ~pulse_generator (); + + virtual int svc (void); + + private: + /// Maintains a handle that actually process the event + ::CCM_AMI::AMI_foo_var foo_receiver_; + }; - + class Sender_exec_i : public virtual Sender_Exec, public virtual ::CORBA::LocalObject { public: Sender_exec_i (void); + virtual ~Sender_exec_i (void); - - // Supported operations and attributes. - - // Component attributes. - - // Port operations. - - virtual ::CCM_AMI::CCM_AMI_foo_ptr - get_callback_foo (void); - - // Operations from Components::SessionComponent. - + virtual void set_session_context ( ::Components::SessionContext_ptr ctx); @@ -101,7 +83,8 @@ namespace CIAO_Hello_AMI_Sender_Impl private: ::Hello_AMI::CCM_Sender_Context_var context_; - }; + pulse_generator* pulser_; + }; extern "C" HELLO_SENDER_EXEC_Export ::Components::EnterpriseComponent_ptr create_Hello_AMI_Sender_Impl (void); diff --git a/modules/CIAO/tests/AMI_CCM/descriptors/Plan.cdp b/modules/CIAO/tests/AMI_CCM/descriptors/Plan.cdp index b63bdb74246..025eb226043 100644 --- a/modules/CIAO/tests/AMI_CCM/descriptors/Plan.cdp +++ b/modules/CIAO/tests/AMI_CCM/descriptors/Plan.cdp @@ -144,20 +144,20 @@ <connection> <name>asynch_foo_connection</name> <internalEndpoint> - <portName>asynch_foo</portName> + <portName>perform_asynch_foo</portName> <provider>true</provider> <kind>Facet</kind> <instance xmi:idref="Hello.ComponentImplementations.HelloImplementation.Hello.Receiver" /> </internalEndpoint> <internalEndpoint> - <portName>asynch_foo</portName> + <portName>run_asynch_foo</portName> <provider>false</provider> <kind>SimplexReceptacle</kind> <instance xmi:idref="Hello.ComponentImplementations.HelloImplementation.Hello.Sender" /> </internalEndpoint> </connection> - <connection> + <!--connection> <name>callback_foo_connection</name> <internalEndpoint> <portName>callback_foo</portName> @@ -171,7 +171,7 @@ <kind>SimplexReceptacle</kind> <instance xmi:idref="Hello.ComponentImplementations.HelloImplementation.Hello.Receiver" /> </internalEndpoint> - </connection> + </connection--> <!--connection> <name>Hello.ComponentImplementations.HelloImplementation.Hello.Receiver:read_quoter-Hello.ComponentImplementations.HelloImplementation.Hello.Sender:push_quoter</name> diff --git a/modules/CIAO/tests/AMI_CCM/descriptors/run_test.pl b/modules/CIAO/tests/AMI_CCM/descriptors/run_test.pl index 881c63d70cc..be3a1f3b002 100755 --- a/modules/CIAO/tests/AMI_CCM/descriptors/run_test.pl +++ b/modules/CIAO/tests/AMI_CCM/descriptors/run_test.pl @@ -189,15 +189,15 @@ if (PerlACE::waitforfile_timed ("Sender.ior", print "Invoking executor - stop the application -\n"; print "by running dance_plan_launcher.exe with -k file://EM.ior -x $cdp_file -q\n"; -$E = - new PerlACE::Process ("$DAnCE/bin/dance_plan_launcher", - "-k file://EM.ior -x $cdp_file -q"); -$E->SpawnWaitKill (30); +# $E = +# new PerlACE::Process ("$DAnCE/bin/dance_plan_launcher", +# "-k file://EM.ior -x $cdp_file -q"); +# $E->SpawnWaitKill (30); -print "Executor returned.\n"; -print "Shutting down rest of the processes.\n"; +# print "Executor returned.\n"; +# print "Shutting down rest of the processes.\n"; -delete_ior_files (); -kill_open_processes (); +# delete_ior_files (); +# kill_open_processes (); exit $status; |