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

NamingServer management class. More...

#include <NamingManager.h>

Classes

struct  Comps
 Structure for component management. More...
 
struct  Mgr
 Structure for ManagerServant management. More...
 
class  Names
 Structure for NameServer 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 RTObject_impl *rtobj)
 Bind the specified objects to NamingService. More...
 
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...
 

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 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 unregisterMgrName (const char *name)
 Unregister the ManagerServants that will be registered to NameServer. More...
 
void retryConnection (Names *ns)
 

Protected Attributes

std::vector< Names * > 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< 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

◆ NamingManager()

RTC::NamingManager::NamingManager ( Manager manager)

Constructor.

Constructor

Parameters
managerManager object

◆ ~NamingManager()

virtual RTC::NamingManager::~NamingManager ( void  )
virtual

Destructor.

Member Function Documentation

◆ bindCompsTo()

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

◆ bindObject() [1/2]

void RTC::NamingManager::bindObject ( const char *  name,
const RTObject_impl rtobj 
)

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

◆ bindObject() [2/2]

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

◆ createNamingObj()

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

◆ getObjects()

std::vector<RTObject_impl*> RTC::NamingManager::getObjects ( )

Get all bound objects.

Get all bound objects.

Returns
Bound object list

◆ registerCompName()

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

◆ registerMgrName()

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

◆ registerNameServer()

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

◆ retryConnection()

void RTC::NamingManager::retryConnection ( Names ns)
protected

◆ unbindAll()

void RTC::NamingManager::unbindAll ( )

Unbind all objects from NamingService.

Unbind all objects from CORBA NamingService.

◆ unbindObject()

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

◆ unregisterCompName()

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

◆ unregisterMgrName()

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

◆ update()

void RTC::NamingManager::update ( )

Update information of NamingServer.

Update the object information registered in the specified NameServer.

Member Data Documentation

◆ m_compNames

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

Component list.

◆ m_compNamesMutex

Mutex RTC::NamingManager::m_compNamesMutex
protected

Mutex of Component list.

◆ m_manager

Manager* RTC::NamingManager::m_manager
protected

Manager object.

◆ m_mgrNames

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

ManagerServant list.

◆ m_mgrNamesMutex

Mutex RTC::NamingManager::m_mgrNamesMutex
protected

Mutex of ManagerServant list.

◆ m_names

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

NameServer list.

◆ m_namesMutex

Mutex RTC::NamingManager::m_namesMutex
protected

Mutex of NameServer list.

◆ rtclog

Logger RTC::NamingManager::rtclog
protected

Logger stream.