ページの先頭行へ戻る
Interstage Application Server アプリケーション作成ガイド(CORBAサービス編)

9.2.8 バインディングの一覧獲得

  listオペレーションは、ネーミングコンテキストに登録されているバインディングの一覧を獲得します。

  void list(in unsigned long how_many,
        out BindingList bl, BindingIterator Bi);

  listはネーミングコンテキスト中に含まれていたバインディングをバインディングリストbl中に返します。バインディングリストblは、1つのネームコンポーネントを示す、長さ1のバインディング名を含むバインディングのシーケンスです。

  ネーミングサービスは、クライアントから要求されたhow_manyパラメタの個数を上限としたバインディングを返します。how_manyで指定された値が、nsconfigファイルのbl_how_manyパラメタで設定されている最大バインディング数よりも大きい場合は、ネーミングサービスはbl_how_manyパラメタで指定された値のバインディングを返します。

  how_manyに0が設定されている場合は、クライアントはバインディングにアクセスするためのbiと、listが長さ0のシーケンスのblを返します。

  biパラメタがnilリファレンス以外を返した場合、listの呼び出しによってコンテキスト中のすべてのバインディングが返されず、残りのバインディングがアイテレータを使用して回収される必要があることを示しています。biパラメタがnilリファレンスを返した場合は、blパラメタがネーミングコンテキスト中のすべてのバインディングを返したことを意味します。これは、how_manyにどのような値を指定した場合も同様です。