CIAO  1.2.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Member Functions | Protected Attributes | Private Types | Private Member Functions | Private Attributes | List of all members
CIAO::Container_i< BASE > Class Template Referenceabstract

Common container interface definition. More...

#include <Container_Base_T.h>

Inheritance diagram for CIAO::Container_i< BASE >:
Inheritance graph
Collaboration diagram for CIAO::Container_i< BASE >:
Collaboration graph

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. More...
 
virtual void fini (void)
 Cleanup method. More...
 
virtual PortableServer::POA_ptr the_POA (void)
 Get component's POA. More...
 
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. More...
 
virtual void uninstall_home (Components::CCMHome_ptr homeref)
 Uninstall a servant for component or home. More...
 
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. More...
 
virtual void passivate_component (Components::CCMObject_ptr compref)
 Passivate a component. More...
 
virtual void uninstall_component (Components::CCMObject_ptr compref)
 Uninstall a given component. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
virtual CORBA::Object_ptr get_local_facet (::Components::CCMObject_ptr provider_ref, const char *provider_port)
 
virtual void install_service_component_reference (const char *service_id, CORBA::Object_ptr objref)
 
virtual CORBA::Object_ptr uninstall_service_component_reference (const char *service_id)
 
virtual CORBA::Object_ptr resolve_service_reference (const char *service_id)
 
- Public Member Functions inherited from CORBA::Object
virtual TAO::ObjectKey_key (void)
 
virtual CORBA::ULong _hash (CORBA::ULong maximum)
 
virtual CORBA::Boolean _is_equivalent (CORBA::Object_ptr other_obj)
 
virtual CORBA::Boolean _non_existent (void)
 
virtual InterfaceDef_ptr _get_interface (void)
 
virtual CORBA::Object_ptr _get_component (void)
 
virtual char * _repository_id (void)
 
virtual void _create_request (CORBA::Context_ptr ctx, const char *operation, CORBA::NVList_ptr arg_list, CORBA::NamedValue_ptr result, CORBA::Request_ptr &request, CORBA::Flags req_flags)
 
virtual void _create_request (CORBA::Context_ptr ctx, const char *operation, CORBA::NVList_ptr arg_list, CORBA::NamedValue_ptr result, CORBA::ExceptionList_ptr exclist, CORBA::ContextList_ptr ctxtlist, CORBA::Request_ptr &request, CORBA::Flags req_flags)
 
virtual CORBA::Request_ptr _request (const char *operation)
 
virtual CORBA::ORB_ptr _get_orb (void)
 

Protected Member Functions

void uninstall (CORBA::Object_ptr objref, Container_Types::OA_Type t)
 Uninstall a servant for component or home. More...
 
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. More...
 
PortableServer::POA_var root_poa_
 POA used as root. More...
 
PortableServer::POA_var component_poa_
 
PortableServer::POA_var facet_cons_poa_
 

Private Types

typedef std::map< std::string,
CORBA::Object_var
InstalledServices
 

Private Member Functions

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

Private Attributes

InstalledServices installed_services_
 

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.

Member Typedef Documentation

template<typename BASE>
typedef std::map<std::string, CORBA::Object_var > CIAO::Container_i< BASE >::InstalledServices
private

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::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_local_facet ( ::Components::CCMObject_ptr  provider_ref,
const char *  provider_port 
)
virtual
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::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

Implemented in CIAO::Session_Container_i.

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::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 >::install_service_component_reference ( const char *  service_id,
CORBA::Object_ptr  objref 
)
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
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.

template<typename BASE >
CORBA::Object_ptr CIAO::Container_i< BASE >::uninstall_service_component_reference ( const char *  service_id)
virtual

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>
InstalledServices CIAO::Container_i< BASE >::installed_services_
private
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: