diff options
author | Abdullah Sowayan <sowayan@users.noreply.github.com> | 2007-03-18 22:23:37 +0000 |
---|---|---|
committer | Abdullah Sowayan <sowayan@users.noreply.github.com> | 2007-03-18 22:23:37 +0000 |
commit | 06a34455bd98b1379cc69bbc5b2cf085e0fc0d9b (patch) | |
tree | 8815ce3b3a85c3c4285429295f338e00ea4497f4 /CIAO/examples/BasicSP/BMClosedED/BMClosedED_exec.cpp | |
parent | d66fcc9b4aaec8e88eeb83fc578fdf8a3cc963de (diff) | |
download | ATCD-06a34455bd98b1379cc69bbc5b2cf085e0fc0d9b.tar.gz |
Diffstat (limited to 'CIAO/examples/BasicSP/BMClosedED/BMClosedED_exec.cpp')
-rw-r--r-- | CIAO/examples/BasicSP/BMClosedED/BMClosedED_exec.cpp | 174 |
1 files changed, 174 insertions, 0 deletions
diff --git a/CIAO/examples/BasicSP/BMClosedED/BMClosedED_exec.cpp b/CIAO/examples/BasicSP/BMClosedED/BMClosedED_exec.cpp new file mode 100644 index 00000000000..5efbe619db8 --- /dev/null +++ b/CIAO/examples/BasicSP/BMClosedED/BMClosedED_exec.cpp @@ -0,0 +1,174 @@ +// $Id$ + +#include "ciao/CIAO_common.h" +#include "BMClosedED_exec.h" +#include "ace/SString.h" + +#include "ace/OS_NS_string.h" + + +#define DISPLACEMENT 256 + +/// Default constructor. +MyImpl::BMClosedED_exec_i::BMClosedED_exec_i () +{ +} + +/// Default destructor. +MyImpl::BMClosedED_exec_i::~BMClosedED_exec_i () +{ +} + +// Operations from HUDisplay::BMClosedED + +BasicSP::CCM_ReadData_ptr +MyImpl::BMClosedED_exec_i::get_dataout () +{ + return BasicSP::CCM_ReadData::_duplicate (this); +} + +void +MyImpl::BMClosedED_exec_i::push_in_avail (BasicSP::DataAvailable *) +{ + + if (CIAO::debug_level () > 0) + { + ACE_DEBUG ((LM_DEBUG, + "BMClosedED - Doing computations \n")); + + ACE_DEBUG ((LM_DEBUG, + "BMClosedED - Doing data fetch \n")); + } + + // Refresh position + BasicSP::ReadData_var dat + = this->context_->get_connection_datain (); + + if (CORBA::is_nil (dat.in ())) + { + ACE_DEBUG ((LM_DEBUG, + "BMClosedED - got nil from get_connection \n")); + + throw CORBA::BAD_INV_ORDER (); + } + + CORBA::String_var str = + dat->get_data (); + + if (CIAO::debug_level () > 0) + { + ACE_DEBUG ((LM_DEBUG, + "BMClosedED - Display data is [%s] \n", + str.in ())); + } + + if (ACE_OS::strcmp (str.in (), "BM DEVICE DATA") == 0) + { + this->str_ = CORBA::string_dup ("BM CLOSED ED DATA"); + } + + // Notify others. + BasicSP::DataAvailable_var event = + new OBV_BasicSP::DataAvailable; + + this->context_->push_out_avail (event); +} + +// Operations from HUDisplay::position + +char * +MyImpl::BMClosedED_exec_i::get_data () +{ + return CORBA::string_dup (this->str_.inout ()); +} + +// Operations from Components::SessionComponent +void +MyImpl::BMClosedED_exec_i::set_session_context ( + Components::SessionContext_ptr ctx + ) +{ + if (CIAO::debug_level () > 0) + { + ACE_DEBUG ((LM_DEBUG, + "MyImpl::BMClosedED_exec_i::set_session_context\n")); + } + + this->context_ = + BasicSP::CCM_BMClosedED_Context::_narrow (ctx); + + if (CORBA::is_nil (this->context_.in ())) + { + throw CORBA::INTERNAL (); + } + // Urm, we actually discard exceptions thown from this operation. +} + +void +MyImpl::BMClosedED_exec_i::ciao_preactivate () +{ +} + +void +MyImpl::BMClosedED_exec_i::ccm_activate () +{ + if (CIAO::debug_level () > 0) + { + ACE_DEBUG ((LM_DEBUG, + "MyImpl::BMClosedED_exec_i::ccm_activate\n")); + } + +} + +void +MyImpl::BMClosedED_exec_i::ciao_postactivate () +{ +} + +void +MyImpl::BMClosedED_exec_i::ccm_passivate () +{ + // if (CIAO::debug_level () > 0) + ACE_DEBUG ((LM_DEBUG, + "MyImpl::BMClosedED_exec_i::ccm_passivate\n")); +} + +void +MyImpl::BMClosedED_exec_i::ccm_remove () +{ + // if (CIAO::debug_level () > 0) + ACE_DEBUG ((LM_DEBUG, + "MyImpl::BMClosedED_exec_i::ccm_remove\n")); +} + +/// Default ctor. +MyImpl::BMClosedEDHome_exec_i::BMClosedEDHome_exec_i () +{ +} + +/// Default dtor. +MyImpl::BMClosedEDHome_exec_i::~BMClosedEDHome_exec_i () +{ +} + +// Explicit home operations. + +// Implicit home operations. + +::Components::EnterpriseComponent_ptr +MyImpl::BMClosedEDHome_exec_i::create () +{ + Components::EnterpriseComponent_ptr tmp = + Components::EnterpriseComponent::_nil (); + ACE_NEW_THROW_EX (tmp, + MyImpl::BMClosedED_exec_i, + CORBA::NO_MEMORY ()); + return tmp; +} + + +extern "C" BMCLOSEDED_EXEC_Export ::Components::HomeExecutorBase_ptr +createBMClosedEDHome_Impl (void) +{ + return new MyImpl::BMClosedEDHome_exec_i; +} |