CIAO  1.0.6
Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions
CIAO::Container_i Class Reference

Common container interface definition. More...

#include <Container_Base_T.h>

Inheritance diagram for CIAO::Container_i:
Inheritance graph
[legend]
Collaboration diagram for CIAO::Container_i:
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)
 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 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, 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

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

CIAO::Container_i::Container_i ( CORBA::ORB_ptr  o,
PortableServer::POA_ptr  root_poa 
)
CIAO::Container_i::~Container_i ( void  ) [virtual]
CIAO::Container_i::Container_i ( void  ) [private]

Not allowed to be used.


Member Function Documentation

void CIAO::Container_i::activate_component ( Components::CCMObject_ptr  compref) [virtual]

Activate component.

Components::Cookie * CIAO::Container_i::connect_local_facet ( ::Components::CCMObject_ptr  provider,
const char *  provider_port,
::Components::CCMObject_ptr  user,
const char *  user_port 
)

Connect a local facet.

void CIAO::Container_i::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.

void CIAO::Container_i::create_facet_consumer_POA ( const char *  name,
PortableServer::POA_ptr  root 
) [private]

Create POA for the facets and consumers alone.

void CIAO::Container_i::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.

void CIAO::Container_i::fini ( void  ) [virtual]

Cleanup method.

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

CORBA::Object_ptr CIAO::Container_i::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.

CORBA::Object_ptr CIAO::Container_i::get_objref ( PortableServer::Servant  p) [virtual]
void CIAO::Container_i::init ( const char *  name) [virtual]

Initialize the container with a name.

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

virtual Components::CCMObject_ptr CIAO::Container_i::install_component ( const char *  primary_artifact,
const char *  entry_point,
const char *  servant_artifact,
const char *  servant_entrypoint,
const char *  name 
) [pure virtual]
virtual Components::CCMHome_ptr CIAO::Container_i::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.

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

Passivate a component.

void CIAO::Container_i::prepare_installation ( const char *  entity,
const char *  primary_artifact,
const char *  entry_point,
const char *  servant_artifact,
const char *  servant_entrypoint,
const char *  name,
ACE_DLL executor_dll,
ACE_DLL servant_dll 
) [protected]
CORBA::Object_ptr CIAO::Container_i::resolve_service_reference ( const char *  service_id) [virtual]

Reimplemented in CIAO::Extension_Container_i.

void CIAO::Container_i::set_attributes ( CORBA::Object_ptr  compref,
const ::Components::ConfigValues values 
) [virtual]
CORBA::ORB_ptr CIAO::Container_i::the_ORB ( void  ) const

Get a reference to the underlying ORB.

PortableServer::POA_ptr CIAO::Container_i::the_POA ( void  ) [virtual]

Get component's POA.

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

Uninstall a servant for component or home.

void CIAO::Container_i::uninstall_component ( Components::CCMObject_ptr  compref) [virtual]

Uninstall a given component.

void CIAO::Container_i::uninstall_home ( Components::CCMHome_ptr  homeref) [virtual]

Uninstall a servant for component or home.

void CIAO::Container_i::uninstall_servant ( PortableServer::Servant  objref,
Container_Types::OA_Type  type,
PortableServer::ObjectId_out  oid 
) [virtual]

Uninstall a servant for component.


Member Data Documentation

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

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.

Reference to the ORB.

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