Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

# CIAO::Session_Container Class Reference

`#include <Container_Base.h>`

Inheritance diagram for CIAO::Session_Container:

[legend]
Collaboration diagram for CIAO::Session_Container:

[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) throw (CORBA::SystemException)
| 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) throw (CORBA::SystemException, Deployment::UnknownImplId, Deployment::ImplEntryPointNotFound, Deployment::InstallationFailure)
| Simply installing a home executor into the component.
virtual void | ciao_uninstall_home (Components::CCMHome_ptr homeref) throw (CORBA::SystemException)
| Uninstall a servant for component or home.
virtual void | uninstall_component (::Components::CCMObject_ptr objref, PortableServer::ObjectId_out oid) throw (CORBA::SystemException)
| Uninstall a servant for component.
virtual CORBA::Object_ptr | install_servant (PortableServer::Servant p, Container::OA_Type t) throw (CORBA::SystemException)
| Install a servant for component or home.
CORBA::Object_ptr | install_component (PortableServer::Servant p, PortableServer::ObjectId_out oid) throw (CORBA::SystemException)
| Install a component servant.
virtual CORBA::Object_ptr | get_objref (PortableServer::Servant p) throw (CORBA::SystemException)
| Get an object reference to a component or home from the servant.
void | uninstall (CORBA::Object_ptr objref, Container::OA_Type t) throw (CORBA::SystemException)
| Uninstall a servant for component or home.
void | uninstall (PortableServer::Servant svt, Container::OA_Type t) throw (CORBA::SystemException)
| Uninstall a servant for component or home.
virtual void | add_servant_map (PortableServer::ObjectId &oid, Dynamic_Component_Servant_Base *servant)
virtual void | delete_servant_map (PortableServer::ObjectId &oid)
virtual void | deactivate_facet (const PortableServer::ObjectId &oid) throw (CORBA::SystemException)
virtual CORBA::Object_ptr | get_home_objref (PortableServer::Servant p) throw (CORBA::SystemException)
CORBA::Object_ptr | generate_reference (const char *obj_id, const char *repo_id, Container::OA_Type t)
Servant_Activator * | ports_servant_activator (void) const
## Protected Attributes
unsigned long | number_
const bool | static_config_flag_
const Static_Config_EntryPoints_Maps * | static_entrypts_maps_
Servant_Activator * | sa_
## Static Protected Attributes
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_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
| ) | throw (CORBA::SystemException, Deployment::UnknownImplId, Deployment::ImplEntryPointNotFound, Deployment::InstallationFailure)`[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 | ) | throw (CORBA::SystemException)`[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 | ) | throw (CORBA::SystemException)`[virtual]`

| Reimplemented in CIAO::Swapping_Container.

void CIAO::Session_Container::delete_servant_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 | ) | throw (CORBA::SystemException)`[virtual]`

| Implements CIAO::Container. Reimplemented in CIAO::Swapping_Container.

ACE_INLINE CORBA::Object_ptr CIAO::Session_Container::get_objref | ( | PortableServer::Servant | p | ) | throw (CORBA::SystemException)`[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`
| ) | throw (CORBA::SystemException)`[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
| ) | throw (CORBA::SystemException)

| Install a component servant.

CORBA::Object_ptr CIAO::Session_Container::install_servant | ( | PortableServer::Servant | p,
|  | Container::OA_Type | t
| ) | throw (CORBA::SystemException)`[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
| ) | throw (CORBA::SystemException)

| Uninstall a servant for component or home.

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

| Uninstall a servant for component or home.

virtual void CIAO::Session_Container::uninstall_component | ( | ::Components::CCMObject_ptr | objref,
|  | PortableServer::ObjectId_out | oid
| ) | throw (CORBA::SystemException)`[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:

- Container_Base.h
- Container_Base.cpp
- Container_Base.inl