OpenRTM-aist-Python 1.1.2
|
CORBA Naming Service ヘルパークラス [詳解]
公開メンバ関数 | |
def | __init__ (self, orb, name_server=None) |
コンストラクタ [詳解] | |
def | __del__ (self) |
デストラクタ [詳解] | |
def | init (self, name_server) |
ネーミングサービスの初期化 [詳解] | |
def | isAlive (self) |
ルートコンテキストが生存しているかを返す。 [詳解] | |
def | bind (self, name_list, obj, force=None) |
Object を bind する [詳解] | |
def | bindByString (self, string_name, obj, force=True) |
Object を bind する [詳解] | |
def | bindRecursive (self, context, name_list, obj) |
途中のコンテキストを bind しながら Object を bind する [詳解] | |
def | rebind (self, name_list, obj, force=True) |
Object を rebind する [詳解] | |
def | rebindByString (self, string_name, obj, force=True) |
Object を rebind する [詳解] | |
def | rebindRecursive (self, context, name_list, obj) |
途中のコンテキストを bind しながら Object を rebind する [詳解] | |
def | bindContext (self, name, name_cxt, force=True) |
NamingContext を bind する [詳解] | |
def | bindContextRecursive (self, context, name_list, name_cxt) |
NamingContext を bind する [詳解] | |
def | rebindContext (self, name, name_cxt, force=True) |
NamingContext を rebind する [詳解] | |
def | rebindContextRecursive (self, context, name_list, name_cxt) |
途中のコンテキストを再帰的に rebind し NamingContext を rebind する # bind されるオブジェクトが NamingContext であることを除いて rebindRecursive() と同じである。 [詳解] | |
def | resolve (self, name) |
Object を name から解決する [詳解] | |
def | unbind (self, name) |
指定された名前のオブジェクトの bind を解除する [詳解] | |
def | newContext (self) |
新しいコンテキストを生成する [詳解] | |
def | bindNewContext (self, name, force=True) |
新しいコンテキストを bind する [詳解] | |
def | destroy (self, context) |
NamingContext を非アクティブ化する [詳解] | |
def | destroyRecursive (self, context) |
NamingContext を再帰的に下って非アクティブ化する [詳解] | |
def | clearAll (self) |
すべての Binding を削除する [詳解] | |
def | list (self, name_cxt, how_many, rbl, rbi) |
与えられた NamingContext の Binding を取得する [詳解] | |
def | toString (self, name_list) |
与えられた NameComponent の文字列表現を返す [詳解] | |
def | toName (self, sname) |
与えられた文字列表現を NameComponent に分解する [詳解] | |
def | toUrl (self, addr, string_name) |
与えられた addr と string_name から URL表現を取得する [詳解] | |
def | resolveStr (self, string_name) |
与えられた文字列表現を resolve しオブジェクトを返す [詳解] | |
def | bindOrResolve (self, context, name_list, obj) |
オブジェクトの名前をバインドまたは解決する [詳解] | |
def | bindOrResolveContext (self, context, name_list, new_context=None) |
コンテキストの名前をバインドまたは解決する [詳解] | |
def | getNameServer (self) |
ネームサーバの名前を取得する [詳解] | |
def | getRootContext (self) |
ルートコンテキストを取得する [詳解] | |
def | objIsNamingContext (self, obj) |
オブジェクトがネーミングコンテキストか判別する [詳解] | |
def | nameIsNamingContext (self, name_list) |
与えられた名前がネーミングコンテキストかどうか判別する [詳解] | |
def | subName (self, name_list, begin, end=None) |
ネームコンポーネントの部分を返す [詳解] | |
def | nameToString (self, name_list, string_name, slen) |
ネームコンポーネントの文字列表現を取得する [詳解] | |
def | getNameLength (self, name_list) |
ネームコンポーネントの文字列表現時の文字長を取得する [詳解] | |
def | split (self, input, delimiter, results) |
文字列の分割 [詳解] | |
CORBA Naming Service ヘルパークラス
このクラスは、CosNaming::NamingContext に対するラッパークラスである。 CosNaming::NamingContext が持つオペレーションとほぼ同じ機能の オペレーションを提供するとともに、ネームコンポーネント CosNaming::Name の代わりに文字列による名前表現を受け付けるオペレーションも提供する。
オブジェクトは生成時、あるいは生成直後に CORBA ネームサーバに接続し 以後、このネームサーバのルートコンテキストに対して種々のオペレーション を処理する。 深い階層のネーミングコンテキストの作成やオブジェクトのバインドにおいて、 途中のコンテキストが存在しない場合でも、強制的にコンテキストをバインド し目的のコンテキストやオブジェクトのバインドを行うこともできる。
def OpenRTM_aist.CorbaNaming.CorbaNaming.__init__ | ( | self, | |
orb, | |||
name_server = None |
|||
) |
コンストラクタ
self | |
orb | ORB |
name_server | ネームサーバの名称(デフォルト値:None) |
def OpenRTM_aist.CorbaNaming.CorbaNaming.__del__ | ( | self | ) |
デストラクタ
self |
def OpenRTM_aist.CorbaNaming.CorbaNaming.bind | ( | self, | |
name_list, | |||
obj, | |||
force = None |
|||
) |
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 例外が発生する。
self | |
name_list | オブジェクトに付ける名前の NameComponent |
obj | 関連付けられる Object |
force | trueの場合、途中のコンテキストを強制的にバインドする (デフォルト値:None) |
NotFound | 途中の <c_1, c_2, ..., c_(n-1)> が存在しない。 |
CannotProceed | 何らかの理由で処理を継続できない。 |
InvalidName | 引数 name_list の名前が不正。 |
AlreadyBound | name <c_n> の Object がすでにバインドされている。 |
def OpenRTM_aist.CorbaNaming.CorbaNaming.bindByString | ( | self, | |
string_name, | |||
obj, | |||
force = True |
|||
) |
Object を bind する
Object を bind する際に与える名前が文字列表現であること以外は、bind() と同じである。bind(toName(string_name), obj) と等価。
self | |
string_name | オブジェクトに付ける名前の文字列表現 |
obj | 関連付けられるオブジェクト |
force | trueの場合、途中のコンテキストを強制的にバインドする (デフォルト値:true) |
NotFound | 途中の <c_1, c_2, ..., c_(n-1)> が存在しない。 |
CannotProceed | 何らかの理由で処理を継続できない。 |
InvalidName | 引数 string_name の名前が不正。 |
AlreadyBound | name <n> の Object がすでにバインドされている。 |
def OpenRTM_aist.CorbaNaming.CorbaNaming.bindContext | ( | self, | |
name, | |||
name_cxt, | |||
force = True |
|||
) |
NamingContext を bind する
bind 対象として指定された引数 name が文字列の場合は bindByString() と、 それ以外の場合は bind() と同じである。
self | |
name | オブジェクトに付ける名前 |
name_cxt | 関連付けられる NamingContext |
force | trueの場合、途中のコンテキストを強制的にバインドする (デフォルト値:True) |
NotFound | 途中の <c_1, c_2, ..., c_(n-1)> が存在しない。 |
CannotProceed | 何らかの理由で処理を継続できない。 |
InvalidName | 引数 name の名前が不正。 |
AlreadyBound | name <c_n> の Object がすでにバインドされている。 |
def OpenRTM_aist.CorbaNaming.CorbaNaming.bindContextRecursive | ( | self, | |
context, | |||
name_list, | |||
name_cxt | |||
) |
NamingContext を bind する
bind されるオブジェクトが NamingContext であることを除いて bindRecursive() と同じである。
self | |
context | bind を開始する NamingContext |
name_list | オブジェクトに付ける名前のネームコンポーネント |
name_cxt | 関連付けられる NamingContext |
def OpenRTM_aist.CorbaNaming.CorbaNaming.bindNewContext | ( | self, | |
name, | |||
force = True |
|||
) |
新しいコンテキストを bind する
与えられた name に対して新しいコンテキストをバインドする。 生成された NamingContext はネームサーバ上で生成されたものである。
引数 name に与えられた値が文字列の場合にはまず最初に toName() によって NameComponent に変換される。
self | |
name | NamingContextに付ける名前のネームコンポーネント |
force | trueの場合、途中のコンテキストを強制的にバインドする (デフォルト値:true) |
NotFound | 途中の <c_1, c_2, ..., c_(n-1)> が存在しない。 |
CannotProceed | 何らかの理由で処理を継続できない。 |
InvalidName | 引数 name の名前が不正。 |
AlreadyBound | name <n> の Object がすでにバインドされている。 |
def OpenRTM_aist.CorbaNaming.CorbaNaming.bindOrResolve | ( | self, | |
context, | |||
name_list, | |||
obj | |||
) |
オブジェクトの名前をバインドまたは解決する
指定されたコンテキストに対してオブジェクトを NameComponent で指定された 位置にバインドする。 同一箇所に既に他の要素がバインド済みの場合は、既存のバインド済み要素を 取得する。
self | |
context | bind もしくは resole 対象コンテキスト |
name_list | オブジェクトに付ける名前の NameComponent |
obj | 関連付けられる Object |
def OpenRTM_aist.CorbaNaming.CorbaNaming.bindOrResolveContext | ( | self, | |
context, | |||
name_list, | |||
new_context = None |
|||
) |
コンテキストの名前をバインドまたは解決する
指定されたコンテキストに対して Contextを NameComponent で指定された位置に バインドする。 Context が空の場合は新規コンテキストを生成してバインドする。 同一箇所に既に他の要素がバインド済みの場合は、既存のバインド済み要素を 取得する。
self | |
context | bind もしくは resole 対象コンテキスト |
name_list | コンテキストに付ける名前の NameComponent |
new_context | 関連付けられる Context(デフォルト値:None) |
def OpenRTM_aist.CorbaNaming.CorbaNaming.bindRecursive | ( | self, | |
context, | |||
name_list, | |||
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 例外が発生し処理を中止する。
self | |
context | bind を開始する NamingContext |
name_list | オブジェクトに付ける名前のネームコンポーネント |
obj | 関連付けられるオブジェクト |
CannotProceed | <c_1, ..., c_(n-1)> に対応する NamingContext のうちひとつが、すでに NamingContext 以外の object にバインド されており、処理を継続できない。 |
InvalidName | 名前 name_list が不正 |
AlreadyBound | name <c_n> にすでに何らかの object がバインド されている。 |
def OpenRTM_aist.CorbaNaming.CorbaNaming.clearAll | ( | self | ) |
すべての Binding を削除する
登録されている全てのBinding を削除する。
self |
def OpenRTM_aist.CorbaNaming.CorbaNaming.destroy | ( | self, | |
context | |||
) |
NamingContext を非アクティブ化する
context で指定された NamingContext を非アクティブ化する。 context に他のコンテキストがバインドされている場合は NotEmpty 例外が 発生する。
self | |
context | 非アクティブ化する NamingContext |
NotEmpty | 対象context に他のコンテキストがバインドされている。 |
def OpenRTM_aist.CorbaNaming.CorbaNaming.destroyRecursive | ( | self, | |
context | |||
) |
NamingContext を再帰的に下って非アクティブ化する
context で与えられた NamingContext に対して、name で指定された ネームコンポーネント <c_1, ... c_(n-1)> を NamingContext として 解決しながら、名前 <c_n> に対して 非アクティブ化を行う。
self | |
context | 非アクティブ化する NamingContext |
NotEmpty | 対象context に他のコンテキストがバインドされている。 |
NotFound | 途中の <c_1, c_2, ..., c_(n-1)> が存在しない。 |
CannotProceed | 何らかの理由で処理を継続できない。 |
InvalidName | 引数 name の名前が不正。 |
def OpenRTM_aist.CorbaNaming.CorbaNaming.getNameLength | ( | self, | |
name_list | |||
) |
ネームコンポーネントの文字列表現時の文字長を取得する
指定したネームコンポーネントを文字列で表現した場合の長さを取得する。 文字列表現は、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・・・ という形式で取得できる。
self | |
name_list | 取得対象NameComponent |
def OpenRTM_aist.CorbaNaming.CorbaNaming.getNameServer | ( | self | ) |
ネームサーバの名前を取得する
設定したネームサーバの名前を取得する。
self |
def OpenRTM_aist.CorbaNaming.CorbaNaming.getRootContext | ( | self | ) |
ルートコンテキストを取得する
設定したネームサーバのルートコンテキストを取得する。
self |
def OpenRTM_aist.CorbaNaming.CorbaNaming.init | ( | self, | |
name_server | |||
) |
ネーミングサービスの初期化
指定されたネームサーバ上のネーミングサービスを初期化します。
self | |
name_server | ネームサーバの名称 |
def OpenRTM_aist.CorbaNaming.CorbaNaming.isAlive | ( | self | ) |
def OpenRTM_aist.CorbaNaming.CorbaNaming.list | ( | self, | |
name_cxt, | |||
how_many, | |||
rbl, | |||
rbi | |||
) |
与えられた NamingContext の Binding を取得する
指定された NamingContext の Binding を取得する。
self | |
name_cxt | Binding 取得対象 NamingContext |
how_many | Binding を取得する階層の深さ |
rbl | 取得した Binding を保持するホルダ |
rbi | 取得した Binding をたどるためのイテレータ |
def OpenRTM_aist.CorbaNaming.CorbaNaming.nameIsNamingContext | ( | self, | |
name_list | |||
) |
与えられた名前がネーミングコンテキストかどうか判別する
NameComponent もしくは文字列で指定した要素がネーミングコンテキストか 判別する
self | |
name_list | 判別対象 |
def OpenRTM_aist.CorbaNaming.CorbaNaming.nameToString | ( | self, | |
name_list, | |||
string_name, | |||
slen | |||
) |
ネームコンポーネントの文字列表現を取得する
指定した範囲のネームコンポーネントの文字列表現を取得する。 文字列表現は、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・・・ という形式で取得できる。 取得した文字列の長さが指定した長さ以上の場合は、 指定した長さで切り捨てられる。
self | |
name_list | 取得対象NameComponent |
string_name | 取得結果文字列 |
slen | 取得対象文字列最大値 |
def OpenRTM_aist.CorbaNaming.CorbaNaming.newContext | ( | self | ) |
新しいコンテキストを生成する
与えられたネームサーバ上で生成された NamingContext を返す。 返された NamingContext は bind されていない。
self |
def OpenRTM_aist.CorbaNaming.CorbaNaming.objIsNamingContext | ( | self, | |
obj | |||
) |
オブジェクトがネーミングコンテキストか判別する
指定した要素がネーミングコンテキストか判別する
self | |
obj | 判別対象要素 |
def OpenRTM_aist.CorbaNaming.CorbaNaming.rebind | ( | self, | |
name_list, | |||
obj, | |||
force = True |
|||
) |
Object を rebind する
name_list で指定された Binding がすでに存在する場合を除いて bind() と同じ である。バインディングがすでに存在する場合には、新しいバインディングに 置き換えられる。
self | |
name_list | オブジェクトに付ける名前の NameComponent |
obj | 関連付けられるオブジェクト |
force | trueの場合、途中のコンテキストを強制的にバインドする (デフォルト値:true) |
NotFound | 途中の <c_1, c_2, ..., c_(n-1)> が存在しない。 |
CannotProceed | 何らかの理由で処理を継続できない。 |
InvalidName | 名前 name_list が不正 |
def OpenRTM_aist.CorbaNaming.CorbaNaming.rebindByString | ( | self, | |
string_name, | |||
obj, | |||
force = True |
|||
) |
Object を rebind する
Object を rebind する際に与える名前が文字列表現であること以外は rebind() と同じである。rebind(toName(string_name), obj) と等価。
self | |
string_name | オブジェクトに付ける名前の文字列表現 |
obj | 関連付けられるオブジェクト |
force | trueの場合、途中のコンテキストを強制的にバインドする (デフォルト値:true) |
NotFound | 途中の <c_1, c_2, ..., c_(n-1)> が存在しない。 |
CannotProceed | 何らかの理由で処理を継続できない。 |
InvalidName | 引数 string_name の名前が不正。 |
def OpenRTM_aist.CorbaNaming.CorbaNaming.rebindContext | ( | self, | |
name, | |||
name_cxt, | |||
force = True |
|||
) |
NamingContext を rebind する
bind 対象として指定された引数 name が文字列の場合は rebindByString() と、 それ以外の場合は rebind() と同じである。 どちらの場合もバインディングがすでに存在する場合には、 新しいバインディングに置き換えられる。
self | |
name | オブジェクトに付ける名前のネームコンポーネント |
name_cxt | 関連付けられる NamingContext |
force | trueの場合、途中のコンテキストを強制的にバインドする (デフォルト値:true) |
NotFound | 途中の <c_1, c_2, ..., c_(n-1)> が存在しない。 |
CannotProceed | 何らかの理由で処理を継続できない。 |
InvalidName | 引数 name の名前が不正。 |
def OpenRTM_aist.CorbaNaming.CorbaNaming.rebindContextRecursive | ( | self, | |
context, | |||
name_list, | |||
name_cxt | |||
) |
途中のコンテキストを再帰的に rebind し NamingContext を rebind する # bind されるオブジェクトが NamingContext であることを除いて rebindRecursive() と同じである。
self | |
context | bind を開始する NamingContext |
name_list | オブジェクトに付ける名前の NameComponent |
name_cxt | 関連付けられる NamingContext |
def OpenRTM_aist.CorbaNaming.CorbaNaming.rebindRecursive | ( | self, | |
context, | |||
name_list, | |||
obj | |||
) |
途中のコンテキストを bind しながら Object を rebind する
name_list <c_n> で指定された NamingContext もしくは Object がすでに存在する 場合を除いて bindRecursive() と同じである。
name_list <c_n> で指定されたバインディングがすでに存在する場合には、 新しいバインディングに置き換えられる。
self | |
context | bind を開始する NamingContext |
name_list | オブジェクトに付ける名前の NameComponent |
obj | 関連付けられるオブジェクト |
CannotProceed | 途中のコンテキストが解決できない。 |
InvalidName | 与えられた name_list が不正。 |
def OpenRTM_aist.CorbaNaming.CorbaNaming.resolve | ( | self, | |
name | |||
) |
Object を name から解決する
name に bind されているオブジェクト参照を返す。 ネームコンポーネント <c_1, c_2, ... c_n> は再帰的に解決される。
引数 name に与えられた値が文字列の場合にはまず最初に toName() によって NameComponent に変換される。
CosNaming::resolve() とほぼ同等の働きをするが、常に与えられた ネームサーバのルートコンテキストに対して resolve() が呼び出される点が 異なる。
self | |
name | 解決すべきオブジェクトの名前のネームコンポーネント |
NotFound | 途中の <c_1, c_2, ..., c_(n-1)> が存在しない。 |
CannotProceed | 何らかの理由で処理を継続できない。 |
InvalidName | 引数 name の名前が不正。 |
def OpenRTM_aist.CorbaNaming.CorbaNaming.resolveStr | ( | self, | |
string_name | |||
) |
与えられた文字列表現を resolve しオブジェクトを返す
指定された文字列表現をresolveし,オブジェクトを取得する。
self | |
string_name | 取得対象オブジェクト文字列表現 |
NotFound | 途中の <c_1, c_2, ..., c_(n-1)> が存在しない。 |
CannotProceed | 何らかの理由で処理を継続できない。 |
InvalidName | 引数 name の名前が不正。 |
AlreadyBound | name <n> の Object がすでにバインドされている。 |
def OpenRTM_aist.CorbaNaming.CorbaNaming.split | ( | self, | |
input, | |||
delimiter, | |||
results | |||
) |
文字列の分割
文字列を指定したデリミタで分割する。
self | |
input | 分割対象文字列 |
delimiter | 分割用デリミタ |
results | 分割結果 |
def OpenRTM_aist.CorbaNaming.CorbaNaming.subName | ( | self, | |
name_list, | |||
begin, | |||
end = None |
|||
) |
ネームコンポーネントの部分を返す
指定された範囲のネームコンポーネントを取得する。 終了位置が指定されていない場合は、最後の要素を除いたネームコンポーネント を返す。
self | |
name_list | 検索対象NameComponent |
begin | 取得範囲開始位置 |
end | 取得範囲終了位置(デフォルト値:None) |
def OpenRTM_aist.CorbaNaming.CorbaNaming.toName | ( | self, | |
sname | |||
) |
与えられた文字列表現を NameComponent に分解する
指定された文字列を NameComponent に変換する。
self | |
sname | 変換対象文字列 |
InvalidName | 引数 sname が不正。 |
def OpenRTM_aist.CorbaNaming.CorbaNaming.toString | ( | self, | |
name_list | |||
) |
与えられた NameComponent の文字列表現を返す
指定された NameComponent を文字に変換する。
self | |
name_list | 変換対象 NameComponent |
InvalidName | 引数 name_list の名前が不正。 |
def OpenRTM_aist.CorbaNaming.CorbaNaming.toUrl | ( | self, | |
addr, | |||
string_name | |||
) |
与えられた addr と string_name から URL表現を取得する
指定されたアドレスと名称をURLに変換する。
self | |
addr | 変換対象アドレス |
string_name | 変換対象名称 |
InvalidAddress | 引数 addr が不正。 |
InvalidName | 引数 string_name が不正。 |
def OpenRTM_aist.CorbaNaming.CorbaNaming.unbind | ( | self, | |
name | |||
) |
指定された名前のオブジェクトの bind を解除する
name に bind されているオブジェクト参照を解除する。 ネームコンポーネント <c_1, c_2, ... c_n> は再帰的に解決される。
引数 name に与えられた値が文字列の場合にはまず最初に toName() によって NameComponent に変換される。
CosNaming::unbind() とほぼ同等の働きをするが、常に与えられた ネームサーバのルートコンテキストに対して unbind() が呼び出される点が 異なる。
self | |
name | 削除するオブジェクトのネームコンポーネント |
NotFound | 途中の <c_1, c_2, ..., c_(n-1)> が存在しない。 |
CannotProceed | 何らかの理由で処理を継続できない。 |
InvalidName | 引数 name の名前が不正。 |
void unbind(const CosNaming::Name& name) throw(NotFound, CannotProceed, InvalidName);