CIAO::NodeApplication_Impl Class Reference

#include <NodeApplication_Impl.h>

Inheritance diagram for CIAO::NodeApplication_Impl:

Inheritance graph
[legend]
Collaboration diagram for CIAO::NodeApplication_Impl:

Collaboration graph
[legend]
List of all members.

Public Types

typedef CIAO::NodeApplication_Impl::_component_state_info Component_State_Info
 NEW_BORN
 PRE_ACTIVE
 ACTIVE
 POST_ACTIVE
 PASSIVE
 DEACTIVATED
enum  Component_State {
  NEW_BORN, PRE_ACTIVE, ACTIVE, POST_ACTIVE,
  PASSIVE, DEACTIVATED
}

Public Member Functions

 NodeApplication_Impl (CORBA::ORB_ptr o, PortableServer::POA_ptr p, NodeApp_Configurator &c, const Static_Config_EntryPoints_Maps *static_entrypts_maps=0)
virtual ~NodeApplication_Impl (void)
 Default destructor.
virtual void finishLaunch (const Deployment::Connections &connections, CORBA::Boolean start, CORBA::Boolean add_connection) throw (CORBA::SystemException, Deployment::StartError, Deployment::InvalidConnection)
 This operation dose 2 things. 1. Get the external connction (facet and Event source) and connect them to the local receptacle/event sink. 2. If the start augment is true, start the Components.
Note:
: The connection containes the object ref of the provided object reference (facet/event consumer) of components from other NodeApplications. However the name field stores the name of the port on the local component.

virtual void start () throw (CORBA::SystemException, Deployment::StartError)
virtual void ciao_preactivate () throw (CORBA::SystemException, Deployment::StartError)
virtual void ciao_postactivate () throw (CORBA::SystemException, Deployment::StartError)
virtual void ciao_passivate () throw (CORBA::SystemException, Deployment::StopError)
virtual CORBA::Long init () throw (CORBA::SystemException)
 Initialize the NodeApplication.
virtual ::Deployment::ComponentInfos * install (const ::Deployment::NodeImplementationInfo &node_impl_info) throw (CORBA::SystemException, ::Deployment::UnknownImplId, ::Deployment::ImplEntryPointNotFound, ::Deployment::InstallationFailure, ::Components::InvalidConfiguration)
 Start install homes and components.
virtual ::Deployment::CIAO_Event_Services * install_es (const ::Deployment::ESInstallationInfos &es_infos) throw (::CORBA::SystemException, ::Deployment::InstallationFailure)
 Install a number of CIAO_Event_Service objects within the NA.
virtual ::CORBA::Object_ptr get_node_application_manager () throw (CORBA::SystemException)
virtual ::Deployment::Properties * properties () throw (CORBA::SystemException)
 Access the readonly attribute.
virtual void remove_component (const char *inst_name) throw (::CORBA::SystemException, ::Components::RemoveFailure)
 Remove a component instance from the NodeApplication.
virtual void activate_component (const char *name) throw (::CORBA::SystemException, ::Deployment::StartError)
virtual void passivate_component (const char *name) throw (::CORBA::SystemException, ::Components::RemoveFailure)
virtual void remove () throw (CORBA::SystemException)
 Remove everything inside including all components and homes.
virtual ::Deployment::Container_ptr create_container (const ::Deployment::Properties &properties) throw (CORBA::SystemException, ::Components::CreateFailure, ::Components::InvalidConfiguration)
 Create a container interface, which will be hosted in this NodeApplication.
virtual void remove_container (::Deployment::Container_ptr cref) throw (CORBA::SystemException, ::Components::RemoveFailure)
 Remove a container interface.
virtual ::Deployment::Containers * get_containers () throw (CORBA::SystemException)
 Get all container object refs.
virtual PortableServer::POA_ptr _default_POA (void)
::Deployment::NodeApplication_ptr get_objref ()
void build_event_connection (const Deployment::Connection &connection, bool add_or_remove) throw (Deployment::InvalidConnection, CORBA::SystemException)

Protected Types

typedef ACE_Hash_Map_Manager_Ex<
ACE_CString, Deployment::Container_var,
ACE_Hash< ACE_CString >,
ACE_Equal_To< ACE_CString >,
ACE_Null_Mutex
Component_Container_Map
 To build a map between a component instance and its container.
typedef Component_Container_Map::iterator Component_Container_Iterator
typedef ACE_Hash_Map_Manager_Ex<
ACE_CString, Component_State_Info,
ACE_Hash< ACE_CString >,
ACE_Equal_To< ACE_CString >,
ACE_Null_Mutex
CCMComponent_Map
typedef CCMComponent_Map::iterator Component_Iterator
typedef ACE_Hash_Map_Manager_Ex<
ACE_CString,::Components::Cookie_var,
ACE_Hash< ACE_CString >,
ACE_Equal_To< ACE_CString >,
ACE_Null_Mutex
Cookie_Map
 A Map which stores all the connection cookies.
typedef Cookie_Map::iterator Cookie_Map_Iterator
typedef ACE_Hash_Map_Manager_Ex<
ACE_CString,::Deployment::ESInstallationInfos_var,
ACE_Hash< ACE_CString >,
ACE_Equal_To< ACE_CString >,
ACE_Null_Mutex
ES_Installation_Map
typedef ES_Installation_Map::iterator ES_Installation_Map_Iterator

Protected Member Functions

virtual void finishLaunch_i (const Deployment::Connections &connections, CORBA::Boolean start, CORBA::Boolean add_connection) throw (CORBA::SystemException, Deployment::StartError, Deployment::InvalidConnection)
virtual void handle_facet_receptable_connection (Components::CCMObject_ptr comp, const Deployment::Connection &connection, CORBA::Boolean add_connection) throw (CORBA::SystemException, Deployment::InvalidConnection)
virtual void handle_emitter_consumer_connection (Components::CCMObject_ptr comp, const Deployment::Connection &connection, CORBA::Boolean add_connection) throw (CORBA::SystemException, Deployment::InvalidConnection)
virtual void handle_publisher_consumer_connection (Components::CCMObject_ptr comp, const Deployment::Connection &connection, CORBA::Boolean add_connection) throw (CORBA::SystemException, Deployment::InvalidConnection)
virtual bool _is_es_consumer_conn (Deployment::Connection conn)
virtual bool _is_publisher_es_conn (Deployment::Connection conn)
virtual void handle_publisher_es_connection (Components::CCMObject_ptr comp, const Deployment::Connection &connection, CORBA::Boolean add_connection) throw (CORBA::SystemException, Deployment::InvalidConnection)
virtual void handle_es_consumer_connection (const Deployment::Connection &connection, CORBA::Boolean add_connection) throw (CORBA::SystemException, Deployment::InvalidConnection)
 Register the consumer to the CIAO event service.
virtual CORBA::Long create_all_containers (const ::Deployment::ContainerImplementationInfos &container_infos) throw (CORBA::SystemException)
 Create and initialize all the containers.
virtual ACE_CStringcreate_connection_key (const Deployment::Connection &connection)
 Create a "key" for the connection.

Protected Attributes

Component_Container_Map component_container_map_
CCMComponent_Map component_state_map_
Cookie_Map cookie_map_
TAO_SYNCH_MUTEX lock_
 Synchronize access to the object set.
Object_Set< Deployment::Container,
Deployment::Container_var > 
container_set_
 Keep a list of managed Container objects.
CORBA::ORB_var orb_
 Keep a pointer to the managing ORB serving this servant.
PortableServer::POA_var poa_
 Keep a pointer to the managing POA.
NodeApp_Configuratorconfigurator_
Deployment::Properties properties_
 Cached properties.
::CORBA::Object_var node_app_manager_
 And a reference to the NodeApplicationManager that created us.
::Deployment::NodeApplication_var objref_
 Cache the object reference (of ourselves).
EventService_Factory_impl es_factory_
 A factory to create CIAO event services.
ES_Installation_Map es_info_map_
const Static_Config_EntryPoints_Maps * static_entrypts_maps_

Private Member Functions

 NodeApplication_Impl (void)
 Default constructor, noop.

Classes

struct  _component_state_info

Member Typedef Documentation

typedef ACE_Hash_Map_Manager_Ex<ACE_CString, Component_State_Info, ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex> CIAO::NodeApplication_Impl::CCMComponent_Map [protected]

To store all created Component objects as well as their lifecycle states..

typedef Component_Container_Map::iterator CIAO::NodeApplication_Impl::Component_Container_Iterator [protected]

typedef ACE_Hash_Map_Manager_Ex<ACE_CString, Deployment::Container_var, ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex> CIAO::NodeApplication_Impl::Component_Container_Map [protected]

To build a map between a component instance and its container.

typedef CCMComponent_Map::iterator CIAO::NodeApplication_Impl::Component_Iterator [protected]

typedef struct CIAO::NodeApplication_Impl::_component_state_info CIAO::NodeApplication_Impl::Component_State_Info

typedef ACE_Hash_Map_Manager_Ex<ACE_CString, ::Components::Cookie_var, ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex> CIAO::NodeApplication_Impl::Cookie_Map [protected]

A Map which stores all the connection cookies.

typedef Cookie_Map::iterator CIAO::NodeApplication_Impl::Cookie_Map_Iterator [protected]

typedef ACE_Hash_Map_Manager_Ex<ACE_CString, ::Deployment::ESInstallationInfos_var, ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex> CIAO::NodeApplication_Impl::ES_Installation_Map [protected]

Cache the (NA specific) installation info of all the CIAO_Event_Services

typedef ES_Installation_Map::iterator CIAO::NodeApplication_Impl::ES_Installation_Map_Iterator [protected]


Member Enumeration Documentation

enum CIAO::NodeApplication_Impl::Component_State

Enumerator:
NEW_BORN 
PRE_ACTIVE 
ACTIVE 
POST_ACTIVE 
PASSIVE 
DEACTIVATED 


Constructor & Destructor Documentation

ACE_INLINE NodeApplication_Impl::NodeApplication_Impl ( CORBA::ORB_ptr  o,
PortableServer::POA_ptr  p,
NodeApp_Configurator c,
const Static_Config_EntryPoints_Maps *  static_entrypts_maps = 0 
)

NodeApplication_Impl::~NodeApplication_Impl ( void   )  [virtual]

Default destructor.

CIAO::NodeApplication_Impl::NodeApplication_Impl ( void   )  [private]

Default constructor, noop.


Member Function Documentation

ACE_INLINE PortableServer::POA_ptr NodeApplication_Impl::_default_POA ( void   )  [virtual]

Get the containing POA. This operation does *not* increase the reference count of the POA.

bool NodeApplication_Impl::_is_es_consumer_conn ( Deployment::Connection  conn  )  [protected, virtual]

bool NodeApplication_Impl::_is_publisher_es_conn ( Deployment::Connection  conn  )  [protected, virtual]

void NodeApplication_Impl::activate_component ( const char *  name  )  throw (::CORBA::SystemException, ::Deployment::StartError) [virtual]

void NodeApplication_Impl::build_event_connection ( const Deployment::Connection &  connection,
bool  add_or_remove 
) throw (Deployment::InvalidConnection, CORBA::SystemException)

Set up a connection using the CIAO_Event_Service, which is available as a field in the <Deployment::Connection> struct type. If <add_or_remove> input parameter is true, then we will add the event connection, otherwise we will remove the event connection.

void NodeApplication_Impl::ciao_passivate (  )  throw (CORBA::SystemException, Deployment::StopError) [virtual]

ciao_passivate

void NodeApplication_Impl::ciao_postactivate (  )  throw (CORBA::SystemException, Deployment::StartError) [virtual]

ciao_postactivate

void NodeApplication_Impl::ciao_preactivate (  )  throw (CORBA::SystemException, Deployment::StartError) [virtual]

ciao_preactivate

CORBA::Long NodeApplication_Impl::create_all_containers ( const ::Deployment::ContainerImplementationInfos &  container_infos  )  throw (CORBA::SystemException) [protected, virtual]

Create and initialize all the containers.

ACE_CString * NodeApplication_Impl::create_connection_key ( const Deployment::Connection &  connection  )  [protected, virtual]

Create a "key" for the connection.

Deployment::Container_ptr NodeApplication_Impl::create_container ( const ::Deployment::Properties &  properties  )  throw (CORBA::SystemException, ::Components::CreateFailure, ::Components::InvalidConfiguration)

Create a container interface, which will be hosted in this NodeApplication.

void NodeApplication_Impl::finishLaunch ( const Deployment::Connections &  connections,
CORBA::Boolean  start,
CORBA::Boolean  add_connection 
) throw (CORBA::SystemException, Deployment::StartError, Deployment::InvalidConnection) [virtual]

This operation dose 2 things. 1. Get the external connction (facet and Event source) and connect them to the local receptacle/event sink. 2. If the start augment is true, start the Components.

Note:
: The connection containes the object ref of the provided object reference (facet/event consumer) of components from other NodeApplications. However the name field stores the name of the port on the local component.

finishLaunch

void NodeApplication_Impl::finishLaunch_i ( const Deployment::Connections &  connections,
CORBA::Boolean  start,
CORBA::Boolean  add_connection 
) throw (CORBA::SystemException, Deployment::StartError, Deployment::InvalidConnection) [protected, virtual]

If <add_connection> is "false", then we shall "remove" the connections, otherwise we will add these connections.

Deployment::Containers * NodeApplication_Impl::get_containers (  )  throw (CORBA::SystemException)

Get all container object refs.

ACE_INLINE CORBA::Object_ptr NodeApplication_Impl::get_node_application_manager (  )  throw (CORBA::SystemException)

Get the object reference of the NodeApplicationManager. This might come in handy later.

ACE_INLINE::Deployment::NodeApplication_ptr NodeApplication_Impl::get_objref (  ) 

Return the cached object reference of this NodeApplication object. This operation does *NOT* increase the reference count.

void NodeApplication_Impl::handle_emitter_consumer_connection ( Components::CCMObject_ptr  comp,
const Deployment::Connection &  connection,
CORBA::Boolean  add_connection 
) throw (CORBA::SystemException, Deployment::InvalidConnection) [protected, virtual]

void NodeApplication_Impl::handle_es_consumer_connection ( const Deployment::Connection &  connection,
CORBA::Boolean  add_connection 
) throw (CORBA::SystemException, Deployment::InvalidConnection) [protected, virtual]

Register the consumer to the CIAO event service.

void NodeApplication_Impl::handle_facet_receptable_connection ( Components::CCMObject_ptr  comp,
const Deployment::Connection &  connection,
CORBA::Boolean  add_connection 
) throw (CORBA::SystemException, Deployment::InvalidConnection) [protected, virtual]

void NodeApplication_Impl::handle_publisher_consumer_connection ( Components::CCMObject_ptr  comp,
const Deployment::Connection &  connection,
CORBA::Boolean  add_connection 
) throw (CORBA::SystemException, Deployment::InvalidConnection) [protected, virtual]

void NodeApplication_Impl::handle_publisher_es_connection ( Components::CCMObject_ptr  comp,
const Deployment::Connection &  connection,
CORBA::Boolean  add_connection 
) throw (CORBA::SystemException, Deployment::InvalidConnection) [protected, virtual]

Register the publisher to the CIAO event service The only fields of <connection> struct used in this method are: <type>, <event_service>, <instanceName>, <portName>.

CORBA::Long NodeApplication_Impl::init (  )  throw (CORBA::SystemException) [virtual]

Initialize the NodeApplication.

Todo:
initialize this NodeApplication properties

Deployment::ComponentInfos * NodeApplication_Impl::install ( const ::Deployment::NodeImplementationInfo &  node_impl_info  )  throw (CORBA::SystemException, ::Deployment::UnknownImplId, ::Deployment::ImplEntryPointNotFound, ::Deployment::InstallationFailure, ::Components::InvalidConfiguration)

Start install homes and components.

Deployment::CIAO_Event_Services * NodeApplication_Impl::install_es ( const ::Deployment::ESInstallationInfos &  es_infos  )  throw (::CORBA::SystemException, ::Deployment::InstallationFailure)

Install a number of CIAO_Event_Service objects within the NA.

void NodeApplication_Impl::passivate_component ( const char *  name  )  throw (::CORBA::SystemException, ::Components::RemoveFailure) [virtual]

ACE_INLINE Deployment::Properties * NodeApplication_Impl::properties (  )  throw (CORBA::SystemException)

Access the readonly attribute.

void NodeApplication_Impl::remove (  )  throw (CORBA::SystemException) [virtual]

Remove everything inside including all components and homes.

void NodeApplication_Impl::remove_component ( const char *  inst_name  )  throw (::CORBA::SystemException, ::Components::RemoveFailure) [virtual]

Remove a component instance from the NodeApplication.

void NodeApplication_Impl::remove_container ( ::Deployment::Container_ptr  cref  )  throw (CORBA::SystemException, ::Components::RemoveFailure) [virtual]

Remove a container interface.

void NodeApplication_Impl::start (  )  throw (CORBA::SystemException, Deployment::StartError) [virtual]

start


Member Data Documentation

Component_Container_Map CIAO::NodeApplication_Impl::component_container_map_ [protected]

CCMComponent_Map CIAO::NodeApplication_Impl::component_state_map_ [protected]

NodeApp_Configurator& CIAO::NodeApplication_Impl::configurator_ [protected]

Object_Set<Deployment::Container, Deployment::Container_var> CIAO::NodeApplication_Impl::container_set_ [protected]

Keep a list of managed Container objects.

Cookie_Map CIAO::NodeApplication_Impl::cookie_map_ [protected]

EventService_Factory_impl CIAO::NodeApplication_Impl::es_factory_ [protected]

A factory to create CIAO event services.

ES_Installation_Map CIAO::NodeApplication_Impl::es_info_map_ [protected]

TAO_SYNCH_MUTEX CIAO::NodeApplication_Impl::lock_ [protected]

Synchronize access to the object set.

::CORBA::Object_var CIAO::NodeApplication_Impl::node_app_manager_ [protected]

And a reference to the NodeApplicationManager that created us.

::Deployment::NodeApplication_var CIAO::NodeApplication_Impl::objref_ [protected]

Cache the object reference (of ourselves).

CORBA::ORB_var CIAO::NodeApplication_Impl::orb_ [protected]

Keep a pointer to the managing ORB serving this servant.

PortableServer::POA_var CIAO::NodeApplication_Impl::poa_ [protected]

Keep a pointer to the managing POA.

Deployment::Properties CIAO::NodeApplication_Impl::properties_ [protected]

Cached properties.

const Static_Config_EntryPoints_Maps* CIAO::NodeApplication_Impl::static_entrypts_maps_ [protected]


The documentation for this class was generated from the following files:
Generated on Tue Nov 21 10:20:23 2006 for DAnCE by  doxygen 1.4.7-1