4.4.3. 名前サービス


 
4.4.3.1. CosNaming::BindingIteratorクラス
 
4.4.3.2. CosNaming::NamingContextクラス
 
4.4.3.3. CosNaming::NamingContextExtクラス

名前

CosNaming::BindingIterator::destroy

- バインディングイテレータを削除する

形式

機能説明

CosNaming::BindingIterator::destroyはバインディングイテレータを削除します。

戻り値

ありません。

エラー

例外情報がthrowされます。

関連項目

CORBA::ORB::resolve_initial_references,

CosNaming::NamingContext::list,

CosNaming::BindingIterator::next_one,

CosNaming::BindingIterator::next_n


名前

CosNaming::BindingIterator::next_n

- バインディングイテレータに登録されている名前をn個返す

形式

機能説明

CosNaming::BindingIterator::next_nはバインディングイテレータに登録されているバインディングに関する情報を、要求数how_many分返します。

もし、要求数how_manyがバインディングイテレータに含まれているバインディング数以上であれば、バインディングの数分、blに返します。

また、要求数how_manyがバインディングイテレータのバインディング数未満であれば、要求数how_many分、blに返します。

blはCosNaming::Binding構造体のシーケンスです。CosNaming::Binding構造体は以下のように定義されています。

本オペレーションで返されたバインディング情報は、バインディングイテレータから削除されます。

戻り値

バインディングイテレータにあるバインディングに関する情報の有無が返ります。

1 : バインディングに関する情報がある

0 : バインディングに関する情報がない

エラー

例外情報がthrowされます。

関連項目

CORBA::ORB::resolve_initial_references,

CosNaming::NamingContext::list,

CosNaming::BindingIterator::next_one,

CosNaming::BindingIterator::destroy


名前

CosNaming::BindingIterator::next_one

- バインディングイテレータに登録されている名前を1つ返す

形式

機能説明

CosNaming::BindingIterator::next_oneはバインディングイテレータに登録されているバインディングに関する情報を、1つbに返します。

bはCosNaming::Binding構造体です。CosNaming::Binding構造体は以下のように定義されています。

本オペレーションで返されたバインディング情報は、バインディングイテレータから削除されます。

戻り値

バインディングイテレータにあるバインディングに関する情報の有無が返ります。

1 : バインディングに関する情報がある

0 : バインディングに関する情報がない

エラー

例外情報がthrowされます。

関連項目

CORBA::ORB::resolve_initial_references,

CosNaming::NamingContext::list,

CosNaming::BindingIterator::next_n,

CosNaming::BindingIterator::destroy


名前

CosNaming::NamingContext::bind - オブジェクトに名前を付ける

形式

機能説明

CosNaming::NamingContext::bindは名前コンテキストに、バインディング(名前nとオブジェクトリファレンスobjの対応)を生成します。

nはCosNaming::NameComponent構造体のシーケンスです。CosNaming::NameComponent構造体は以下のように定義されています。

戻り値

ありません。

エラー

例外情報がthrowされます。

本オペレーションが返す例外一覧を以下に示します。

CosNaming::NamingContext::NotFound

  • 最後以外のネームコンポネントに対応するバインディングが存在しない場合
  • 最後以外のネームコンポネントが名前コンテキストでない場合
  • この例外は、2つの属性を持っています。

    CosNaming::NamingContext::CannotProceed(Object Brokerではこの例外は返りません)

  • 最後以外のネームコンポネントに対応する名前コンテキストが存在しない場合
  • この例外は、2つの属性を持っています。

    これらの属性を用いることで引き続き名前を検索することができます。

    CosNaming::NamingContext::InvalidName

  • 名前の長さが0の場合
  • CosNaming::NamingContext::AlreadyBound

  • 名前が既に使われている場合
  • 関連項目

    CORBA::ORB::resolve_initial_references,

    CosNaming::NamingContext::rebind,

    CosNaming::NamingContext::resolve,

    CosNaming::NamingContext::unbind,

    CosNaming::NamingContext::list


    名前

    CosNaming::NamingContext::bind_context

    - 名前コンテキストに名前を付ける

    形式

    機能説明

    CosNaming::NamingContext::bind_contextは名前コンテキストに、バインディング(名前nとオブジェクトリファレンスncの対応)を生成します。

    nはCosNaming::NameComponent構造体のシーケンスです。CosNaming::NameComponent構造体は以下のように定義されています。

    戻り値

    ありません。

    エラー

    例外情報がthrowされます。

    本オペレーションによって名前サービスが返す例外一覧を以下に示します。

    CosNaming::NamingContext::NotFound

  • 最後以外のネームコンポネントに対応するバインディングが存在しない場合
  • 最後以外のネームコンポネントが名前コンテキストでない場合
  • この例外は、2つの属性を持っています。

    CosNaming::NamingContext::CannotProceed(Object Brokerではこの例外は返りません)

  • 最後以外のネームコンポネントに対応する名前コンテキストが存在しない場合
  • この例外は、2つの属性を持っています。

    これらの属性を用いることで引き続き名前を検索することができます。

    CosNaming::NamingContext::InvalidName

  • 名前の長さが0の場合
  • CosNaming::NamingContext::AlreadyBound

  • 名前が既に使われている場合
  • 関連項目

    CORBA::ORB::resolve_initial_references,

    CosNaming::NamingContext::rebind_context,

    CosNaming::NamingContext::resolve,

    CosNaming::NamingContext::unbind,

    CosNaming::NamingContext::list


    名前

    CosNaming::NamingContext::bind_new_context

    - 名前コンテキストを生成し、名前を付ける

    形式

    機能説明

    CosNaming::NamingContext::bind_new_contextは名前コンテキストを生成し、生成した名前コンテキストをこのオペレーションを発行した名前コンテキストにバインドします。つまり、このオペレーションを発行した名前コンテキストに、名前nと生成されたコンテキストのオブジェクトリファレンスとの対応(バインディング)を生成します。

    nはCosNaming::NameComponent構造体のシーケンスです。CosNaming::NameComponent構造体は以下のように定義されています。

    戻り値

    生成された名前コンテキストオブジェクトが返されます。

    エラー

    例外情報がthrowされます。

    本オペレーションによって名前サービスが返す例外一覧を以下に示します。

    CosNaming::NamingContext::NotFound

  • 最後以外のネームコンポネントに対応するバインディングが存在しない場合
  • 最後以外のネームコンポネントが名前コンテキストでない場合
  • この例外は、2つの属性を持っています。

    CosNaming::NamingContext::CannotProceed(Object Brokerではこの例外は返りません)

  • 最後以外のネームコンポネントに対応する名前コンテキストが存在しない場合
  • この例外は、2つの属性を持っています。

    これらの属性を用いることで引き続き名前を検索することができます。

    CosNaming::NamingContext::InvalidName

  • 名前の長さが0の場合
  • CosNaming::NamingContext::AlreadyBound

  • 名前が既に使われている場合
  • 関連項目

    CORBA::ORB::resolve_initial_references,

    CosNaming::NamingContext::bind_context,

    CosNaming::NamingContext::new_context,

    CosNaming::NamingContext::destroy


    名前

    CosNaming::NamingContext::destroy - 名前コンテキストを削除する

    形式

    機能説明

    CosNaming::NamingContext::destroyは名前コンテキストを削除します。なお、ルートコンテキスト(名前サービスのオブジェクトリファレンスと同一)およびLostAndFoundに対してdestroyを呼び出してはいけません。ルートコンテキストおよびLostAndFoundに対してdestroyを呼び出した場合はenvにCORBA::BAD_PARAMシステム例外が返ります。

    戻り値

    ありません。

    エラー

    例外情報がthrowされます。

    本オペレーションによって名前サービスが返す例外一覧を以下に示します。

    CosNaming::NamingContext::NotEmpty

  • 名前コンテキストにバインディングが存在する場合
  • 関連項目

    CORBA::ORB::resolve_initial_references,

    CosNaming::NamingContext::new_context,

    CosNaming::NamingContext::bind_new_context,

    CosNaming::NamingContext::unbind

    注意

    本オペレーションは、削除される名前コンテキストが他の名前コンテキストからバインドされていても、名前コンテキストを削除し、正常終了します。削除された名前コンテキストをバインドしている名前コンテキストのバインディングは削除されません。バインディングを削除するには、削除された名前コンテキストをバインディングしていた名前コンテキストに対してCosNaming::NamingContext::unbindを行ってください。


    名前

    CosNaming::NamingContext::list

    - 名前コンテキストに登録されている名前の一覧を得る

    形式

    機能説明

    CosNaming::NamingContext::listは名前コンテキストに登録されているバインディングを、要求数how_many分返します。

    もし、要求数how_manyが名前コンテキストのバインディング数以上であれば、バインディングの数分、blに返します。

    このとき、バインディングイテレータのオブジェクトリファレンスには、nilオブジェクトが返ります。

    また、要求数how_manyが名前コンテキストのバインディング数未満であれば、バインディングイテレータを生成し、残りのバインディングに関する情報を、バインディングイテレータにコピーします。そして、biに生成したバインディングイテレータのオブジェクトリファレンスを、blに要求数how_many分のバインディング情報を返します。

    blはCosNaming::Binding構造体のシーケンスです。CosNaming::Binding構造体は以下のように定義されています。

    戻り値

    ありません。

    エラー

    例外情報がthrowされます。

    関連項目

    CORBA::ORB::resolve_initial_references,

    CosNaming::BindingIterator::next_one,

    CosNaming::BindingIterator::next_n,

    CosNaming::BindingIterator::destroy


    名前

    CosNaming::NamingContext::new_context - 名前コンテキストを生成する

    形式

    機能説明

    CosNaming::NamingContext::new_contextは名前コンテキストを生成します。

    戻り値

    生成された名前コンテキストオブジェクトが返されます。

    エラー

    例外情報がthrowされます。

    関連項目

    CORBA::ORB::resolve_initial_references,

    CosNaming::NamingContext::bind_new_context,

    CosNaming::NamingContext::destroy


    名前

    CosNaming::NamingContext::rebind

    - 既存の名前を別オブジェクトに付ける

    形式

    機能説明

    CosNaming::NamingContext::rebindは、名前コンテキストのバインディングに使われている名前nを、別なオブジェクトリファレンスobjにつけなおします。したがって、以前、名前nをつけられていたオブジェクトリファレンスに対応するバインディングは失われます。

    nはCosNaming::NameComponent構造体のシーケンスです。CosNaming::NameComponent構造体は以下のように定義されています。

    戻り値

    ありません。

    エラー

    例外情報がthrowされます。

    本オペレーションによって名前サービスが返す例外一覧を以下に示します。

    CosNaming::NamingContext::NotFound

  • 最後以外のネームコンポネントに対応するバインディングが存在しない場合
  • 最後以外のネームコンポネントが名前コンテキストでない場合
  • この例外は、2つの属性を持っています。

    CosNaming::NamingContext::CannotProceed(Object Brokerではこの例外は返りません)

  • 最後以外のネームコンポネントに対応する名前コンテキストが存在しない場合
  • この例外は、2つの属性を持っています。

    これらの属性を用いることで引き続き名前を検索することができます。

    CosNaming::NamingContext::InvalidName

  • 名前の長さが0の場合
  • LostAndFoundを指定した場合
  • 関連項目

    CORBA::ORB::resolve_initial_references,

    CosNaming::NamingContext::bind,

    CosNaming::NamingContext::resolve,

    CosNaming::NamingContext::unbind,

    CosNaming::NamingContext::list


    名前

    CosNaming::NamingContext::rebind_context

    - 既存の名前を別の名前コンテキストに付ける

    形式

    機能説明

    CosNaming::NamingContext::rebind_contextは、名前コンテキストのバインディングに使われている名前nを、別な名前コンテキストncにつけなおします。

    したがって、以前、名前nをつけられていた名前コンテキストに対応するバインディングは失われます。

    nはCosNaming::NameComponent構造体のシーケンスです。CosNaming::NameComponent構造体は以下のように定義されています。

    戻り値

    ありません。

    エラー

    例外情報がthrowされます。

    本オペレーションによって名前サービスが返す例外一覧を以下に示します。

    CosNaming::NamingContext::NotFound

  • 最後以外のネームコンポネントに対応するバインディングが存在しない場合
  • 最後以外のネームコンポネントが名前コンテキストでない場合
  • この例外は、2つの属性を持っています。

    CosNaming::NamingContext::CannotProceed(Object Brokerではこの例外は返りません)

  • 最後以外のネームコンポネントに対応する名前コンテキストが存在しない場合
  • この例外は、2つの属性を持っています。

    これらの属性を用いることで引き続き名前を検索することができます。

    CosNaming::NamingContext::InvalidName

  • 名前の長さが0の場合
  • LostAndFoundを指定した場合
  • 関連項目

    CORBA::ORB::resolve_initial_references,

    CosNaming::NamingContext::bind_context,

    CosNaming::NamingContext::resolve,

    CosNaming::NamingContext::unbind,

    CosNaming::NamingContext::list


    名前

    CosNaming::NamingContext::resolve

    - 名前からオブジェクトリファレンスを検索する

    形式

    機能説明

    CosNaming::NamingContext::resolveは名前コンテキストから、名前nに対応するオブジェクトリファレンスを検索します。

    nはCosNaming::NameComponent構造体のシーケンスです。CosNaming::NameComponent構造体は以下のように定義されています。

    戻り値

    検索した結果、該当したオブジェクトリファレンスが返されます。

    エラー

    例外情報がthrowされます。

    本オペレーションによって名前サービスが返す例外一覧を以下に示します。

    CosNaming::NamingContext::NotFound

  • 最後以外のネームコンポネントに対応するバインディングが存在しない場合
  • 最後以外のネームコンポネントが名前コンテキストでない場合
  • この例外は、2つの属性を持っています。

    CosNaming::NamingContext::CannotProceed(Object Brokerではこの例外は返りません)

  • 最後以外のネームコンポネントに対応する名前コンテキストが存在しない場合
  • この例外は、2つの属性を持っています。

    これらの属性を用いることで引き続き名前を検索することができます。

    CosNaming::NamingContext::InvalidName

  • 名前の長さが0の場合
  • 関連項目

    CORBA::ORB::resolve_initial_references,

    CosNaming::NamingContext::bind,

    CosNaming::NamingContext::rebind,

    CosNaming::NamingContext::bind_context,

    CosNaming::NamingContext::rebind_context,

    CosNaming::NamingContext::unbind,

    CosNaming::NamingContext::list


    名前

    CosNaming::NamingContext::unbind - バインディングを削除する

    形式

    機能説明

    CosNaming::NamingContext::unbindは名前コンテキストから、名前nに対応するバインディングを削除します。

    nはCosNaming::NameComponent構造体のシーケンスです。CosNaming::NameComponent構造体は以下のように定義されています。

    戻り値

    ありません。

    エラー

    例外情報がthrowされます。

    本オペレーションによって名前サービスが返す例外一覧を以下に示します。

    CosNaming::NamingContext::NotFound

  • 最後以外のネームコンポネントに対応するバインディングが存在しない場合
  • 最後以外のネームコンポネントが名前コンテキストでない場合
  • この例外は、2つの属性を持っています。

    CosNaming::NamingContext::CannotProceed(Object Brokerではこの例外は返りません)

  • 最後以外のネームコンポネントに対応する名前コンテキストが存在しない場合
  • この例外は、2つの属性を持っています。

    これらの属性を用いることで引き続き名前を検索することができます。

    CosNaming::NamingContext::InvalidName

  • 名前の長さが0の場合
  • LostAndFoundを指定した場合
  • 関連項目

    CORBA::ORB::resolve_initial_references,

    CosNaming::NamingContext::bind,

    CosNaming::NamingContext::rebind,

    CosNaming::NamingContext::bind_context,

    CosNaming::NamingContext::rebind_context


    名前

    CosNaming::NamingContextExt::to_string

    - 名前シーケンスを文字列にする

    形式

    機能説明

    CosNaming::NamingContextExt::to_stringは引数nの名前シーケンスを文字列表現に変換します。

    nはCosNaming::NameComponent構造体のシーケンスです。CosNaming::NameComponent構造体は以下のように定義されています。

    idとkindは'.'で区切ります。kindが空文字列の場合は'.'を省略します。名前の階層は'/'で区切ります。また、'/', '.', '\'を文字として扱う場合は'\'を使います。

    例えば、以下に示す名前シーケンスがあるとします。

    No. id kind
    0
    "a"
    ""
    1
    ""
    "1"
    2
    "/x.y\z"
    "2"
    3
    "b"
    "3"

    このとき、CosNaming::NamingContextExt::to_stringによって返される文字列は以下のとおりです。

    戻り値

    名前シーケンスを表す文字列が返されます。

    エラー

    例外情報がthrowされます。

    本オペレーションによって名前サービスが返す例外一覧を以下に示します。

    CosNaming::NamingContext::InvalidName

  • 不正な名前シーケンスだった場合
  • 関連項目

    CosNaming::NamingContextExt::to_name,

    CosNaming::NamingContextExt::to_url,

    CosNaming::NamingContextExt::resolve_str


    名前

    CosNaming::NamingContextExt::to_name

    - 文字列化された名前を名前シーケンスに戻す

    形式

    機能説明

    CosNaming::NamingContextExt::to_nameは文字列snを名前シーケンスに復元します。

    名前シーケンスはCosNaming::NameComponent構造体のシーケンスです。CosNaming::NameComponent構造体は以下のように定義されています。

    名前シーケンスを文字列表現するには、idとkindを'.'で区切ります。kindが空文字列の場合は'.'を省略します。名前の階層は'/'で区切ります。また、'/', '.', '\'を文字として扱う場合は'\'を使います。

    例えば、以下に示す名前シーケンスを文字列で表すとします。

    No. id kind
    0
    "a"
    ""
    1
    ""
    "1"
    2
    "/x.y\z"
    "2"
    3
    "b"
    "3"

    この名前シーケンスを表す文字列は以下のとおりです。

    戻り値

    復元された名前シーケンスが返されます。

    エラー

    例外情報がthrowされます。

    本オペレーションによって名前サービスが返す例外一覧を以下に示します。

    CosNaming::NamingContext::InvalidName

  • 不正な文字列だった場合
  • 関連項目

    CosNaming::NamingContextExt::to_string


    名前

    CosNaming::NamingContextExt::to_url

    - iiopname URLまたはcorbaname URLを生成する

    形式

    機能説明

    CosNaming::NamingContextExt::to_urlはiiopname URLまたはcorbaname URLを生成します。

    生成するURL文字列がiiopname URLかcorbaname URLかは、"ToUrlForIiopname"の設定により異なります。 詳細は、 [ リファレンス集 運用管理・設定編 > 1. コンフィグレーション(設定一覧) > 1.10. Object Broker > 1.10.3. WebOTX Object Broker C++ における環境設定 ] を参照してください。

    addrkeyには、corbalocサーバアドレスのリストを指定します。ToUrlForIiopnameが"false"のときは、アドレスのリストの後ろに'/'区切りでオブジェクトキーを追加することができます。

    snには文字列化した名前シーケンスを指定します。

    名前シーケンスはCosNaming::NameComponent構造体のシーケンスです。CosNaming::NameComponent構造体は以下のように定義されています。

    名前シーケンスを文字列表現するには、idとkindを'.'で区切ります。kindが空文字列の場合は'.'を省略します。名前の階層は'/'で区切ります。また、'/', '.', '\'を文字として扱う場合は'\'を使います。

    例えば、以下に示す名前シーケンスがあるとします。

    No. id kind
    0
    "a"
    ""
    1
    ""
    "1"
    2
    "/x.y\z"
    "2"
    3
    "b"
    "3"

    この名前シーケンスを表す文字列は以下のとおりです。

    引数addrkeyを"//abc.co.jp"とし、引数snを上記の名前シーケンスを表す文字列とすると、返される文字列は以下のとおりです。

    引数addrkeyが空文字列のときは、以下のとおりになります。

    戻り値

    iiopname URLまたはcorbaname URLが返されます。

    エラー

    例外情報がthrowされます。

    本オペレーションによって名前サービスが返す例外一覧を以下に示します。

    CosNaming::NamingContextExt::InvalidAddress

  • 引数addrkeyが不正な場合
  • CosNaming::NamingContext::InvalidName

  • 引数snが不正な場合
  • 関連項目

    CosNaming::NamingContextExt::to_string

    注意

    ToUrlForIiopnameが未設定もしくは"false"以外に設定されているときは、addrkeyにオブジェクトキーを追加してはいけません。


    名前

    CosNaming::NamingContextExt::resolve_str

    - 文字列化された名前シーケンスからオブジェクトリファレンスを検索する

    形式

    機能説明

    CosNaming::NamingContextExt::resolve_strは文字列化した名前シーケンスnに対応するオブジェクトリファレンスを検索します。

    名前シーケンスはCosNaming::NameComponent構造体のシーケンスです。CosNaming::NameComponent構造体は以下のように定義されています。

    名前シーケンスを文字列表現するには、idとkindを'.'で区切ります。kindが空文字列の場合は'.'を省略します。名前の階層は'/'で区切ります。また、'/', '.', '\'を文字として扱う場合は'\'を使います。

    例えば、以下に示す名前シーケンスを文字列で表すとします。

    No. id kind
    0
    "a"
    ""
    1
    ""
    "1"
    2
    "/x.y\z"
    "2"
    3
    "b"
    "3"

    この名前シーケンスを表す文字列は以下のとおりです。

    戻り値

    検索した結果、該当したオブジェクトリファレンスが返されます。

    エラー

    例外情報がthrowされます。

    本オペレーションによって名前サービスが返す例外一覧を以下に示します。

    CosNaming::NamingContext::NotFound

  • 検索した結果、該当したオブジェクトリファレンスが見つからなかった場合
  • この例外は、2つの属性を持っています。

    CosNaming::NamingContext::CannotProceed(Object Brokerではこの例外は返りません)

  • 最後以外のネームコンポネントに対応する名前コンテキストが存在しない場合
  • この例外は、2つの属性を持っています。

    これらの属性を用いることで引き続き名前を検索することができます。

    CosNaming::NamingContext::InvalidName

  • 文字列nが不正な場合
  • 関連項目

    CosNaming::NamingContextExt::to_string