Public Member Functions | Protected Attributes | Private Member Functions

CIAO::Container_i< BASE > Class Template Reference

Common container interface definition. More...

#include <Container_Base_T.h>

Inheritance diagram for CIAO::Container_i< BASE >:
Inheritance graph
[legend]
Collaboration diagram for CIAO::Container_i< BASE >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 Container_i (CORBA::ORB_ptr o, PortableServer::POA_ptr root_poa)
virtual ~Container_i (void)
virtual void init (const char *name)
 Initialize the container with a name.
virtual void fini (void)
 Cleanup method.
virtual PortableServer::POA_ptr the_POA (void)
 Get component's POA.
virtual PortableServer::POA_ptr the_port_POA (void)
virtual Components::CCMHome_ptr install_home (const char *primary_artifact, const char *entry_point, const char *servant_artifact, const char *servant_entrypoint, const char *name)=0
 Install a new home.
virtual void uninstall_home (Components::CCMHome_ptr homeref)=0
 Uninstall a servant for component or home.
virtual Components::CCMObject_ptr install_component (const char *primary_artifact, const char *entry_point, const char *servant_artifact, const char *servant_entrypoint, const char *name)=0
virtual void uninstall_component (Components::CCMObject_ptr compref)=0
virtual CORBA::Object_ptr get_objref (PortableServer::Servant p)=0
virtual CORBA::Object_ptr install_servant (PortableServer::Servant objref, Container_Types::OA_Type type, PortableServer::ObjectId_out oid)=0
virtual void uninstall_servant (PortableServer::Servant objref, Container_Types::OA_Type type, PortableServer::ObjectId_out oid)=0
 Uninstall a servant for component.
CORBA::ORB_ptr the_ORB (void) const
 Get a reference to the underlying ORB.
virtual CORBA::Object_ptr resolve_service_reference (const char *service_id)

Protected Attributes

CORBA::ORB_var orb_
 Reference to the ORB.
PortableServer::POA_var root_poa_
 POA used as root.
PortableServer::POA_var component_poa_
PortableServer::POA_var facet_cons_poa_
Servant_Activator_var sa_

Private Member Functions

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

Detailed Description

template<typename BASE>
class CIAO::Container_i< BASE >

Common container interface definition.

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


Constructor & Destructor Documentation

template<typename BASE >
CIAO::Container_i< BASE >::Container_i ( CORBA::ORB_ptr  o,
PortableServer::POA_ptr  root_poa 
)
template<typename BASE >
CIAO::Container_i< BASE >::~Container_i ( void   ) [virtual]
template<typename BASE>
CIAO::Container_i< BASE >::Container_i ( void   ) [private]

Not allowed to be used.


Member Function Documentation

template<typename BASE >
void CIAO::Container_i< BASE >::create_component_POA ( const char *  name,
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.

template<typename BASE >
void CIAO::Container_i< BASE >::create_facet_consumer_POA ( const char *  name,
PortableServer::POA_ptr  root 
) [private]

Create POA for the facets and consumers alone.

template<typename BASE >
void CIAO::Container_i< BASE >::fini ( void   ) [virtual]

Cleanup method.

Reimplemented in CIAO::Extension_Container_i, and CIAO::Session_Container_i.

template<typename BASE>
virtual CORBA::Object_ptr CIAO::Container_i< BASE >::get_objref ( PortableServer::Servant  p ) [pure virtual]
template<typename BASE >
void CIAO::Container_i< BASE >::init ( const char *  name ) [virtual]

Initialize the container with a name.

Reimplemented in CIAO::Extension_Container_i, and CIAO::Session_Container_i.

template<typename BASE>
virtual Components::CCMObject_ptr CIAO::Container_i< BASE >::install_component ( const char *  primary_artifact,
const char *  entry_point,
const char *  servant_artifact,
const char *  servant_entrypoint,
const char *  name 
) [pure virtual]
template<typename BASE>
virtual Components::CCMHome_ptr CIAO::Container_i< BASE >::install_home ( const char *  primary_artifact,
const char *  entry_point,
const char *  servant_artifact,
const char *  servant_entrypoint,
const char *  name 
) [pure virtual]

Install a new home.

Implemented in CIAO::Extension_Container_i, and CIAO::Session_Container_i.

template<typename BASE>
virtual CORBA::Object_ptr CIAO::Container_i< BASE >::install_servant ( PortableServer::Servant  objref,
Container_Types::OA_Type  type,
PortableServer::ObjectId_out  oid 
) [pure virtual]
template<typename BASE >
CORBA::Object_ptr CIAO::Container_i< BASE >::resolve_service_reference ( const char *  service_id ) [virtual]

Reimplemented in CIAO::Extension_Container_i.

template<typename BASE >
CORBA::ORB_ptr CIAO::Container_i< BASE >::the_ORB ( void   ) const

Get a reference to the underlying ORB.

template<typename BASE >
PortableServer::POA_ptr CIAO::Container_i< BASE >::the_POA ( void   ) [virtual]

Get component's POA.

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

template<typename BASE >
PortableServer::POA_ptr CIAO::Container_i< BASE >::the_port_POA ( void   ) [virtual]
template<typename BASE>
virtual void CIAO::Container_i< BASE >::uninstall_component ( Components::CCMObject_ptr  compref ) [pure virtual]
template<typename BASE>
virtual void CIAO::Container_i< BASE >::uninstall_home ( Components::CCMHome_ptr  homeref ) [pure virtual]

Uninstall a servant for component or home.

Implemented in CIAO::Extension_Container_i, and CIAO::Session_Container_i.

template<typename BASE>
virtual void CIAO::Container_i< BASE >::uninstall_servant ( PortableServer::Servant  objref,
Container_Types::OA_Type  type,
PortableServer::ObjectId_out  oid 
) [pure virtual]

Uninstall a servant for component.

Implemented in CIAO::Extension_Container_i, and CIAO::Session_Container_i.


Member Data Documentation

template<typename BASE>
PortableServer::POA_var CIAO::Container_i< BASE >::component_poa_ [protected]

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

template<typename BASE>
PortableServer::POA_var CIAO::Container_i< BASE >::facet_cons_poa_ [protected]

POA within which all the facets and receptacles will be activated. Having two POA's allows us to associate different policies that are distinct from the component.

template<typename BASE>
CORBA::ORB_var CIAO::Container_i< BASE >::orb_ [protected]

Reference to the ORB.

template<typename BASE>
PortableServer::POA_var CIAO::Container_i< BASE >::root_poa_ [protected]

POA used as root.

template<typename BASE>
Servant_Activator_var CIAO::Container_i< BASE >::sa_ [protected]

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


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines