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

クラス RTC::Manager

#include <Manager.h>

すべてのメンバ一覧

Public メソッド

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 > Manager::getLoadedModules ()
 ロード済みのモジュールリストを取得する
std::vector< std::string > getLoadableModules ()
 ロード可能なモジュールリストを取得する
bool registerFactory (Properties profile, RtcNewFunc new_func, RtcDeleteFunc delete_func)
 RTコンポーネントファクトリを登録する.
std::vector< std::string > getModulesFactories ()
 ファクトリ全リストを取得する
RtcBasecreateComponent (const char *module_name)
 RTコンポーネントを生成する.
bool registerComponent (RtcBase *comp)
 RTコンポーネントを直接 Manager に登録する.
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
 コンポーネントファクトリ

Protected メソッド

 Manager ()
 Manager (const Manager &manager)
void initManager (int argc, char **argv)
 Manager の内部初期化処理.
bool initORB ()
 CORBA ORB の初期化処理.
bool initNaming ()
 NamingManager の初期化.
bool initLogger ()
 System logger の初期化.
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
Propertiesm_config
 Propery へのポインタ.
ModuleManagerm_module
 ModuleManager へのポインタ.
NamingManagerm_namingManager
 ModuleManager へのポインタ.
CorbaObjectManagerm_objManager
Logbuf m_Logbuf
 ロガーバッファ
MedLogbuf m_MedLogbuf
 ロガー仲介バッファ
LogStream rtcout
 ロガーストリーム
ComponentManager m_compManager
 コンポーネントマネージャ
FactoryManager m_factory
 ComponentManager.
OrbRunnerm_runner

Static Protected 変数

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

構成

struct  FactoryPredicate
struct  InstanceName
struct  ModuleFactories
class  OrbRunner


型定義

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

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

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


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

RTC::Manager::Manager  )  [protected]
 

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


関数

bool RTC::Manager::activateManager  ) 
 

Managerのアクティブ化.

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

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

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

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

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

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コンポーネントを取得する.

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

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

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()を呼ぶ必要がある。

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

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 の初期化処理.

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

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

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

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

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

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

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

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

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

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

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

bool RTC::Manager::registerComponent RtcBase comp  ) 
 

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

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::unload const char *  fname  ) 
 

モジュールのアンロード

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

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

void RTC::Manager::unloadAll  ) 
 

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

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


変数

ComponentManager RTC::Manager::m_compManager [protected]
 

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

Properties* RTC::Manager::m_config [protected]
 

Propery へのポインタ.

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]
 

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

唯一の Manager へのポインタ.

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

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

LogStream RTC::Manager::rtcout [protected]
 

ロガーストリーム


このクラスの説明は次のファイルから生成されました:
OpenRTMに対してMon Jan 15 12:14:48 2007に生成されました。  doxygen 1.4.1