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)

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:
Generated on Wed Apr 19 03:57:38 2006 for CIAO by  doxygen 1.4.6-4