#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(). |