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

CIAO::Container Class Reference

Common container interface definition. More...

#include <Container_Base.h>

Inheritance diagram for CIAO::Container:

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

Collaboration graph
[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)
PortableServer::POA the_POA ()

Protected Attributes

CORBA::ORB_var 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
 

Enumeration values:
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 CIAO::Container::the_POA  ) 
 

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]
 


The documentation for this class was generated from the following files:
Generated on Thu Feb 16 04:18:01 2006 for CIAO by  doxygen 1.3.9.1