- Main Page
- Namespaces
- Classes
- Files
- Related Pages

- Search for |

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# CIAO::NodeApplication_Impl Class Reference

`#include <NodeApplication_Impl.h>`

Inheritance diagram for CIAO::NodeApplication_Impl:

[legend]
Collaboration diagram for CIAO::NodeApplication_Impl:

[legend]
List of all members.

## Public Types
typedef CIAO::NodeApplication_Impl::_component_state_info | Component_State_Info
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 | 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 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_CString * | create_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_Configurator & | configurator_
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.

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.

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:

- NodeApplication_Impl.h
- NodeApplication_Impl.cpp
- NodeApplication_Impl.inl