summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormsmit <msmit@remedy.nl>2009-08-19 09:05:39 +0000
committermsmit <msmit@remedy.nl>2009-08-19 09:05:39 +0000
commit5b164a28d5e7ae175ae80c843fd144d99abf3eb0 (patch)
tree2d2df32934eac94bd9b9f84be49888daec2bd3f2
parent4c976d5b45f34501524ba7c40adc639b554eaa02 (diff)
downloadATCD-5b164a28d5e7ae175ae80c843fd144d99abf3eb0.tar.gz
Wed Aug 19 09:07:17 UTC 2009 Marcel Smit <msmit@remedy.nl>
* tests/AMI_CCM/AMI/AMI_exec.h: * tests/AMI_CCM/AMI/AMI_exec.cpp: * tests/AMI_CCM/Receiver/Hello_Receiver_exec.cpp: * tests/AMI_CCM/Sender/Hello_Sender_exec.h: * tests/AMI_CCM/Sender/Hello_Sender_exec.cpp: The Sender component is now able to pass a string through the AMI component to the Receiver component.
-rw-r--r--modules/CIAO/ChangeLog10
-rw-r--r--modules/CIAO/tests/AMI_CCM/AMI/AMI_exec.cpp18
-rw-r--r--modules/CIAO/tests/AMI_CCM/AMI/AMI_exec.h4
-rw-r--r--modules/CIAO/tests/AMI_CCM/Receiver/Hello_Receiver_exec.cpp12
-rw-r--r--modules/CIAO/tests/AMI_CCM/Sender/Hello_Sender_exec.cpp38
-rw-r--r--modules/CIAO/tests/AMI_CCM/Sender/Hello_Sender_exec.h17
6 files changed, 86 insertions, 13 deletions
diff --git a/modules/CIAO/ChangeLog b/modules/CIAO/ChangeLog
index ff5d966334c..3097bbaf477 100644
--- a/modules/CIAO/ChangeLog
+++ b/modules/CIAO/ChangeLog
@@ -1,3 +1,13 @@
+Wed Aug 19 09:07:17 UTC 2009 Marcel Smit <msmit@remedy.nl>
+
+ * tests/AMI_CCM/AMI/AMI_exec.h:
+ * tests/AMI_CCM/AMI/AMI_exec.cpp:
+ * tests/AMI_CCM/Receiver/Hello_Receiver_exec.cpp:
+ * tests/AMI_CCM/Sender/Hello_Sender_exec.h:
+ * tests/AMI_CCM/Sender/Hello_Sender_exec.cpp:
+ The Sender component is now able to pass a string through the
+ AMI component to the Receiver component.
+
Wed Aug 19 07:58:49 UTC 2009 Marcel Smit <msmit@remedy.nl>
* tests/AMI_CCM/AMI:
diff --git a/modules/CIAO/tests/AMI_CCM/AMI/AMI_exec.cpp b/modules/CIAO/tests/AMI_CCM/AMI/AMI_exec.cpp
index 525c9449ce1..5ba60bcd804 100644
--- a/modules/CIAO/tests/AMI_CCM/AMI/AMI_exec.cpp
+++ b/modules/CIAO/tests/AMI_CCM/AMI/AMI_exec.cpp
@@ -37,8 +37,10 @@ namespace CIAO_Hello_AMI_AMI_Impl
// Facet Executor Implementation Class: AMI_ami_foo_exec_i
//============================================================
- AMI_ami_foo_exec_i::AMI_ami_foo_exec_i (void)
+ AMI_ami_foo_exec_i::AMI_ami_foo_exec_i (::CCM_AMI::AMI_foo_ptr foo_receiver) :
+ foo_receiver_ (::CCM_AMI::AMI_foo::_duplicate (foo_receiver))
{
+
}
AMI_ami_foo_exec_i::~AMI_ami_foo_exec_i (void)
@@ -49,10 +51,14 @@ namespace CIAO_Hello_AMI_AMI_Impl
void
AMI_ami_foo_exec_i::sendc_asynch_foo (
- const char * /* in_str */,
+ const char * in_str,
::CCM_AMI::AMI_foo_callback_ptr /* foo_callback */)
{
- /* Your code here. */
+ printf ("\n\n\n\n\nAMI: Received string <%s>!!!!\n", in_str);
+ printf ("AMI: Try to pass it on to the Receiver component\n");
+ char* out_str;
+ CORBA::Long result;
+ result = foo_receiver_->asynch_foo (CORBA::string_dup (in_str), out_str);
}
//============================================================
@@ -76,8 +82,10 @@ namespace CIAO_Hello_AMI_AMI_Impl
::CCM_AMI::CCM_AMI_ami_foo_ptr
AMI_exec_i::get_perform_asynch_foo (void)
{
- /* Your code here. */
- return ::CCM_AMI::CCM_AMI_ami_foo::_nil ();
+ ::CCM_AMI::AMI_foo_var receiver_foo =
+ this->context_->get_connection_receiver_foo ();
+
+ return new AMI_ami_foo_exec_i (receiver_foo);
}
// Operations from Components::SessionComponent.
diff --git a/modules/CIAO/tests/AMI_CCM/AMI/AMI_exec.h b/modules/CIAO/tests/AMI_CCM/AMI/AMI_exec.h
index f287fc1cbe9..683e56fe7a4 100644
--- a/modules/CIAO/tests/AMI_CCM/AMI/AMI_exec.h
+++ b/modules/CIAO/tests/AMI_CCM/AMI/AMI_exec.h
@@ -48,7 +48,7 @@ namespace CIAO_Hello_AMI_AMI_Impl
public virtual ::CORBA::LocalObject
{
public:
- AMI_ami_foo_exec_i (void);
+ AMI_ami_foo_exec_i (::CCM_AMI::AMI_foo_ptr foo_receiver);
virtual ~AMI_ami_foo_exec_i (void);
// Operations and attributes from ::CCM_AMI::AMI_ami_foo
@@ -60,6 +60,8 @@ namespace CIAO_Hello_AMI_AMI_Impl
sendc_asynch_foo (
const char * in_str,
::CCM_AMI::AMI_foo_callback_ptr foo_callback);
+ private:
+ ::CCM_AMI::AMI_foo_var foo_receiver_;
};
class AMI_exec_i
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 d91a0856c05..48aa91839a3 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,12 @@ 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,
+ ::CORBA::String_out answer)
{
- /* Your code here. */
- return 0;
+ printf ("\n\n\n\n\nReceived string <%s>!!!!\n", in_str);
+ answer = CORBA::string_dup ("This is my answer : Bla\n");
+ return 15;
}
//============================================================
@@ -77,8 +78,7 @@ namespace CIAO_Hello_AMI_Receiver_Impl
::CCM_AMI::CCM_AMI_foo_ptr
Receiver_exec_i::get_do_asynch_foo (void)
{
- /* Your code here. */
- return ::CCM_AMI::CCM_AMI_foo::_nil ();
+ return new AMI_foo_exec_i ();
}
// Operations from Components::SessionComponent.
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 9d3aa3c5cbe..9aa6eba64ca 100644
--- a/modules/CIAO/tests/AMI_CCM/Sender/Hello_Sender_exec.cpp
+++ b/modules/CIAO/tests/AMI_CCM/Sender/Hello_Sender_exec.cpp
@@ -33,6 +33,35 @@
namespace CIAO_Hello_AMI_Sender_Impl
{
+pulse_generator::pulse_generator (::CCM_AMI::AMI_ami_foo_ptr foo_ami)
+ : foo_ami_ (::CCM_AMI::AMI_ami_foo::_duplicate (foo_ami))
+{
+ printf ("pulse_generator::pulse_generator\n");
+}
+
+pulse_generator::~pulse_generator ()
+{
+}
+
+int pulse_generator::svc ()
+{
+ printf ("pulse_generator::svc");
+ ACE_OS::sleep (10);
+ for (int i = 0; i < 5; ++i)
+ {
+ if (CORBA::is_nil (foo_ami_))
+ printf ("foo_receiver is NIL !!!\n");
+ else
+ {
+ foo_ami_->sendc_asynch_foo ("@#$%~!@$&%$^&*#$%@!# Do something funny %^*&%^$%^#%#@!$%",
+ 0);
+ printf ("asynch_foo called\n");
+ }
+ ACE_OS::sleep (2);
+ }
+ return 0;
+}
+
//============================================================
// Facet Executor Implementation Class: AMI_foo_callback_exec_i
//============================================================
@@ -111,7 +140,14 @@ namespace CIAO_Hello_AMI_Sender_Impl
void
Sender_exec_i::ccm_activate (void)
{
- /* Your code here. */
+ printf ("\n\nCCM active\n");
+ ::CCM_AMI::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 e03bedb565d..7686f737e9e 100644
--- a/modules/CIAO/tests/AMI_CCM/Sender/Hello_Sender_exec.h
+++ b/modules/CIAO/tests/AMI_CCM/Sender/Hello_Sender_exec.h
@@ -45,6 +45,22 @@
namespace CIAO_Hello_AMI_Sender_Impl
{
+ class pulse_generator : public virtual ACE_Task_Base
+ {
+ public:
+ pulse_generator (::CCM_AMI::AMI_ami_foo_ptr foo_ami);
+
+ ~pulse_generator ();
+
+ virtual int svc (void);
+
+ private:
+ /// Maintains a handle that actually process the event
+ ::CCM_AMI::AMI_ami_foo_var foo_ami_;
+
+ };
+
+
class AMI_foo_callback_exec_i
: public virtual ::CCM_AMI::CCM_AMI_foo_callback,
public virtual ::CORBA::LocalObject
@@ -102,6 +118,7 @@ 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