summaryrefslogtreecommitdiff
path: root/modules/CIAO/connectors/ami4ccm/examples/Hello/Connector/AMI_exec.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/CIAO/connectors/ami4ccm/examples/Hello/Connector/AMI_exec.cpp')
-rw-r--r--modules/CIAO/connectors/ami4ccm/examples/Hello/Connector/AMI_exec.cpp201
1 files changed, 201 insertions, 0 deletions
diff --git a/modules/CIAO/connectors/ami4ccm/examples/Hello/Connector/AMI_exec.cpp b/modules/CIAO/connectors/ami4ccm/examples/Hello/Connector/AMI_exec.cpp
new file mode 100644
index 00000000000..133b5039d3c
--- /dev/null
+++ b/modules/CIAO/connectors/ami4ccm/examples/Hello/Connector/AMI_exec.cpp
@@ -0,0 +1,201 @@
+// -*- C++ -*-
+// $Id$
+
+#include "AMI_exec.h"
+#include "ciao/Logger/Log_Macros.h"
+#include "AMI_MyFoo_i.h"
+
+namespace CIAO_Hello_AMI_Sender_Impl
+{
+ AMI_MyFoo_exec_i::AMI_MyFoo_exec_i ()
+ {
+ }
+
+ AMI_MyFoo_exec_i::~AMI_MyFoo_exec_i (void)
+ {
+ }
+
+ void
+ AMI_MyFoo_exec_i::provide_receiver (::Hello::MyFoo_ptr receiver_foo)
+ {
+ this->ami_foo_server_ = ::Hello::MyFoo::_duplicate (receiver_foo);
+ }
+
+ void
+ AMI_MyFoo_exec_i::sendc_foo (
+ ::Hello::AMI_MyFooCallback_ptr ami_handler,
+ const char * in_str)
+ {
+ printf ("AMI (FOO) :\tsendc_foo <%s>\n", in_str);
+ if (!::CORBA::is_nil (this->ami_foo_server_.in ()))
+ {
+ Hello::AMI_MyFooHandler_var the_handler_var;
+ if (!::CORBA::is_nil (ami_handler))
+ {
+ ::CCM_CORBA_AMI_MyFoo_Impl::AMI_MyFoo_reply_handler* handler =
+ new ::CCM_CORBA_AMI_MyFoo_Impl::AMI_MyFoo_reply_handler (ami_handler);
+ the_handler_var = handler->_this ();
+ }
+ printf ("AMI (FOO) :\tSending string <%s> to AMI CORBA server\n", in_str);
+ this->ami_foo_server_->sendc_foo (the_handler_var.in (), in_str);
+ printf ("AMI (FOO) : \tInvoked sendc_foo\n");
+ }
+ }
+
+ void
+ AMI_MyFoo_exec_i::sendc_hello (
+ ::Hello::AMI_MyFooCallback_ptr ami_handler)
+ {
+ printf ("AMI (FOO) :\tsendc_hello\n");
+ if (!::CORBA::is_nil (this->ami_foo_server_.in ()))
+ {
+ Hello::AMI_MyFooHandler_var the_handler_var;
+ if (!::CORBA::is_nil (ami_handler))
+ {
+ ::CCM_CORBA_AMI_MyFoo_Impl::AMI_MyFoo_reply_handler* handler =
+ new ::CCM_CORBA_AMI_MyFoo_Impl::AMI_MyFoo_reply_handler (ami_handler);
+ the_handler_var = handler->_this ();
+ }
+ printf ("AMI (FOO) :\tCalling AMI CORBA server\n");
+ this->ami_foo_server_->sendc_hello (the_handler_var.in ());
+ printf ("AMI (FOO) : \tInvoked sendc_foo\n");
+ }
+ }
+
+ void
+ AMI_MyFoo_exec_i::sendc_get_rw_attrib (
+ ::Hello::AMI_MyFooCallback_ptr ami_handler)
+ {
+ printf ("AMI (FOO) :\tsendc_get_rw_attrib\n");
+ if (!::CORBA::is_nil (this->ami_foo_server_.in ()))
+ {
+ Hello::AMI_MyFooHandler_var the_handler_var;
+ if (!::CORBA::is_nil (ami_handler))
+ {
+ ::CCM_CORBA_AMI_MyFoo_Impl::AMI_MyFoo_reply_handler* handler =
+ new ::CCM_CORBA_AMI_MyFoo_Impl::AMI_MyFoo_reply_handler (ami_handler);
+ the_handler_var = handler->_this ();
+ }
+ this->ami_foo_server_->sendc_get_rw_attrib (the_handler_var.in ());
+ printf ("AMI (FOO) : \tInvoked sendc_get_rw_attrib\n");
+ }
+ }
+
+ void
+ AMI_MyFoo_exec_i::sendc_set_rw_attrib (
+ ::Hello::AMI_MyFooCallback_ptr ami_handler,
+ CORBA::Short rw_attrib)
+ {
+ printf ("AMI (FOO) :\tsendc_set_rw_attrib\n");
+ if (!::CORBA::is_nil (this->ami_foo_server_.in ()))
+ {
+ Hello::AMI_MyFooHandler_var the_handler_var;
+ if (!::CORBA::is_nil (ami_handler))
+ {
+ ::CCM_CORBA_AMI_MyFoo_Impl::AMI_MyFoo_reply_handler* handler =
+ new ::CCM_CORBA_AMI_MyFoo_Impl::AMI_MyFoo_reply_handler (ami_handler);
+ the_handler_var = handler->_this ();
+ }
+ printf ("AMI (FOO) : \tSet rw_attrib <%d>\n", rw_attrib);
+ this->ami_foo_server_->sendc_set_rw_attrib (the_handler_var.in (), rw_attrib);
+ printf ("AMI (FOO) : \tInvoked sendc_set_rw_attrib\n");
+ }
+ }
+
+ void
+ AMI_MyFoo_exec_i::sendc_get_ro_attrib (
+ ::Hello::AMI_MyFooCallback_ptr ami_handler)
+ {
+ printf ("AMI (FOO) :\tsendc_get_ro_attrib\n");
+ if (!::CORBA::is_nil (this->ami_foo_server_.in ()))
+ {
+ Hello::AMI_MyFooHandler_var the_handler_var;
+ if (!::CORBA::is_nil (ami_handler))
+ {
+ ::CCM_CORBA_AMI_MyFoo_Impl::AMI_MyFoo_reply_handler* handler =
+ new ::CCM_CORBA_AMI_MyFoo_Impl::AMI_MyFoo_reply_handler (ami_handler);
+ the_handler_var = handler->_this ();
+ }
+ this->ami_foo_server_->sendc_get_ro_attrib (the_handler_var.in ());
+ printf ("AMI (FOO) : \tInvoked sendc_get_ro_attrib\n");
+ }
+ }
+ //============================================================
+ // Component Executor Implementation Class: AMI_exec_i
+ //============================================================
+
+ AMI_exec_i::AMI_exec_i (void)
+ : myfoo_ (0)
+ {
+ }
+
+ AMI_exec_i::~AMI_exec_i (void)
+ {
+ delete myfoo_;
+ }
+
+ // Supported operations and attributes.
+
+ // Component attributes.
+
+ // Port operations.
+
+ ::Hello::CCM_AMI_MyFoo_ptr
+ AMI_exec_i::get_sendc_run_my_foo (void)
+ {
+ this->myfoo_ = new AMI_MyFoo_exec_i ();
+ return this->myfoo_;
+ }
+ // Operations from Components::SessionComponent.
+
+ void
+ AMI_exec_i::set_session_context (
+ ::Components::SessionContext_ptr ctx)
+ {
+ this->context_ =
+ ::Hello::CCM_AMI_Sender_Context::_narrow (ctx);
+
+ if ( ::CORBA::is_nil (this->context_.in ()))
+ {
+ throw ::CORBA::INTERNAL ();
+ }
+ }
+
+ void
+ AMI_exec_i::configuration_complete (void)
+ {
+ this->receiver_foo_ =
+ this->context_->get_connection_run_my_foo ();
+
+ this->myfoo_->provide_receiver (receiver_foo_.in ());
+ }
+
+ void
+ AMI_exec_i::ccm_activate (void)
+ {
+ }
+
+ void
+ AMI_exec_i::ccm_passivate (void)
+ {
+ }
+
+ void
+ AMI_exec_i::ccm_remove (void)
+ {
+ }
+
+ extern "C" ::Components::EnterpriseComponent_ptr
+ create_Hello_AMI_AMI_Impl (void)
+ {
+ ::Components::EnterpriseComponent_ptr retval =
+ ::Components::EnterpriseComponent::_nil ();
+
+ ACE_NEW_RETURN (
+ retval,
+ AMI_exec_i,
+ ::Components::EnterpriseComponent::_nil ());
+
+ return retval;
+ }
+}