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