CIAO  1.1.6
 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
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
Collaboration diagram for CIAO::Container_i< BASE >:
Collaboration graph

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 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::LocalObject
virtual ~LocalObject (void)
virtual CORBA::Boolean _non_existent (void)
virtual char * _repository_id (void)
virtual CORBA::InterfaceDef_ptr _get_interface (void)
virtual CORBA::Object_ptr _get_component (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)
CORBA::Policy_ptr _get_policy (CORBA::PolicyType type)
CORBA::Policy_ptr _get_cached_policy (TAO_Cached_Policy_Type type)
CORBA::Object_ptr _set_policy_overrides (const CORBA::PolicyList &policies, CORBA::SetOverrideType set_add)
CORBA::PolicyList * _get_policy_overrides (const CORBA::PolicyTypeSeq &types)
CORBA::Boolean _validate_connection (CORBA::PolicyList_out inconsistent_policies)
virtual CORBA::ULong _hash (CORBA::ULong maximum)
virtual CORBA::Boolean _is_equivalent (CORBA::Object_ptr other_obj)
virtual CORBA::ORB_ptr _get_orb (void)
virtual TAO::ObjectKey * _key (void)
virtual ~Object (void)
virtual TAO_Abstract_ServantBase_servant (void) const
virtual CORBA::Boolean _is_collocated (void) const
virtual CORBA::Boolean _is_local (void) const
 Object (TAO_Stub *p, CORBA::Boolean collocated=false, TAO_Abstract_ServantBase *servant=0, TAO_ORB_Core *orb_core=0)
 Object (IOP::IOR *ior, TAO_ORB_Core *orb_core)
virtual TAO_Stub_stubobj (void) const
virtual TAO_Stub_stubobj (void)
virtual void _proxy_broker (TAO::Object_Proxy_Broker *proxy_broker)
virtual CORBA::Boolean marshal (TAO_OutputCDR &cdr)
CORBA::Boolean is_evaluated (void) const
TAO_ORB_Coreorb_core (void) const
IOP::IOR * steal_ior (void)
const IOP::IOR & ior (void) const
virtual bool can_convert_to_ior (void) const
virtual char * convert_to_ior (bool use_omg_ior_format, const char *ior_prefix) const
void _decr_refcount (void)
virtual void _add_ref (void)
virtual void _remove_ref (void)
virtual CORBA::ULong _refcount_value (void) const
virtual CORBA::Boolean _is_a (const char *logical_type_id)
virtual const char * _interface_repository_id (void) const

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 Member Functions inherited from CORBA::LocalObject
 LocalObject (void)
 Object (int dummy=0)
TAO::Object_Proxy_Broker * proxy_broker () const

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_
- Protected Attributes inherited from CORBA::LocalObject
ACE_Atomic_Op< TAO_SYNCH_MUTEX,
unsigned long > 
refcount_
- Protected Attributes inherited from CORBA::Object

Private Types

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

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.

Private Attributes

InstalledServices installed_services_

Additional Inherited Members

- Public Types inherited from CORBA::LocalObject
typedef LocalObject_ptr _ptr_type
typedef LocalObject_var _var_type
typedef LocalObject_out _out_type
- Public Types inherited from CORBA::Object
- Static Public Member Functions inherited from CORBA::LocalObject
static LocalObject_ptr _duplicate (LocalObject_ptr obj)
static LocalObject_ptr _nil (void)
static LocalObject_ptr _narrow (CORBA::Object_ptr obj)
static CORBA::Boolean marshal (const Object_ptr x, TAO_OutputCDR &cdr)
static void _tao_any_destructor (void *)
static CORBA::Boolean is_nil_i (CORBA::Object_ptr obj)
static void tao_object_initialize (Object *)
static CORBA::Object_ptr _duplicate (CORBA::Object_ptr obj)

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: