クラス RTC::CorbaNaming

CORBA Naming Service ヘルパークラス. [詳細]

#include <CorbaNaming.h>

すべてのメンバ一覧

Public 型

typedef CORBA::SystemException SystemException
typedef
CosNaming::NamingContext::NotFound 
NotFound
typedef
CosNaming::NamingContext::CannotProceed 
CannotProceed
typedef
CosNaming::NamingContext::InvalidName 
InvalidName
typedef
CosNaming::NamingContext::AlreadyBound 
AlreadyBound
typedef
CosNaming::NamingContext::NotEmpty 
NotEmpty
typedef
CosNaming::NamingContextExt::InvalidAddress 
InvalidAddress
typedef std::vector
< CORBA::Object_ptr > 
ObjectList

Public メソッド

 CorbaNaming (CORBA::ORB_ptr orb)
 コンストラクタ
 CorbaNaming (CORBA::ORB_ptr orb, const char *name_server)
 コンストラクタ
virtual ~CorbaNaming (void)
 仮想デストラクタ
void init (const char *name_server)
 ネーミングサービスの初期化
bool isAlive ()
void bind (const CosNaming::Name &name, CORBA::Object_ptr obj, const bool force=1) throw (SystemException, NotFound, CannotProceed, InvalidName, AlreadyBound)
 Object を bind する.
void bindByString (const char *string_name, CORBA::Object_ptr obj, const bool force=1) throw (SystemException, NotFound, CannotProceed, InvalidName, AlreadyBound)
 Object を bind する.
void bindRecursive (CosNaming::NamingContext_ptr context, const CosNaming::Name &name, CORBA::Object_ptr obj) throw (SystemException, CannotProceed, InvalidName, AlreadyBound)
 途中のコンテキストを再帰的に bind しながら Object を bind する
void rebind (const CosNaming::Name &name, CORBA::Object_ptr obj, const bool force=1) throw (SystemException, NotFound, CannotProceed, InvalidName)
 Object を rebind する.
void rebindByString (const char *string_name, CORBA::Object_ptr obj, const bool force=1) throw (SystemException, NotFound, CannotProceed, InvalidName)
 Object を rebind する.
void rebindRecursive (CosNaming::NamingContext_ptr context, const CosNaming::Name &name, CORBA::Object_ptr obj) throw (SystemException, CannotProceed, InvalidName)
 途中のコンテキストを bind しながら Object を rebind する
void bindContext (const CosNaming::Name &name, CosNaming::NamingContext_ptr name_cxt, const bool force=1) throw (SystemException, NotFound, CannotProceed, InvalidName, AlreadyBound)
 NamingContext を bind する.
void bindContext (const char *string_name, CosNaming::NamingContext_ptr name_cxt, const bool force=1) throw (SystemException, NotFound, CannotProceed, InvalidName, AlreadyBound)
 NamingContext を bind する.
void bindContextRecursive (CosNaming::NamingContext_ptr context, const CosNaming::Name &name, CosNaming::NamingContext_ptr name_cxt)
 途中のコンテキストを再帰的に bind し NamingContext を bind する
void rebindContext (const CosNaming::Name &name, CosNaming::NamingContext_ptr name_cxt, const bool force=1) throw (SystemException, NotFound, CannotProceed, InvalidName)
 NamingContext を rebind する.
void rebindContext (const char *string_name, CosNaming::NamingContext_ptr name_cxt, const bool force=1) throw (SystemException, NotFound, CannotProceed, InvalidName)
 NamingContext を rebind する.
void rebindContextRecursive (CosNaming::NamingContext_ptr context, const CosNaming::Name &name, CosNaming::NamingContext_ptr name_cxt)
 途中のコンテキストを再帰的に rebind し NamingContext を rebind する
CORBA::Object_ptr resolve (const CosNaming::Name &name) throw (SystemException, NotFound, CannotProceed, InvalidName)
 与えられた NameComponent にバインドされている Object を返す
CORBA::Object_ptr resolve (const char *string_name) throw (SystemException, NotFound, CannotProceed, InvalidName)
 与えられた NameComponent にバインドされている Object を返す
void unbind (const CosNaming::Name &name) throw (SystemException, NotFound, CannotProceed, InvalidName)
 与えられた NameComponent のバインディングを削除する
void unbind (const char *string_name) throw (SystemException, NotFound, CannotProceed, InvalidName)
 与えられた NameComponent のバインディングを削除する
CosNaming::NamingContext_ptr newContext ()
 新しいコンテキストを生成する
CosNaming::NamingContext_ptr bindNewContext (const CosNaming::Name &name, bool force=true) throw (SystemException, NotFound, CannotProceed, InvalidName, AlreadyBound)
 新しいコンテキストを bind する
CosNaming::NamingContext_ptr bindNewContext (const char *string_name, bool force=true) throw (SystemException, NotFound, CannotProceed, InvalidName, AlreadyBound)
 新しいコンテキストを bind する
void destroy (CosNaming::NamingContext_ptr context) throw (SystemException, NotEmpty)
 NamingContext を非アクティブ化する.
void destroyRecursive (CosNaming::NamingContext_ptr context) throw (SystemException, NotEmpty, NotFound, CannotProceed, InvalidName)
 NamingContext を再帰的に下って非アクティブ化する.
void clearAll ()
 すべての Binding を削除する
void list (CosNaming::NamingContext_ptr name_cxt, CORBA::ULong how_many, CosNaming::BindingList_var &bl, CosNaming::BindingIterator_var &bi)
 与えられた NamingContext の Binding を取得する
char * toString (const CosNaming::Name &name) throw (SystemException, InvalidName)
 与えられた NameComponent の文字列表現を返す
CosNaming::Name toName (const char *string_name) throw (SystemException, InvalidName)
 与えられた文字列表現を NameComponent に分解する
char * toUrl (char *addr, char *string_name) throw (SystemException, InvalidAddress, InvalidName)
 与えられた addre と string_name から URL表現を取得する
CORBA::Object_ptr resolveStr (const char *string_name) throw (SystemException, NotFound, CannotProceed, InvalidName, AlreadyBound)
 与えられた文字列表現を resolve しオブジェクトを返す
CORBA::Object_ptr bindOrResolve (CosNaming::NamingContext_ptr context, const CosNaming::Name &name, CORBA::Object_ptr obj)
 オブジェクトの名前をバインドまたは解決する
CosNaming::NamingContext_ptr bindOrResolveContext (CosNaming::NamingContext_ptr context, const CosNaming::Name &name, CosNaming::NamingContext_ptr new_context)
 名前をバインドまたは解決する
CosNaming::NamingContext_ptr bindOrResolveContext (CosNaming::NamingContext_ptr context, const CosNaming::Name &name)
 名前をバインドまたは解決する
const char * getNameServer ()
 ネームサーバの名前を取得する
CosNaming::NamingContext_ptr getRootContext ()
 ルートコンテキストを取得する
bool isNamingContext (CORBA::Object_ptr obj)
 オブジェクトがネーミングコンテキストか判別する
bool isNamingContext (const CosNaming::Name &name)
 与えられた名前がネーミングコンテキストかどうか
bool isNamingContext (const char *string_name)
 与えられた名前がネーミングコンテキストかどうか
CosNaming::Name subName (const CosNaming::Name &name, CORBA::Long begin, CORBA::Long end=-1)
 ネームコンポーネントの部分を返す

Protected メソッド

void nameToString (const CosNaming::Name &name, char *string_name, CORBA::ULong slen)
 ネームコンポーネントの文字列表現を取得する
CORBA::ULong getNameLength (const CosNaming::Name &name)
 ネームコンポーネントの文字列表現時の文字長を取得する
unsigned int split (const std::string &input, const std::string &delimiter, std::vector< std::string > &results)
 文字列の分割

Protected 変数

CORBA::ORB_var m_varORB
 ORB.
std::string m_nameServer
 ネームサーバ名称
CosNaming::NamingContextExt_var m_rootContext
 指定したネームサーバのルートコンテキスト

説明

CORBA Naming Service ヘルパークラス.

このクラスは、CosNamingNamingContext に対するラッパークラスである。 CosNaming::NamingContext が持つオペレーションとほぼ同じ機能の オペレーションを提供するとともに、ネームコンポーネント CosNaming::Name の代わりに文字列による名前表現を受け付けるオペレーションも提供する。

オブジェクトは生成時、あるいは生成直後に CORBA ネームサーバに接続し 以後、このネームサーバのルートコンテキストに対して種々のオペレーション を処理する。 深い階層のネーミングコンテキストの作成やオブジェクトのバインドにおいて、 途中のコンテキストが存在しない場合でも、強制的にコンテキストをバインド し目的のコンテキストやオブジェクトのバインドを行うこともできる。

から:
0.4.0

型定義

typedef CosNaming::NamingContext::AlreadyBound RTC::CorbaNaming::AlreadyBound
typedef CosNaming::NamingContext::CannotProceed RTC::CorbaNaming::CannotProceed
typedef CosNaming::NamingContextExt::InvalidAddress RTC::CorbaNaming::InvalidAddress
typedef CosNaming::NamingContext::InvalidName RTC::CorbaNaming::InvalidName
typedef CosNaming::NamingContext::NotEmpty RTC::CorbaNaming::NotEmpty
typedef CosNaming::NamingContext::NotFound RTC::CorbaNaming::NotFound
typedef std::vector<CORBA::Object_ptr> RTC::CorbaNaming::ObjectList
typedef CORBA::SystemException RTC::CorbaNaming::SystemException

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

RTC::CorbaNaming::CorbaNaming ( CORBA::ORB_ptr  orb  ) 

コンストラクタ

引数:
orb ORB
RTC::CorbaNaming::CorbaNaming ( CORBA::ORB_ptr  orb,
const char *  name_server 
)

コンストラクタ

引数:
orb ORB
name_server ネームサーバの名称
virtual RTC::CorbaNaming::~CorbaNaming ( void   )  [inline, virtual]

仮想デストラクタ


関数

void RTC::CorbaNaming::bind ( const CosNaming::Name &  name,
CORBA::Object_ptr  obj,
const bool  force = 1 
) throw (SystemException, NotFound, CannotProceed, InvalidName, AlreadyBound)

Object を bind する.

CosNaming::bind() とほぼ同等の働きをするが、常に与えられたネームサーバの ルートコンテキストに対してbind()が呼び出される点が異なる。

Name <name> と Object <obj> を当該 NamingContext 上にバインドする。 c_n が n 番目の NameComponent をあらわすとすると、 name が n 個の NameComponent から成るとき、以下のように扱われる。

cxt->bind(<c_1, c_2, ... c_n>, obj) は以下の操作と同等である。 cxt->resolve(<c_1, ... c_(n-1)>)->bind(<c_n>, obj)

すなわち、1番目からn-1番目のコンテキストを解決し、n-1番目のコンテキスト 上に name <n> として obj を bind する。 名前解決に参加する <c_1, ... c_(n-1)> の NemingContext は、 bindContext()rebindContext() で既にバインド済みでなければならない。 もし <c_1, ... c_(n-1)> の NamingContext が存在しない場合には、 NotFound 例外が発生する。

ただし、強制バインドフラグ force が true の時は、<c_1, ... c_(n-1)> が存在しない場合にも、再帰的にコンテキストをバインドしながら、 最終的に obj を名前 name <c_n> にバインドする。

いずれの場合でも、n-1番目のコンテキスト上に name<n> のオブジェクト (Object あるいは コンテキスト) がバインドされていれば AlreadyBound 例外が発生する。

引数:
name オブジェクトに付ける名前の NameComponent
obj 関連付けられる Object
force trueの場合、途中のコンテキストを強制的にバインドする (デフォルト値:true)
例外:
NotFound 途中の <c_1, c_2, ..., c_(n-1)> が存在しない。
CannotProceed 何らかの理由で処理を継続できない。
InvalidName 引数 name の名前が不正。
AlreadyBound name <c_n> の Object がすでにバインドされている。
void RTC::CorbaNaming::bindByString ( const char *  string_name,
CORBA::Object_ptr  obj,
const bool  force = 1 
) throw (SystemException, NotFound, CannotProceed, InvalidName, AlreadyBound)

Object を bind する.

Object を bind する際に与える名前が文字列表現であること以外は、bind() と同じである。bind(toName(string_name), obj) と等価。

引数:
string_name オブジェクトに付ける名前の文字列表現
obj 関連付けられるオブジェクト
force trueの場合、途中のコンテキストを強制的にバインドする (デフォルト値:true)
例外:
NotFound 途中の <c_1, c_2, ..., c_(n-1)> が存在しない。
CannotProceed 何らかの理由で処理を継続できない。
InvalidName 引数 name の名前が不正。
AlreadyBound name <n> の Object がすでにバインドされている。
void RTC::CorbaNaming::bindContext ( const char *  string_name,
CosNaming::NamingContext_ptr  name_cxt,
const bool  force = 1 
) throw (SystemException, NotFound, CannotProceed, InvalidName, AlreadyBound)

NamingContext を bind する.

bind されるオブジェクトが NamingContext であることを除いて bindByString() と同じである。

引数:
string_name オブジェクトに付ける名前の文字列表現
name_cxt 関連付けられる NamingContext
force trueの場合、途中のコンテキストを強制的にバインドする (デフォルト値:true)
例外:
NotFound 途中の <c_1, c_2, ..., c_(n-1)> が存在しない。
CannotProceed 何らかの理由で処理を継続できない。
InvalidName 引数 name の名前が不正。
AlreadyBound name <n> の Object がすでにバインドされている。
void RTC::CorbaNaming::bindContext ( const CosNaming::Name &  name,
CosNaming::NamingContext_ptr  name_cxt,
const bool  force = 1 
) throw (SystemException, NotFound, CannotProceed, InvalidName, AlreadyBound)

NamingContext を bind する.

bind されるオブジェクトが NamingContext であることを除いて bind() と同じである。

引数:
name オブジェクトに付ける名前のネームコンポーネント
name_cxt 関連付けられる NamingContext
force trueの場合、途中のコンテキストを強制的にバインドする (デフォルト値:true)
例外:
NotFound 途中の <c_1, c_2, ..., c_(n-1)> が存在しない。
CannotProceed 何らかの理由で処理を継続できない。
InvalidName 引数 name の名前が不正。
AlreadyBound name <c_n> の Object がすでにバインドされている。
void RTC::CorbaNaming::bindContextRecursive ( CosNaming::NamingContext_ptr  context,
const CosNaming::Name &  name,
CosNaming::NamingContext_ptr  name_cxt 
)

途中のコンテキストを再帰的に bind し NamingContext を bind する

bind されるオブジェクトが NamingContext であることを除いて bindRecursive() と同じである。

引数:
context bind を開始する NamingContext
name オブジェクトに付ける名前のネームコンポーネント
name_cxt 関連付けられる NamingContext
CosNaming::NamingContext_ptr RTC::CorbaNaming::bindNewContext ( const char *  string_name,
bool  force = true 
) throw (SystemException, NotFound, CannotProceed, InvalidName, AlreadyBound)

新しいコンテキストを bind する

与えられた文字列に対応する新しいコンテキストをバインドする。 生成された NamingContext はネームサーバ上で生成されたものである。

引数:
string_name NamingContextに付ける名前の文字列表現
force trueの場合、途中のコンテキストを強制的にバインドする (デフォルト値:true)
戻り値:
生成された新しい NamingContext
例外:
NotFound 途中の <c_1, c_2, ..., c_(n-1)> が存在しない。
CannotProceed 何らかの理由で処理を継続できない。
InvalidName 引数 name の名前が不正。
AlreadyBound name <n> の Object がすでにバインドされている。
CosNaming::NamingContext_ptr RTC::CorbaNaming::bindNewContext ( const CosNaming::Name &  name,
bool  force = true 
) throw (SystemException, NotFound, CannotProceed, InvalidName, AlreadyBound)

新しいコンテキストを bind する

与えられた name に対して新しいコンテキストをバインドする。 生成された NamingContext はネームサーバ上で生成されたものである。

引数:
name NamingContextに付ける名前のネームコンポーネント
force trueの場合、途中のコンテキストを強制的にバインドする (デフォルト値:true)
戻り値:
生成された新しい NamingContext
例外:
NotFound 途中の <c_1, c_2, ..., c_(n-1)> が存在しない。
CannotProceed 何らかの理由で処理を継続できない。
InvalidName 引数 name の名前が不正。
AlreadyBound name <n> の Object がすでにバインドされている。
CORBA::Object_ptr RTC::CorbaNaming::bindOrResolve ( CosNaming::NamingContext_ptr  context,
const CosNaming::Name &  name,
CORBA::Object_ptr  obj 
)

オブジェクトの名前をバインドまたは解決する

指定されたコンテキストに対してオブジェクトを NameComponent で指定された 位置にバインドする。 同一箇所に既に他の要素がバインド済みの場合は、既存のバインド済み要素を 取得する。

引数:
context bind もしくは resole 対象コンテキスト
name オブジェクトに付ける名前の NameComponent
obj 関連付けられる Object
戻り値:
NameComponent で指定された位置にバインドされているオブジェクト
CosNaming::NamingContext_ptr RTC::CorbaNaming::bindOrResolveContext ( CosNaming::NamingContext_ptr  context,
const CosNaming::Name &  name 
)

名前をバインドまたは解決する

指定されたコンテキストに対して NameComponent で指定された位置に 新規コンテキストをバインドする。 同一箇所に既に他の要素がバインド済みの場合は、既存のバインド済み要素を 取得する。

引数:
context bind もしくは resole 対象コンテキスト
name 新規作成するコンテキストの位置を表す NameComponent
戻り値:
NameComponent で指定された位置にバインドされているContext
CosNaming::NamingContext_ptr RTC::CorbaNaming::bindOrResolveContext ( CosNaming::NamingContext_ptr  context,
const CosNaming::Name &  name,
CosNaming::NamingContext_ptr  new_context 
)

名前をバインドまたは解決する

指定されたコンテキストに対して Contextを NameComponent で指定された位置に バインドする。 同一箇所に既に他の要素がバインド済みの場合は、既存のバインド済み要素を 取得する。

引数:
context bind もしくは resole 対象コンテキスト
name コンテキストに付ける名前の NameComponent
new_context 関連付けられる Context
戻り値:
NameComponent で指定された位置にバインドされているContext
void RTC::CorbaNaming::bindRecursive ( CosNaming::NamingContext_ptr  context,
const CosNaming::Name &  name,
CORBA::Object_ptr  obj 
) throw (SystemException, CannotProceed, InvalidName, AlreadyBound)

途中のコンテキストを再帰的に bind しながら Object を bind する

context で与えられた NamingContext に対して、name で指定された ネームコンポーネント <c_1, ... c_(n-1)> を NamingContext として 解決しながら、名前 <c_n> に対して obj を bind する。 もし、<c_1, ... c_(n-1)> に対応する NamingContext がない場合には 新たな NamingContext をバインドする。

最終的に <c_1, c_2, ..., c_(n-1)> に対応する NamingContext が生成 または解決された上で、CosNamingbind(<c_n>, object) が呼び出される。 このとき、すでにバインディングが存在すれば AlreadyBound例外が発生する。

途中のコンテキストを解決する過程で、解決しようとするコンテキストと 同じ名前の NamingContext ではない Binding が存在する場合、 CannotProceed 例外が発生し処理を中止する。

引数:
context bind を開始する NamingContext
name オブジェクトに付ける名前のネームコンポーネント
obj 関連付けられるオブジェクト
例外:
CannotProceed <c_1, ..., c_(n-1)> に対応する NamingContext のうちひとつが、すでに NamingContext 以外の object にバインド されており、処理を継続できない。
InvalidName 名前 name が不正
AlreadyBound name <c_n> にすでに何らかの object がバインド されている。
void RTC::CorbaNaming::clearAll (  ) 

すべての Binding を削除する

登録されている全てのBinding を削除する。

void RTC::CorbaNaming::destroy ( CosNaming::NamingContext_ptr  context  )  throw (SystemException, NotEmpty)

NamingContext を非アクティブ化する.

context で指定された NamingContext を非アクティブ化する。 context に他のコンテキストがバインドされている場合は NotEmpty 例外が 発生する。

引数:
context 非アクティブ化する NamingContext
例外:
NotEmpty 対象context に他のコンテキストがバインドされている。
void RTC::CorbaNaming::destroyRecursive ( CosNaming::NamingContext_ptr  context  )  throw (SystemException, NotEmpty, NotFound, CannotProceed, InvalidName)

NamingContext を再帰的に下って非アクティブ化する.

context で与えられた NamingContext に対して、name で指定された ネームコンポーネント <c_1, ... c_(n-1)> を NamingContext として 解決しながら、名前 <c_n> に対して 非アクティブ化を行う。

引数:
context 非アクティブ化する NamingContext
例外:
NotEmpty 対象context に他のコンテキストがバインドされている。
NotFound 途中の <c_1, c_2, ..., c_(n-1)> が存在しない。
CannotProceed 何らかの理由で処理を継続できない。
InvalidName 引数 name の名前が不正。
CORBA::ULong RTC::CorbaNaming::getNameLength ( const CosNaming::Name &  name  )  [protected]

ネームコンポーネントの文字列表現時の文字長を取得する

指定したネームコンポーネントを文字列で表現した場合の長さを取得する。 文字列表現は、NameComponentの構成が{Nc[0],Nc[1],Nc[2]...}の場合、 Nc[0]id.Nc[0].kind/Nc[1]id.Nc[1].kind/Nc[2].id/Nc[2].kind... という形式で取得できる。

引数:
name 取得対象NameComponent
戻り値:
指定したネームコンポーネントの文字列長さ
const char* RTC::CorbaNaming::getNameServer (  ) 

ネームサーバの名前を取得する

設定したネームサーバの名前を取得する。

戻り値:
ネームサーバの名前
CosNaming::NamingContext_ptr RTC::CorbaNaming::getRootContext (  ) 

ルートコンテキストを取得する

設定したネームサーバのルートコンテキストを取得する。

戻り値:
ネームサーバのルートコンテキスト
void RTC::CorbaNaming::init ( const char *  name_server  ) 

ネーミングサービスの初期化

指定されたネームサーバ上のネーミングサービスを初期化します。

引数:
name_server ネームサーバの名称
bool RTC::CorbaNaming::isAlive (  ) 
bool RTC::CorbaNaming::isNamingContext ( const char *  string_name  ) 

与えられた名前がネーミングコンテキストかどうか

文字列で指定した要素がネーミングコンテキストか判別する

引数:
string_name 判別対象文字列
戻り値:
判別結果(ネーミングコンテキスト:true、それ以外:false)
bool RTC::CorbaNaming::isNamingContext ( const CosNaming::Name &  name  ) 

与えられた名前がネーミングコンテキストかどうか

NameComponentで指定した要素がネーミングコンテキストか判別する

引数:
name 判別対象NameComponent
戻り値:
判別結果(ネーミングコンテキスト:true、それ以外:false)
bool RTC::CorbaNaming::isNamingContext ( CORBA::Object_ptr  obj  ) 

オブジェクトがネーミングコンテキストか判別する

指定した要素がネーミングコンテキストか判別する

引数:
obj 判別対象要素
戻り値:
判別結果(ネーミングコンテキスト:true、それ以外:false)
void RTC::CorbaNaming::list ( CosNaming::NamingContext_ptr  name_cxt,
CORBA::ULong  how_many,
CosNaming::BindingList_var &  bl,
CosNaming::BindingIterator_var &  bi 
)

与えられた NamingContext の Binding を取得する

指定された NamingContext の Binding を取得する。

引数:
name_cxt Binding 取得対象 NamingContext
how_many Binding を取得する階層の深さ
bl 取得した Binding を保持するホルダ
bi 取得した Binding をたどるためのイテレータ
void RTC::CorbaNaming::nameToString ( const CosNaming::Name &  name,
char *  string_name,
CORBA::ULong  slen 
) [protected]

ネームコンポーネントの文字列表現を取得する

指定した範囲のネームコンポーネントの文字列表現を取得する。 文字列表現は、NameComponentの構成が{Nc[0], Nc[1], Nc[2]...}の場合、 Nc[0]id.Nc[0].kind/Nc[1]id.Nc[1].kind/Nc[2].id/Nc[2].kind... という形式で取得できる。 取得した文字列の長さが指定した長さ以上の場合は、 指定した長さで切り捨てられる。

引数:
name 取得対象NameComponent
string_name 取得結果文字列
slen 取得対象文字列最大値
CosNaming::NamingContext_ptr RTC::CorbaNaming::newContext (  ) 

新しいコンテキストを生成する

与えられたネームサーバ上で生成された NamingContext を返す。 返された NamingContext は bind されていない。

戻り値:
生成された新しい NamingContext
void RTC::CorbaNaming::rebind ( const CosNaming::Name &  name,
CORBA::Object_ptr  obj,
const bool  force = 1 
) throw (SystemException, NotFound, CannotProceed, InvalidName)

Object を rebind する.

name で指定された Binding がすでに存在する場合を除いて bind() と同じ である。バインディングがすでに存在する場合には、新しいバインディングに 置き換えられる。

引数:
name オブジェクトに付ける名前の NameComponent
obj 関連付けられるオブジェクト
force trueの場合、途中のコンテキストを強制的にバインドする (デフォルト値:true)
例外:
NotFound 途中の <c_1, c_2, ..., c_(n-1)> が存在しない。
CannotProceed 何らかの理由で処理を継続できない。
InvalidName 名前 name が不正
void RTC::CorbaNaming::rebindByString ( const char *  string_name,
CORBA::Object_ptr  obj,
const bool  force = 1 
) throw (SystemException, NotFound, CannotProceed, InvalidName)

Object を rebind する.

Object を rebind する際に与える名前が文字列表現であること以外は rebind() と同じである。rebind(toName(string_name), obj) と等価。

引数:
string_name オブジェクトに付ける名前の文字列表現
obj 関連付けられるオブジェクト
force trueの場合、途中のコンテキストを強制的にバインドする (デフォルト値:true)
例外:
NotFound 途中の <c_1, c_2, ..., c_(n-1)> が存在しない。
CannotProceed 何らかの理由で処理を継続できない。
InvalidName 引数 name の名前が不正。
void RTC::CorbaNaming::rebindContext ( const char *  string_name,
CosNaming::NamingContext_ptr  name_cxt,
const bool  force = 1 
) throw (SystemException, NotFound, CannotProceed, InvalidName)

NamingContext を rebind する.

name で指定されたコンテキストがすでに存在する場合を除いて bindContext() と同じである。 バインディングがすでに存在する場合には、新しいバインディングに 置き換えられる。

引数:
string_name オブジェクトに付ける名前の文字列表現
name_cxt 関連付けられる NamingContext
force trueの場合、途中のコンテキストを強制的にバインドする (デフォルト値:true)
例外:
NotFound 途中の <c_1, c_2, ..., c_(n-1)> が存在しない。
CannotProceed 何らかの理由で処理を継続できない。
InvalidName 引数 name の名前が不正。
void RTC::CorbaNaming::rebindContext ( const CosNaming::Name &  name,
CosNaming::NamingContext_ptr  name_cxt,
const bool  force = 1 
) throw (SystemException, NotFound, CannotProceed, InvalidName)

NamingContext を rebind する.

name で指定されたコンテキストがすでに存在する場合を除いて bindContext() と同じである。 バインディングがすでに存在する場合には、新しいバインディングに 置き換えられる。

引数:
name オブジェクトに付ける名前のネームコンポーネント
name_cxt 関連付けられる NamingContext
force trueの場合、途中のコンテキストを強制的にバインドする (デフォルト値:true)
例外:
NotFound 途中の <c_1, c_2, ..., c_(n-1)> が存在しない。
CannotProceed 何らかの理由で処理を継続できない。
InvalidName 引数 name の名前が不正。
void RTC::CorbaNaming::rebindContextRecursive ( CosNaming::NamingContext_ptr  context,
const CosNaming::Name &  name,
CosNaming::NamingContext_ptr  name_cxt 
)

途中のコンテキストを再帰的に rebind し NamingContext を rebind する

bind されるオブジェクトが NamingContext であることを除いて rebindRecursive() と同じである。

引数:
context bind を開始する NamingContext
name オブジェクトに付ける名前の NameComponent
name_cxt 関連付けられる NamingContext
void RTC::CorbaNaming::rebindRecursive ( CosNaming::NamingContext_ptr  context,
const CosNaming::Name &  name,
CORBA::Object_ptr  obj 
) throw (SystemException, CannotProceed, InvalidName)

途中のコンテキストを bind しながら Object を rebind する

name <c_n> で指定された NamingContext もしくは Object がすでに存在する 場合を除いて bindRecursive() と同じである。

name <c_n> で指定されたバインディングがすでに存在する場合には、 新しいバインディングに置き換えられる。

引数:
context bind を開始する NamingContext
name オブジェクトに付ける名前の NameComponent
obj 関連付けられるオブジェクト
例外:
CannotProceed 途中のコンテキストが解決できない。
InvalidName 与えられた name が不正。
CORBA::Object_ptr RTC::CorbaNaming::resolve ( const char *  string_name  )  throw (SystemException, NotFound, CannotProceed, InvalidName)

与えられた NameComponent にバインドされている Object を返す

name に bind されているオブジェクト参照を返す。 ネームコンポーネント <c_1, c_2, ... c_n> は再帰的に解決される。

CosNaming::resolve() とほぼ同等の働きをするが、常に与えられた ネームサーバのルートコンテキストに対して resolve() が呼び出される点が 異なる。

引数:
string_name 解決すべきオブジェクトの名前の文字列表現
戻り値:
解決されたオブジェクト参照
例外:
NotFound 途中の <c_1, c_2, ..., c_(n-1)> が存在しない。
CannotProceed 何らかの理由で処理を継続できない。
InvalidName 引数 name の名前が不正。
CORBA::Object_ptr RTC::CorbaNaming::resolve ( const CosNaming::Name &  name  )  throw (SystemException, NotFound, CannotProceed, InvalidName)

与えられた NameComponent にバインドされている Object を返す

name に bind されているオブジェクト参照を返す。 ネームコンポーネント <c_1, c_2, ... c_n> は再帰的に解決される。

CosNaming::resolve() とほぼ同等の働きをするが、常に与えられた ネームサーバのルートコンテキストに対して resolve() が呼び出される点が 異なる。

引数:
name 解決すべきオブジェクトの名前のネームコンポーネント
戻り値:
解決されたオブジェクト参照
例外:
NotFound 途中の <c_1, c_2, ..., c_(n-1)> が存在しない。
CannotProceed 何らかの理由で処理を継続できない。
InvalidName 引数 name の名前が不正。
CORBA::Object_ptr RTC::CorbaNaming::resolveStr ( const char *  string_name  )  throw (SystemException, NotFound, CannotProceed, InvalidName, AlreadyBound)

与えられた文字列表現を resolve しオブジェクトを返す

指定された文字列表現をresolveし,オブジェクトを取得する。

引数:
string_name 取得対象オブジェクト文字列表現
戻り値:
解決されたオブジェクト
例外:
NotFound 途中の <c_1, c_2, ..., c_(n-1)> が存在しない。
CannotProceed 何らかの理由で処理を継続できない。
InvalidName 引数 name の名前が不正。
AlreadyBound name <n> の Object がすでにバインドされている。
unsigned int RTC::CorbaNaming::split ( const std::string &  input,
const std::string &  delimiter,
std::vector< std::string > &  results 
) [protected]

文字列の分割

文字列を指定したデリミタで分割する。

引数:
input 分割対象文字列
delimiter 分割用デリミタ
results 分割結果
戻り値:
分割した文字列の要素数
CosNaming::Name RTC::CorbaNaming::subName ( const CosNaming::Name &  name,
CORBA::Long  begin,
CORBA::Long  end = -1 
)

ネームコンポーネントの部分を返す

指定された範囲のネームコンポーネントを取得する。 終了位置が指定されていない場合は、最後の要素を除いたネームコンポーネント を返す。

引数:
name 検索対象NameComponent
begin 取得範囲開始位置
end 取得範囲終了位置(デフォルト値:-1)
戻り値:
NameComponent 取得結果
CosNaming::Name RTC::CorbaNaming::toName ( const char *  string_name  )  throw (SystemException, InvalidName)

与えられた文字列表現を NameComponent に分解する

指定された文字列を NameComponent に変換する。

引数:
string_name 変換対象文字列
戻り値:
NameComponent 変換結果
例外:
InvalidName 引数 string_name が不正。
char* RTC::CorbaNaming::toString ( const CosNaming::Name &  name  )  throw (SystemException, InvalidName)

与えられた NameComponent の文字列表現を返す

指定された NameComponent を文字に変換する。

引数:
name 変換対象 NameComponent
戻り値:
文字列変換結果
例外:
InvalidName 引数 name の名前が不正。
char* RTC::CorbaNaming::toUrl ( char *  addr,
char *  string_name 
) throw (SystemException, InvalidAddress, InvalidName)

与えられた addre と string_name から URL表現を取得する

指定されたアドレスと名称をURLに変換する。

引数:
addr 変換対象アドレス
string_name 変換対象名称
戻り値:
URL 変換結果
例外:
InvalidAddress 引数 addr が不正。
InvalidName 引数 string_name が不正。
void RTC::CorbaNaming::unbind ( const char *  string_name  )  throw (SystemException, NotFound, CannotProceed, InvalidName)

与えられた NameComponent のバインディングを削除する

name に bind されているオブジェクト参照を返す。 ネームコンポーネント <c_1, c_2, ... c_n> は再帰的に解決される。

CosNaming::unbind() とほぼ同等の働きをするが、常に与えられた ネームサーバのルートコンテキストに対して unbind() が呼び出される点が 異なる。

引数:
string_name 解決すべきオブジェクトの名前の文字列表現
戻り値:
解決されたオブジェクト参照
例外:
NotFound 途中の <c_1, c_2, ..., c_(n-1)> が存在しない。
CannotProceed 何らかの理由で処理を継続できない。
InvalidName 引数 name の名前が不正。
void RTC::CorbaNaming::unbind ( const CosNaming::Name &  name  )  throw (SystemException, NotFound, CannotProceed, InvalidName)

与えられた NameComponent のバインディングを削除する

name に bind されているオブジェクト参照を返す。 ネームコンポーネント <c_1, c_2, ... c_n> は再帰的に解決される。

CosNaming::unbind() とほぼ同等の働きをするが、常に与えられた ネームサーバのルートコンテキストに対して unbind() が呼び出される点が 異なる。

引数:
name 削除するオブジェクトのネームコンポーネント
例外:
NotFound 途中の <c_1, c_2, ..., c_(n-1)> が存在しない。
CannotProceed 何らかの理由で処理を継続できない。
InvalidName 引数 name の名前が不正。

変数

std::string RTC::CorbaNaming::m_nameServer [protected]

ネームサーバ名称

CosNaming::NamingContextExt_var RTC::CorbaNaming::m_rootContext [protected]

指定したネームサーバのルートコンテキスト

CORBA::ORB_var RTC::CorbaNaming::m_varORB [protected]

ORB.

OpenRTM-aistに対してFri Oct 28 18:31:16 2016に生成されました。  doxygen 1.6.3