CIAO::Session_Container Class Reference

#include <Session_Container.h>

Inheritance diagram for CIAO::Session_Container:

Inheritance graph
[legend]
Collaboration diagram for CIAO::Session_Container:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Session_Container (CORBA::ORB_ptr o, Container_Impl *container_impl, bool static_config_flag=false, const Static_Config_EntryPoints_Maps *static_entrypts_maps=0)
virtual ~Session_Container (void)
virtual int init (const char *name=0, const CORBA::PolicyList *more_policies=0)
 Initialize the container with a name.
virtual Components::CCMHome_ptr ciao_install_home (const char *exe_dll_name, const char *exe_entrypt, const char *sv_dll_name, const char *sv_entrypt, const char *ins_name)
 Simply installing a home executor into the component.
virtual void ciao_uninstall_home (Components::CCMHome_ptr homeref)
 Uninstall a servant for component or home.
virtual void uninstall_component (::Components::CCMObject_ptr objref, PortableServer::ObjectId_out oid)
 Uninstall a servant for component.
virtual CORBA::Object_ptr install_servant (PortableServer::Servant p, Container::OA_Type t)
 Install a servant for component or home.
CORBA::Object_ptr install_component (PortableServer::Servant p, PortableServer::ObjectId_out oid)
 Install a component servant.
virtual CORBA::Object_ptr get_objref (PortableServer::Servant p)
 Get an object reference to a component or home from the servant.
void uninstall (CORBA::Object_ptr objref, Container::OA_Type t)
 Uninstall a servant for component or home.
void uninstall (PortableServer::Servant svt, Container::OA_Type t)
 Uninstall a servant for component or home.
virtual void add_servant_to_map (PortableServer::ObjectId &oid, Dynamic_Component_Servant_Base *servant)
virtual void delete_servant_from_map (PortableServer::ObjectId &oid)
virtual void deactivate_facet (const PortableServer::ObjectId &oid)
virtual CORBA::Object_ptr get_home_objref (PortableServer::Servant p)
CORBA::Object_ptr generate_reference (const char *obj_id, const char *repo_id, Container::OA_Type t)
Servant_Activatorports_servant_activator (void) const

Protected Attributes

unsigned long number_
const bool static_config_flag_
const Static_Config_EntryPoints_Mapsstatic_entrypts_maps_
Servant_Activatorsa_

Static Protected Attributes

static ACE_Atomic_Op< ACE_SYNCH_MUTEX,
unsigned long > 
serial_number_

Private Member Functions

void create_component_POA (const char *name, const CORBA::PolicyList *p, PortableServer::POA_ptr root)
 Create POA for the component.
void create_facet_consumer_POA (const char *name, const CORBA::PolicyList *p, PortableServer::POA_ptr root)
 Create POA for the facets and consumers alone.
 Session_Container (void)
 Not allowed to be.

Constructor & Destructor Documentation

CIAO::Session_Container::Session_Container ( CORBA::ORB_ptr  o,
Container_Impl *  container_impl,
bool  static_config_flag = false,
const Static_Config_EntryPoints_Maps static_entrypts_maps = 0 
)

CIAO::Session_Container::~Session_Container ( void   )  [virtual]

CIAO::Session_Container::Session_Container ( void   )  [private]

Not allowed to be.


Member Function Documentation

void CIAO::Session_Container::add_servant_to_map ( PortableServer::ObjectId oid,
Dynamic_Component_Servant_Base servant 
) [virtual]

Implements CIAO::Container.

Reimplemented in CIAO::Swapping_Container.

Components::CCMHome_ptr CIAO::Session_Container::ciao_install_home ( const char *  exe_dll_name,
const char *  exe_entrypt,
const char *  sv_dll_name,
const char *  sv_entrypt,
const char *  ins_name 
) [virtual]

Simply installing a home executor into the component.

This operation install a home executor into the component. It requires the name of the DLLs to executor and the servant glue code, and the entry points to the respective DLLs. Currently, we don't try to manage the lifetime of DLL objects, but we should at some later point.

Return values:
Home objref of the installed home.

Implements CIAO::Container.

void CIAO::Session_Container::ciao_uninstall_home ( Components::CCMHome_ptr  homeref  )  [virtual]

Uninstall a servant for component or home.

Implements CIAO::Container.

Reimplemented in CIAO::Swapping_Container.

void CIAO::Session_Container::create_component_POA ( const char *  name,
const CORBA::PolicyList *  p,
PortableServer::POA_ptr  root 
) [private]

Create POA for the component.

This is the POA that is returned to the component applications if they need one.

void CIAO::Session_Container::create_facet_consumer_POA ( const char *  name,
const CORBA::PolicyList *  p,
PortableServer::POA_ptr  root 
) [private]

Create POA for the facets and consumers alone.

void CIAO::Session_Container::deactivate_facet ( const PortableServer::ObjectId oid  )  [virtual]

Reimplemented in CIAO::Swapping_Container.

void CIAO::Session_Container::delete_servant_from_map ( PortableServer::ObjectId oid  )  [virtual]

Implements CIAO::Container.

Reimplemented in CIAO::Swapping_Container.

CORBA::Object_ptr CIAO::Session_Container::generate_reference ( const char *  obj_id,
const char *  repo_id,
Container::OA_Type  t 
)

Analog of the POA method that creates an object reference from an object id string.

CORBA::Object_ptr CIAO::Session_Container::get_home_objref ( PortableServer::Servant  p  )  [virtual]

Implements CIAO::Container.

Reimplemented in CIAO::Swapping_Container.

ACE_INLINE CORBA::Object_ptr CIAO::Session_Container::get_objref ( PortableServer::Servant  p  )  [virtual]

Get an object reference to a component or home from the servant.

Reimplemented in CIAO::Swapping_Container.

int CIAO::Session_Container::init ( const char *  name = 0,
const CORBA::PolicyList *  more_policies = 0 
) [virtual]

Initialize the container with a name.

Implements CIAO::Container.

Reimplemented in CIAO::Swapping_Container.

CORBA::Object_ptr CIAO::Session_Container::install_component ( PortableServer::Servant  p,
PortableServer::ObjectId_out  oid 
)

Install a component servant.

CORBA::Object_ptr CIAO::Session_Container::install_servant ( PortableServer::Servant  p,
Container::OA_Type  t 
) [virtual]

Install a servant for component or home.

Reimplemented in CIAO::Swapping_Container.

ACE_INLINE CIAO::Servant_Activator * CIAO::Session_Container::ports_servant_activator ( void   )  const

Return the servant activator factory that activates the servants for facets and consumers.

void CIAO::Session_Container::uninstall ( PortableServer::Servant  svt,
Container::OA_Type  t 
)

Uninstall a servant for component or home.

void CIAO::Session_Container::uninstall ( CORBA::Object_ptr  objref,
Container::OA_Type  t 
)

Uninstall a servant for component or home.

virtual void CIAO::Session_Container::uninstall_component ( ::Components::CCMObject_ptr  objref,
PortableServer::ObjectId_out  oid 
) [virtual]

Uninstall a servant for component.

Implements CIAO::Container.


Member Data Documentation

unsigned long CIAO::Session_Container::number_ [protected]

Reimplemented in CIAO::Swapping_Container.

Servant_Activator* CIAO::Session_Container::sa_ [protected]

The servant activator factory used to activate facets and consumer servants.

ACE_Atomic_Op< ACE_SYNCH_MUTEX, unsigned long > CIAO::Session_Container::serial_number_ [static, protected]

Static variable to store the highest number we have given out until now

Reimplemented in CIAO::Swapping_Container.

const bool CIAO::Session_Container::static_config_flag_ [protected]

const Static_Config_EntryPoints_Maps* CIAO::Session_Container::static_entrypts_maps_ [protected]


The documentation for this class was generated from the following files:
Generated on Mon Apr 30 23:49:24 2007 for CIAO by  doxygen 1.4.7-1