summaryrefslogtreecommitdiff
path: root/CIAO/ciao/Swapping_Container.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'CIAO/ciao/Swapping_Container.cpp')
-rw-r--r--CIAO/ciao/Swapping_Container.cpp303
1 files changed, 0 insertions, 303 deletions
diff --git a/CIAO/ciao/Swapping_Container.cpp b/CIAO/ciao/Swapping_Container.cpp
deleted file mode 100644
index d7539ed21f2..00000000000
--- a/CIAO/ciao/Swapping_Container.cpp
+++ /dev/null
@@ -1,303 +0,0 @@
-// $Id$
-
-#include "Container_Base.h"
-#include "Swapping_Container.h"
-#include "ace/DLL.h"
-#include "tao/Utils/PolicyList_Destroyer.h"
-#include "ace/OS_NS_stdio.h"
-
-#if !defined (__ACE_INLINE__)
-# include "Swapping_Container.inl"
-#endif /* __ACE_INLINE__ */
-
-namespace CIAO
-{
-
- ACE_Atomic_Op <ACE_SYNCH_MUTEX, unsigned long>
- Swapping_Container::serial_number_ (0);
-
- Swapping_Container::Swapping_Container (CORBA::ORB_ptr o,
- Container_Impl *container_impl)
- : Session_Container (o, container_impl),
- number_ (0)
- {
- }
-
- Swapping_Container::~Swapping_Container ()
- {
- }
-
- PortableServer::POA_ptr
- Swapping_Container::the_home_servant_POA (void) const
- {
- return this->home_servant_poa_.in ();
- }
-
- CORBA::Object_ptr
- Swapping_Container::get_home_objref (PortableServer::Servant p
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- return this->the_home_servant_POA ()->servant_to_reference (p
- ACE_ENV_ARG_PARAMETER);
- }
-
- void
- Swapping_Container::deactivate_facet (const PortableServer::ObjectId &oid
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- this->the_facet_cons_POA ()->deactivate_object (oid
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
-
- int
- Swapping_Container::init (const char *name,
- const CORBA::PolicyList *more_policies
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- char buffer[MAXPATHLEN];
-
- if (name == 0)
- {
- this->number_ = ++Swapping_Container::serial_number_;
- ACE_OS::sprintf (buffer, "CIAO::Swapping_Container-%ld",
- this->number_);
- name = buffer;
- }
-
- CORBA::Object_var poa_object =
- this->orb_->resolve_initial_references("RootPOA"
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- if (CORBA::is_nil (poa_object.in ()))
- ACE_ERROR_RETURN ((LM_ERROR,
- " (%P|%t) Unable to initialize the POA.\n"),
- -1);
-
- PortableServer::POA_var root_poa =
- PortableServer::POA::_narrow (poa_object.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
-
- this->create_servant_POA (name,
- more_policies,
- root_poa.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
-
-
- this->create_home_servant_POA ("home servant POA",
- more_policies,
- root_poa.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- this->create_connections_POA (root_poa.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- PortableServer::POAManager_var poa_manager =
- root_poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- return 0;
- }
-
- void
- Swapping_Container::add_servant_map
- (PortableServer::ObjectId &oid,
- Dynamic_Component_Servant_Base* servant)
- {
- this->dsa_->add_servant_map (oid, servant);
- }
-
- void
- Swapping_Container::delete_servant_map
- (PortableServer::ObjectId &oid)
- {
- this->dsa_->delete_servant_map (oid);
- }
-
- void
- Swapping_Container::create_home_servant_POA (const char *name,
- const CORBA::PolicyList *p,
- PortableServer::POA_ptr root
- ACE_ENV_ARG_DECL)
- {
- CORBA::PolicyList policies (0);
-
- if (p != 0)
- policies = *p;
-
- PortableServer::POAManager_var poa_manager =
- root->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
-
- this->home_servant_poa_ =
- root->create_POA (name,
- poa_manager.in (),
- policies
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
-
- void
- Swapping_Container::create_connections_POA (
- PortableServer::POA_ptr root
- ACE_ENV_ARG_DECL)
- {
- PortableServer::POAManager_var poa_manager =
- root->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- TAO::Utils::PolicyList_Destroyer policies (3);
- policies.length (3);
-
- policies[0] =
- root->create_id_assignment_policy (PortableServer::USER_ID
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- policies[1] =
- root->create_request_processing_policy
- (PortableServer::USE_SERVANT_MANAGER
- ACE_ENV_ARG_PARAMETER);
-
- ACE_CHECK;
-
- // Servant Retention Policy
- policies[2] =
- root->create_servant_retention_policy (PortableServer::RETAIN
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- this->facet_cons_poa_ =
- root->create_POA ("facet_consumer_poa",
- poa_manager.in (),
- policies
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- ACE_NEW_THROW_EX (this->sa_,
- Servant_Activator (this->orb_.in ()),
- CORBA::NO_MEMORY ());
-
- this->facet_cons_poa_->set_servant_manager (
- this->sa_
- ACE_ENV_ARG_PARAMETER);
-
- ACE_CHECK;
- }
-
- void
- Swapping_Container::create_servant_POA (const char *name,
- const CORBA::PolicyList *p,
- PortableServer::POA_ptr root
- ACE_ENV_ARG_DECL)
- {
- // @@ Jai, see how this method more or less does things (like
- // setting policies) like create_connections_POA (). Could you
- // please refactor them into a seperate method?
- CORBA::PolicyList policies (0);
-
- if (p != 0)
- policies = *p;
-
- PortableServer::POAManager_var poa_manager =
- root->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- CORBA::ULong policy_length = policies.length ();
- policies.length (policy_length + 1);
- policies[policy_length] =
- root->create_id_assignment_policy (PortableServer::USER_ID
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- policy_length = policies.length ();
- policies.length (policy_length + 1);
- policies[policy_length] =
- root->create_request_processing_policy (
- PortableServer::USE_SERVANT_MANAGER
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- policy_length = policies.length ();
- policies.length (policy_length + 1);
- policies[policy_length] =
- root->create_servant_retention_policy (PortableServer::RETAIN
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- this->component_poa_ =
- root->create_POA (name,
- poa_manager.in (),
- policies
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- ACE_NEW_THROW_EX (this->dsa_,
- Dynamic_Component_Activator (this->orb_.in ()),
- CORBA::NO_MEMORY ());
-
- this->component_poa_->set_servant_manager (
- this->dsa_
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- }
-
- void
- Swapping_Container::ciao_uninstall_home (Components::CCMHome_ptr homeref
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- PortableServer::POA_ptr tmp = this->home_servant_poa_.in ();
- PortableServer::ObjectId_var oid =
- tmp->reference_to_id (homeref
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- tmp->deactivate_object (oid.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
-
- CORBA::Object_ptr
- Swapping_Container::install_servant (PortableServer::Servant p,
- Container::OA_Type t
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- PortableServer::POA_ptr tmp = 0;
-
- if (t == Container::Component)
- {
- tmp = this->home_servant_poa_.in ();
- }
- else
- tmp = this->facet_cons_poa_.in ();
-
- PortableServer::ObjectId_var oid
- = tmp->activate_object (p
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- CORBA::Object_var objref
- = tmp->id_to_reference (oid.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return objref._retn ();
- }
-}