クラス OpenRTM_aist.CorbaNaming.CorbaNaming

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

すべてのメンバ一覧

Public メソッド

def __init__
 コンストラクタ
def __del__
 デストラクタ
def init
 ネーミングサービスの初期化
def isAlive
 ルートコンテキストが生存しているかを返す。
def bind
 Object を bind する.
def bindByString
 Object を bind する.
def bindRecursive
 途中のコンテキストを bind しながら Object を bind する
def rebind
 Object を rebind する.
def rebindByString
 Object を rebind する.
def rebindRecursive
 途中のコンテキストを bind しながら Object を rebind する
def bindContext
 NamingContext を bind する.
def bindContextRecursive
 NamingContext を bind する.
def rebindContext
 NamingContext を rebind する.
def rebindContextRecursive
 途中のコンテキストを再帰的に rebind し NamingContext を rebind する # bind されるオブジェクトが NamingContext であることを除いて rebindRecursive() と同じである。
def resolve
 Object を name から解決する.
def unbind
 指定された名前のオブジェクトの bind を解除する
def newContext
 新しいコンテキストを生成する
def bindNewContext
 新しいコンテキストを bind する
def destroy
 NamingContext を非アクティブ化する.
def destroyRecursive
 NamingContext を再帰的に下って非アクティブ化する.
def clearAll
 すべての Binding を削除する
def list
 与えられた NamingContext の Binding を取得する
def toString
 与えられた NameComponent の文字列表現を返す
def toName
 与えられた文字列表現を NameComponent に分解する
def toUrl
 与えられた addr と string_name から URL表現を取得する
def resolveStr
 与えられた文字列表現を resolve しオブジェクトを返す
def bindOrResolve
 オブジェクトの名前をバインドまたは解決する
def bindOrResolveContext
 コンテキストの名前をバインドまたは解決する
def getNameServer
 ネームサーバの名前を取得する
def getRootContext
 ルートコンテキストを取得する
def objIsNamingContext
 オブジェクトがネーミングコンテキストか判別する
def nameIsNamingContext
 与えられた名前がネーミングコンテキストかどうか判別する
def subName
 ネームコンポーネントの部分を返す
def nameToString
 ネームコンポーネントの文字列表現を取得する
def getNameLength
 ネームコンポーネントの文字列表現時の文字長を取得する
def split
 文字列の分割

説明

CORBA Naming Service ヘルパークラス.

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

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

から:
0.4.0

メソッド

def OpenRTM_aist.CorbaNaming.CorbaNaming.__del__ (   self  ) 

デストラクタ

引数:
self 
def OpenRTM_aist.CorbaNaming.CorbaNaming.__init__ (   self,
  orb,
  name_server = None 
)

コンストラクタ

引数:
self 
orb ORB
name_server ネームサーバの名称(デフォルト値:None)
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)
戻り値:
生成された新しい NamingContext
例外:
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
戻り値:
NameComponent で指定された位置にバインドされているオブジェクト
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)
戻り値:
NameComponent で指定された位置にバインドされているContext
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 が生成 または解決された上で、CosNamingbind(<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  ) 

ルートコンテキストが生存しているかを返す。

ルートコンテキストが生存しているかのチェックを行う。

引数:
self 

bool CorbaNaming.isAlive()

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 判別対象
戻り値:
判別結果(ネーミングコンテキスト:true、それ以外:false)
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 
戻り値:
生成された新しい NamingContext
def OpenRTM_aist.CorbaNaming.CorbaNaming.objIsNamingContext (   self,
  obj 
)

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

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

引数:
self 
obj 判別対象要素
戻り値:
判別結果(ネーミングコンテキスト:true、それ以外:false)
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)
戻り値:
NameComponent 取得結果
def OpenRTM_aist.CorbaNaming.CorbaNaming.toName (   self,
  sname 
)

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

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

引数:
self 
sname 変換対象文字列
戻り値:
NameComponent 変換結果
例外:
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 変換対象名称
戻り値:
URL 変換結果
例外:
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);


このクラスの説明は次のファイルから生成されました:
OpenRTM-aist-1.1.0-Pythonに対してMon Mar 2 14:14:07 2015に生成されました。  doxygen 1.6.3