OpenRTM-aist  1.2.1
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
RTC::NamingManager Class Reference

NamingServer management class. More...

#include <NamingManager.h>

Collaboration diagram for RTC::NamingManager:
Collaboration graph
[legend]

Classes

struct  Comps
 Structure for component management. More...
 
struct  Mgr
 Structure for ManagerServant management. More...
 
struct  Port
 Structure for component management. More...
 

Public Member Functions

 NamingManager (Manager *manager)
 Constructor. More...
 
virtual ~NamingManager (void)
 Destructor. More...
 
void registerNameServer (const char *method, const char *name_server)
 Regster the NameServer. More...
 
void bindObject (const char *name, const PortBase *port)
 Bind the specified objects to NamingService. More...
 
void bindObject (const char *name, const RTObject_impl *rtobj)
 
void bindObject (const char *name, const RTM::ManagerServant *mgr)
 Bind the specified ManagerServants to NamingService. More...
 
void update ()
 Update information of NamingServer. More...
 
void unbindObject (const char *name)
 Unbind the specified objects from NamingService. More...
 
void unbindAll ()
 Unbind all objects from NamingService. More...
 
std::vector< RTObject_impl * > getObjects ()
 Get all bound objects. More...
 
std::vector< NamingService * > & getNameServices ()
 
RTCList string_to_component (std::string name)
 registerMgrName More...
 

Protected Member Functions

NamingBasecreateNamingObj (const char *method, const char *name_server)
 Create objects for NameServer management. More...
 
void bindCompsTo (NamingBase *ns)
 Register the configured component to NameServer. More...
 
void registerCompName (const char *name, const RTObject_impl *rtobj)
 Configure the components that will be registered to NameServer. More...
 
void registerPortName (const char *name, const PortBase *port)
 Configure the components that will be registered to NameServer. More...
 
void registerMgrName (const char *name, const RTM::ManagerServant *mgr)
 Configure the ManagerServants that will be registered to NameServer. More...
 
void unregisterCompName (const char *name)
 Unregister the components that will be registered to NameServer. More...
 
void unregisterPortName (const char *name)
 
void unregisterMgrName (const char *name)
 Unregister the ManagerServants that will be registered to NameServer. More...
 
void retryConnection (NamingService *ns)
 Rebind the component to NameServer. More...
 

Protected Attributes

std::vector< NamingService * > m_names
 NameServer list. More...
 
Mutex m_namesMutex
 Mutex of NameServer list. More...
 
std::vector< Comps * > m_compNames
 Component list. More...
 
Mutex m_compNamesMutex
 Mutex of Component list. More...
 
std::vector< Port * > m_portNames
 Component list. More...
 
Mutex m_portNamesMutex
 Mutex of Port list. More...
 
std::vector< Mgr * > m_mgrNames
 ManagerServant list. More...
 
Mutex m_mgrNamesMutex
 Mutex of ManagerServant list. More...
 
Managerm_manager
 Manager object. More...
 
Logger rtclog
 Logger stream. More...
 

Detailed Description

NamingServer management class.

NamingServer management class. Manage to register and unregister components to NamingService.

Since
0.4.0

Constructor & Destructor Documentation

RTC::NamingManager::NamingManager ( Manager manager)

Constructor.

Constructor

Parameters
managerManager object
virtual RTC::NamingManager::~NamingManager ( void  )
virtual

Destructor.

Member Function Documentation

void RTC::NamingManager::bindCompsTo ( NamingBase ns)
protected

Register the configured component to NameServer.

Register the already configured components to NameServer.

Parameters
nsThe target NameServer for the registration
void RTC::NamingManager::bindObject ( const char *  name,
const PortBase port 
)

Bind the specified objects to NamingService.

Bind the specified objects to CORBA NamingService by specified names.

Parameters
nameNames at the binding
rtobjThe target objects for the binding
void RTC::NamingManager::bindObject ( const char *  name,
const RTObject_impl rtobj 
)
void RTC::NamingManager::bindObject ( const char *  name,
const RTM::ManagerServant mgr 
)

Bind the specified ManagerServants to NamingService.

Bind the specified ManagerServants to CORBA NamingService by specified names.

Parameters
nameNames at the binding
mgrThe target ManagerServants for the binding
NamingBase* RTC::NamingManager::createNamingObj ( const char *  method,
const char *  name_server 
)
protected

Create objects for NameServer management.

Create objects of specified type for NameServer management.

Parameters
methodNamingService format
name_serverNameServer name
Returns
Created NameServer objects
std::vector<NamingService*>& RTC::NamingManager::getNameServices ( )
inline
std::vector<RTObject_impl*> RTC::NamingManager::getObjects ( )

Get all bound objects.

Get all bound objects.

Returns
Bound object list
void RTC::NamingManager::registerCompName ( const char *  name,
const RTObject_impl rtobj 
)
protected

Configure the components that will be registered to NameServer.

Configure the components that will be registered to NameServer.

Parameters
nameNames of components at the registration
rtobjThe target objects for registration
void RTC::NamingManager::registerMgrName ( const char *  name,
const RTM::ManagerServant mgr 
)
protected

Configure the ManagerServants that will be registered to NameServer.

Configure the ManagerServants that will be registered to NameServer.

Parameters
nameNames of ManagerServants at the registration
mgrThe target ManagerServants for registration
void RTC::NamingManager::registerNameServer ( const char *  method,
const char *  name_server 
)

Regster the NameServer.

Register NameServer by specified format. Currently. only CORBA can be specified.

Parameters
methodFormat of NamingService
name_serverName of NameServer for registration
void RTC::NamingManager::registerPortName ( const char *  name,
const PortBase port 
)
protected

Configure the components that will be registered to NameServer.

Configure the components that will be registered to NameServer.

Parameters
nameNames of components at the registration
rtobjThe target objects for registration
void RTC::NamingManager::retryConnection ( NamingService ns)
protected

Rebind the component to NameServer.

Connect with the NameServer and rebind the component.

Parameters
nsNameServer
RTCList RTC::NamingManager::string_to_component ( std::string  name)

registerMgrName

Parameters
name
Returns
void RTC::NamingManager::unbindAll ( )

Unbind all objects from NamingService.

Unbind all objects from CORBA NamingService.

void RTC::NamingManager::unbindObject ( const char *  name)

Unbind the specified objects from NamingService.

Unbind the specified objects from NamingService.

Parameters
nameThe target objects for the unbinding
void RTC::NamingManager::unregisterCompName ( const char *  name)
protected

Unregister the components that will be registered to NameServer.

Unregister the components that will be registered to NameServer.

Parameters
nameNames of the target components for unregistration
void RTC::NamingManager::unregisterMgrName ( const char *  name)
protected

Unregister the ManagerServants that will be registered to NameServer.

Unregister the ManagerServants that will be registered to NameServer.

Parameters
nameNames of the target ManagerServants for unregistration
void RTC::NamingManager::unregisterPortName ( const char *  name)
protected
void RTC::NamingManager::update ( )

Update information of NamingServer.

Update the object information registered in the specified NameServer.

Member Data Documentation

std::vector<Comps*> RTC::NamingManager::m_compNames
protected

Component list.

Mutex RTC::NamingManager::m_compNamesMutex
protected

Mutex of Component list.

Manager* RTC::NamingManager::m_manager
protected

Manager object.

std::vector<Mgr*> RTC::NamingManager::m_mgrNames
protected

ManagerServant list.

Mutex RTC::NamingManager::m_mgrNamesMutex
protected

Mutex of ManagerServant list.

std::vector<NamingService*> RTC::NamingManager::m_names
protected

NameServer list.

Mutex RTC::NamingManager::m_namesMutex
protected

Mutex of NameServer list.

std::vector<Port*> RTC::NamingManager::m_portNames
protected

Component list.

Mutex RTC::NamingManager::m_portNamesMutex
protected

Mutex of Port list.

Logger RTC::NamingManager::rtclog
protected

Logger stream.


The documentation for this class was generated from the following file: