OpenRTM-aist 2.1.0
読み取り中…
検索中…
一致する文字列を見つけられません
クラス | 公開型 | 公開メンバ関数 | 静的公開メンバ関数 | 限定公開型 | 限定公開メンバ関数 | 静的限定公開メンバ関数 | 限定公開変数類 | 静的限定公開変数類 | 全メンバ一覧
RTC::Manager クラス

Manager クラス [詳解]

#include <Manager.h>

RTC::Manager 連携図
Collaboration graph
[凡例]

クラス

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

公開型

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

公開メンバ関数

void join ()
 マネージャ終了処理の待ち合わせ
 
LogStreamBufgetLogStreamBuf ()
 ログバッファの取得
 
std::string & getLogLevel ()
 コンフィグレーションのログレベルの取得
 
coil::Properties & getConfig ()
 マネージャコンフィギュレーションの取得
 
void setModuleInitProc (ModuleInitProc proc)
 初期化プロシージャのセット
 
bool activateManager ()
 Managerのアクティブ化
 
void runManager (bool no_block=false)
 Managerの実行
 
TaskId addTask (std::function< void(void)> fn, std::chrono::nanoseconds period)
 周期実行タスクの登録
 
void invoke (std::function< void(void)> fn, std::chrono::nanoseconds delay=std::chrono::seconds::zero())
 Manger のメインスレッドで処理を実行
 
ReturnCode_t load (const std::string &fname, const std::string &initfunc)
 [CORBA interface] モジュールのロード
 
ReturnCode_t load (coil::Properties &prop, const std::string &initfunc)
 [CORBA interface] モジュールのロード
 
void unload (const char *fname)
 モジュールのアンロード
 
void unloadAll ()
 全モジュールのアンロード
 
std::vector< coil::Properties > getLoadedModules ()
 ロード済みのモジュールリストを取得する
 
std::vector< coil::Properties > getLoadableModules ()
 ロード可能なモジュールリストを取得する
 
bool registerFactory (coil::Properties &profile, RtcNewFunc new_func, RtcDeleteFunc delete_func)
 RTコンポーネント用ファクトリを登録する
 
std::vector< coil::Properties > getFactoryProfiles ()
 ファクトリのプロファイルを取得
 
bool registerECFactory (const char *name, ECNewFunc new_func, ECDeleteFunc delete_func)
 ExecutionContext用ファクトリを登録する
 
std::vector< std::string > getModulesFactories ()
 ファクトリ全リストを取得する
 
RTObject_implcreateComponent (const char *comp_args)
 RTコンポーネントを生成する
 
ExecutionContextBasecreateContext (const char *ec_args)
 Contextを生成する
 
void cleanupComponent (RTObject_impl *comp)
 RTコンポーネントの登録解除
 
void cleanupComponents ()
 RTコンポーネントの削除する
 
void notifyFinalized (RTObject_impl *comp)
 RTコンポーネントの削除する
 
bool registerComponent (RTObject_impl *comp)
 RTコンポーネントを直接 Manager に登録する
 
bool unregisterComponent (RTObject_impl *comp)
 RTコンポーネントの登録を解除する
 
void deleteComponent (RTObject_impl *comp)
 Manager に登録されているRTコンポーネントを削除する
 
void deleteComponent (const char *instance_name)
 Manager に登録されているRTコンポーネントを削除する
 
RTObject_implgetComponent (const char *instance_name)
 Manager に登録されているRTコンポーネントを検索する
 
std::vector< RTObject_impl * > getComponents ()
 Manager に登録されている全RTコンポーネントを取得する
 
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 ()
 ORB のポインタを取得する (所有権保持)
 
CORBA::ORB_ptr getORB ()
 ORB のポインタを取得する (所有権複製)
 
PortableServer::POA_ptr thePOA ()
 Manager が持つ RootPOA のポインタを取得する (所有権保持)
 
PortableServer::POA_ptr getPOA ()
 Manager が持つ RootPOA のポインタを取得する (所有権複製)
 
PortableServer::POAManager_ptr thePOAManager ()
 Manager が持つ POAManager を取得する (所有権保持)
 
PortableServer::POAManager_ptr getPOAManager ()
 Manager が持つ POAManager を取得する (所有権複製)
 
RTM::ManagerServantgetManagerServant ()
 ManagerServantを取得する
 
bool initLocalService ()
 LocalService の初期化
 
NamingManagergetNaming ()
 NamingManagerを取得する
 

静的公開メンバ関数

static Managerinit (int argc, char **argv)
 マネージャの初期化
 
static Managerinstance ()
 マネージャのインスタンスの取得
 
static void terminate ()
 マネージャ終了処理
 
static void removeTask (TaskId id)
 周期実行タスクの削除
 

限定公開型

using ComponentManager = ObjectManager< std::string, RTObject_impl, InstanceName >
 
using FactoryManager = ObjectManager< const coil::Properties, FactoryBase, FactoryPredicate >
 コンポーネントファクトリ
 
using ECFactoryManager = ObjectManager< const char *, ECFactoryBase, ECFactoryPredicate >
 

限定公開メンバ関数

 Manager ()
 Protected コンストラクタ
 
 Manager (const Manager &)=delete
 
Manageroperator= (const Manager &)=delete
 
void initManager (int argc, char **argv)
 Manager の内部初期化処理
 
void shutdown ()
 マネージャ・シャットダウン
 
void mainThread ()
 Manager メインスレッドのメイン関数
 
void initLogstreamFile ()
 
void initLogstreamPlugins ()
 
void initLogstreamOthers ()
 
bool initLogger ()
 System logger の初期化
 
void shutdownLogger ()
 System Logger の終了処理
 
void shutdownManagerServant ()
 Managerサーバント の終了処理
 
bool initORB ()
 CORBA ORB の初期化処理
 
std::string createORBOptions ()
 ORB のコマンドラインオプション作成
 
void createORBEndpoints (coil::vstring &endpoints)
 エンドポイントの生成
 
void createORBEndpointOption (std::string &opt, coil::vstring endpoints)
 ORB の Endpoint のコマンドラインオプション作成
 
void shutdownORB ()
 ORB の終了処理
 
bool initNaming ()
 NamingManager の初期化
 
void shutdownNaming ()
 NamingManager の終了処理
 
NamingManagergetNamingManager ()
 NamingManagerを取得する
 
void shutdownComponents ()
 NamingManager に登録されている RTコンポーネントの終了処理
 
bool procComponentArgs (const char *comp_arg, coil::Properties &comp_id, coil::Properties &comp_conf)
 引数文字列からコンポーネント型名・プロパティを抽出する
 
bool procContextArgs (const char *ec_args, std::string &ec_id, coil::Properties &ec_conf)
 引数文字列からExecutionContext名・プロパティを抽出する
 
void configureComponent (RTObject_impl *comp, const coil::Properties &prop)
 RTコンポーネントのコンフィギュレーション処理
 
bool initExecContext ()
 ExecutionContextManager の初期化
 
bool initComposite ()
 PeriodicECSharedComposite の初期化
 
bool initFactories ()
 ファクトリの初期化
 
void initCpuAffinity ()
 
void initPreConnection ()
 起動時にrtc.confで指定したポートを接続する
 
void initPreActivation ()
 起動時にrtc.confで指定したRTCをアクティベーションする
 
void initPreCreation ()
 起動時にrtc.confで指定したRTCを生成する
 
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 の初期化
 
bool mergeProperty (coil::Properties &prop, const char *file_name)
 プロパティ情報のマージ
 
std::string formatString (const char *naming_format, coil::Properties &prop)
 NamingServer に登録する際の登録情報を組み立てる
 
void setEndpointProperty (CORBA::Object_ptr objref)
 corba.endpoints にエンドポイント情報を設定する
 
void endpointPropertySwitch (const std::string &ipver, bool &ip, std::vector< int > &ip_list)
 corba.endpoint_property からオプション情報を取得する
 

静的限定公開メンバ関数

static bool isORBEndPoint (const std::string &endpoint)
 giopからはじまるORBエンドポイントでの指定した場合にtrue、 それ以外(例えばホスト名:ポート番号の指定)の場合はfalseを返す。
 

限定公開変数類

RTM::ManagerServantm_mgrservant {nullptr}
 ManagerServant へのポインタ
 
CORBA::ORB_var m_pORB
 ORB へのポインタ
 
PortableServer::POA_var m_pPOA
 POA へのポインタ
 
PortableServer::POAManager_var m_pPOAManager
 POAManager へのポインタ
 
coil::Argv m_argv
 ORB_init に指定する引数
 
int m_argvSize
 ORB_init に指定する引数
 
ModuleInitProc m_initProc {nullptr}
 ユーザ初期化関数へのポインタ
 
coil::Properties m_config
 Manager の configuration を格納する Properties
 
ModuleManagerm_module {nullptr}
 ModuleManager へのポインタ
 
NamingManagerm_namingManager {nullptr}
 NamingManager へのポインタ
 
coil::Timer< coil::DelayedFunction > m_invoker
 Manager スレッド上での遅延呼び出し用タイマー
 
coil::Timer< coil::PeriodicFunction > m_scheduler
 Manager スレッド上での周期呼び出し用タイマー
 
std::thread m_threadOrb
 ORB 用のスレッド
 
std::thread m_threadMain
 Manager のメインスレッド
 
std::list< coil::SignalAction > m_signals
 シグナル管理用配列
 
bool m_needsTimer {false}
 マネージャーがタイマーを利用するかどうかのフラグ
 
LogStreamBuf m_logStreamBuf
 ロガーバッファ
 
Logger rtclog {&m_logStreamBuf}
 ロガーストリーム
 
std::vector< std::filebuf * > m_logfiles
 ログ出力ファイル
 
ComponentManager m_compManager
 コンポーネントマネージャ
 
FactoryManager m_factory
 ComponentManager
 
ECFactoryManager m_ecfactory
 ExecutionContext マネージャ
 
std::vector< ExecutionContextBase * > m_ecs
 ExecutionContext リスト
 
Finalized m_finalized
 
::RTM::ManagerActionListeners m_listeners
 

静的限定公開変数類

static Managermanager
 唯一の Manager へのポインタ
 
static std::mutex mutex
 唯一の Manager へのポインタに対する mutex
 
static std::atomic_flag m_isRunning
 メインスレッド停止用フラグ
 

詳解

Manager クラス

コンポーネントなど各種の情報管理を行うマネージャクラス。

から
0.2.0

型定義メンバ詳解

◆ ComponentManager

◆ ECFactoryManager

◆ FactoryManager

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

コンポーネントファクトリ

◆ TaskId

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

構築子と解体子

◆ Manager() [1/2]

RTC::Manager::Manager ( )
protected

Protected コンストラクタ

◆ Manager() [2/2]

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

関数詳解

◆ activateManager()

bool RTC::Manager::activateManager ( )

Managerのアクティブ化

このオペレーションは以下の処理を行う

  • CORBA POAManager のアクティブ化
  • マネージャCORBAオブジェクトのアクティブ化
  • Manager のオブジェクト参照の登録

このオペレーションは、マネージャの初期化後、runManager() の前に呼ぶ必要がある。

戻り値
処理結果(アクティブ化成功:true、失敗: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 
)

周期実行タスクの登録

周期的に実行する関数や関数オブジェクトを Manager のタイマーに登録する。 removePeriodTask() が実行されるまで処理が継続される。本関数に登録する処理 の中で sleep などの長時間ブロッキングは推奨されない。また周期タスクの中で 本関数を呼び出してはならない。

引数
fn周期実行する関数または関数オブジェクト
period周期実行の実行間隔
戻り値
id: removeTask() で実行解除するための ID

◆ cleanupComponent()

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

RTコンポーネントの登録解除

◆ cleanupComponents()

void RTC::Manager::cleanupComponents ( )

RTコンポーネントの削除する

◆ configureComponent()

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

RTコンポーネントのコンフィギュレーション処理

◆ 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)

RTコンポーネントを生成する

◆ createContext()

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

Contextを生成する

◆ createORBEndpointOption()

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

ORB の Endpoint のコマンドラインオプション作成

◆ createORBEndpoints()

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

エンドポイントの生成

◆ createORBOptions()

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

ORB のコマンドラインオプション作成

◆ deleteComponent() [1/2]

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

Manager に登録されているRTコンポーネントを削除する

◆ deleteComponent() [2/2]

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

Manager に登録されているRTコンポーネントを削除する

◆ endpointPropertySwitch()

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

corba.endpoint_property からオプション情報を取得する

◆ formatString()

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

NamingServer に登録する際の登録情報を組み立てる

◆ getComponent()

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

Manager に登録されているRTコンポーネントを検索する

◆ getComponents()

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

Manager に登録されている全RTコンポーネントを取得する

◆ getConfig()

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

マネージャコンフィギュレーションの取得

参照先 m_config.

◆ getFactoryProfiles()

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

ファクトリのプロファイルを取得

◆ getLoadableModules()

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

ロード可能なモジュールリストを取得する

◆ getLoadedModules()

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

ロード済みのモジュールリストを取得する

◆ getLogLevel()

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

コンフィグレーションのログレベルの取得

参照先 m_config.

◆ getLogStreamBuf()

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

ログバッファの取得

参照先 m_logStreamBuf.

◆ getManagerServant()

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

ManagerServantを取得する

◆ getModulesFactories()

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

ファクトリ全リストを取得する

◆ getNaming()

NamingManager * RTC::Manager::getNaming ( )

NamingManagerを取得する

◆ getNamingManager()

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

NamingManagerを取得する

◆ getORB()

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

ORB のポインタを取得する (所有権複製)

参照元 CORBA_SeqUtil::refToVstring().

◆ getPOA()

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

Manager が持つ RootPOA のポインタを取得する (所有権複製)

◆ getPOAManager()

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

Manager が持つ POAManager を取得する (所有権複製)

◆ 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

マネージャの初期化

◆ initComposite()

bool RTC::Manager::initComposite ( )
protected

◆ initCpuAffinity()

void RTC::Manager::initCpuAffinity ( )
protected

◆ initExecContext()

bool RTC::Manager::initExecContext ( )
protected

ExecutionContextManager の初期化

◆ initFactories()

bool RTC::Manager::initFactories ( )
protected

ファクトリの初期化

◆ initLocalService()

bool RTC::Manager::initLocalService ( )

LocalService の初期化

◆ initLogger()

bool RTC::Manager::initLogger ( )
protected

System logger の初期化

◆ 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 の内部初期化処理

◆ initManagerServant()

bool RTC::Manager::initManagerServant ( )
protected

ManagerServant の初期化

◆ initNaming()

bool RTC::Manager::initNaming ( )
protected

NamingManager の初期化

◆ initORB()

bool RTC::Manager::initORB ( )
protected

CORBA ORB の初期化処理

◆ initPreActivation()

void RTC::Manager::initPreActivation ( )
protected

起動時にrtc.confで指定したRTCをアクティベーションする

◆ initPreConnection()

void RTC::Manager::initPreConnection ( )
protected

起動時にrtc.confで指定したポートを接続する

◆ initPreCreation()

void RTC::Manager::initPreCreation ( )
protected

起動時にrtc.confで指定したRTCを生成する

◆ instance()

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

マネージャのインスタンスの取得

参照元 CORBA_SeqUtil::refToVstring().

◆ invoke()

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

Manger のメインスレッドで処理を実行

Manger のメインスレッドで指定された処理を実行する。長時間のブロッ キングを行う関数の登録は推奨しない。

引数
fn関数または関数オブジェクト
delay起動するまでの遅延時間

◆ invokeInitProc()

void RTC::Manager::invokeInitProc ( )
protected

◆ isORBEndPoint()

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

giopからはじまるORBエンドポイントでの指定した場合にtrue、 それ以外(例えばホスト名:ポート番号の指定)の場合はfalseを返す。

◆ join()

void RTC::Manager::join ( )

マネージャ終了処理の待ち合わせ

◆ load() [1/2]

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

[CORBA interface] モジュールのロード

◆ load() [2/2]

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

[CORBA interface] モジュールのロード

◆ mainThread()

void RTC::Manager::mainThread ( )
protected

Manager メインスレッドのメイン関数

◆ mergeProperty()

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

プロパティ情報のマージ

◆ notifyFinalized()

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

RTコンポーネントの削除する

◆ 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

引数文字列からコンポーネント型名・プロパティを抽出する

◆ procContextArgs()

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

引数文字列からExecutionContext名・プロパティを抽出する

◆ publishPorts()

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

◆ registerComponent()

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

RTコンポーネントを直接 Manager に登録する

◆ registerECFactory()

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

ExecutionContext用ファクトリを登録する

◆ registerFactory()

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

RTコンポーネント用ファクトリを登録する

◆ 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

周期実行タスクの削除

タイマーに登録されている周期タスクを削除する。

引数
id削除対象のタスクを示す ID

◆ runManager()

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

Managerの実行

このオペレーションはマネージャのメインループを実行する。このメインループ 内では、タイマー処理が行われる。また CORBA ORB のイベントループ等も開始さ れる。デフォルトでは、このオペレーションはブロックし、 Manager::terminate() や シグナルハンドラーが呼ばれるまで処理を戻さない。 引数 no_block が true に設定されている場合は、内部でイベントループを処理 するスレッドを起動し、ブロックせずに処理を戻す。

引数
no_blockfalse: ブロッキングモード, true: ノンブロッキングモード

◆ setEndpointProperty()

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

corba.endpoints にエンドポイント情報を設定する

◆ setModuleInitProc()

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

初期化プロシージャのセット

このオペレーションはユーザが行うモジュール等の初期化プロシージャ を設定する。ここで設定されたプロシージャは、マネージャが初期化され、 アクティブ化された後、適切なタイミングで実行される。

引数
proc初期化プロシージャの関数ポインタ

◆ shutdown()

void RTC::Manager::shutdown ( )
protected

マネージャ・シャットダウン

◆ shutdownComponents()

void RTC::Manager::shutdownComponents ( )
protected

NamingManager に登録されている RTコンポーネントの終了処理

◆ shutdownLogger()

void RTC::Manager::shutdownLogger ( )
protected

System Logger の終了処理

◆ shutdownManagerServant()

void RTC::Manager::shutdownManagerServant ( )
protected

Managerサーバント の終了処理

◆ shutdownNaming()

void RTC::Manager::shutdownNaming ( )
protected

NamingManager の終了処理

◆ shutdownORB()

void RTC::Manager::shutdownORB ( )
protected

ORB の終了処理

◆ subscribePorts()

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

◆ terminate()

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

マネージャ終了処理

◆ theORB()

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

ORB のポインタを取得する (所有権保持)

◆ thePOA()

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

Manager が持つ RootPOA のポインタを取得する (所有権保持)

◆ thePOAManager()

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

Manager が持つ POAManager を取得する (所有権保持)

◆ unload()

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

モジュールのアンロード

モジュールをアンロードする

引数
fnameモジュールのファイル名

◆ unloadAll()

void RTC::Manager::unloadAll ( )

全モジュールのアンロード

モジュールをすべてアンロードする

◆ unregisterComponent()

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

RTコンポーネントの登録を解除する

メンバ詳解

◆ m_argv

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

ORB_init に指定する引数

◆ m_argvSize

int RTC::Manager::m_argvSize
protected

ORB_init に指定する引数

◆ m_compManager

ComponentManager RTC::Manager::m_compManager
protected

コンポーネントマネージャ

◆ m_config

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

Manager の configuration を格納する Properties

参照元 getConfig(), getLogLevel().

◆ m_ecfactory

ECFactoryManager RTC::Manager::m_ecfactory
protected

ExecutionContext マネージャ

◆ m_ecs

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

ExecutionContext リスト

◆ 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

ユーザ初期化関数へのポインタ

◆ m_invoker

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

Manager スレッド上での遅延呼び出し用タイマー

◆ m_isRunning

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

メインスレッド停止用フラグ

◆ m_listeners

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

◆ m_logfiles

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

ログ出力ファイル

◆ m_logStreamBuf

LogStreamBuf RTC::Manager::m_logStreamBuf
protected

ロガーバッファ

参照元 getLogStreamBuf().

◆ m_mgrservant

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

ManagerServant へのポインタ

◆ m_module

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

ModuleManager へのポインタ

◆ m_namingManager

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

NamingManager へのポインタ

◆ m_needsTimer

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

マネージャーがタイマーを利用するかどうかのフラグ

◆ m_pORB

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

ORB へのポインタ

◆ m_pPOA

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

POA へのポインタ

◆ m_pPOAManager

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

POAManager へのポインタ

◆ m_scheduler

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

Manager スレッド上での周期呼び出し用タイマー

◆ m_signals

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

シグナル管理用配列

◆ m_threadMain

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

Manager のメインスレッド

◆ m_threadOrb

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

ORB 用のスレッド

◆ manager

Manager* RTC::Manager::manager
staticprotected

唯一の Manager へのポインタ

◆ mutex

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

唯一の Manager へのポインタに対する mutex

◆ rtclog

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

ロガーストリーム


このクラス詳解は次のファイルから抽出されました: