26.1.1 NamingContextのメソッド
-
const Name& _n, CORBA::Object_ptr _obj) ;
このメソッドは,指定されたnameを指定されたObjectにバインドします。このとき,最初のNameComponentに対応づけられたコンテキストを解決し,その後,次に示すNameを使用して新しいコンテキストにオブジェクトをバインドします。
Name[NameComponent2 ,...,NameComponent(n-1) ,NameComponentn ]
解決とバインドのこの再帰的なプロセスは,NameComponent(n-1)に関連づけられたコンテキストが解決され,ネームとオブジェクトとの実際のバインドが格納されるまで続きます。パラメタnがシンプルネームである場合には,objは,このNamingContext内のnにバインドされます。
-
_n
オブジェクトに指定するネームで初期化されるName構造体
-
_obj
ネーミングされるオブジェクト
このメソッドでは,次の例外が発生します。
- NotFound
-
Nameまたはそのコンポーネントの一つが見つかりません。
- CannotProceed
-
シーケンスのNameComponentオブジェクトの一つが解決されていません。クライアントは,返されたネーミングコンテキストからオペレーションを継続できます。
- InvalidName
-
指定されたNameにはネームコンポーネントがありません。またはIDフィールドに空文字列を指定したネームコンポーネントがあります。
- AlreadyBound
-
bindオペレーション,またはbind_contextオペレーションのNameは,NamingContext内の別のオブジェクトにすでにバインドされています。
-
-
const Name& _n, CORBA::Object_ptr _obj) ;
このメソッドは,AlreadyBound例外が発行されないという点を除いて,bindメソッドと同じです。指定されたNameがすでに別のオブジェクトにバインドされている場合には,このバインドは,新しいバインドで置き換えられます。
-
_n
オブジェクトに指定するネームで初期化されるName構造体
-
_obj
ネーミングされるオブジェクト
このメソッドでは,次の例外が発生します。
- NotFound
-
Nameまたはそのコンポーネントの一つが見つかりません。
- CannotProceed
-
シーケンスのNameComponentオブジェクトの一つが解決されていません。クライアントは,返されたネーミングコンテキストからオペレーションを継続できます。
- InvalidName
-
指定されたNameにはネームコンポーネントがありません。またはIDフィールドに空文字列を指定したネームコンポーネントがあります。
-
-
const Name& _n, NamingContext_ptr _nc);
このメソッドは,指定されたNameが,任意のVisiBroker ORBオブジェクトではなく,NamingContextに対応づけられるという点を除いて,bindメソッドと同じです。
-
_n
希望するネーミングコンテキスト名で初期化されるName構造体。シーケンス内の最初の(n-1)個のNameComponent構造体は,NamingContextを解決する必要があります。
-
_nc
バインドされるNamingContextオブジェクト
このメソッドでは,次の例外が発生します。
- NotFound
-
Nameまたはそのコンポーネントの一つが見つかりません。
- CannotProceed
-
シーケンスのNameComponentオブジェクトの一つが解決されていません。クライアントは,返されたネーミングコンテキストからオペレーションを継続できます。
- InvalidName
-
指定されたNameにネームコンポーネントがありません。またはIDフィールドに空文字列を指定したネームコンポーネントがあります。
- AlreadyBound
-
bindオペレーション,またはbind_contextオペレーションのNameは,NamingContext内の別のオブジェクトにすでにバインドされています。
-
-
const Name& _n, NamingContext_ptr _nc);
このメソッドは,AlreadyBound例外が発行されないという点を除いて,bind_contextメソッドと同じです。指定されたNameがすでに別のネーミングコンテキストにバインドされている場合には,このバインドは,新しいバインドで置き換えられます。
-
_n
オブジェクトに指定するネームで初期化されるName構造体
-
_nc
リバインドされるNamingContextオブジェクト
このメソッドでは,次の例外が発生します。
- NotFound
-
Nameまたはそのコンポーネントの一つが見つかりません。
- CannotProceed
-
シーケンスのNameComponentオブジェクトの一つが解決されていません。クライアントは,返されたネーミングコンテキストからオペレーションを継続できます。
- InvalidName
-
指定されたNameにはネームコンポーネントがありません。またはIDフィールドに空文字列を指定したネームコンポーネントがあります。
-
-
virtual CORBA::Object _ptr resolve(
const Name& _n);
このメソッドは,指定されたNameを解決し,オブジェクトリファレンスを返します。パラメタnがシンプルネームである場合には,このNamingContextで解決されます。
nがコンプレックスネームである場合には,最初のNameComponentに関連づけられたコンテキストを使用して解決されます。その後,新しいコンテキストを使用して次に示すNameを解決します。
Name[NameComponent2 ,...,NameComponent(n-1) ,NameComponentn ]
この再帰的なプロセスは,n番目のNameComponentに関連づけられたオブジェクトが返されるまで続きます。
-
_n
対象となるオブジェクトのネームで初期化されるName構造体
このメソッドでは,次の例外が発生します。
- NotFound
-
Nameまたはそのコンポーネントの一つが見つかりません。
- CannotProceed
-
シーケンスのNameComponentオブジェクトの一つが解決されていません。クライアントは,返されたネーミングコンテキストからオペレーションを継続できます。
- InvalidName
-
指定されたNameにはネームコンポーネントがありません。またはIDフィールドに空文字列を指定したネームコンポーネントがあります。
-
-
const Name& _n);
このメソッドは,bindメソッドの逆で,指定されたNameに対応しているバインドを削除します。
-
_n
バインドの解除をしたいネームのName構造体
このメソッドでは,次の例外が発生します。
- NotFound
-
Nameまたはそのコンポーネントの一つが見つかりません。
- CannotProceed
-
シーケンスのNameComponentオブジェクトの一つが解決されていません。クライアントは,返されたネーミングコンテキストからオペレーションを継続できます。
- InvalidName
-
指定されたNameにはネームコンポーネントがありません。またはIDフィールドに空文字列を指定したネームコンポーネントがあります。
-
-
virtual NamingContext_ptr new_context();
このメソッドは,新しいネーミングコンテキストを作成します。新しく作成されたコンテキストは,このオブジェクトと同じサーバ内で実装されます。新しいコンテキストは,初期状態ではどのNameにもバインドされていません。
-
virtual NamingContext_ptr bind_new_context(
const Name& _n);
このメソッドは,新しいコンテキストを作成し,そのコンテキスト内で指定されたNameにバインドします。
-
_n
新しく作成されたNamingContextオブジェクトに対して指定されたネームで初期化されるName構造体
このメソッドでは,次の例外が発生します。
- NotFound
-
Nameまたはそのコンポーネントの一つが見つかりません。
- CannotProceed
-
シーケンスのNameComponentオブジェクトの一つが解決されていません。クライアントは,返されたネーミングコンテキストからオペレーションを継続できます。
- InvalidName
-
指定されたNameにはネームコンポーネントがありません。またはIDフィールドに空文字列を指定したネームコンポーネントがあります。
- AlreadyBound
-
bindオペレーション,またはbind_contextオペレーションのNameは,NamingContext内の別のオブジェクトにすでにバインドされています。
-
-
このメソッドは,現在のネーミングコンテキストを非活性化します。このオブジェクトでオペレーションを呼び出そうとすると,CORBA::OBJECT_NOT_EXISTランタイム例外が発生します。
このメソッドを使用する前に,unbindメソッドを使用して,NamingContextオブジェクトに対応してバインドされているすべてのNameオブジェクトをバインド解除しておく必要があります。空でないNamingContextオブジェクトを破棄しようとすると,NotEmpty例外が発生します。
-
CORBA::ULong _how_many,
BindingList_out _bl,
BindingIterator_out _bi);
このメソッドは,現在のコンテキストに含まれているすべてのバインドを返します。how_manyパラメタで指定した数までのNameが,BindingListによって返されます。残りのバインドは,BindingIteratorによって返されます。返されたBindingListとBindingIteratorを使用すると,ネームのリストを参照できます。BindingListの詳細については,「26.3 BindingとBindingList」を参照してください。
-
_how_many
返されるNameの最大数
-
_bl
呼び出しプログラムに返されるNameのリスト。リストのネームの数はhow_manyの値を超えません。
-
_bi
残りのNameを参照するためのイタレータ
-