メインページ | ネームスペース一覧 | クラス階層 | 構成 | Directories | ファイル一覧 | ネームスペースメンバ | 構成メンバ | ファイルメンバ

クラス RTC::Manager

#include <Manager.h>

すべてのメンバ一覧

Public メソッド

void terminate ()
void shutdown ()
void join ()
LogbufgetLogbuf ()
PropertiesgetConfig ()
void setModuleInitProc (ModuleInitProc proc)
 初期化プロシージャのセット
bool activateManager ()
 Managerのアクティブ化.
void runManager (bool no_block=false)
 Managerの実行.
void load (const char *fname, const char *initfunc)
 [CORBA interface] モジュールのロード
void unload (const char *fname)
 モジュールのアンロード
void unloadAll ()
 全モジュールのアンロード.
std::vector< std::string > getLoadedModules ()
 ロード済みのモジュールリストを取得する
std::vector< std::string > getLoadableModules ()
 ロード可能なモジュールリストを取得する
bool registerFactory (Properties &profile, RtcNewFunc new_func, RtcDeleteFunc delete_func)
 RTコンポーネントファクトリを登録する.
bool registerECFactory (const char *name, ECNewFunc new_func, ECDeleteFunc delete_func)
std::vector< std::string > getModulesFactories ()
 ファクトリ全リストを取得する
RtcBasecreateComponent (const char *module_name)
 RTコンポーネントを生成する.
void cleanupComponent (RtcBase *comp)
bool registerComponent (RtcBase *comp)
 RTコンポーネントを直接 Manager に登録する.
bool unregisterComponent (RtcBase *comp)
bool bindExecutionContext (RtcBase *comp)
void deleteComponent (const char *instance_name)
 Manager に登録されているRTコンポーネントを削除する.
RtcBasegetComponent (const char *instance_name)
 Manager に登録されているRTコンポーネントを取得する.
std::vector< RtcBase * > getComponents ()
 Manager に登録されている全RTコンポーネントを取得する.
CORBA::ORB_ptr getORB ()
 ORB のポインタを取得する.
PortableServer::POA_ptr getPOA ()
 Manager が持つ RootPOA のポインタを取得する.
PortableServer::POAManager_ptr getPOAManager ()

Static Public メソッド

static Managerinit (int argc, char **argv)
 マネージャの初期化
static Managerinstance ()
 マネージャのインスタンスの取得

Protected 型

typedef ObjectManager< std::string,
RtcBase, InstanceName
ComponentManager
typedef ObjectManager< const
char *, FactoryBase, FactoryPredicate
FactoryManager
 コンポーネントファクトリ
typedef ObjectManager< const
char *, ECFactoryBase, ECFactoryPredicate
ECFactoryManager

Protected メソッド

 Manager ()
 Protected コンストラクタ.
 Manager (const Manager &manager)
 Protected コピーコンストラクタ.
void initManager (int argc, char **argv)
 Manager の内部初期化処理.
void shutdownManager ()
 Manager の終了処理.
bool initLogger ()
 System logger の初期化.
void shutdownLogger ()
 System Logger の終了処理.
bool initORB ()
 CORBA ORB の初期化処理.
std::string createORBOptions ()
 ORB のコマンドラインオプション作成.
void shutdownORB ()
 ORB の終了処理.
bool initNaming ()
 NamingManager の初期化.
void shutdownNaming ()
void shutdownComponents ()
void configureComponent (RtcBase *comp)
bool initExecContext ()
bool initTimer ()
bool mergeProperty (Properties &prop, const char *file_name)
std::string formatString (const char *naming_format, Properties &prop)

Protected 変数

CORBA::ORB_var m_pORB
 ORB へのポインタ.
PortableServer::POA_var m_pPOA
 POA へのポインタ.
PortableServer::POAManager_var m_pPOAManager
 POAManager へのポインタ.
ModuleInitProc m_initProc
 ユーザ初期化関数へのポインタ
Properties m_config
 Manager の configuration を格納する Properties.
ModuleManagerm_module
 ModuleManager へのポインタ.
NamingManagerm_namingManager
 ModuleManager へのポインタ.
CorbaObjectManagerm_objManager
Timer * m_timer
 Timer Object.
Logbuf m_Logbuf
 ロガーバッファ
MedLogbuf m_MedLogbuf
 ロガー仲介バッファ
LogStream rtcout
 ロガーストリーム
ComponentManager m_compManager
 コンポーネントマネージャ
FactoryManager m_factory
 ComponentManager.
ECFactoryManager m_ecfactory
std::vector< ExecutionContextBase * > m_ecs
OrbRunnerm_runner
Terminatorm_terminator
Term m_terminate

Static Protected 変数

static Managermanager
 唯一の Manager へのポインタ.
static ACE_Thread_Mutex mutex
 唯一の Manager へのポインタに対する mutex.

構成

struct  ECFactoryPredicate
struct  FactoryPredicate
struct  InstanceName
struct  ModuleFactories
class  OrbRunner
struct  Term
class  Terminator


型定義

typedef ObjectManager<std::string, RtcBase, InstanceName> RTC::Manager::ComponentManager [protected]
 

typedef ObjectManager<const char*, ECFactoryBase, ECFactoryPredicate> RTC::Manager::ECFactoryManager [protected]
 

typedef ObjectManager<const char*, FactoryBase, FactoryPredicate> RTC::Manager::FactoryManager [protected]
 

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


コンストラクタとデストラクタ

RTC::Manager::Manager  )  [protected]
 

Protected コンストラクタ.

RTC::Manager::Manager const Manager manager  )  [protected]
 

Protected コピーコンストラクタ.


関数

bool RTC::Manager::activateManager  ) 
 

Managerのアクティブ化.

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

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

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

bool RTC::Manager::bindExecutionContext RtcBase comp  ) 
 

void RTC::Manager::cleanupComponent RtcBase comp  ) 
 

void RTC::Manager::configureComponent RtcBase comp  )  [protected]
 

RtcBase* RTC::Manager::createComponent const char *  module_name  ) 
 

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

std::string RTC::Manager::createORBOptions  )  [protected]
 

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

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

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

std::string RTC::Manager::formatString const char *  naming_format,
Properties prop
[protected]
 

RtcBase* RTC::Manager::getComponent const char *  instance_name  ) 
 

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

std::vector<RtcBase*> RTC::Manager::getComponents  ) 
 

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

Properties& RTC::Manager::getConfig  )  [inline]
 

std::vector<std::string> RTC::Manager::getLoadableModules  ) 
 

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

std::vector<std::string> RTC::Manager::getLoadedModules  ) 
 

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

Logbuf& RTC::Manager::getLogbuf  )  [inline]
 

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

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

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

ORB のポインタを取得する.

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

Manager が持つ RootPOA のポインタを取得する.

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

static Manager* RTC::Manager::init int  argc,
char **  argv
[static]
 

マネージャの初期化

マネージャを初期化する static メンバ関数。 マネージャをコマンドライン引数を与えて初期化する。 マネージャを使用する場合は、必ずこの初期化メンバ関数 init() を 呼ばなければならない。 マネージャのインスタンスを取得する方法として、init(), instance() の 2つの static メンバ関数が用意されているが、初期化はinit()でしか 行われないため、Manager の生存期間の一番最初にはinit()を呼ぶ必要がある。

※マネージャの初期化処理

  • initManager: 引数処理、configファイルの読み込み、サブシステム初期化
  • initLogger: Logger初期化
  • initORB: ORB 初期化
  • initNaming: NamingService 初期化
  • initExecutionContext: ExecutionContext factory 初期化
  • initTimer: Timer 初期化

引数:
argc コマンドライン引数の数
argv コマンドライン引数

bool RTC::Manager::initExecContext  )  [protected]
 

bool RTC::Manager::initLogger  )  [protected]
 

System logger の初期化.

void RTC::Manager::initManager int  argc,
char **  argv
[protected]
 

Manager の内部初期化処理.

bool RTC::Manager::initNaming  )  [protected]
 

NamingManager の初期化.

bool RTC::Manager::initORB  )  [protected]
 

CORBA ORB の初期化処理.

bool RTC::Manager::initTimer  )  [protected]
 

static Manager& RTC::Manager::instance  )  [static]
 

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

マネージャのインスタンスを取得する static メンバ関数。 この関数を呼ぶ前に、必ずこの初期化メンバ関数 init() が呼ばれている 必要がある。

戻り値:
Manager の唯一のインスタンスの参照

void RTC::Manager::join  ) 
 

void RTC::Manager::load const char *  fname,
const char *  initfunc
 

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

コンポーネントのモジュールをロードして初期化関数を実行する。

引数:
fname モジュールファイル名
initfunc 初期化関数名

bool RTC::Manager::mergeProperty Properties prop,
const char *  file_name
[protected]
 

bool RTC::Manager::registerComponent RtcBase comp  ) 
 

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

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

bool RTC::Manager::registerFactory Properties profile,
RtcNewFunc  new_func,
RtcDeleteFunc  delete_func
 

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

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

Managerの実行.

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

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

void RTC::Manager::setModuleInitProc ModuleInitProc  proc  ) 
 

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

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

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

void RTC::Manager::shutdown  ) 
 

void RTC::Manager::shutdownComponents  )  [protected]
 

void RTC::Manager::shutdownLogger  )  [protected]
 

System Logger の終了処理.

void RTC::Manager::shutdownManager  )  [protected]
 

Manager の終了処理.

void RTC::Manager::shutdownNaming  )  [protected]
 

void RTC::Manager::shutdownORB  )  [protected]
 

ORB の終了処理.

void RTC::Manager::terminate  ) 
 

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

モジュールのアンロード

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

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

void RTC::Manager::unloadAll  ) 
 

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

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

bool RTC::Manager::unregisterComponent RtcBase comp  ) 
 


変数

ComponentManager RTC::Manager::m_compManager [protected]
 

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

Properties RTC::Manager::m_config [protected]
 

Manager の configuration を格納する Properties.

ECFactoryManager RTC::Manager::m_ecfactory [protected]
 

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

FactoryManager RTC::Manager::m_factory [protected]
 

ComponentManager.

ModuleInitProc RTC::Manager::m_initProc [protected]
 

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

Logbuf RTC::Manager::m_Logbuf [protected]
 

ロガーバッファ

MedLogbuf RTC::Manager::m_MedLogbuf [protected]
 

ロガー仲介バッファ

ModuleManager* RTC::Manager::m_module [protected]
 

ModuleManager へのポインタ.

NamingManager* RTC::Manager::m_namingManager [protected]
 

ModuleManager へのポインタ.

CorbaObjectManager* RTC::Manager::m_objManager [protected]
 

CORBA::ORB_var RTC::Manager::m_pORB [protected]
 

ORB へのポインタ.

PortableServer::POA_var RTC::Manager::m_pPOA [protected]
 

POA へのポインタ.

PortableServer::POAManager_var RTC::Manager::m_pPOAManager [protected]
 

POAManager へのポインタ.

OrbRunner* RTC::Manager::m_runner [protected]
 

Term RTC::Manager::m_terminate [protected]
 

Terminator* RTC::Manager::m_terminator [protected]
 

Timer* RTC::Manager::m_timer [protected]
 

Timer Object.

Manager* RTC::Manager::manager [static, protected]
 

唯一の Manager へのポインタ.

ACE_Thread_Mutex RTC::Manager::mutex [static, protected]
 

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

LogStream RTC::Manager::rtcout [protected]
 

ロガーストリーム


このクラスの説明は次のファイルから生成されました:
OpenRTMに対してFri Oct 5 05:15:02 2007に生成されました。  doxygen 1.4.1