summaryrefslogtreecommitdiff
path: root/TAO/CIAO/DAnCE/examples/BasicSP/EC/EC_svnt.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/CIAO/DAnCE/examples/BasicSP/EC/EC_svnt.cpp')
-rw-r--r--TAO/CIAO/DAnCE/examples/BasicSP/EC/EC_svnt.cpp992
1 files changed, 0 insertions, 992 deletions
diff --git a/TAO/CIAO/DAnCE/examples/BasicSP/EC/EC_svnt.cpp b/TAO/CIAO/DAnCE/examples/BasicSP/EC/EC_svnt.cpp
deleted file mode 100644
index 9a4ae0acd0a..00000000000
--- a/TAO/CIAO/DAnCE/examples/BasicSP/EC/EC_svnt.cpp
+++ /dev/null
@@ -1,992 +0,0 @@
-// $Id$
-//
-// **** Code generated by the ****
-// **** Component Integrated ACE ORB (CIAO) CIDL Compiler ****
-// CIAO has been developed by:
-// Center for Distributed Object Computing
-// Washington University
-// St. Louis, MO
-// USA
-// http://www.cs.wustl.edu/~schmidt/doc-center.html
-// CIDL Compiler has been developed by:
-// Institute for Software Integrated Systems
-// Vanderbilt University
-// Nashville, TN
-// USA
-// http://www.isis.vanderbilt.edu/
-//
-// Information about CIAO is available at:
-// http://www.dre.vanderbilt.edu/CIAO
-
-#include "EC_svnt.h"
-#include "Cookies.h"
-#include "ciao/Servant_Activator.h"
-#include "ciao/Port_Activator_T.h"
-
-namespace EC_Impl
-{
- namespace CIAO_GLUE_BasicSP
- {
- EC_Context::EC_Context (
- ::Components::CCMHome_ptr home,
- ::CIAO::Session_Container *c,
- EC_Servant *sv)
- : home_ (::Components::CCMHome::_duplicate (home)),
- container_ (c),
- servant_ (sv)
- {
- }
-
- EC_Context::~EC_Context (void)
- {
- }
-
- // Operations from ::Components::CCMContext.
-
- ::Components::Principal_ptr
- EC_Context::get_caller_principal (
- ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- ACE_THROW_RETURN (
- ::CORBA::NO_IMPLEMENT (),
- ::Components::Principal::_nil ());
- }
-
- ::Components::CCMHome_ptr
- EC_Context::get_CCM_home (
- ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- return ::Components::CCMHome::_duplicate (this->home_.in ());
- }
-
- CORBA::Boolean
- EC_Context::get_rollback_only (
- ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((
- ::CORBA::SystemException,
- ::Components::IllegalState))
- {
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
- }
-
- ::Components::Transaction::UserTransaction_ptr
- EC_Context::get_user_transaction (
- ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((
- ::CORBA::SystemException,
- ::Components::IllegalState))
- {
- ACE_THROW_RETURN (
- ::CORBA::NO_IMPLEMENT (),
- ::Components::Transaction::UserTransaction::_nil ());
- }
-
- CORBA::Boolean
- EC_Context::is_caller_in_role (
- const char * /* role */
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
- }
-
- void
- EC_Context::set_rollback_only (
- ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((
- ::CORBA::SystemException,
- ::Components::IllegalState))
- {
- ACE_THROW (CORBA::NO_IMPLEMENT ());
- }
-
- // Operations from ::Components::SessionContextinterface.
-
- CORBA::Object_ptr
- EC_Context::get_CCM_object (
- ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((
- ::CORBA::SystemException,
- ::Components::IllegalState))
- {
- if (CORBA::is_nil (this->component_.in ()))
- {
- CORBA::Object_var obj =
- this->container_->get_objref (
- this->servant_
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (CORBA::Object::_nil ());
-
- this->component_ =
- ::BasicSP::EC::_narrow (
- obj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (CORBA::Object::_nil ());
-
- if (CORBA::is_nil (this->component_.in ()))
- {
- ACE_THROW_RETURN (
- ::CORBA::INTERNAL (),
- ::CORBA::Object::_nil ());
- }
- }
-
- return ::BasicSP::EC::_duplicate (
- this->component_.in ());
- }
-
- // Operations for EC receptacles and event sources,
- // defined in ::BasicSP::CCM_EC_Context.
-
- void
- EC_Context::push_timeout (
- ::BasicSP::TimeOut *ev
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- ACE_CString my_uuid = this->servant_->component_UUID (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
- my_uuid += "_timeout_publisher";
-
- this->container_->push_event (ev,
- my_uuid.c_str ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- /*
- ACE_Active_Map_Manager<
- ::BasicSP::TimeOutConsumer_var>::iterator end =
- this->ciao_publishes_timeout_map_.end ();
-
- for (ACE_Active_Map_Manager<
- ::BasicSP::TimeOutConsumer_var>::iterator iter =
- this->ciao_publishes_timeout_map_.begin ();
- iter != end;
- ++iter)
- {
- ACE_Active_Map_Manager<
- ::BasicSP::TimeOutConsumer_var>::ENTRY &entry = *iter;
-
- ::BasicSP::TimeOutConsumer_var c =
- ::BasicSP::TimeOutConsumer::_narrow (
- entry.int_id_.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- entry.int_id_->push_TimeOut (
- ev
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
- */
- }
-
- ::Components::Cookie *
- EC_Context::subscribe_timeout (
- ::BasicSP::TimeOutConsumer_ptr c
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- ::CORBA::SystemException,
- ::Components::ExceededConnectionLimit))
- {
- if (CORBA::is_nil (c))
- {
- ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0);
- }
-
- ::BasicSP::TimeOutConsumer_var sub =
- ::BasicSP::TimeOutConsumer::_duplicate (c);
-
- ACE_Active_Map_Manager_Key key;
- this->ciao_publishes_timeout_map_.bind (sub.in (), key);
- sub._retn ();
-
- ::Components::Cookie_var retv = new ::CIAO::Map_Key_Cookie (key);
- return retv._retn ();
- }
-
- ::BasicSP::TimeOutConsumer_ptr
- EC_Context::unsubscribe_timeout (
- ::Components::Cookie *ck
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- ::CORBA::SystemException,
- ::Components::InvalidConnection))
- {
- ::BasicSP::TimeOutConsumer_var retv;
- ACE_Active_Map_Manager_Key key;
-
- if (ck == 0 || ::CIAO::Map_Key_Cookie::extract (ck, key) == false)
- {
- ACE_THROW_RETURN (
- ::Components::InvalidConnection (),
- ::BasicSP::TimeOutConsumer::_nil ());
- }
-
- if (this->ciao_publishes_timeout_map_.unbind (key, retv) != 0)
- {
- ACE_THROW_RETURN (
- ::Components::InvalidConnection (),
- ::BasicSP::TimeOutConsumer::_nil ());
- }
-
- return retv._retn ();
- }
-
- // CIAO-specific.
-
- ::CIAO::Session_Container *
- EC_Context::_ciao_the_Container (void) const
- {
- return this->container_;
- }
-
- EC_Context *
- EC_Context::_narrow (
- ::Components::SessionContext_ptr p
- ACE_ENV_ARG_DECL_NOT_USED)
- {
- return dynamic_cast<EC_Context *> (p);
- }
- }
-
- namespace CIAO_GLUE_BasicSP
- {
- EC_Servant::EC_Servant (
- ::BasicSP::CCM_EC_ptr exe,
- ::Components::CCMHome_ptr h,
- ::CIAO::Session_Container *c)
- : our_base (exe, c)
- {
- this->context_ = new EC_Context (h, c, this);
-
- ACE_TRY_NEW_ENV
- {
- ::Components::SessionComponent_var scom =
- ::Components::SessionComponent::_narrow (
- exe
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (! ::CORBA::is_nil (scom.in ()))
- {
- scom->set_session_context (
- this->context_
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
-
- this->populate_port_tables (
- ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
-
- ACE_CATCHANY
- {
- }
-
- ACE_ENDTRY;
- }
-
- EC_Servant::~EC_Servant (void)
- {
- }
-
- void
- EC_Servant::set_attributes (
- const ::Components::ConfigValues &descr
- ACE_ENV_ARG_DECL_NOT_USED)
- {
- for (CORBA::ULong i = 0;
- i < descr.length ();
- ++i)
- {
- const char *descr_name = descr[i]->name ();
- ::CORBA::Any &descr_value = descr[i]->value ();
-
- if (ACE_OS::strcmp (descr_name, "hertz") == 0)
- {
- ::CORBA::Long _ciao_extract_val = 0;
- descr_value >>= _ciao_extract_val;
- this->hertz (_ciao_extract_val);
- continue;
- }
-
- ACE_UNUSED_ARG (descr_name);
- ACE_UNUSED_ARG (descr_value);
- }
- }
-
- // Operations for Navigation interface.
-
- CORBA::Object_ptr
- EC_Servant::provide_facet (
- const char *name
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- ::CORBA::SystemException,
- ::Components::InvalidName))
- {
- if (name == 0)
- {
- ACE_THROW_RETURN (
- ::CORBA::BAD_PARAM (),
- ::CORBA::Object::_nil ());
- }
-
- ACE_THROW_RETURN (
- ::Components::InvalidName (),
- ::CORBA::Object::_nil ());
- }
-
- ::Components::FacetDescriptions *
- EC_Servant::get_named_facets (
- const ::Components::NameList & /* names */
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- ::CORBA::SystemException,
- ::Components::InvalidName))
- {
- ACE_THROW_RETURN (::CORBA::NO_IMPLEMENT (), 0);
- }
-
- ::Components::EmitterDescriptions *
- EC_Servant::get_all_emitters (
- ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- ACE_THROW_RETURN (::CORBA::NO_IMPLEMENT (), 0);
- }
-
- ::Components::EmitterDescriptions *
- EC_Servant::get_named_emitters (
- const ::Components::NameList & /* names */
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- ::CORBA::SystemException,
- ::Components::InvalidName))
- {
- ACE_THROW_RETURN (::CORBA::NO_IMPLEMENT (), 0);
- }
-
- ::Components::Cookie *
- EC_Servant::subscribe_timeout (
- ::BasicSP::TimeOutConsumer_ptr c
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- ::CORBA::SystemException,
- ::Components::ExceededConnectionLimit))
- {
- return this->context_->subscribe_timeout (
- c
- ACE_ENV_ARG_PARAMETER);
- }
-
- ::BasicSP::TimeOutConsumer_ptr
- EC_Servant::unsubscribe_timeout (
- ::Components::Cookie *ck
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- ::CORBA::SystemException,
- ::Components::InvalidConnection))
- {
- return this->context_->unsubscribe_timeout (
- ck
- ACE_ENV_ARG_PARAMETER);
- }
-
- ::Components::Cookie *
- EC_Servant::connect (
- const char *name,
- ::CORBA::Object_ptr connection
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- ::CORBA::SystemException,
- ::Components::InvalidName,
- ::Components::InvalidConnection,
- ::Components::AlreadyConnected,
- ::Components::ExceededConnectionLimit))
- {
- // If the component has no receptacles, this will be unused.
- ACE_UNUSED_ARG (connection);
-
- if (name == 0)
- {
- ACE_THROW_RETURN (::Components::InvalidName (), 0);
- }
-
- ACE_THROW_RETURN (::Components::InvalidName (), 0);
- }
-
- CORBA::Object_ptr
- EC_Servant::disconnect (
- const char *name,
- ::Components::Cookie * ck
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- ::CORBA::SystemException,
- ::Components::InvalidName,
- ::Components::InvalidConnection,
- ::Components::CookieRequired,
- ::Components::NoConnection))
- {
- if (name == 0)
- {
- ACE_THROW_RETURN (
- ::Components::InvalidName (),
- ::CORBA::Object::_nil ());
- }
-
- ACE_THROW_RETURN (
- ::Components::InvalidName (),
- ::CORBA::Object::_nil ());
-
- ACE_UNUSED_ARG (ck);
- }
-
- ::Components::ConnectionDescriptions *
- EC_Servant::get_connections (
- const char * /* name */
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- ::CORBA::SystemException,
- ::Components::InvalidName))
- {
- ACE_THROW_RETURN (::CORBA::NO_IMPLEMENT (), 0);
- }
-
- ::Components::ReceptacleDescriptions *
- EC_Servant::get_all_receptacles (
- ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- ACE_THROW_RETURN (::CORBA::NO_IMPLEMENT (), 0);
- }
-
- ::Components::ReceptacleDescriptions *
- EC_Servant::get_named_receptacles (
- const ::Components::NameList & /* names */
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- ::CORBA::SystemException,
- ::Components::InvalidName))
- {
- ACE_THROW_RETURN (::CORBA::NO_IMPLEMENT (), 0);
- }
-
- ::Components::EventConsumerBase_ptr
- EC_Servant::get_consumer (
- const char *sink_name
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- ::CORBA::SystemException,
- ::Components::InvalidName))
- {
- if (sink_name == 0)
- {
- ACE_THROW_RETURN (
- ::Components::InvalidName (),
- ::Components::EventConsumerBase::_nil ());
- }
-
- ACE_THROW_RETURN (
- ::Components::InvalidName (),
- ::Components::EventConsumerBase::_nil ());
- }
-
- void
- EC_Servant::connect_consumer (
- const char * emitter_name,
- ::Components::EventConsumerBase_ptr consumer
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- ::CORBA::SystemException,
- ::Components::InvalidName,
- ::Components::AlreadyConnected,
- ::Components::InvalidConnection))
- {
- if (emitter_name == 0)
- {
- ACE_THROW (::CORBA::BAD_PARAM ());
- }
-
- ACE_UNUSED_ARG (consumer);
- ACE_THROW (::Components::InvalidName ());
- }
-
- ::Components::EventConsumerBase_ptr
- EC_Servant::disconnect_consumer (
- const char * /* source_name */
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- ::CORBA::SystemException,
- ::Components::InvalidName,
- ::Components::NoConnection))
- {
- ACE_THROW_RETURN (::CORBA::NO_IMPLEMENT (), 0);
- }
-
- ::Components::ConsumerDescriptions *
- EC_Servant::get_named_consumers (
- const ::Components::NameList & /* names */
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- ::CORBA::SystemException,
- ::Components::InvalidName))
- {
- ACE_THROW_RETURN (::CORBA::NO_IMPLEMENT (), 0);
- }
-
- ::Components::Cookie *
- EC_Servant::subscribe (
- const char *publisher_name,
- ::Components::EventConsumerBase_ptr subscribe
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- ::CORBA::SystemException,
- ::Components::InvalidName,
- ::Components::InvalidConnection,
- ::Components::ExceededConnectionLimit))
- {
- // Just in case there are no if blocks
- ACE_UNUSED_ARG (subscribe);
-
- if (publisher_name == 0)
- {
- ACE_THROW_RETURN (::Components::InvalidName (), 0);
- }
-
- if (ACE_OS::strcmp (publisher_name, "timeout") == 0)
- {
- ::BasicSP::TimeOutConsumer_var _ciao_consumer =
- ::BasicSP::TimeOutConsumer::_narrow (
- subscribe
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- if (::CORBA::is_nil (_ciao_consumer.in ()))
- {
- ACE_THROW_RETURN (::Components::InvalidConnection (), 0);
- }
-
- return this->subscribe_timeout (
- _ciao_consumer.in ()
- ACE_ENV_ARG_PARAMETER);
- }
-
- ACE_THROW_RETURN (::Components::InvalidName (), 0);
- }
-
- ::Components::EventConsumerBase_ptr
- EC_Servant::unsubscribe (
- const char *publisher_name,
- ::Components::Cookie *ck
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- ::CORBA::SystemException,
- ::Components::InvalidName,
- ::Components::InvalidConnection))
- {
- // Just in case there are no if blocks
- ACE_UNUSED_ARG (ck);
-
- if (publisher_name == 0)
- {
- ACE_THROW_RETURN (
- ::Components::InvalidName (),
- ::Components::EventConsumerBase::_nil ());
- }
-
- if (ACE_OS::strcmp (publisher_name, "timeout") == 0)
- {
- return this->unsubscribe_timeout (
- ck
- ACE_ENV_ARG_PARAMETER);
- }
-
- ACE_THROW_RETURN (
- ::Components::InvalidName (),
- ::Components::EventConsumerBase::_nil ());
- }
-
- ::Components::PublisherDescriptions *
- EC_Servant::get_all_publishers (
- ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- ACE_THROW_RETURN (::CORBA::NO_IMPLEMENT (), 0);
- }
-
- ::Components::PublisherDescriptions *
- EC_Servant::get_named_publishers (
- const ::Components::NameList & /* names */
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- ::CORBA::SystemException,
- ::Components::InvalidName))
- {
- ACE_THROW_RETURN (::CORBA::NO_IMPLEMENT (), 0);
- }
-
- // Operations for CCMObject interface.
-
- void
- EC_Servant::component_UUID (
- const char * new_component_UUID
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- this->component_UUID_ = new_component_UUID;
- }
-
- CIAO::CONNECTION_ID
- EC_Servant::component_UUID (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- return CORBA::string_dup (this->component_UUID_.c_str ());
- }
-
- CORBA::IRObject_ptr
- EC_Servant::get_component_def (
- ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- ACE_THROW_RETURN (
- ::CORBA::NO_IMPLEMENT (),
- ::CORBA::IRObject::_nil ());
- }
-
- void
- EC_Servant::configuration_complete (
- ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((
- ::CORBA::SystemException,
- ::Components::InvalidConfiguration))
- {
- // CIAO to-do
- }
-
- void
- EC_Servant::remove (
- ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((
- ::CORBA::SystemException,
- ::Components::RemoveFailure))
- {
- // CIAO to-do
- }
-
- CORBA::Object_ptr
- EC_Servant::get_facet_executor (const char *name
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- ::CORBA::SystemException))
- {
- if (name == 0)
- {
- ACE_THROW_RETURN (
- ::CORBA::BAD_PARAM (),
- ::CORBA::Object::_nil ());
- }
-
- return CORBA::Object::_nil ();
- }
-
- // Supported operations.
-
- void
- EC_Servant::start (
- ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- this->executor_->start (
- ACE_ENV_SINGLE_ARG_PARAMETER);
- }
-
- void
- EC_Servant::stop (
- ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- this->executor_->stop (
- ACE_ENV_SINGLE_ARG_PARAMETER);
- }
-
- // Component attribute operations.
-
- ::CORBA::Long
- EC_Servant::hertz (
- ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- return this->executor_->hertz (
- ACE_ENV_SINGLE_ARG_PARAMETER);
- }
-
- void
- EC_Servant::hertz (
- ::CORBA::Long hertz
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- this->executor_->hertz (
- hertz
- ACE_ENV_ARG_PARAMETER);
- }
-
- // Private method to populate the port tables.
- void
- EC_Servant::populate_port_tables (
- ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- ::CORBA::Object_var obj_var;
- ::Components::EventConsumerBase_var ecb_var;
- }
- }
-
- namespace CIAO_GLUE_BasicSP
- {
- ECHome_Servant::ECHome_Servant (
- ::BasicSP::CCM_ECHome_ptr exe,
- ::CIAO::Session_Container *c)
- : executor_ (::BasicSP::CCM_ECHome::_duplicate (exe)),
- container_ (c)
- {
- }
-
- ECHome_Servant::~ECHome_Servant (void)
- {
- }
-
- // Home operations.
-
- // Home supported interface operations.
-
- // Home factory and finder operations.
-
- ::BasicSP::EC_ptr
- ECHome_Servant::new_EC (
- ::CORBA::Long hertz
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- ::Components::EnterpriseComponent_var _ciao_ec =
- this->executor_->new_EC (
- hertz
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (::BasicSP::EC_ptr::_nil ());
-
- ::BasicSP::CCM_EC_var _ciao_comp =
- ::BasicSP::CCM_EC::_narrow (
- _ciao_ec.in ()
- ACE_ENV_ARG_PARAMETER);
-
- ACE_CHECK_RETURN (::BasicSP::EC_ptr::_nil ());
-
- return this->_ciao_activate_component (
- _ciao_comp.in ()
- ACE_ENV_ARG_PARAMETER);
- }
-
- // Home attribute operations.
-
- // Operations for keyless home interface.
-
- ::Components::CCMObject_ptr
- ECHome_Servant::create_component (
- ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((
- ::CORBA::SystemException,
- ::Components::CreateFailure))
- {
- return this->create (ACE_ENV_SINGLE_ARG_PARAMETER);
- }
-
- // Operations for implicit home interface.
-
- ::BasicSP::EC_ptr
- ECHome_Servant::create (
- ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((
- ::CORBA::SystemException,
- ::Components::CreateFailure))
- {
- if (this->executor_.in () == 0)
- {
- ACE_THROW_RETURN (
- ::CORBA::INTERNAL (),
- ::BasicSP::EC::_nil ());
- }
-
- ::Components::EnterpriseComponent_var _ciao_ec =
- this->executor_->create (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (::BasicSP::EC::_nil ());
-
- ::BasicSP::CCM_EC_var _ciao_comp =
- ::BasicSP::CCM_EC::_narrow (
- _ciao_ec.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (::BasicSP::EC::_nil ());
-
- return this->_ciao_activate_component (
- _ciao_comp.in ()
- ACE_ENV_ARG_PARAMETER);
- }
-
- // Operations for CCMHome interface.
-
- ::CORBA::IRObject_ptr
- ECHome_Servant::get_component_def (
- ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- ACE_THROW_RETURN (
- ::CORBA::NO_IMPLEMENT (),
- ::CORBA::IRObject::_nil ());
- }
-
- ::CORBA::IRObject_ptr
- ECHome_Servant::get_home_def (
- ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- ACE_THROW_RETURN (
- ::CORBA::NO_IMPLEMENT (),
- ::CORBA::IRObject::_nil ());
- }
-
- void
- ECHome_Servant::remove_component (
- ::Components::CCMObject_ptr comp
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- ::CORBA::SystemException,
- ::Components::RemoveFailure))
- {
- ::BasicSP::EC_var _ciao_comp =
- ::BasicSP::EC::_narrow (
- comp
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- if (CORBA::is_nil (_ciao_comp.in ()))
- {
- ACE_THROW (CORBA::INTERNAL ());
- }
-
- _ciao_comp->remove (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- this->_ciao_passivate_component (
- _ciao_comp.in ()
- ACE_ENV_ARG_PARAMETER);
- }
-
- // CIAO-specific operations.
-
- ::BasicSP::EC_ptr
- ECHome_Servant::_ciao_activate_component (
- ::BasicSP::CCM_EC_ptr exe
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- ::CORBA::Object_var hobj =
- this->container_->get_objref (
- this
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (::BasicSP::EC::_nil ());
-
- ::Components::CCMHome_var home =
- ::Components::CCMHome::_narrow (
- hobj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (::BasicSP::EC::_nil ());
-
- EC_Servant *svt =
- new EC_Servant (
- exe,
- home.in (),
- this->container_);
-
- PortableServer::ServantBase_var safe (svt);
- PortableServer::ObjectId_var oid;
-
- CORBA::Object_var objref =
- this->container_->install_component (
- svt,
- oid.out ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (::BasicSP::EC::_nil ());
-
- ::BasicSP::EC_var ho =
- ::BasicSP::EC::_narrow (
- objref.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (::BasicSP::EC::_nil ());
-
- if (this->component_map_.bind (oid.in (), svt) == 0)
- {
- safe._retn ();
- }
-
- return ho._retn ();
- }
-
- void
- ECHome_Servant::_ciao_passivate_component (
- ::BasicSP::EC_ptr comp
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- PortableServer::ObjectId_var oid;
-
- this->container_->uninstall_component (
- comp,
- oid.out ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- EC_Servant *servant = 0;
-
- if (this->component_map_.unbind (oid.in (), servant) == 0)
- {
- PortableServer::ServantBase_var safe (servant);
-
- servant->_ciao_passivate (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
- }
- }
- }
-
- extern "C" EC_SVNT_Export ::PortableServer::Servant
- createECHome_Servant (
- ::Components::HomeExecutorBase_ptr p,
- CIAO::Session_Container *c
- ACE_ENV_ARG_DECL)
- {
- if (p == 0)
- {
- return 0;
- }
-
- ::BasicSP::CCM_ECHome_var x =
- ::BasicSP::CCM_ECHome::_narrow (
- p
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- if (::CORBA::is_nil (x.in ()))
- {
- return 0;
- }
-
- return new
- CIAO_GLUE_BasicSP::ECHome_Servant (
- x.in (),
- c);
- }
-}
-