OpenRTM-aist 2.0.2
|
CORBA Naming Service ヘルパークラス [詳解]
#include <CorbaNaming.h>
公開型 | |
using | SystemException = CORBA::SystemException |
using | NotFound = CosNaming::NamingContext::NotFound |
using | CannotProceed = CosNaming::NamingContext::CannotProceed |
using | InvalidName = CosNaming::NamingContext::InvalidName |
using | AlreadyBound = CosNaming::NamingContext::AlreadyBound |
using | NotEmpty = CosNaming::NamingContext::NotEmpty |
using | InvalidAddress = CosNaming::NamingContextExt::InvalidAddress |
using | ObjectList = std::vector<CORBA::Object_ptr> |
公開メンバ関数 | |
CorbaNaming (CORBA::ORB_ptr orb) | |
コンストラクタ | |
CorbaNaming (CORBA::ORB_ptr orb, const char *name_server) | |
コンストラクタ | |
virtual | ~CorbaNaming () |
仮想デストラクタ | |
void | init (const char *name_server) |
ネーミングサービスの初期化 | |
bool | isAlive () |
void | bind (const CosNaming::Name &name, CORBA::Object_ptr obj, bool force=true) |
Object を bind する | |
void | bindByString (const char *string_name, CORBA::Object_ptr obj, bool force=true) |
Object を bind する | |
void | bindRecursive (CosNaming::NamingContext_ptr context, const CosNaming::Name &name, CORBA::Object_ptr obj) |
途中のコンテキストを再帰的に bind しながら Object を bind する | |
void | rebind (const CosNaming::Name &name, CORBA::Object_ptr obj, bool force=true) |
Object を rebind する | |
void | rebindByString (const char *string_name, CORBA::Object_ptr obj, bool force=true) |
Object を rebind する | |
void | bindContext (const CosNaming::Name &name, CosNaming::NamingContext_ptr name_cxt, bool force=true) |
NamingContext を bind する | |
void | bindContext (const char *string_name, CosNaming::NamingContext_ptr name_cxt, bool force=true) |
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, bool force=true) |
NamingContext を rebind する | |
void | rebindContext (const char *string_name, CosNaming::NamingContext_ptr name_cxt, bool force=true) |
NamingContext を rebind する | |
CORBA::Object_ptr | resolve (const CosNaming::Name &name) |
与えられた NameComponent にバインドされている Object を返す | |
CORBA::Object_ptr | resolve (const char *string_name) |
与えられた NameComponent にバインドされている Object を返す | |
void | unbind (const CosNaming::Name &name) |
与えられた NameComponent のバインディングを削除する | |
void | unbind (const char *string_name) |
与えられた NameComponent のバインディングを削除する | |
CosNaming::NamingContext_ptr | newContext () |
新しいコンテキストを生成する | |
CosNaming::NamingContext_ptr | bindNewContext (const CosNaming::Name &name, bool force=true) |
新しいコンテキストを bind する | |
CosNaming::NamingContext_ptr | bindNewContext (const char *string_name, bool force=true) |
新しいコンテキストを bind する | |
void | destroyRecursive (CosNaming::NamingContext_ptr context) |
NamingContext を再帰的に下って非アクティブ化する | |
void | clearAll () |
すべての Binding を削除する | |
void | list (const char *string_name, CosNaming::BindingList_var &bl) |
与えられた Naming パス以下のすべてのバインディングを取得する | |
void | listByKind (const char *string_name, const char *string_kind, CosNaming::BindingList_var &bl) |
与えられたパス以下の指定されたkindのバインディングを取得する | |
char * | toUrl (char *addr, char *string_name) |
与えられた addre と string_name から URL表現を取得する | |
CORBA::Object_ptr | resolveStr (const char *string_name) |
与えられた文字列表現を resolve しオブジェクトを返す | |
CosNaming::NamingContext_ptr | bindOrResolveContext (CosNaming::NamingContext_ptr context, const CosNaming::Name &name) |
名前をバインドまたは解決する | |
const char * | getNameServer () |
ネームサーバの名前を取得する | |
CosNaming::NamingContext_ptr | getRootContext () |
ルートコンテキストを取得する | |
bool | isNamingContext (const CosNaming::Name &name) |
与えられた名前がネーミングコンテキストかどうか | |
bool | isNamingContext (const char *string_name) |
与えられた名前がネーミングコンテキストかどうか | |
静的公開メンバ関数 | |
static void | rebindRecursive (CosNaming::NamingContext_ptr context, const CosNaming::Name &name, CORBA::Object_ptr obj) |
途中のコンテキストを bind しながら Object を rebind する | |
static void | rebindContextRecursive (CosNaming::NamingContext_ptr context, const CosNaming::Name &name, CosNaming::NamingContext_ptr name_cxt) |
途中のコンテキストを再帰的に rebind し NamingContext を rebind する | |
static void | destroy (CosNaming::NamingContext_ptr context) |
NamingContext を非アクティブ化する | |
static void | list (CosNaming::NamingContext_ptr name_cxt, CORBA::ULong how_many, CosNaming::BindingList_var &bl, CosNaming::BindingIterator_var &bi) |
与えられた NamingContext の Binding を取得する | |
static char * | toString (const CosNaming::Name &name) |
与えられた NameComponent の文字列表現を返す | |
static CosNaming::Name | toName (const char *sname) |
与えられた文字列表現を NameComponent に分解する | |
static CORBA::Object_ptr | bindOrResolve (CosNaming::NamingContext_ptr context, const CosNaming::Name &name, CORBA::Object_ptr obj) |
オブジェクトの名前をバインドまたは解決する | |
static CosNaming::NamingContext_ptr | bindOrResolveContext (CosNaming::NamingContext_ptr context, const CosNaming::Name &name, CosNaming::NamingContext_ptr new_context) |
名前をバインドまたは解決する | |
static bool | isNamingContext (CORBA::Object_ptr obj) |
オブジェクトがネーミングコンテキストか判別する | |
static CosNaming::Name | subName (const CosNaming::Name &name, CORBA::Long begin, CORBA::Long end=-1) |
ネームコンポーネントの部分を返す | |
静的限定公開メンバ関数 | |
static void | nameToString (const CosNaming::Name &name, char *string_name, CORBA::ULong slen) |
ネームコンポーネントの文字列表現を取得する | |
static CORBA::ULong | getNameLength (const CosNaming::Name &name) |
ネームコンポーネントの文字列表現時の文字長を取得する | |
static unsigned int | split (const std::string &input, const std::string &delimiter, std::vector< std::string > &results) |
文字列の分割 | |
限定公開変数類 | |
CORBA::ORB_ptr | m_ptrORB |
ORB | |
std::string | m_nameServer |
ネームサーバ名称 | |
CosNaming::NamingContextExt_var | m_rootContext |
指定したネームサーバのルートコンテキスト | |
CORBA Naming Service ヘルパークラス
このクラスは、CosNaming::NamingContext に対するラッパークラスである。 CosNaming::NamingContext が持つオペレーションとほぼ同じ機能の オペレーションを提供するとともに、ネームコンポーネント CosNaming::Name の代わりに文字列による名前表現を受け付けるオペレーションも提供する。
オブジェクトは生成時、あるいは生成直後に CORBA ネームサーバに接続し 以後、このネームサーバのルートコンテキストに対して種々のオペレーション を処理する。 深い階層のネーミングコンテキストの作成やオブジェクトのバインドにおいて、 途中のコンテキストが存在しない場合でも、強制的にコンテキストをバインド し目的のコンテキストやオブジェクトのバインドを行うこともできる。
using RTC::CorbaNaming::AlreadyBound = CosNaming::NamingContext::AlreadyBound |
using RTC::CorbaNaming::CannotProceed = CosNaming::NamingContext::CannotProceed |
using RTC::CorbaNaming::InvalidAddress = CosNaming::NamingContextExt::InvalidAddress |
using RTC::CorbaNaming::InvalidName = CosNaming::NamingContext::InvalidName |
using RTC::CorbaNaming::NotEmpty = CosNaming::NamingContext::NotEmpty |
using RTC::CorbaNaming::NotFound = CosNaming::NamingContext::NotFound |
using RTC::CorbaNaming::ObjectList = std::vector<CORBA::Object_ptr> |
using RTC::CorbaNaming::SystemException = CORBA::SystemException |
|
explicit |
コンストラクタ
orb | ORB |
RTC::CorbaNaming::CorbaNaming | ( | CORBA::ORB_ptr | orb, |
const char * | name_server ) |
コンストラクタ
orb | ORB |
name_server | ネームサーバの名称 |
|
virtual |
仮想デストラクタ
void RTC::CorbaNaming::bind | ( | const CosNaming::Name & | name, |
CORBA::Object_ptr | obj, | ||
bool | force = true ) |
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, | ||
bool | force = true ) |
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, | ||
bool | force = true ) |
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, | ||
bool | force = true ) |
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 ) |
新しいコンテキストを bind する
与えられた文字列に対応する新しいコンテキストをバインドする。 生成された NamingContext はネームサーバ上で生成されたものである。
string_name | NamingContextに付ける名前の文字列表現 |
force | trueの場合、途中のコンテキストを強制的にバインドする (デフォルト値:true) |
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 ) |
新しいコンテキストを bind する
与えられた name に対して新しいコンテキストをバインドする。 生成された NamingContext はネームサーバ上で生成されたものである。
name | NamingContextに付ける名前のネームコンポーネント |
force | trueの場合、途中のコンテキストを強制的にバインドする (デフォルト値:true) |
NotFound | 途中の <c_1, c_2, ..., c_(n-1)> が存在しない。 |
CannotProceed | 何らかの理由で処理を継続できない。 |
InvalidName | 引数 name の名前が不正。 |
AlreadyBound | name <n> の Object がすでにバインドされている。 |
|
static |
オブジェクトの名前をバインドまたは解決する
指定されたコンテキストに対してオブジェクトを NameComponent で指定された 位置にバインドする。 同一箇所に既に他の要素がバインド済みの場合は、既存のバインド済み要素を 取得する。
context | bind もしくは resole 対象コンテキスト |
name | オブジェクトに付ける名前の NameComponent |
obj | 関連付けられる Object |
CosNaming::NamingContext_ptr RTC::CorbaNaming::bindOrResolveContext | ( | CosNaming::NamingContext_ptr | context, |
const CosNaming::Name & | name ) |
名前をバインドまたは解決する
指定されたコンテキストに対して NameComponent で指定された位置に 新規コンテキストをバインドする。 同一箇所に既に他の要素がバインド済みの場合は、既存のバインド済み要素を 取得する。
context | bind もしくは resole 対象コンテキスト |
name | 新規作成するコンテキストの位置を表す NameComponent |
|
static |
名前をバインドまたは解決する
指定されたコンテキストに対して Contextを NameComponent で指定された位置に バインドする。 同一箇所に既に他の要素がバインド済みの場合は、既存のバインド済み要素を 取得する。
context | bind もしくは resole 対象コンテキスト |
name | コンテキストに付ける名前の NameComponent |
new_context | 関連付けられる Context |
void RTC::CorbaNaming::bindRecursive | ( | CosNaming::NamingContext_ptr | context, |
const CosNaming::Name & | name, | ||
CORBA::Object_ptr | obj ) |
途中のコンテキストを再帰的に 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 が生成 または解決された上で、CosNaming::bind(<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 を削除する。
|
static |
NamingContext を非アクティブ化する
context で指定された NamingContext を非アクティブ化する。 context に他のコンテキストがバインドされている場合は NotEmpty 例外が 発生する。
context | 非アクティブ化する NamingContext |
NotEmpty | 対象context に他のコンテキストがバインドされている。 |
void RTC::CorbaNaming::destroyRecursive | ( | CosNaming::NamingContext_ptr | context | ) |
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 の名前が不正。 |
|
staticprotected |
ネームコンポーネントの文字列表現時の文字長を取得する
指定したネームコンポーネントを文字列で表現した場合の長さを取得する。 文字列表現は、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 | 判別対象文字列 |
bool RTC::CorbaNaming::isNamingContext | ( | const CosNaming::Name & | name | ) |
与えられた名前がネーミングコンテキストかどうか
NameComponentで指定した要素がネーミングコンテキストか判別する
name | 判別対象NameComponent |
|
static |
オブジェクトがネーミングコンテキストか判別する
指定した要素がネーミングコンテキストか判別する
obj | 判別対象要素 |
void RTC::CorbaNaming::list | ( | const char * | string_name, |
CosNaming::BindingList_var & | bl ) |
与えられた Naming パス以下のすべてのバインディングを取得する
文字列で指定されたネーミング絶対パス以下のすべてのバインディング すなわちバインディングのタイプと参照のセットを取得する。パスは、 ルートコンテキストから階層を "/"、名前とコンテキストを "." で区 切った文字列である。
例えば、<name0>.<context0>/.../<name[n]>.<context[n]> を指定する と<name[n]>.<context[n]> の下にバインドされているコンテキストま たはオブジェクトリファレンスのリストが BindingList として返され る。
string_name | [in] 文字列で指定されるターゲットのパス |
bl | [out] 指定されたパスの下のバインディングリスト |
|
static |
与えられた NamingContext の Binding を取得する
指定された NamingContext の Binding を取得する。
name_cxt | Binding 取得対象 NamingContext |
how_many | Binding を取得する階層の深さ |
bl | 取得した Binding を保持するホルダ |
bi | 取得した Binding をたどるためのイテレータ |
void RTC::CorbaNaming::listByKind | ( | const char * | string_name, |
const char * | string_kind, | ||
CosNaming::BindingList_var & | bl ) |
与えられたパス以下の指定されたkindのバインディングを取得する
文字列で指定されたネーミング絶対パス以下のうち、指定された kind を持つすべてのバインディングを取得する。パスは、ルートコンテキス トから階層を "/"、名前とコンテキストを "." で区切った文字列であ る。
例えば、第1引数にパス <name0>.<context0>/.../<name[n]>.<context[n]> を指定し、第2引数 の kind "hoge" を指定すると、と<name[n]>.<context[n]> の下にバイ ンドされているコンテキストまたはオブジェクトリファレンスのリスト のうち kind が "hoge" のものが BindingList として返される。
例えば、<name0>.<context0>/.../<name[n]>.<context[n]> を指定する と<name[n]>.<context[n]> の下にバインドされているコンテキストま たはオブジェクトリファレンスのリストが BindingList として返され る。
string_name | [in] 文字列で指定されるターゲットのパス |
string_kind | [in] 文字列で指定されるターゲットのkind |
bl | [out] 指定されたパスの下のバインディングリスト |
|
staticprotected |
ネームコンポーネントの文字列表現を取得する
指定した範囲のネームコンポーネントの文字列表現を取得する。 文字列表現は、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 されていない。
void RTC::CorbaNaming::rebind | ( | const CosNaming::Name & | name, |
CORBA::Object_ptr | obj, | ||
bool | force = true ) |
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, | ||
bool | force = true ) |
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, | ||
bool | force = true ) |
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, | ||
bool | force = true ) |
NamingContext を rebind する
name で指定されたコンテキストがすでに存在する場合を除いて bindContext() と同じである。 バインディングがすでに存在する場合には、新しいバインディングに 置き換えられる。
name | オブジェクトに付ける名前のネームコンポーネント |
name_cxt | 関連付けられる NamingContext |
force | trueの場合、途中のコンテキストを強制的にバインドする (デフォルト値:true) |
NotFound | 途中の <c_1, c_2, ..., c_(n-1)> が存在しない。 |
CannotProceed | 何らかの理由で処理を継続できない。 |
InvalidName | 引数 name の名前が不正。 |
|
static |
途中のコンテキストを再帰的に rebind し NamingContext を rebind する
bind されるオブジェクトが NamingContext であることを除いて rebindRecursive() と同じである。
context | bind を開始する NamingContext |
name | オブジェクトに付ける名前の NameComponent |
name_cxt | 関連付けられる NamingContext |
|
static |
途中のコンテキストを 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 | ) |
与えられた 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 | ) |
与えられた 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 | ) |
与えられた文字列表現を resolve しオブジェクトを返す
指定された文字列表現をresolveし,オブジェクトを取得する。
string_name | 取得対象オブジェクト文字列表現 |
NotFound | 途中の <c_1, c_2, ..., c_(n-1)> が存在しない。 |
CannotProceed | 何らかの理由で処理を継続できない。 |
InvalidName | 引数 name の名前が不正。 |
AlreadyBound | name <n> の Object がすでにバインドされている。 |
|
staticprotected |
文字列の分割
文字列を指定したデリミタで分割する。
input | 分割対象文字列 |
delimiter | 分割用デリミタ |
results | 分割結果 |
|
static |
ネームコンポーネントの部分を返す
指定された範囲のネームコンポーネントを取得する。 終了位置が指定されていない場合は、最後の要素を除いたネームコンポーネント を返す。
name | 検索対象NameComponent |
begin | 取得範囲開始位置 |
end | 取得範囲終了位置(デフォルト値:-1) |
|
static |
与えられた文字列表現を NameComponent に分解する
指定された文字列を NameComponent に変換する。
string_name | 変換対象文字列 |
InvalidName | 引数 string_name が不正。 |
|
static |
与えられた NameComponent の文字列表現を返す
指定された NameComponent を文字に変換する。
name | 変換対象 NameComponent |
InvalidName | 引数 name の名前が不正。 |
char * RTC::CorbaNaming::toUrl | ( | char * | addr, |
char * | string_name ) |
与えられた addre と string_name から URL表現を取得する
指定されたアドレスと名称をURLに変換する。
addr | 変換対象アドレス |
string_name | 変換対象名称 |
InvalidAddress | 引数 addr が不正。 |
InvalidName | 引数 string_name が不正。 |
void RTC::CorbaNaming::unbind | ( | const char * | string_name | ) |
与えられた 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 | ) |
与えられた NameComponent のバインディングを削除する
name に bind されているオブジェクト参照を返す。 ネームコンポーネント <c_1, c_2, ... c_n> は再帰的に解決される。
CosNaming::unbind() とほぼ同等の働きをするが、常に与えられた ネームサーバのルートコンテキストに対して unbind() が呼び出される点が 異なる。
name | 削除するオブジェクトのネームコンポーネント |
NotFound | 途中の <c_1, c_2, ..., c_(n-1)> が存在しない。 |
CannotProceed | 何らかの理由で処理を継続できない。 |
InvalidName | 引数 name の名前が不正。 |
|
protected |
ネームサーバ名称
|
protected |
ORB
|
protected |
指定したネームサーバのルートコンテキスト