CIAO  1.0.8
Public Member Functions | Protected 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, CORBA::Long open_mode)=0
 Install a new home.
virtual void uninstall_home (Components::CCMHome_ptr homeref)
 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, CORBA::Long open_mode)=0
virtual void set_attributes (CORBA::Object_ptr compref, const ::Components::ConfigValues &values)
virtual void activate_component (Components::CCMObject_ptr compref)
 Activate component.
virtual void passivate_component (Components::CCMObject_ptr compref)
 Passivate a component.
virtual void uninstall_component (Components::CCMObject_ptr compref)
 Uninstall a given component.
virtual ::Components::Cookieconnect_local_facet (::Components::CCMObject_ptr provider, const char *provider_port,::Components::CCMObject_ptr user, const char *user_port)
 Connect a local facet.
virtual void disconnect_local_facet (::Components::Cookie *cookie,::Components::CCMObject_ptr provider, const char *provider_port,::Components::CCMObject_ptr user, const char *user_port)
 Disconnect a local facet.
virtual CORBA::Object_ptr install_servant (PortableServer::Servant objref, Container_Types::OA_Type type, PortableServer::ObjectId_out oid)
virtual void uninstall_servant (PortableServer::Servant objref, Container_Types::OA_Type type, PortableServer::ObjectId_out oid)
 Uninstall a servant for component.
virtual CORBA::Object_ptr get_objref (PortableServer::Servant p)
virtual CORBA::Object_ptr generate_reference (const char *obj_id, const char *repo_id, Container_Types::OA_Type t)
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 Member Functions

void uninstall (CORBA::Object_ptr objref, Container_Types::OA_Type t)
 Uninstall a servant for component or home.
void prepare_installation (const char *entity, const char *primary_artifact, const char *entry_point, const char *servant_artifact, const char *servant_entrypoint, const char *name, int open_mode, ACE_DLL &executor_dll, ACE_DLL &servant_dll)

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_

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 >::activate_component ( Components::CCMObject_ptr  compref) [virtual]

Activate component.

template<typename BASE >
Components::Cookie * CIAO::Container_i< BASE >::connect_local_facet ( ::Components::CCMObject_ptr  provider,
const char *  provider_port,
::Components::CCMObject_ptr  user,
const char *  user_port 
)

Connect a local facet.

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 >::disconnect_local_facet ( ::Components::Cookie cookie,
::Components::CCMObject_ptr  provider,
const char *  provider_port,
::Components::CCMObject_ptr  user,
const char *  user_port 
) [virtual]

Disconnect a local facet.

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 >
CORBA::Object_ptr CIAO::Container_i< BASE >::generate_reference ( const char *  obj_id,
const char *  repo_id,
Container_Types::OA_Type  t 
) [virtual]

Analog of the POA method that creates an object reference from an object id string.

template<typename BASE >
CORBA::Object_ptr CIAO::Container_i< BASE >::get_objref ( PortableServer::Servant  p) [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,
CORBA::Long  open_mode 
) [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,
CORBA::Long  open_mode 
) [pure virtual]

Install a new home.

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

template<typename BASE >
CORBA::Object_ptr CIAO::Container_i< BASE >::install_servant ( PortableServer::Servant  objref,
Container_Types::OA_Type  type,
PortableServer::ObjectId_out  oid 
) [virtual]
template<typename BASE >
void CIAO::Container_i< BASE >::passivate_component ( Components::CCMObject_ptr  compref) [virtual]

Passivate a component.

template<typename BASE >
void CIAO::Container_i< BASE >::prepare_installation ( const char *  entity,
const char *  primary_artifact,
const char *  entry_point,
const char *  servant_artifact,
const char *  servant_entrypoint,
const char *  name,
int  open_mode,
ACE_DLL executor_dll,
ACE_DLL servant_dll 
) [protected]
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 >
void CIAO::Container_i< BASE >::set_attributes ( CORBA::Object_ptr  compref,
const ::Components::ConfigValues values 
) [virtual]
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.

template<typename BASE >
PortableServer::POA_ptr CIAO::Container_i< BASE >::the_port_POA ( void  ) [virtual]
template<typename BASE >
void CIAO::Container_i< BASE >::uninstall ( CORBA::Object_ptr  objref,
Container_Types::OA_Type  t 
) [protected]

Uninstall a servant for component or home.

template<typename BASE >
void CIAO::Container_i< BASE >::uninstall_component ( Components::CCMObject_ptr  compref) [virtual]

Uninstall a given component.

template<typename BASE >
void CIAO::Container_i< BASE >::uninstall_home ( Components::CCMHome_ptr  homeref) [virtual]

Uninstall a servant for component or home.

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

Uninstall a servant for component.


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.


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