#include <ColCOWS_NodeServant.hh>
Collaboration diagram for ColCOWS::NodeServant:

The NodeServant is the implementation of the NodeInterface defined in the IDL. This class is in charge of the operations between the nodes of a workspace as well as the operations between workspaces.
Definition at line 67 of file ColCOWS_NodeServant.hh.
Public Member Functions | |
| NodeServant () | |
| constructor | |
| virtual | ~NodeServant () |
| destructor | |
| virtual void | printself (std::ostream &stream) const |
| print self | |
| void | lockChildrenMutex () |
| lock children mutex | |
| void | unlockChildrenMutex () |
| unlock children mutex | |
| void | lockActivationMutex () |
| lock activation mutex | |
| void | unlockActivationMutex () |
| unlock activation mutex | |
| virtual void | setWorkspace (const IdlWorkspaceDesc &ws_desc) |
| set the workspace description [public] | |
| virtual void | setChildNode (const IdlNodeDesc &node_desc) throw (CorbaException) |
| set a node description | |
| virtual CORBA::Boolean | isActivated () throw (CorbaException) |
| test if the collective node is activated | |
| virtual CORBA::Boolean | isReady () throw (CorbaException) |
| test if the workspace is ready to receive connections [public] | |
| virtual CORBA::Boolean | isConnected (CORBA::ULong num_connection) throw (CorbaException) |
| test if the connection exists | |
| virtual CORBA::ULong | getNumConnection (const char *ws_id, const char *ws_kind) throw (CorbaException) |
| test if the collective node id is connected | |
| virtual void | getCommonNumConnection (CORBA::ULong &num_connection_proposal) throw (CorbaException) |
| get a unige connection number | |
| virtual void | getNode (CORBA::ULong num_node, IdlNodeDesc_out node_desc) throw (CorbaException) |
| get a node description | |
| virtual void | getWorkspace (IdlWorkspaceDesc_out ws_desc) throw (CorbaException) |
| get the workspace description [public] | |
| virtual void | getRemoteWorkspace (CORBA::ULong num_connection, IdlWorkspaceDesc_out ws_desc) throw (CorbaException) |
| get the remote workspace description [public] | |
| virtual void | setRemoteWorkspace (CORBA::ULong num_connection, const IdlWorkspaceDesc &ws_desc, CORBA::Boolean connection_initiator) |
| set the remote workspace description [public] | |
| virtual void | releaseRemoteWorkspace (CORBA::ULong num_connection) |
| set the remote workspace description [public] | |
Static Public Member Functions | |
| static NodeServant * | New (const char *ws_id, const char *ws_kind, const char *node_kind, unsigned long num_node, unsigned long max_descendant, unsigned long nb_nodes, unsigned long num_father, CORBA::ORB_ptr orbp) |
Protected Member Functions | |
| void | activate () |
| activate this node | |
| void | deactivate () |
| deactivate this node | |
| unsigned long | connect (const std::string &ws_id, const std::string &ws_kind, const std::string &nameservice_str) |
| connect a remote workspace identified with an ID and a Kind on another NameService | |
| void | disconnect (unsigned long num_connection) |
| disconnect a remote workspace | |
| void | disconnectAll () |
| disconnect a remote workspace | |
| bool | registerToFather (unsigned long max_retry=0) |
| register this node to his father | |
Protected Attributes | |
| IdlNodeDesc_var | _my_node |
| Description of this Workspace Node. | |
| IdlNodeDesc_var | _father_node |
| Description of the father Workspace Node. | |
| IdlNodeDescSeq_var | _children_nodes |
| IdlWorkspaceDesc_var | _local_workspace |
| Description of the local Workspace. | |
| IdlWorkspaceDescSeq_var | _remote_workspaces |
| Description of the connected Workspaces. | |
| CORBA::ORB_ptr | _orbp |
| Pointer on the ORB. | |
| CosNaming::NamingContext_var | _naming_ctxt |
| PortableServer::POA_var | _root_poa |
| POA. | |
| PortableServer::POA_var | _colcows_poa |
| POA. | |
| PortableServer::POAManager_var | _colcows_pman |
| POA manager. | |
| bool | _ready |
| ready to receive connections | |
| bool | _auto_activation |
| need auto-activation | |
| bool | _registred_to_father |
| is registred to father | |
| unsigned long | _current_num_connection |
| next number of connection | |
| pthread_mutex_t | _children_mut |
| access to children desc mutex | |
| pthread_mutex_t | _activation_mut |
| activation mutex | |
| pthread_cond_t | _activation_cond |
| activation condition variable | |
| Node * | _colcows_node |
| associated Node | |
Private Member Functions | |
| long | indexConnection (CORBA::ULong num_connection) |
| get the storage index of the connection | |
Friends | |
| class | Node |
| std::ostream & | operator<< (std::ostream &stream, const NodeServant &_this) |
| standard output stream operator | |
|
|
test if the workspace is ready to receive connections [public]
Definition at line 787 of file ColCOWS_NodeServant.cc. References _local_workspace. Referenced by connect(). |
|
|
Descriptions of the children Workspace Nodes
Definition at line 197 of file ColCOWS_NodeServant.hh. Referenced by activate(), deactivate(), NodeServant(), releaseRemoteWorkspace(), setChildNode(), setRemoteWorkspace(), and setWorkspace(). |
1.4.1