diff options
author | jai <jai@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2007-01-29 21:15:18 +0000 |
---|---|---|
committer | jai <jai@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2007-01-29 21:15:18 +0000 |
commit | b71531b42b3325fd6079a7039aae8641262c8adf (patch) | |
tree | a5b9aa16924c541fcb424ee9460b1ac7f5a89352 /modules/CIAO/examples/Display/GPS/GPS_exec.cpp | |
parent | a0f67cc97c0050d907145e312135b60c0125e56e (diff) | |
download | ATCD-b71531b42b3325fd6079a7039aae8641262c8adf.tar.gz |
branching/taggingDS-main
Diffstat (limited to 'modules/CIAO/examples/Display/GPS/GPS_exec.cpp')
-rw-r--r-- | modules/CIAO/examples/Display/GPS/GPS_exec.cpp | 166 |
1 files changed, 166 insertions, 0 deletions
diff --git a/modules/CIAO/examples/Display/GPS/GPS_exec.cpp b/modules/CIAO/examples/Display/GPS/GPS_exec.cpp new file mode 100644 index 00000000000..f86e6226bad --- /dev/null +++ b/modules/CIAO/examples/Display/GPS/GPS_exec.cpp @@ -0,0 +1,166 @@ +// $Id$ + +#include "GPS_exec.h" +#include "CIAO_common.h" + +#include "ace/OS_NS_time.h" + +#define DISPLACEMENT 256 + +// Operations from HUDisplay::position +CORBA::Long +MyImpl::Position_Impl::posx () + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return component_.posx(); +} + +CORBA::Long +MyImpl::Position_Impl::posy () + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return component_.posy(); +} + + +/// Default constructor. +MyImpl::GPS_exec_i::GPS_exec_i () +{ + ACE_OS::srand ((u_int) ACE_OS::time ()); + this->positionx_ = ACE_OS::rand (); + this->positiony_ = ACE_OS::rand (); +} + +/// Default destructor. +MyImpl::GPS_exec_i::~GPS_exec_i () +{ +} + +// Operations from HUDisplay::GPS + HUDisplay::CCM_position_ptr + MyImpl::GPS_exec_i::get_MyLocation () + ACE_THROW_SPEC ((CORBA::SystemException)) + { +// ACE_DEBUG ((LM_DEBUG, +// "GPS_exec::get_MyLocation called\n ")); + return (new Position_Impl (*this)); + } + +void +MyImpl::GPS_exec_i::push_Refresh (HUDisplay::tick *) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ +// ACE_DEBUG ((LM_DEBUG, +// ACE_TEXT ("GPS: Received Refresh Event\n"))); + + // Refresh position + this->positionx_ += ACE_OS::rand () % DISPLACEMENT - (DISPLACEMENT/2); + this->positiony_ += ACE_OS::rand () % DISPLACEMENT - (DISPLACEMENT/2); + + // Nitify others + HUDisplay::tick_var event = new OBV_HUDisplay::tick; + + this->context_->push_Ready (event); +} + +CORBA::Long +MyImpl::GPS_exec_i::posx () + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->positionx_; +} + +CORBA::Long +MyImpl::GPS_exec_i::posy () + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->positiony_; +} + + +// Operations from Components::SessionComponent +void +MyImpl::GPS_exec_i::set_session_context (Components::SessionContext_ptr ctx) + ACE_THROW_SPEC ((CORBA::SystemException, + Components::CCMException)) +{ + if (CIAO::debug_level () > 0) + ACE_DEBUG ((LM_DEBUG, "MyImpl::GPS_exec_i::set_session_context\n")); + + this->context_ = + HUDisplay::CCM_GPS_Context::_narrow (ctx); + + if (CORBA::is_nil (this->context_.in ())) + throw CORBA::INTERNAL (); + // Urm, we actually discard exceptions thown from this operation. +} + +void +MyImpl::GPS_exec_i::ciao_preactivate () + ACE_THROW_SPEC ((CORBA::SystemException, + Components::CCMException)) +{ +} + +void +MyImpl::GPS_exec_i::ccm_activate () + ACE_THROW_SPEC ((CORBA::SystemException, + Components::CCMException)) +{ + if (CIAO::debug_level () > 0) + ACE_DEBUG ((LM_DEBUG, "MyImpl::GPS_exec_i::ccm_activate\n")); +} + +void +MyImpl::GPS_exec_i::ciao_postactivate () + ACE_THROW_SPEC ((CORBA::SystemException, + Components::CCMException)) +{ +} + +void +MyImpl::GPS_exec_i::ccm_passivate () + ACE_THROW_SPEC ((CORBA::SystemException, + Components::CCMException)) +{ + if (CIAO::debug_level () > 0) + ACE_DEBUG ((LM_DEBUG, "MyImpl::GPS_exec_i::ccm_passivate\n")); +} + +void +MyImpl::GPS_exec_i::ccm_remove () + ACE_THROW_SPEC ((CORBA::SystemException, + Components::CCMException)) +{ + if (CIAO::debug_level () > 0) + ACE_DEBUG ((LM_DEBUG, "MyImpl::GPS_exec_i::ccm_remove\n")); +} + +/// Default ctor. +MyImpl::GPSHome_exec_i::GPSHome_exec_i () +{ +} + +/// Default dtor. +MyImpl::GPSHome_exec_i::~GPSHome_exec_i () +{ +} + +// Explicit home operations. + +// Implicit home operations. + +::Components::EnterpriseComponent_ptr +MyImpl::GPSHome_exec_i::create () + ACE_THROW_SPEC ((CORBA::SystemException, + Components::CCMException)) +{ + return new MyImpl::GPS_exec_i; +} + + +extern "C" GPS_EXEC_Export ::Components::HomeExecutorBase_ptr +createGPSHome_Impl (void) +{ + return new MyImpl::GPSHome_exec_i(); +} |