#include <NodeApplication_Impl.h>
Public Types | |
enum | Component_State { NEW_BORN, PRE_ACTIVE, ACTIVE, POST_ACTIVE, PASSIVE, DEACTIVATED } |
typedef struct CIAO::NodeApplication_Impl::_component_state_info | Component_State_Info |
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) |
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. : 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 () |
virtual void | ciao_preactivate () |
virtual void | ciao_postactivate () |
virtual void | ciao_passivate () |
virtual CORBA::Long | init () |
Initialize the NodeApplication. | |
virtual ::Deployment::ComponentInfos * | install (const ::Deployment::NodeImplementationInfo &node_impl_info) |
Start install homes and components. | |
virtual ::CIAO::CIAO_Event_Service * | install_es (const ::CIAO::DAnCE::EventServiceDeploymentDescription &es_info) |
Install a number of CIAO_Event_Service objects within the NA. | |
virtual ::CORBA::Object_ptr | get_node_application_manager () |
virtual ::Deployment::Properties * | properties () |
Access the readonly attribute. | |
virtual void | remove_component (const char *inst_name) |
Remove a component instance from the NodeApplication. | |
virtual void | activate_component (const char *name) |
virtual void | passivate_component (const char *name) |
virtual void | remove () |
Remove everything inside including all components and homes. | |
virtual ::Deployment::Container_ptr | create_container (const ::Deployment::Properties &properties) |
Create a container interface, which will be hosted in this NodeApplication. | |
virtual void | remove_container (::Deployment::Container_ptr cref) |
Remove a container interface. | |
virtual ::Deployment::Containers * | get_containers () |
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) |
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, DAnCE::EventServiceDeploymentDescriptions_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) |
virtual void | handle_facet_receptable_connection (Components::CCMObject_ptr comp, const Deployment::Connection &connection, CORBA::Boolean add_connection) |
virtual void | handle_emitter_consumer_connection (Components::CCMObject_ptr comp, const Deployment::Connection &connection, CORBA::Boolean add_connection) |
virtual void | handle_publisher_consumer_connection (Components::CCMObject_ptr comp, const Deployment::Connection &connection, CORBA::Boolean add_connection) |
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) |
virtual void | handle_es_consumer_connection (const Deployment::Connection &connection, CORBA::Boolean add_connection) |
Register the consumer to the CIAO event service. | |
virtual CORBA::Long | create_all_containers (const ::Deployment::ContainerImplementationInfos &container_infos) |
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 |
typedef struct CIAO::NodeApplication_Impl::_component_state_info CIAO::NodeApplication_Impl::Component_State_Info |
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 Component_Container_Map::iterator CIAO::NodeApplication_Impl::Component_Container_Iterator [protected] |
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 CCMComponent_Map::iterator CIAO::NodeApplication_Impl::Component_Iterator [protected] |
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, DAnCE::EventServiceDeploymentDescriptions_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] |
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.
void NodeApplication_Impl::finishLaunch | ( | const Deployment::Connections & | connections, | |
CORBA::Boolean | start, | |||
CORBA::Boolean | add_connection | |||
) | [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. : 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.
void NodeApplication_Impl::start | ( | ) | [virtual] |
void NodeApplication_Impl::ciao_preactivate | ( | ) | [virtual] |
void NodeApplication_Impl::ciao_postactivate | ( | ) | [virtual] |
void NodeApplication_Impl::ciao_passivate | ( | ) | [virtual] |
CORBA::Long NodeApplication_Impl::init | ( | ) | [virtual] |
Deployment::ComponentInfos * NodeApplication_Impl::install | ( | const ::Deployment::NodeImplementationInfo & | node_impl_info | ) |
Start install homes and components.
CIAO::CIAO_Event_Service * NodeApplication_Impl::install_es | ( | const ::CIAO::DAnCE::EventServiceDeploymentDescription & | es_info | ) |
Install a number of CIAO_Event_Service objects within the NA.
ACE_INLINE CORBA::Object_ptr NodeApplication_Impl::get_node_application_manager | ( | ) |
Get the object reference of the NodeApplicationManager. This might come in handy later.
ACE_INLINE Deployment::Properties * NodeApplication_Impl::properties | ( | ) |
Access the readonly attribute.
void NodeApplication_Impl::remove_component | ( | const char * | inst_name | ) | [virtual] |
Remove a component instance from the NodeApplication.
void NodeApplication_Impl::activate_component | ( | const char * | name | ) | [virtual] |
void NodeApplication_Impl::passivate_component | ( | const char * | name | ) | [virtual] |
void NodeApplication_Impl::remove | ( | ) | [virtual] |
Remove everything inside including all components and homes.
Deployment::Container_ptr NodeApplication_Impl::create_container | ( | const ::Deployment::Properties & | properties | ) |
Create a container interface, which will be hosted in this NodeApplication.
void NodeApplication_Impl::remove_container | ( | ::Deployment::Container_ptr | cref | ) | [virtual] |
Remove a container interface.
Deployment::Containers * NodeApplication_Impl::get_containers | ( | ) |
Get all container object refs.
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.
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::build_event_connection | ( | const Deployment::Connection & | connection, | |
bool | add_or_remove | |||
) |
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::finishLaunch_i | ( | const Deployment::Connections & | connections, | |
CORBA::Boolean | start, | |||
CORBA::Boolean | add_connection | |||
) | [protected, virtual] |
If <add_connection> is "false", then we shall "remove" the connections, otherwise we will add these connections.
void NodeApplication_Impl::handle_facet_receptable_connection | ( | Components::CCMObject_ptr | comp, | |
const Deployment::Connection & | connection, | |||
CORBA::Boolean | add_connection | |||
) | [protected, virtual] |
void NodeApplication_Impl::handle_emitter_consumer_connection | ( | Components::CCMObject_ptr | comp, | |
const Deployment::Connection & | connection, | |||
CORBA::Boolean | add_connection | |||
) | [protected, virtual] |
void NodeApplication_Impl::handle_publisher_consumer_connection | ( | Components::CCMObject_ptr | comp, | |
const Deployment::Connection & | connection, | |||
CORBA::Boolean | add_connection | |||
) | [protected, virtual] |
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::handle_publisher_es_connection | ( | Components::CCMObject_ptr | comp, | |
const Deployment::Connection & | connection, | |||
CORBA::Boolean | add_connection | |||
) | [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>.
void NodeApplication_Impl::handle_es_consumer_connection | ( | const Deployment::Connection & | connection, | |
CORBA::Boolean | add_connection | |||
) | [protected, virtual] |
Register the consumer to the CIAO event service.
CORBA::Long NodeApplication_Impl::create_all_containers | ( | const ::Deployment::ContainerImplementationInfos & | container_infos | ) | [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.
Cookie_Map CIAO::NodeApplication_Impl::cookie_map_ [protected] |
TAO_SYNCH_MUTEX CIAO::NodeApplication_Impl::lock_ [protected] |
Synchronize access to the object set.
Object_Set<Deployment::Container, Deployment::Container_var> CIAO::NodeApplication_Impl::container_set_ [protected] |
Keep a list of managed Container objects.
CORBA::ORB_var CIAO::NodeApplication_Impl::orb_ [protected] |
Keep a pointer to the managing ORB serving this servant.
Keep a pointer to the managing POA.
Cached properties.
And a reference to the NodeApplicationManager that created us.
::Deployment::NodeApplication_var CIAO::NodeApplication_Impl::objref_ [protected] |
Cache the object reference (of ourselves).
EventService_Factory_impl CIAO::NodeApplication_Impl::es_factory_ [protected] |
A factory to create CIAO event services.
const Static_Config_EntryPoints_Maps* CIAO::NodeApplication_Impl::static_entrypts_maps_ [protected] |