summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormsmit <msmit@remedy.nl>2009-08-26 18:53:28 +0000
committermsmit <msmit@remedy.nl>2009-08-26 18:53:28 +0000
commit8c1ae7a1294162be25140f933f26a967f2c3d691 (patch)
treea0c9a082605a10d722e6fe4c45498bce2e8a6dd8
parent5ae1054d8b78dedfb50fe9ac8bd27747676ab14d (diff)
downloadATCD-8c1ae7a1294162be25140f933f26a967f2c3d691.tar.gz
Wed Aug 26 18:42:49 UTC 2009 Marcel Smit <msmit@remedy.nl>
* connectors/AMI_CCM/AMI/AMI.idl: * connectors/AMI_CCM/AMI/AMI_exec.h: * connectors/AMI_CCM/AMI/AMI_exec.cpp: * connectors/AMI_CCM/Hello_Base/Hello.idl: * connectors/AMI_CCM/Hello_Base/Hello_Base.idl: * connectors/AMI_CCM/Receiver/Hello_Receiver.idl: * connectors/AMI_CCM/Receiver/Hello_Receiver_exec.h: * connectors/AMI_CCM/Receiver/Hello_Receiver_exec.cpp: * connectors/AMI_CCM/Sender/Hello_Sender.idl: * connectors/AMI_CCM/Sender/Hello_Sender_exec.h: * connectors/AMI_CCM/Sender/Hello_Sender_exec.cpp: * connectors/AMI_CCM/descriptors/Plan.cdp: Set up (empty) framework in order to test one reply handler per request.
-rw-r--r--modules/CIAO/ChangeLog17
-rw-r--r--modules/CIAO/connectors/AMI_CCM/AMI/AMI.idl9
-rw-r--r--modules/CIAO/connectors/AMI_CCM/AMI/AMI_exec.cpp117
-rw-r--r--modules/CIAO/connectors/AMI_CCM/AMI/AMI_exec.h27
-rw-r--r--modules/CIAO/connectors/AMI_CCM/Hello_Base/Hello.idl6
-rw-r--r--modules/CIAO/connectors/AMI_CCM/Hello_Base/Hello_Base.idl20
-rw-r--r--modules/CIAO/connectors/AMI_CCM/Receiver/Hello_Receiver.idl3
-rw-r--r--modules/CIAO/connectors/AMI_CCM/Receiver/Hello_Receiver_exec.cpp44
-rw-r--r--modules/CIAO/connectors/AMI_CCM/Receiver/Hello_Receiver_exec.h23
-rw-r--r--modules/CIAO/connectors/AMI_CCM/Sender/Hello_Sender.idl9
-rw-r--r--modules/CIAO/connectors/AMI_CCM/Sender/Hello_Sender_exec.cpp32
-rw-r--r--modules/CIAO/connectors/AMI_CCM/Sender/Hello_Sender_exec.h30
-rw-r--r--modules/CIAO/connectors/AMI_CCM/descriptors/Plan.cdp80
13 files changed, 374 insertions, 43 deletions
diff --git a/modules/CIAO/ChangeLog b/modules/CIAO/ChangeLog
index 175def96f3c..734a046c84f 100644
--- a/modules/CIAO/ChangeLog
+++ b/modules/CIAO/ChangeLog
@@ -1,3 +1,20 @@
+Wed Aug 26 18:42:49 UTC 2009 Marcel Smit <msmit@remedy.nl>
+
+ * connectors/AMI_CCM/AMI/AMI.idl:
+ * connectors/AMI_CCM/AMI/AMI_exec.h:
+ * connectors/AMI_CCM/AMI/AMI_exec.cpp:
+ * connectors/AMI_CCM/Hello_Base/Hello.idl:
+ * connectors/AMI_CCM/Hello_Base/Hello_Base.idl:
+ * connectors/AMI_CCM/Receiver/Hello_Receiver.idl:
+ * connectors/AMI_CCM/Receiver/Hello_Receiver_exec.h:
+ * connectors/AMI_CCM/Receiver/Hello_Receiver_exec.cpp:
+ * connectors/AMI_CCM/Sender/Hello_Sender.idl:
+ * connectors/AMI_CCM/Sender/Hello_Sender_exec.h:
+ * connectors/AMI_CCM/Sender/Hello_Sender_exec.cpp:
+ * connectors/AMI_CCM/descriptors/Plan.cdp:
+ Set up (empty) framework in order to test one reply handler
+ per request.
+
Wed Aug 26 13:04:12 UTC 2009 Marcel Smit <msmit@remedy.nl>
* connectors/AMI_CCM/AMI/AMI_exec.h:
diff --git a/modules/CIAO/connectors/AMI_CCM/AMI/AMI.idl b/modules/CIAO/connectors/AMI_CCM/AMI/AMI.idl
index 7873626fc74..57478b6d997 100644
--- a/modules/CIAO/connectors/AMI_CCM/AMI/AMI.idl
+++ b/modules/CIAO/connectors/AMI_CCM/AMI/AMI.idl
@@ -12,13 +12,16 @@ module Hello_AMI
component AMI
{
//provides the interface for Sender
- provides CCM_AMI::AMI_MyFoo perform_asynch_foo;
+ provides CCM_AMI::AMI_MyFoo perform_asynch_my_foo;
+ provides CCM_AMI::AMI_MyInterface perform_asynch_my_interface;
//uses the interface of the Receiver ('server')
- uses CCM_AMI::MyFoo receiver_foo;
+ uses CCM_AMI::MyFoo my_foo_receiver;
+ uses CCM_AMI::MyInterface my_interface_receiver;
//uses the callback interface of the sender
- uses CCM_AMI::AMI_MyFoo_callback callback_foo;
+ uses CCM_AMI::AMI_MyFoo_callback callback_my_foo;
+ uses CCM_AMI::AMI_MyInterface_callback callback_my_interface;
};
home AMIHome manages AMI
diff --git a/modules/CIAO/connectors/AMI_CCM/AMI/AMI_exec.cpp b/modules/CIAO/connectors/AMI_CCM/AMI/AMI_exec.cpp
index 782a2224aff..d36d4198e99 100644
--- a/modules/CIAO/connectors/AMI_CCM/AMI/AMI_exec.cpp
+++ b/modules/CIAO/connectors/AMI_CCM/AMI/AMI_exec.cpp
@@ -36,12 +36,12 @@
namespace CIAO_Hello_AMI_AMI_Impl
{
//============================================================
- // Implementation of the AMI CORBA reply handler
+ // Implementation of the AMI CORBA FOO reply handler
//============================================================
- class AMI_reply_handler : public POA_CCM_AMI::AMI_MyFooHandler
+ class AMI_MyFoo_reply_handler : public POA_CCM_AMI::AMI_MyFooHandler
{
public:
- AMI_reply_handler (::CCM_AMI::AMI_MyFoo_callback_ptr foo_callback)
+ AMI_MyFoo_reply_handler (::CCM_AMI::AMI_MyFoo_callback_ptr foo_callback)
: foo_callback_ (::CCM_AMI::AMI_MyFoo_callback::_duplicate (foo_callback))
{
};
@@ -49,14 +49,14 @@ namespace CIAO_Hello_AMI_AMI_Impl
void foo (CORBA::Long result,
const char * out_str)
{
- printf ("AMI CORBA :\tHandler::asynch_foo\n");
+ printf ("AMI CORBA (FOO) :\tMyFoo Reply Handler::foo\n");
foo_callback_->foo_callback_handler (result, CORBA::string_dup (out_str));
this->_remove_ref ();
};
void foo_excep (::Messaging::ExceptionHolder * excep_holder)
{
- printf ("AMI CORBA :\tHandler::foo_excep\n");
+ printf ("AMI CORBA (FOO) :\tMyFoo Reply Handler::foo_excep\n");
try
{
@@ -64,34 +64,91 @@ namespace CIAO_Hello_AMI_AMI_Impl
}
catch (const CCM_AMI::InternalError& ex)
{
- printf ("AMI CORBA :\tCaught the correct exception type (CCM_AMI::InternalError) <%d> <%s>\n",
+ printf ("AMI CORBA (FOO) :\tCaught the correct exception type (CCM_AMI::InternalError) <%d> <%s>\n",
ex.ex.id, ex.ex.error_string.in ());
foo_callback_->foo_callback_excep (ex.ex);
if (ex.ex.id != 42)
{
- printf ("ERROR :\tReceived unexpected ID received in exception handler\n");
+ printf ("ERROR (FOO):\tReceived unexpected ID received in exception handler\n");
}
if (ACE_OS::strcmp (ex.ex.error_string.in (), "Hello world") != 0)
{
- printf ("ERROR :\tReceived unexpected error string received in exception handler\n");
+ printf ("ERROR (FOO):\tReceived unexpected error string received in exception handler\n");
}
}
catch (const CORBA::Exception& ex)
{
- ex._tao_print_exception ("Caught the WRONG exception:");
+ ex._tao_print_exception ("ERROR (FOO) :\tCaught the WRONG exception:");
}
this->_remove_ref ();
};
- ~AMI_reply_handler (void)
+ ~AMI_MyFoo_reply_handler (void)
{
};
private:
::CCM_AMI::AMI_MyFoo_callback_var foo_callback_;
};
+
+ //============================================================
+ // Implementation of the AMI CORBA INTERFACE reply handler
+ //============================================================
+ class AMI_MyInterface_reply_handler : public POA_CCM_AMI::AMI_MyInterfaceHandler
+ {
+ public:
+ AMI_MyInterface_reply_handler (::CCM_AMI::AMI_MyInterface_callback_ptr interface_callback)
+ : interface_callback_ (::CCM_AMI::AMI_MyInterface_callback::_duplicate (interface_callback))
+ {
+ };
+
+ void do_something_with_something (CORBA::Float /*result*/)
+ {
+ printf ("AMI CORBA :\tMyInterface Reply Handler::do_something_with_something\n");
+ //foo_callback_->foo_callback_handler (result, CORBA::string_dup (out_str));
+ this->_remove_ref ();
+ };
+
+ void do_something_with_something_excep (::Messaging::ExceptionHolder * excep_holder)
+ {
+ printf ("AMI CORBA :\tMyInterface Reply Handler::do_something_with_something_excep\n");
+
+ try
+ {
+ excep_holder->raise_exception ();
+ }
+ catch (const CCM_AMI::InternalError& ex)
+ {
+ printf ("AMI CORBA (INTERFACE) :\tCaught the correct exception type (CCM_AMI::InternalError) <%d> <%s>\n",
+ ex.ex.id, ex.ex.error_string.in ());
+
+ //foo_callback_->foo_callback_excep (ex.ex);
+
+ if (ex.ex.id != 42)
+ {
+ printf ("ERROR (INTERFACE) :\tReceived unexpected ID received in exception handler\n");
+ }
+ if (ACE_OS::strcmp (ex.ex.error_string.in (), "Hello world") != 0)
+ {
+ printf ("ERROR (INTERFACE) :\tReceived unexpected error string received in exception handler\n");
+ }
+ }
+ catch (const CORBA::Exception& ex)
+ {
+ ex._tao_print_exception ("ERROR (FOO) :\tCaught the WRONG exception:");
+ }
+ this->_remove_ref ();
+ };
+
+ ~AMI_MyInterface_reply_handler (void)
+ {
+ };
+ private:
+ ::CCM_AMI::AMI_MyInterface_callback_var interface_callback_;
+ };
+
//============================================================
// Facet Executor Implementation Class: AMI_MyFoo_exec_i
//============================================================
@@ -145,7 +202,7 @@ namespace CIAO_Hello_AMI_AMI_Impl
const char * in_str)
{
printf ("AMI :\tsendc_foo <%s>\n", in_str);
- AMI_reply_handler* handler = new AMI_reply_handler (foo_callback_);
+ AMI_MyFoo_reply_handler* handler = new AMI_MyFoo_reply_handler (foo_callback_);
CCM_AMI::AMI_MyFooHandler_var the_handler_var = handler->_this ();
printf ("AMI :\tSending string <%s> to AMI CORBA server\n", in_str);
ami_foo_var_->sendc_foo (the_handler_var.in (), in_str);
@@ -153,6 +210,28 @@ namespace CIAO_Hello_AMI_AMI_Impl
}
//============================================================
+ // Facet Executor Implementation Class: AMI_MyFoo_exec_i
+ //============================================================
+
+ AMI_MyInterface_exec_i::AMI_MyInterface_exec_i (
+ ::CCM_AMI::AMI_MyInterface_callback_ptr interface_callback)
+ : interface_callback_ (::CCM_AMI::AMI_MyInterface_callback::_duplicate (interface_callback))
+ {
+ }
+
+ AMI_MyInterface_exec_i::~AMI_MyInterface_exec_i (void)
+ {
+ }
+
+ // Operations from ::CCM_AMI::AMI_ami_foo
+
+ void
+ AMI_MyInterface_exec_i::sendc_do_something_with_something (
+ CORBA::Short /*something*/)
+ {
+ }
+
+ //============================================================
// Component Executor Implementation Class: AMI_exec_i
//============================================================
@@ -171,13 +250,21 @@ namespace CIAO_Hello_AMI_AMI_Impl
// Port operations.
::CCM_AMI::CCM_AMI_MyFoo_ptr
- AMI_exec_i::get_perform_asynch_foo (void)
+ AMI_exec_i::get_perform_asynch_my_foo (void)
{
::CCM_AMI::AMI_MyFoo_callback_var foo_callback =
- this->context_->get_connection_callback_foo ();
+ this->context_->get_connection_callback_my_foo ();
return new AMI_MyFoo_exec_i (foo_callback.in ());
}
-
+
+ ::CCM_AMI::CCM_AMI_MyInterface_ptr
+ AMI_exec_i::get_perform_asynch_my_interface ()
+ {
+ ::CCM_AMI::AMI_MyInterface_callback_var interface_callback =
+ this->context_->get_connection_callback_my_interface ();
+ return new AMI_MyInterface_exec_i (interface_callback.in ());
+ }
+
// Operations from Components::SessionComponent.
void
@@ -203,7 +290,7 @@ namespace CIAO_Hello_AMI_AMI_Impl
AMI_exec_i::ccm_activate (void)
{
::CCM_AMI::MyFoo_var receiver_foo =
- this->context_->get_connection_receiver_foo ();
+ this->context_->get_connection_my_foo_receiver ();
AMI_server* srv = new AMI_server (receiver_foo.in ());
printf ("AMI :\tStarting server thread.\n");
srv->activate ();
diff --git a/modules/CIAO/connectors/AMI_CCM/AMI/AMI_exec.h b/modules/CIAO/connectors/AMI_CCM/AMI/AMI_exec.h
index 53e350dd7a4..93aa0dffe09 100644
--- a/modules/CIAO/connectors/AMI_CCM/AMI/AMI_exec.h
+++ b/modules/CIAO/connectors/AMI_CCM/AMI/AMI_exec.h
@@ -66,6 +66,28 @@ namespace CIAO_Hello_AMI_AMI_Impl
::CCM_AMI::AMI_MyFoo_callback_var foo_callback_;
};
+ class AMI_MyInterface_exec_i
+ : public virtual ::CCM_AMI::CCM_AMI_MyInterface,
+ public virtual ::CORBA::LocalObject
+ {
+ public:
+ AMI_MyInterface_exec_i (::CCM_AMI::AMI_MyInterface_callback_ptr foo_callback);
+
+ virtual ~AMI_MyInterface_exec_i (void);
+
+ // Operations and attributes from ::CCM_AMI::AMI_ami_foo
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/operation_ch.cpp:46
+
+ virtual void
+ sendc_do_something_with_something (
+ CORBA::Short something);
+ private:
+ CCM_AMI::MyFoo_var ami_foo_var_;
+ ::CCM_AMI::AMI_MyInterface_callback_var interface_callback_;
+ };
+
class AMI_exec_i
: public virtual AMI_Exec,
public virtual ::CORBA::LocalObject
@@ -81,7 +103,10 @@ namespace CIAO_Hello_AMI_AMI_Impl
// Port operations.
virtual ::CCM_AMI::CCM_AMI_MyFoo_ptr
- get_perform_asynch_foo (void);
+ get_perform_asynch_my_foo (void);
+
+ virtual ::CCM_AMI::CCM_AMI_MyInterface_ptr
+ get_perform_asynch_my_interface (void);
// Operations from Components::SessionComponent.
diff --git a/modules/CIAO/connectors/AMI_CCM/Hello_Base/Hello.idl b/modules/CIAO/connectors/AMI_CCM/Hello_Base/Hello.idl
index 9f8892d12b2..f8d81a969eb 100644
--- a/modules/CIAO/connectors/AMI_CCM/Hello_Base/Hello.idl
+++ b/modules/CIAO/connectors/AMI_CCM/Hello_Base/Hello.idl
@@ -19,4 +19,10 @@ module CCM_AMI
long foo (in string in_str, out string answer)
raises (InternalError);
};
+
+ interface MyInterface
+ {
+ float do_something_with_something (in short something)
+ raises (InternalError);
+ };
};
diff --git a/modules/CIAO/connectors/AMI_CCM/Hello_Base/Hello_Base.idl b/modules/CIAO/connectors/AMI_CCM/Hello_Base/Hello_Base.idl
index 7917e40b33b..fac219cfd4f 100644
--- a/modules/CIAO/connectors/AMI_CCM/Hello_Base/Hello_Base.idl
+++ b/modules/CIAO/connectors/AMI_CCM/Hello_Base/Hello_Base.idl
@@ -4,6 +4,13 @@
module CCM_AMI
{
+ // AMI component. Sender calls AMI-component and AMI-component calls Receiver
+ // using the AMI_foo interface.
+ interface AMI_MyFoo
+ {
+ void sendc_foo (in string in_str);
+ };
+
// callback interface from AMI-component to Sender component
interface AMI_MyFoo_callback
{
@@ -11,10 +18,15 @@ module CCM_AMI
void foo_callback_excep (in CCM_AMI::InternalException exception_holder);
};
- // AMI component. Sender calls AMI-component and AMI-component calls Receiver
- // using the AMI_foo interface.
- interface AMI_MyFoo
+ interface AMI_MyInterface
+ {
+ void sendc_do_something_with_something (in short something);
+ };
+
+ // callback interface from AMI-component to Sender component
+ interface AMI_MyInterface_callback
{
- void sendc_foo (in string in_str);
+ void do_something_with_something_callback_handler (in float result);
+ void do_something_with_something_callback_excep (in CCM_AMI::InternalException exception_holder);
};
};
diff --git a/modules/CIAO/connectors/AMI_CCM/Receiver/Hello_Receiver.idl b/modules/CIAO/connectors/AMI_CCM/Receiver/Hello_Receiver.idl
index bcb84464450..968d55a61cb 100644
--- a/modules/CIAO/connectors/AMI_CCM/Receiver/Hello_Receiver.idl
+++ b/modules/CIAO/connectors/AMI_CCM/Receiver/Hello_Receiver.idl
@@ -12,7 +12,8 @@ module Hello_AMI
component Receiver
{
//provides
- provides CCM_AMI::MyFoo do_asynch_foo;
+ provides CCM_AMI::MyFoo do_my_foo;
+ provides CCM_AMI::MyInterface do_my_interface;
};
home ReceiverHome manages Receiver
diff --git a/modules/CIAO/connectors/AMI_CCM/Receiver/Hello_Receiver_exec.cpp b/modules/CIAO/connectors/AMI_CCM/Receiver/Hello_Receiver_exec.cpp
index c856d438df1..12905f52b0d 100644
--- a/modules/CIAO/connectors/AMI_CCM/Receiver/Hello_Receiver_exec.cpp
+++ b/modules/CIAO/connectors/AMI_CCM/Receiver/Hello_Receiver_exec.cpp
@@ -69,6 +69,39 @@ namespace CIAO_Hello_AMI_Receiver_Impl
}
//============================================================
+ // Facet Executor Implementation Class: MyInterface_exec_i
+ //============================================================
+
+ MyInterface_exec_i::MyInterface_exec_i (void)
+ {
+ }
+
+ MyInterface_exec_i::~MyInterface_exec_i (void)
+ {
+ }
+
+ // Operations from ::CCM_AMI::MyInterface
+
+ CORBA::Float
+ MyInterface_exec_i::do_something_with_something (
+ CORBA::Short something)
+ {
+ if (something == 0)
+ {
+ CCM_AMI::InternalException ex;
+ ex.id = 42;
+ ex.error_string = "Hello world";
+ throw CCM_AMI::InternalError (ex);
+ }
+ else
+ {
+ printf ("Receiver :\tReceived short <%d>\n", something);
+ ACE_OS::sleep (ACE_OS::rand () % 2);
+ return something / 6.54321;
+ }
+ }
+
+ //============================================================
// Component Executor Implementation Class: Receiver_exec_i
//============================================================
@@ -87,10 +120,15 @@ namespace CIAO_Hello_AMI_Receiver_Impl
// Port operations.
::CCM_AMI::CCM_MyFoo_ptr
- Receiver_exec_i::get_do_asynch_foo (void)
+ Receiver_exec_i::get_do_my_foo (void)
{
- /* Your code here. */
- return new MyFoo_exec_i ();//)::CCM_AMI::CCM_MyFoo::_nil ();
+ return new MyFoo_exec_i ();
+ }
+
+ ::CCM_AMI::CCM_MyInterface_ptr
+ Receiver_exec_i::get_do_my_interface (void)
+ {
+ return new MyInterface_exec_i ();
}
// Operations from Components::SessionComponent.
diff --git a/modules/CIAO/connectors/AMI_CCM/Receiver/Hello_Receiver_exec.h b/modules/CIAO/connectors/AMI_CCM/Receiver/Hello_Receiver_exec.h
index 4849b74d7d3..bd0b73022f6 100644
--- a/modules/CIAO/connectors/AMI_CCM/Receiver/Hello_Receiver_exec.h
+++ b/modules/CIAO/connectors/AMI_CCM/Receiver/Hello_Receiver_exec.h
@@ -62,6 +62,24 @@ namespace CIAO_Hello_AMI_Receiver_Impl
::CORBA::String_out answer);
};
+ class MyInterface_exec_i
+ : public virtual ::CCM_AMI::CCM_MyInterface,
+ public virtual ::CORBA::LocalObject
+ {
+ public:
+ MyInterface_exec_i (void);
+ virtual ~MyInterface_exec_i (void);
+
+ // Operations and attributes from ::CCM_AMI::MyFoo
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/operation_ch.cpp:46
+
+ virtual ::CORBA::Float
+ do_something_with_something (
+ CORBA::Short something);
+ };
+
class Receiver_exec_i
: public virtual Receiver_Exec,
public virtual ::CORBA::LocalObject
@@ -77,7 +95,10 @@ namespace CIAO_Hello_AMI_Receiver_Impl
// Port operations.
virtual ::CCM_AMI::CCM_MyFoo_ptr
- get_do_asynch_foo (void);
+ get_do_my_foo (void);
+
+ virtual ::CCM_AMI::CCM_MyInterface_ptr
+ get_do_my_interface (void);
// Operations from Components::SessionComponent.
diff --git a/modules/CIAO/connectors/AMI_CCM/Sender/Hello_Sender.idl b/modules/CIAO/connectors/AMI_CCM/Sender/Hello_Sender.idl
index 35bd64431be..0b6aa32cde6 100644
--- a/modules/CIAO/connectors/AMI_CCM/Sender/Hello_Sender.idl
+++ b/modules/CIAO/connectors/AMI_CCM/Sender/Hello_Sender.idl
@@ -12,13 +12,16 @@ module Hello_AMI
component Sender
{
// for asynch invocation.
- uses CCM_AMI::AMI_MyFoo run_asynch_foo;
+ uses CCM_AMI::AMI_MyFoo run_asynch_my_foo;
+ uses CCM_AMI::AMI_MyInterface run_asynch_my_interface;
// for synchronous invocation
- uses CCM_AMI::MyFoo run_foo;
+ uses CCM_AMI::MyFoo run_my_foo;
+ uses CCM_AMI::MyInterface run_my_interface;
//provides the callback function/exception for the AMI component.
- provides CCM_AMI::AMI_MyFoo_callback the_foo_callback;
+ provides CCM_AMI::AMI_MyFoo_callback the_my_foo_callback;
+ provides CCM_AMI::AMI_MyInterface_callback the_my_interface_callback;
};
home SenderHome manages Sender
diff --git a/modules/CIAO/connectors/AMI_CCM/Sender/Hello_Sender_exec.cpp b/modules/CIAO/connectors/AMI_CCM/Sender/Hello_Sender_exec.cpp
index 51c8a2e5c2a..4010dd5d81f 100644
--- a/modules/CIAO/connectors/AMI_CCM/Sender/Hello_Sender_exec.cpp
+++ b/modules/CIAO/connectors/AMI_CCM/Sender/Hello_Sender_exec.cpp
@@ -64,7 +64,27 @@ namespace CIAO_Hello_AMI_Sender_Impl
printf ("Sender :\tCallback EXCEPTION from AMI : exception id : <%d> exception error : <%s>\n",
exception_holder.id, exception_holder.error_string.in ());
}
+
+ MyInterface_callback_exec_i::MyInterface_callback_exec_i ()
+ {
+ }
+
+ MyInterface_callback_exec_i::~MyInterface_callback_exec_i ()
+ {
+ }
+
+ void
+ MyInterface_callback_exec_i::do_something_with_something_callback_handler (
+ ::CORBA::Float result)
+ {
+ }
+ void
+ MyInterface_callback_exec_i::do_something_with_something_callback_excep (
+ const ::CCM_AMI::InternalException & exception_holder)
+ {
+ }
+
//============================================================
// Worker thread for asynchronous invocations
//============================================================
@@ -152,11 +172,17 @@ namespace CIAO_Hello_AMI_Sender_Impl
// Port operations.
::CCM_AMI::CCM_AMI_MyFoo_callback_ptr
- Sender_exec_i::get_the_foo_callback ()
+ Sender_exec_i::get_the_my_foo_callback ()
{
return new MyFoo_callback_exec_i ();
}
+ ::CCM_AMI::CCM_AMI_MyInterface_callback_ptr
+ Sender_exec_i::get_the_my_interface_callback ()
+ {
+ return new MyInterface_callback_exec_i ();
+ }
+
// Operations from Components::SessionComponent.
void
@@ -181,9 +207,9 @@ namespace CIAO_Hello_AMI_Sender_Impl
Sender_exec_i::ccm_activate (void)
{
::CCM_AMI::AMI_MyFoo_var asynch_foo =
- this->context_->get_connection_run_asynch_foo ();
+ this->context_->get_connection_run_asynch_my_foo();
::CCM_AMI::MyFoo_var synch_foo =
- this->context_->get_connection_run_foo ();
+ this->context_->get_connection_run_my_foo ();
asynch_generator* asynch = new asynch_generator (asynch_foo);
asynch->activate (THR_NEW_LWP | THR_JOINABLE, 1);
diff --git a/modules/CIAO/connectors/AMI_CCM/Sender/Hello_Sender_exec.h b/modules/CIAO/connectors/AMI_CCM/Sender/Hello_Sender_exec.h
index b27154efc23..4b91971643e 100644
--- a/modules/CIAO/connectors/AMI_CCM/Sender/Hello_Sender_exec.h
+++ b/modules/CIAO/connectors/AMI_CCM/Sender/Hello_Sender_exec.h
@@ -69,6 +69,31 @@ namespace CIAO_Hello_AMI_Sender_Impl
::CCM_AMI::MyFoo_var foo_ami_;
};
+ class MyInterface_callback_exec_i
+ : public virtual ::CCM_AMI::CCM_AMI_MyInterface_callback,
+ public virtual ::CORBA::LocalObject
+ {
+ public:
+ MyInterface_callback_exec_i (void);
+ virtual ~MyInterface_callback_exec_i (void);
+
+ // Operations and attributes from ::CCM_AMI::MyFoo_callback
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/operation_ch.cpp:46
+
+ virtual void
+ do_something_with_something_callback_handler (
+ ::CORBA::Float result);
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/operation_ch.cpp:46
+
+ virtual void
+ do_something_with_something_callback_excep (
+ const ::CCM_AMI::InternalException & exception_holder);
+ };
+
class MyFoo_callback_exec_i
: public virtual ::CCM_AMI::CCM_AMI_MyFoo_callback,
@@ -111,7 +136,10 @@ namespace CIAO_Hello_AMI_Sender_Impl
// Port operations.
virtual ::CCM_AMI::CCM_AMI_MyFoo_callback_ptr
- get_the_foo_callback (void);
+ get_the_my_foo_callback (void);
+
+ virtual ::CCM_AMI::CCM_AMI_MyInterface_callback_ptr
+ get_the_my_interface_callback (void);
// Operations from Components::SessionComponent.
diff --git a/modules/CIAO/connectors/AMI_CCM/descriptors/Plan.cdp b/modules/CIAO/connectors/AMI_CCM/descriptors/Plan.cdp
index c3888f6c917..b5bc39c48ce 100644
--- a/modules/CIAO/connectors/AMI_CCM/descriptors/Plan.cdp
+++ b/modules/CIAO/connectors/AMI_CCM/descriptors/Plan.cdp
@@ -213,13 +213,13 @@
<connection>
<name>run_asynch_foo_connection</name>
<internalEndpoint>
- <portName>perform_asynch_foo</portName>
+ <portName>perform_asynch_my_foo</portName>
<provider>true</provider>
<kind>Facet</kind>
<instance xmi:idref="Hello.ComponentImplementations.HelloImplementation.Hello.AMI" />
</internalEndpoint>
<internalEndpoint>
- <portName>run_asynch_foo</portName>
+ <portName>run_asynch_my_foo</portName>
<provider>false</provider>
<kind>SimplexReceptacle</kind>
<instance xmi:idref="Hello.ComponentImplementations.HelloImplementation.Hello.Sender" />
@@ -229,13 +229,13 @@
<connection>
<name>foo_callback_connection</name>
<internalEndpoint>
- <portName>the_foo_callback</portName>
+ <portName>the_my_foo_callback</portName>
<provider>true</provider>
<kind>Facet</kind>
<instance xmi:idref="Hello.ComponentImplementations.HelloImplementation.Hello.Sender" />
</internalEndpoint>
<internalEndpoint>
- <portName>callback_foo</portName>
+ <portName>callback_my_foo</portName>
<provider>false</provider>
<kind>SimplexReceptacle</kind>
<instance xmi:idref="Hello.ComponentImplementations.HelloImplementation.Hello.AMI" />
@@ -245,13 +245,13 @@
<connection>
<name>do_foo_connection</name>
<internalEndpoint>
- <portName>do_asynch_foo</portName>
+ <portName>do_my_foo</portName>
<provider>true</provider>
<kind>Facet</kind>
<instance xmi:idref="Hello.ComponentImplementations.HelloImplementation.Hello.Receiver" />
</internalEndpoint>
<internalEndpoint>
- <portName>receiver_foo</portName>
+ <portName>my_foo_receiver</portName>
<provider>false</provider>
<kind>SimplexReceptacle</kind>
<instance xmi:idref="Hello.ComponentImplementations.HelloImplementation.Hello.AMI" />
@@ -261,13 +261,77 @@
<connection>
<name>synch_foo_connection</name>
<internalEndpoint>
- <portName>do_asynch_foo</portName>
+ <portName>do_my_foo</portName>
<provider>true</provider>
<kind>Facet</kind>
<instance xmi:idref="Hello.ComponentImplementations.HelloImplementation.Hello.Receiver" />
</internalEndpoint>
<internalEndpoint>
- <portName>run_foo</portName>
+ <portName>run_my_foo</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance xmi:idref="Hello.ComponentImplementations.HelloImplementation.Hello.Sender" />
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>run_asynch_interface_connection</name>
+ <internalEndpoint>
+ <portName>perform_asynch_my_interface</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance xmi:idref="Hello.ComponentImplementations.HelloImplementation.Hello.AMI" />
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>run_asynch_my_interface</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance xmi:idref="Hello.ComponentImplementations.HelloImplementation.Hello.Sender" />
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>interface_callback_connection</name>
+ <internalEndpoint>
+ <portName>the_my_interface_callback</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance xmi:idref="Hello.ComponentImplementations.HelloImplementation.Hello.Sender" />
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>callback_my_interface</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance xmi:idref="Hello.ComponentImplementations.HelloImplementation.Hello.AMI" />
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>do_interface_connection</name>
+ <internalEndpoint>
+ <portName>do_my_interface</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance xmi:idref="Hello.ComponentImplementations.HelloImplementation.Hello.Receiver" />
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>my_interface_receiver</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance xmi:idref="Hello.ComponentImplementations.HelloImplementation.Hello.AMI" />
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>synch_interface_connection</name>
+ <internalEndpoint>
+ <portName>do_my_interface</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance xmi:idref="Hello.ComponentImplementations.HelloImplementation.Hello.Receiver" />
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>run_my_interface</portName>
<provider>false</provider>
<kind>SimplexReceptacle</kind>
<instance xmi:idref="Hello.ComponentImplementations.HelloImplementation.Hello.Sender" />