- Main Page
- Namespaces
- Classes
- Files
- Related Pages

- Search for |

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# CIAO::Container Class Reference

Common container interface definition. More...

`#include <Container_Base.h>`

Inheritance diagram for CIAO::Container:

[legend]
Collaboration diagram for CIAO::Container:

[legend]
List of all members.

## Public Types
enum | OA_Type { Component, Facet_Consumer }
## Public Member Functions
| Container (CORBA::ORB_ptr o)
| Container (CORBA::ORB_ptr o, Container_Impl *container_impl)
virtual | ~Container (void)=0
PortableServer::POA_ptr | the_POA (void) const
| Get component's POA.
PortableServer::POA_ptr | the_facet_cons_POA (void) const
CORBA::ORB_ptr | the_ORB (void) const
| Get a reference to the underlying ORB.
virtual int | init (const char *name=0, const CORBA::PolicyList *more_policies=0)=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)=0 throw (CORBA::SystemException, Deployment::UnknownImplId, Deployment::ImplEntryPointNotFound, Deployment::InstallationFailure)
| Install a new home.
virtual void | ciao_uninstall_home (Components::CCMHome_ptr homeref)=0 throw (CORBA::SystemException)
virtual void | uninstall_component (::Components::CCMObject_ptr objref, PortableServer::ObjectId_out oid)=0 throw (CORBA::SystemException)
virtual void | add_servant_map (PortableServer::ObjectId &oid, Dynamic_Component_Servant_Base *servant)=0
virtual void | delete_servant_map (PortableServer::ObjectId &oid)=0
virtual CORBA::Object_ptr | get_home_objref (PortableServer::Servant p)=0 throw (CORBA::SystemException)
## Protected Attributes
CORBA::ORB_var | orb_
| Reference to the ORB.
PortableServer::POA_var | component_poa_
PortableServer::POA_var | facet_cons_poa_
PortableServer::POA_var | home_servant_poa_
Container_Impl * | container_impl_
## Private Member Functions
| Container (void)
| Not allowed to be used.

## Detailed Description

Common container interface definition.

Perhaps we can use local interface to define these interfaces as we will also get reference counting automatically.

## Member Enumeration Documentation

enum CIAO::Container::OA_Type

Enumerator:

  Component |
  Facet_Consumer |

## Constructor & Destructor Documentation

CIAO::Container::Container | ( | CORBA::ORB_ptr | o | ) |

CIAO::Container::Container | ( | CORBA::ORB_ptr | o,
|  | Container_Impl * | container_impl |
| ) |  |  |

CIAO::Container::~Container | ( | void |  | ) | `[pure virtual]`

CIAO::Container::Container | ( | void |  | ) | `[private]`

Not allowed to be used.

## Member Function Documentation

virtual void CIAO::Container::add_servant_map | ( | PortableServer::ObjectId & | oid,
|  | Dynamic_Component_Servant_Base * | servant |
| ) |  |  | `[pure virtual]`

Implemented in CIAO::Session_Container, and CIAO::Swapping_Container.

virtual Components::CCMHome_ptr CIAO::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)`[pure virtual]`

Install a new home.

Implemented in CIAO::Session_Container.

virtual void CIAO::Container::ciao_uninstall_home | ( | Components::CCMHome_ptr | homeref | ) | throw (CORBA::SystemException)`[pure virtual]`

Implemented in CIAO::Session_Container, and CIAO::Swapping_Container.

virtual void CIAO::Container::delete_servant_map | ( | PortableServer::ObjectId & | oid | ) | `[pure virtual]`

Implemented in CIAO::Session_Container, and CIAO::Swapping_Container.

virtual CORBA::Object_ptr CIAO::Container::get_home_objref | ( | PortableServer::Servant | p | ) | throw (CORBA::SystemException)`[pure virtual]`

Implemented in CIAO::Session_Container, and CIAO::Swapping_Container.

virtual int CIAO::Container::init | ( | const char * | name = `0`,
|  | const CORBA::PolicyList * | more_policies = `0` |
| ) |  |  | throw (CORBA::SystemException)`[pure virtual]`

Initialize the container with a name.

Implemented in CIAO::Session_Container, and CIAO::Swapping_Container.

PortableServer::POA_ptr CIAO::Container::the_facet_cons_POA | ( | void |  | ) | const

CORBA::ORB_ptr CIAO::Container::the_ORB | ( | void |  | ) | const

Get a reference to the underlying ORB.

PortableServer::POA_ptr CIAO::Container::the_POA | ( | void |  | ) | const

Get component's POA.

This operation does *NOT* increase the reference count of the POA. Look at the const qualifier in the method.

virtual void CIAO::Container::uninstall_component | ( | ::Components::CCMObject_ptr | objref,
|  | PortableServer::ObjectId_out | oid |
| ) |  |  | throw (CORBA::SystemException)`[pure virtual]`

Implemented in CIAO::Session_Container.

## Member Data Documentation

PortableServer::POA_var CIAO::Container::component_poa_`[protected]`

POA within which all the components in this container will be activated.

Container_Impl* CIAO::Container::container_impl_`[protected]`

PortableServer::POA_var CIAO::Container::facet_cons_poa_`[protected]`

Having two POA's allows us to associate different policies that are distinct from the component.

PortableServer::POA_var CIAO::Container::home_servant_poa_`[protected]`

CORBA::ORB_var CIAO::Container::orb_`[protected]`

Reference to the ORB.

The documentation for this class was generated from the following files:

- Container_Base.h
- Container_Base.cpp