OpenRTM-aist 2.1.0
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
RTC::Manager Class Reference

Manager class. More...

#include <Manager.h>

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

Classes

struct  ECFactoryPredicate
 
class  FactoryPredicate
 
struct  Finalized
 
struct  InstanceName
 
struct  ModuleFactories
 
class  ModulePredicate
 

Public Types

using TaskId = coil::Timer< coil::PeriodicFunction >::TaskId
 

Public Member Functions

void join ()
 Wait for Manager's termination.
 
LogStreamBufgetLogStreamBuf ()
 Get the log buffer.
 
std::string & getLogLevel ()
 Get the log level of the configuration.
 
coil::Properties & getConfig ()
 Get the manager configuration.
 
void setModuleInitProc (ModuleInitProc proc)
 Set initial procedure.
 
bool activateManager ()
 Activate the Manager.
 
void runManager (bool no_block=false)
 Run the Manager.
 
TaskId addTask (std::function< void(void)> fn, std::chrono::nanoseconds period)
 Add a task to the Manager timer.
 
void invoke (std::function< void(void)> fn, std::chrono::nanoseconds delay=std::chrono::seconds::zero())
 Run a function on the Manager main thread.
 
ReturnCode_t load (const std::string &fname, const std::string &initfunc)
 [CORBA interface] Load module
 
ReturnCode_t load (coil::Properties &prop, const std::string &initfunc)
 [CORBA interface] Load module
 
void unload (const char *fname)
 Unload module.
 
void unloadAll ()
 Unload all modules.
 
std::vector< coil::Properties > getLoadedModules ()
 Get a list of loaded modules.
 
std::vector< coil::Properties > getLoadableModules ()
 Get a list of loadable modules.
 
bool registerFactory (coil::Properties &profile, RtcNewFunc new_func, RtcDeleteFunc delete_func)
 Register RT-Component Factory.
 
std::vector< coil::Properties > getFactoryProfiles ()
 Get profiles of factories.
 
bool registerECFactory (const char *name, ECNewFunc new_func, ECDeleteFunc delete_func)
 Register ExecutionContext Factory.
 
std::vector< std::string > getModulesFactories ()
 Get the list of all Factories.
 
RTObject_implcreateComponent (const char *comp_args)
 Create RT-Components.
 
ExecutionContextBasecreateContext (const char *ec_args)
 Create Context.
 
void cleanupComponent (RTObject_impl *comp)
 Unregister RT-Components.
 
void cleanupComponents ()
 This method deletes RT-Components.
 
void notifyFinalized (RTObject_impl *comp)
 This method deletes RT-Components.
 
bool registerComponent (RTObject_impl *comp)
 Register RT-Component directly without Factory.
 
bool unregisterComponent (RTObject_impl *comp)
 Unregister RT-Components.
 
void deleteComponent (RTObject_impl *comp)
 Unregister RT-Components that have been registered to Manager.
 
void deleteComponent (const char *instance_name)
 Unregister RT-Components that have been registered to Manager.
 
RTObject_implgetComponent (const char *instance_name)
 Get RT-Component's pointer.
 
std::vector< RTObject_impl * > getComponents ()
 Get all RT-Components registered in the Manager.
 
void addManagerActionListener (RTM::ManagerActionListener *listener, bool autoclean=true)
 
void removeManagerActionListener (RTM::ManagerActionListener *listener)
 
void addModuleActionListener (RTM::ModuleActionListener *listener, bool autoclean=true)
 
void removeModuleActionListener (RTM::ModuleActionListener *listener)
 
void addRtcLifecycleActionListener (RTM::RtcLifecycleActionListener *listener, bool autoclean=true)
 
void removeRtcLifecycleActionListener (RTM::RtcLifecycleActionListener *listener)
 
void addNamingActionListener (RTM::NamingActionListener *listener, bool autoclean=true)
 
void removeNamingActionListener (RTM::NamingActionListener *listener)
 
void addLocalServiceActionListener (RTM::LocalServiceActionListener *listener, bool autoclean=true)
 
void removeLocalServiceActionListener (RTM::LocalServiceActionListener *listener)
 
CORBA::ORB_ptr theORB ()
 Get the pointer to ORB (ownership retained)
 
CORBA::ORB_ptr getORB ()
 Get the pointer to ORB (ownership duplicated)
 
PortableServer::POA_ptr thePOA ()
 Get a pointer to RootPOA held by Manager.
 
PortableServer::POA_ptr getPOA ()
 Get a pointer to RootPOA held by Manager.
 
PortableServer::POAManager_ptr thePOAManager ()
 Get POAManager that Manager has (ownership retained)
 
PortableServer::POAManager_ptr getPOAManager ()
 Get POAManager that Manager has (ownership duplicated)
 
RTM::ManagerServantgetManagerServant ()
 Getting ManagerServant.
 
bool initLocalService ()
 LocalService initialization.
 
NamingManagergetNaming ()
 Getting NamingManager.
 

Static Public Member Functions

static Managerinit (int argc, char **argv)
 Initialize manager.
 
static Managerinstance ()
 Get instance of the manager.
 
static void terminate ()
 Terminate manager.
 
static void removeTask (TaskId id)
 Remove the task from the Manager timer.
 

Protected Types

using ComponentManager = ObjectManager< std::string, RTObject_impl, InstanceName >
 
using FactoryManager = ObjectManager< const coil::Properties, FactoryBase, FactoryPredicate >
 ComponentFactory .
 
using ECFactoryManager = ObjectManager< const char *, ECFactoryBase, ECFactoryPredicate >
 

Protected Member Functions

 Manager ()
 Protected Constructor.
 
 Manager (const Manager &)=delete
 
Manageroperator= (const Manager &)=delete
 
void initManager (int argc, char **argv)
 Manager internal initialization.
 
void shutdown ()
 Shutdown Manager.
 
void mainThread ()
 The main function of Manager main thread. .
 
void initLogstreamFile ()
 
void initLogstreamPlugins ()
 
void initLogstreamOthers ()
 
bool initLogger ()
 System logger initialization.
 
void shutdownLogger ()
 System Logger finalization.
 
void shutdownManagerServant ()
 Manager Servant finalization.
 
bool initORB ()
 CORBA ORB initialization.
 
std::string createORBOptions ()
 Create ORB command options.
 
void createORBEndpoints (coil::vstring &endpoints)
 Create Endpoints.
 
void createORBEndpointOption (std::string &opt, coil::vstring endpoints)
 Create a command optional line of Endpoint of ORB.
 
void shutdownORB ()
 ORB finalization.
 
bool initNaming ()
 NamingManager initialization.
 
void shutdownNaming ()
 NamingManager finalization.
 
NamingManagergetNamingManager ()
 Getting NamingManager.
 
void shutdownComponents ()
 NamingManager finalization.
 
bool procComponentArgs (const char *comp_arg, coil::Properties &comp_id, coil::Properties &comp_conf)
 Extracting component type/properties from the given string.
 
bool procContextArgs (const char *ec_args, std::string &ec_id, coil::Properties &ec_conf)
 Extracting ExecutionContext's name/properties from the given string.
 
void configureComponent (RTObject_impl *comp, const coil::Properties &prop)
 Configure RT-Component.
 
bool initExecContext ()
 ExecutionContextManager initialization.
 
bool initComposite ()
 PeriodicECSharedComposite initialization.
 
bool initFactories ()
 Factories initialization.
 
void initCpuAffinity ()
 
void initPreConnection ()
 
void initPreActivation ()
 
void initPreCreation ()
 
void invokeInitProc ()
 
void publishPorts (RTObject_impl *comp)
 
void subscribePorts (RTObject_impl *comp)
 
PortServiceList * getPortsOnNameServers (const std::string &nsname, const std::string &kind)
 
void connectDataPorts (PortService_ptr port, PortServiceList_var &target_ports)
 
void connectServicePorts (PortService_ptr port, PortServiceList_var &target_ports)
 
bool initManagerServant ()
 ManagerServant initialization.
 
bool mergeProperty (coil::Properties &prop, const char *file_name)
 Merge property information.
 
std::string formatString (const char *naming_format, coil::Properties &prop)
 Construct registration information when registering to Naming server.
 
void setEndpointProperty (CORBA::Object_ptr objref)
 Setting endpoint info from corba.endpoints .
 
void endpointPropertySwitch (const std::string &ipver, bool &ip, std::vector< int > &ip_list)
 Getting option info from corba.endpoint_property .
 

Static Protected Member Functions

static bool isORBEndPoint (const std::string &endpoint)
 

Protected Attributes

RTM::ManagerServantm_mgrservant {nullptr}
 The pointer to the ManagerServant .
 
CORBA::ORB_var m_pORB
 The pointer to the ORB .
 
PortableServer::POA_var m_pPOA
 The pointer to the POA .
 
PortableServer::POAManager_var m_pPOAManager
 The pointer to the POAManager .
 
coil::Argv m_argv
 The argument of ORB_init .
 
int m_argvSize
 The argument of ORB_init .
 
ModuleInitProc m_initProc {nullptr}
 User's initialization function's pointer .
 
coil::Properties m_config
 Managaer's configuration Properties .
 
ModuleManagerm_module {nullptr}
 The pointer to the ModuleManager .
 
NamingManagerm_namingManager {nullptr}
 The pointer to the NamingManager .
 
coil::Timer< coil::DelayedFunction > m_invoker
 Timer Object for delay call on the Manager thread .
 
coil::Timer< coil::PeriodicFunction > m_scheduler
 Timer Object for delay call on the Manager thread .
 
std::thread m_threadOrb
 ORB thread. .
 
std::thread m_threadMain
 Manager main thread. .
 
std::list< coil::SignalAction > m_signals
 An array for signals management .
 
bool m_needsTimer {false}
 A flag that Manager use Timer or not. .
 
LogStreamBuf m_logStreamBuf
 Logger buffer .
 
Logger rtclog {&m_logStreamBuf}
 Logger stream .
 
std::vector< std::filebuf * > m_logfiles
 Files for log output .
 
ComponentManager m_compManager
 ComponentManager .
 
FactoryManager m_factory
 ComponentManager .
 
ECFactoryManager m_ecfactory
 ExecutionContext Manager .
 
std::vector< ExecutionContextBase * > m_ecs
 ExecutionContext list .
 
Finalized m_finalized
 
::RTM::ManagerActionListeners m_listeners
 

Static Protected Attributes

static Managermanager
 The pointer to the Manager .
 
static std::mutex mutex
 The mutex of the pointer to the Manager .
 
static std::atomic_flag m_isRunning
 A flag to stop the main thread. .
 

Detailed Description

Manager class.

This is a manager class that manages various information such as components.

Since
0.2.0

Member Typedef Documentation

◆ ComponentManager

◆ ECFactoryManager

◆ FactoryManager

using RTC::Manager::FactoryManager = ObjectManager<const coil::Properties, FactoryBase, FactoryPredicate>
protected

ComponentFactory .

◆ TaskId

using RTC::Manager::TaskId = coil::Timer<coil::PeriodicFunction>::TaskId

Constructor & Destructor Documentation

◆ Manager() [1/2]

RTC::Manager::Manager ( )
protected

Protected Constructor.

◆ Manager() [2/2]

RTC::Manager::Manager ( const Manager )
protecteddelete

Member Function Documentation

◆ activateManager()

bool RTC::Manager::activateManager ( )

Activate the Manager.

This operation do the following:

  • Activate CORBA POAManager
  • Activate Manager CORBA object
  • Bind object reference of the Manager to the nameserver

This operation should be invoked after Manager:init(), and before runManager().

Returns
Activation result (Successful:true, Failed:false)

◆ addLocalServiceActionListener()

void RTC::Manager::addLocalServiceActionListener ( RTM::LocalServiceActionListener listener,
bool  autoclean = true 
)

◆ addManagerActionListener()

void RTC::Manager::addManagerActionListener ( RTM::ManagerActionListener listener,
bool  autoclean = true 
)

◆ addModuleActionListener()

void RTC::Manager::addModuleActionListener ( RTM::ModuleActionListener listener,
bool  autoclean = true 
)

◆ addNamingActionListener()

void RTC::Manager::addNamingActionListener ( RTM::NamingActionListener listener,
bool  autoclean = true 
)

◆ addRtcLifecycleActionListener()

void RTC::Manager::addRtcLifecycleActionListener ( RTM::RtcLifecycleActionListener listener,
bool  autoclean = true 
)

◆ addTask()

TaskId RTC::Manager::addTask ( std::function< void(void)>  fn,
std::chrono::nanoseconds  period 
)

Add a task to the Manager timer.

This operation add a function or functional object to Manger's timer. It run until removeTask(). DO NOT block (Ex. sleep) in the registerd function.

Parameters
fnThe Function run periodically.
periodPeriod of fn execution.
Returns
id: ID for removetask().

◆ cleanupComponent()

void RTC::Manager::cleanupComponent ( RTObject_impl comp)

Unregister RT-Components.

◆ cleanupComponents()

void RTC::Manager::cleanupComponents ( )

This method deletes RT-Components.

◆ configureComponent()

void RTC::Manager::configureComponent ( RTObject_impl comp,
const coil::Properties &  prop 
)
protected

Configure RT-Component.

◆ connectDataPorts()

void RTC::Manager::connectDataPorts ( PortService_ptr  port,
PortServiceList_var &  target_ports 
)
protected

◆ connectServicePorts()

void RTC::Manager::connectServicePorts ( PortService_ptr  port,
PortServiceList_var &  target_ports 
)
protected

◆ createComponent()

RTObject_impl * RTC::Manager::createComponent ( const char *  comp_args)

Create RT-Components.

◆ createContext()

ExecutionContextBase * RTC::Manager::createContext ( const char *  ec_args)

Create Context.

◆ createORBEndpointOption()

void RTC::Manager::createORBEndpointOption ( std::string &  opt,
coil::vstring  endpoints 
)
protected

Create a command optional line of Endpoint of ORB.

◆ createORBEndpoints()

void RTC::Manager::createORBEndpoints ( coil::vstring &  endpoints)
protected

Create Endpoints.

◆ createORBOptions()

std::string RTC::Manager::createORBOptions ( )
protected

Create ORB command options.

◆ deleteComponent() [1/2]

void RTC::Manager::deleteComponent ( const char *  instance_name)

Unregister RT-Components that have been registered to Manager.

◆ deleteComponent() [2/2]

void RTC::Manager::deleteComponent ( RTObject_impl comp)

Unregister RT-Components that have been registered to Manager.

◆ endpointPropertySwitch()

void RTC::Manager::endpointPropertySwitch ( const std::string &  ipver,
bool &  ip,
std::vector< int > &  ip_list 
)
protected

Getting option info from corba.endpoint_property .

◆ formatString()

std::string RTC::Manager::formatString ( const char *  naming_format,
coil::Properties &  prop 
)
protected

Construct registration information when registering to Naming server.

◆ getComponent()

RTObject_impl * RTC::Manager::getComponent ( const char *  instance_name)

Get RT-Component's pointer.

◆ getComponents()

std::vector< RTObject_impl * > RTC::Manager::getComponents ( )

Get all RT-Components registered in the Manager.

◆ getConfig()

coil::Properties & RTC::Manager::getConfig ( )
inline

Get the manager configuration.

References m_config.

◆ getFactoryProfiles()

std::vector< coil::Properties > RTC::Manager::getFactoryProfiles ( )

Get profiles of factories.

◆ getLoadableModules()

std::vector< coil::Properties > RTC::Manager::getLoadableModules ( )

Get a list of loadable modules.

◆ getLoadedModules()

std::vector< coil::Properties > RTC::Manager::getLoadedModules ( )

Get a list of loaded modules.

◆ getLogLevel()

std::string & RTC::Manager::getLogLevel ( )
inline

Get the log level of the configuration.

References m_config.

◆ getLogStreamBuf()

LogStreamBuf & RTC::Manager::getLogStreamBuf ( )
inline

Get the log buffer.

References m_logStreamBuf.

◆ getManagerServant()

RTM::ManagerServant & RTC::Manager::getManagerServant ( )

Getting ManagerServant.

◆ getModulesFactories()

std::vector< std::string > RTC::Manager::getModulesFactories ( )

Get the list of all Factories.

◆ getNaming()

NamingManager * RTC::Manager::getNaming ( )

Getting NamingManager.

Returns
NamingManager

◆ getNamingManager()

NamingManager & RTC::Manager::getNamingManager ( )
protected

Getting NamingManager.

◆ getORB()

CORBA::ORB_ptr RTC::Manager::getORB ( )

Get the pointer to ORB (ownership duplicated)

Referenced by CORBA_SeqUtil::refToVstring().

◆ getPOA()

PortableServer::POA_ptr RTC::Manager::getPOA ( )

Get a pointer to RootPOA held by Manager.

◆ getPOAManager()

PortableServer::POAManager_ptr RTC::Manager::getPOAManager ( )

Get POAManager that Manager has (ownership duplicated)

◆ getPortsOnNameServers()

PortServiceList * RTC::Manager::getPortsOnNameServers ( const std::string &  nsname,
const std::string &  kind 
)
protected

◆ init()

static Manager * RTC::Manager::init ( int  argc,
char **  argv 
)
static

Initialize manager.

◆ initComposite()

bool RTC::Manager::initComposite ( )
protected

PeriodicECSharedComposite initialization.

◆ initCpuAffinity()

void RTC::Manager::initCpuAffinity ( )
protected

◆ initExecContext()

bool RTC::Manager::initExecContext ( )
protected

ExecutionContextManager initialization.

◆ initFactories()

bool RTC::Manager::initFactories ( )
protected

Factories initialization.

◆ initLocalService()

bool RTC::Manager::initLocalService ( )

LocalService initialization.

◆ initLogger()

bool RTC::Manager::initLogger ( )
protected

System logger initialization.

◆ initLogstreamFile()

void RTC::Manager::initLogstreamFile ( )
protected

◆ initLogstreamOthers()

void RTC::Manager::initLogstreamOthers ( )
protected

◆ initLogstreamPlugins()

void RTC::Manager::initLogstreamPlugins ( )
protected

◆ initManager()

void RTC::Manager::initManager ( int  argc,
char **  argv 
)
protected

Manager internal initialization.

◆ initManagerServant()

bool RTC::Manager::initManagerServant ( )
protected

ManagerServant initialization.

◆ initNaming()

bool RTC::Manager::initNaming ( )
protected

NamingManager initialization.

◆ initORB()

bool RTC::Manager::initORB ( )
protected

CORBA ORB initialization.

◆ initPreActivation()

void RTC::Manager::initPreActivation ( )
protected

◆ initPreConnection()

void RTC::Manager::initPreConnection ( )
protected

◆ initPreCreation()

void RTC::Manager::initPreCreation ( )
protected

◆ instance()

static Manager & RTC::Manager::instance ( )
static

Get instance of the manager.

This is the static member function to get the instance of the Manager. Before calling this function, ensure that the initialization function "init()" is called.

Returns
The only instance reference of the manager

Referenced by CORBA_SeqUtil::refToVstring().

◆ invoke()

void RTC::Manager::invoke ( std::function< void(void)>  fn,
std::chrono::nanoseconds  delay = std::chrono::seconds::zero() 
)

Run a function on the Manager main thread.

The specified function run on the Manager main thread. DO NOT block the thread in the function.

Parameters
fnThe Function run on the Manager main thread.
delayThe delay time for the function execution.

◆ invokeInitProc()

void RTC::Manager::invokeInitProc ( )
protected

◆ isORBEndPoint()

static bool RTC::Manager::isORBEndPoint ( const std::string &  endpoint)
staticprotected

◆ join()

void RTC::Manager::join ( )

Wait for Manager's termination.

◆ load() [1/2]

ReturnCode_t RTC::Manager::load ( coil::Properties &  prop,
const std::string &  initfunc 
)

[CORBA interface] Load module

Load specified module (shared library, DLL etc..), and invoke initialize function.

Parameters
propmodule_file_name: module file name module_file_path: module file path language: programming language
initfuncThe initialize function name
Returns
Return code RTC::RTC_OK Normal return RTC::RTC_ERROR Load failed, or unknown error RTC::PRECONDITION_NOT_MET Not allowed operation by conf RTC::BAD_PARAMETER Invalid parameter

◆ load() [2/2]

ReturnCode_t RTC::Manager::load ( const std::string &  fname,
const std::string &  initfunc 
)

[CORBA interface] Load module

Load specified module (shared library, DLL etc..), and invoke initialize function.

Parameters
fnameThe module file name
initfuncThe initialize function name
Returns
Return code RTC::RTC_OK Normal return RTC::RTC_ERROR Load failed, or unknown error RTC::PRECONDITION_NOT_MET Not allowed operation by conf RTC::BAD_PARAMETER Invalid parameter

◆ mainThread()

void RTC::Manager::mainThread ( )
protected

The main function of Manager main thread. .

◆ mergeProperty()

bool RTC::Manager::mergeProperty ( coil::Properties &  prop,
const char *  file_name 
)
protected

Merge property information.

◆ notifyFinalized()

void RTC::Manager::notifyFinalized ( RTObject_impl comp)

This method deletes RT-Components.

◆ operator=()

Manager & RTC::Manager::operator= ( const Manager )
protecteddelete

◆ procComponentArgs()

bool RTC::Manager::procComponentArgs ( const char *  comp_arg,
coil::Properties &  comp_id,
coil::Properties &  comp_conf 
)
protected

Extracting component type/properties from the given string.

◆ procContextArgs()

bool RTC::Manager::procContextArgs ( const char *  ec_args,
std::string &  ec_id,
coil::Properties &  ec_conf 
)
protected

Extracting ExecutionContext's name/properties from the given string.

◆ publishPorts()

void RTC::Manager::publishPorts ( RTObject_impl comp)
protected

◆ registerComponent()

bool RTC::Manager::registerComponent ( RTObject_impl comp)

Register RT-Component directly without Factory.

◆ registerECFactory()

bool RTC::Manager::registerECFactory ( const char *  name,
ECNewFunc  new_func,
ECDeleteFunc  delete_func 
)

Register ExecutionContext Factory.

◆ registerFactory()

bool RTC::Manager::registerFactory ( coil::Properties &  profile,
RtcNewFunc  new_func,
RtcDeleteFunc  delete_func 
)

Register RT-Component Factory.

◆ removeLocalServiceActionListener()

void RTC::Manager::removeLocalServiceActionListener ( RTM::LocalServiceActionListener listener)

◆ removeManagerActionListener()

void RTC::Manager::removeManagerActionListener ( RTM::ManagerActionListener listener)

◆ removeModuleActionListener()

void RTC::Manager::removeModuleActionListener ( RTM::ModuleActionListener listener)

◆ removeNamingActionListener()

void RTC::Manager::removeNamingActionListener ( RTM::NamingActionListener listener)

◆ removeRtcLifecycleActionListener()

void RTC::Manager::removeRtcLifecycleActionListener ( RTM::RtcLifecycleActionListener listener)

◆ removeTask()

static void RTC::Manager::removeTask ( TaskId  id)
inlinestatic

Remove the task from the Manager timer.

This operation remove the specify function.

Parameters
idTask ID

◆ runManager()

void RTC::Manager::runManager ( bool  no_block = false)

Run the Manager.

This operation processes the main event loop of the Manager. In this main loop, periodic task and etc. are performed. This operation also start CORBA's ORB event loop. As the default behavior, this operation is going to blocking mode and never returns until Manager::terminate() is called. When the given argument "no_block" is set to "true", this operation creates a thread to process the event loop internally, and it doesn't block and returns.

Parameters
no_blockfalse: Blocking mode, true: non-blocking mode.

◆ setEndpointProperty()

void RTC::Manager::setEndpointProperty ( CORBA::Object_ptr  objref)
protected

Setting endpoint info from corba.endpoints .

◆ setModuleInitProc()

void RTC::Manager::setModuleInitProc ( ModuleInitProc  proc)

Set initial procedure.

This operation sets the initial procedure call to process module initialization, other user defined initialization and so on. The given procedure will be called at the proper timing after the manager initialization, activation and run.

Parameters
procA function pointer to the initial procedure call

◆ shutdown()

void RTC::Manager::shutdown ( )
protected

Shutdown Manager.

◆ shutdownComponents()

void RTC::Manager::shutdownComponents ( )
protected

NamingManager finalization.

◆ shutdownLogger()

void RTC::Manager::shutdownLogger ( )
protected

System Logger finalization.

◆ shutdownManagerServant()

void RTC::Manager::shutdownManagerServant ( )
protected

Manager Servant finalization.

◆ shutdownNaming()

void RTC::Manager::shutdownNaming ( )
protected

NamingManager finalization.

◆ shutdownORB()

void RTC::Manager::shutdownORB ( )
protected

ORB finalization.

◆ subscribePorts()

void RTC::Manager::subscribePorts ( RTObject_impl comp)
protected

◆ terminate()

static void RTC::Manager::terminate ( )
static

Terminate manager.

◆ theORB()

CORBA::ORB_ptr RTC::Manager::theORB ( )

Get the pointer to ORB (ownership retained)

◆ thePOA()

PortableServer::POA_ptr RTC::Manager::thePOA ( )

Get a pointer to RootPOA held by Manager.

◆ thePOAManager()

PortableServer::POAManager_ptr RTC::Manager::thePOAManager ( )

Get POAManager that Manager has (ownership retained)

◆ unload()

void RTC::Manager::unload ( const char *  fname)

Unload module.

Unload module.

Parameters
fnameThe module file name

◆ unloadAll()

void RTC::Manager::unloadAll ( )

Unload all modules.

Unload all modules.

◆ unregisterComponent()

bool RTC::Manager::unregisterComponent ( RTObject_impl comp)

Unregister RT-Components.

Member Data Documentation

◆ m_argv

coil::Argv RTC::Manager::m_argv
protected

The argument of ORB_init .

◆ m_argvSize

int RTC::Manager::m_argvSize
protected

The argument of ORB_init .

◆ m_compManager

ComponentManager RTC::Manager::m_compManager
protected

ComponentManager .

◆ m_config

coil::Properties RTC::Manager::m_config
protected

Managaer's configuration Properties .

Referenced by getConfig(), and getLogLevel().

◆ m_ecfactory

ECFactoryManager RTC::Manager::m_ecfactory
protected

ExecutionContext Manager .

◆ m_ecs

std::vector<ExecutionContextBase*> RTC::Manager::m_ecs
protected

ExecutionContext list .

◆ m_factory

FactoryManager RTC::Manager::m_factory
protected

ComponentManager .

◆ m_finalized

Finalized RTC::Manager::m_finalized
protected

◆ m_initProc

ModuleInitProc RTC::Manager::m_initProc {nullptr}
protected

User's initialization function's pointer .

◆ m_invoker

coil::Timer<coil::DelayedFunction> RTC::Manager::m_invoker
protected

Timer Object for delay call on the Manager thread .

◆ m_isRunning

std::atomic_flag RTC::Manager::m_isRunning
staticprotected

A flag to stop the main thread. .

◆ m_listeners

::RTM::ManagerActionListeners RTC::Manager::m_listeners
protected

◆ m_logfiles

std::vector<std::filebuf*> RTC::Manager::m_logfiles
protected

Files for log output .

◆ m_logStreamBuf

LogStreamBuf RTC::Manager::m_logStreamBuf
protected

Logger buffer .

Referenced by getLogStreamBuf().

◆ m_mgrservant

RTM::ManagerServant* RTC::Manager::m_mgrservant {nullptr}
protected

The pointer to the ManagerServant .

◆ m_module

ModuleManager* RTC::Manager::m_module {nullptr}
protected

The pointer to the ModuleManager .

◆ m_namingManager

NamingManager* RTC::Manager::m_namingManager {nullptr}
protected

The pointer to the NamingManager .

◆ m_needsTimer

bool RTC::Manager::m_needsTimer {false}
protected

A flag that Manager use Timer or not. .

◆ m_pORB

CORBA::ORB_var RTC::Manager::m_pORB
protected

The pointer to the ORB .

◆ m_pPOA

PortableServer::POA_var RTC::Manager::m_pPOA
protected

The pointer to the POA .

◆ m_pPOAManager

PortableServer::POAManager_var RTC::Manager::m_pPOAManager
protected

The pointer to the POAManager .

◆ m_scheduler

coil::Timer<coil::PeriodicFunction> RTC::Manager::m_scheduler
protected

Timer Object for delay call on the Manager thread .

◆ m_signals

std::list<coil::SignalAction> RTC::Manager::m_signals
protected

An array for signals management .

◆ m_threadMain

std::thread RTC::Manager::m_threadMain
protected

Manager main thread. .

◆ m_threadOrb

std::thread RTC::Manager::m_threadOrb
protected

ORB thread. .

◆ manager

Manager* RTC::Manager::manager
staticprotected

The pointer to the Manager .

◆ mutex

std::mutex RTC::Manager::mutex
staticprotected

The mutex of the pointer to the Manager .

◆ rtclog

Logger RTC::Manager::rtclog {&m_logStreamBuf}
protected

Logger stream .


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