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

クラス RTC::ModuleManager

モジュールマネージャクラス [詳細]

#include <ModuleManager.h>

すべてのメンバ一覧

Public 型

typedef void(* ModuleInitFunc )(Manager *)

Public メソッド

 ModuleManager (Properties &prop)
 ~ModuleManager ()
std::string load (const std::string &file_name)
 モジュールのロード
std::string load (const std::string &file_name, const std::string &init_func)
void unload (const std::string &file_name)
 モジュールのアンロード
void unloadAll ()
 全モジュールのアンロード.
void * symbol (const std::string &file_name, const std::string &func_name) throw (ModuleNotFound, SymbolNotFound)
 モジュールのシンボルの参照
void setLoadpath (const std::vector< std::string > &load_path)
 モジュールロードパスを指定する
std::vector< std::string > getLoadPath ()
void addLoadpath (const std::vector< std::string > &load_path)
 モジュールロードパスを追加する
std::vector< std::string > getLoadedModules ()
 ロード済みのモジュールリストを取得する
std::vector< std::string > getLoadableModules ()
 ロード可能なモジュールリストを取得する
void allowAbsolutePath ()
 モジュールの絶対パス指定許す
void disallowAbsolutePath ()
 モジュールの絶対パス指定禁止する
void allowModuleDownload ()
 モジュールのダウンロードを許す
void disallowModuleDownload ()
 モジュールのダウンロードを禁止する
std::string findFile (const std::string &fname, const std::vector< std::string > &load_path)
 LoadPath からのファイルの検索.
bool fileExist (const std::string &filename)
 ファイルが存在するかどうかのチェック
std::string getInitFuncName (const std::string &file_path)
 初期化関数シンボルを生成する

Protected 型

typedef std::vector< std::string > StringVector
typedef StringVector::iterator StringVectorItr
typedef StringVector::const_iterator StringVectorConstItr
typedef std::map< std::string,
DLL
DllMap
typedef DllMap::iterator DllMapItr
typedef DllMap::const_iterator DllMapConstItr

Protected 変数

Propertiesm_properties
DllMap m_modules
StringVector m_loadPath
StringVector m_configPath
bool m_downloadAllowed
bool m_absoluteAllowed
std::string m_initFuncSuffix
std::string m_initFuncPrefix

構成

struct  DLL
struct  Error
struct  FileNotFound
struct  InvalidArguments
struct  InvalidOperation
struct  ModuleNotFound
struct  NotAllowedOperation
struct  NotFound
struct  SymbolNotFound


説明

モジュールマネージャクラス


型定義

typedef std::map<std::string, DLL> RTC::ModuleManager::DllMap [protected]
 

typedef DllMap::const_iterator RTC::ModuleManager::DllMapConstItr [protected]
 

typedef DllMap::iterator RTC::ModuleManager::DllMapItr [protected]
 

typedef void(* RTC::ModuleManager::ModuleInitFunc)(Manager *)
 

typedef std::vector<std::string> RTC::ModuleManager::StringVector [protected]
 

typedef StringVector::const_iterator RTC::ModuleManager::StringVectorConstItr [protected]
 

typedef StringVector::iterator RTC::ModuleManager::StringVectorItr [protected]
 


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

RTC::ModuleManager::ModuleManager Properties prop  ) 
 

RTC::ModuleManager::~ModuleManager  ) 
 


関数

void RTC::ModuleManager::addLoadpath const std::vector< std::string > &  load_path  ) 
 

モジュールロードパスを追加する

void RTC::ModuleManager::allowAbsolutePath  )  [inline]
 

モジュールの絶対パス指定許す

void RTC::ModuleManager::allowModuleDownload  )  [inline]
 

モジュールのダウンロードを許す

void RTC::ModuleManager::disallowAbsolutePath  )  [inline]
 

モジュールの絶対パス指定禁止する

void RTC::ModuleManager::disallowModuleDownload  )  [inline]
 

モジュールのダウンロードを禁止する

bool RTC::ModuleManager::fileExist const std::string &  filename  ) 
 

ファイルが存在するかどうかのチェック

std::string RTC::ModuleManager::findFile const std::string &  fname,
const std::vector< std::string > &  load_path
 

LoadPath からのファイルの検索.

std::string RTC::ModuleManager::getInitFuncName const std::string &  file_path  ) 
 

初期化関数シンボルを生成する

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

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

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

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

std::vector<std::string> RTC::ModuleManager::getLoadPath  )  [inline]
 

std::string RTC::ModuleManager::load const std::string &  file_name,
const std::string &  init_func
 

std::string RTC::ModuleManager::load const std::string &  file_name  ) 
 

モジュールのロード

file_name をDLL もしくは共有ライブラリとしてロードする。 file_name は既定のロードパス (manager.modules.load_path) に対する 相対パスで指定する。

Property manager.modules.abs_path_allowed が yes の場合、 ロードするモジュールを絶対パスで指定することができる。 Property manager.modules.download_allowed が yes の場合、 ロードするモジュールをURLで指定することができる。

file_name は絶対パスで指定することができる。 manager.modules.allowAbsolutePath が no の場合、 既定のモジュールロードパスから、file_name のモジュールを探しロードする。

void RTC::ModuleManager::setLoadpath const std::vector< std::string > &  load_path  ) 
 

モジュールロードパスを指定する

void* RTC::ModuleManager::symbol const std::string &  file_name,
const std::string &  func_name
throw (ModuleNotFound, SymbolNotFound)
 

モジュールのシンボルの参照

void RTC::ModuleManager::unload const std::string &  file_name  ) 
 

モジュールのアンロード

void RTC::ModuleManager::unloadAll  ) 
 

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


変数

bool RTC::ModuleManager::m_absoluteAllowed [protected]
 

StringVector RTC::ModuleManager::m_configPath [protected]
 

bool RTC::ModuleManager::m_downloadAllowed [protected]
 

std::string RTC::ModuleManager::m_initFuncPrefix [protected]
 

std::string RTC::ModuleManager::m_initFuncSuffix [protected]
 

StringVector RTC::ModuleManager::m_loadPath [protected]
 

DllMap RTC::ModuleManager::m_modules [protected]
 

Properties& RTC::ModuleManager::m_properties [protected]
 


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