名前
CosNaming::NamingContext::bind
形式
#include <orb_cplus.h> #include <CosNaming_cplus.h> void CosNaming::NamingContext::bind( CosNaming::Name n, CORBA::Object_ptr obj, CORBA::Environment& env );
機能説明
nで指定された名前とobjで指定されたオブジェクトリファレンスのバインディングを作成し、ネーミングコンテキストに登録します。
nがコンパウンドネームである場合、バインディングはコンパウンドネーム中で最後に指定されたネーミングコンテキストに登録されます。
パラメタ
名前。
nに指定した名前とバインドするオブジェクトリファレンス。
例外情報が格納される構造体。
復帰値
正常終了した場合は、envのexceptionメンバにNULLオブジェクトリファレンスが設定されます。
異常終了した場合は、envのexceptionメンバにSystemExceptionオブジェクト、またはUserExceptionオブジェクトのオブジェクトリファレンスが設定されます。
ユーザ例外の場合、以下の例外が発生します。
nで指定したネーミングコンテキストが見つかりません。
ネーミングコンテキストが存在しません。
名前の指定に誤りがあります。
指定された名前のバインディングがすでに存在します。
システム例外の場合は、設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。
名前
CosNaming::NamingContext::rebind
形式
#include <orb_cplus.h> #include <CosNaming_cplus.h> void CosNaming::NamingContext::rebind( CosNaming::Name n, CORBA::Object_ptr obj, CORBA::Environment& env );
機能説明
nで指定された名前とobjで指定されたオブジェクトリファレンスのバインディングを作成し、ネーミングコンテキストに登録します。指定された名前のバインディングがすでに存在してもエラーにはなりません。
nがコンパウンドネームである場合、バインディングはコンパウンドネーム中で最後に指定されたネーミングコンテキストに登録されます。
パラメタ
名前。
nに指定した名前とバインドするオブジェクトリファレンス。
例外情報が格納される構造体。
復帰値
正常終了した場合は、envのexceptionメンバにNULLオブジェクトリファレンスが設定されます。
異常終了した場合は、envのexceptionメンバにSystemExceptionオブジェクト、またはUserExceptionオブジェクトのオブジェクトリファレンスが設定されます。
ユーザ例外の場合は、以下の例外が発生します。
nで指定したネーミングコンテキストが見つかりません。
ネーミングコンテキストが存在しません。
名前の指定に誤りがあります。
システム例外の場合は、設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。
名前
CosNaming::NamingContext::bind_context
形式
#include <orb_cplus.h> #include <CosNaming_cplus.h> void CosNaming::NamingContext::bind_context( CosNaming::Name n, CosNaming::NamingContext_ptr nc, CORBA::Environment& env );
機能説明
nで指定された名前とncで指定されたネーミングコンテキストのオブジェクトリファレンスのバインディングを作成し、ネーミングコンテキストに登録します。
nがコンパウンドネームである場合、バインディングはコンパウンドネーム中で最後に指定されたネーミングコンテキストに登録されます。
パラメタ
名前。
nに指定した名前とバインドするオブジェクトリファレンス。
例外情報が格納される構造体。
復帰値
正常終了した場合は、envのexceptionメンバにNULLオブジェクトリファレンスが設定されます。
異常終了した場合は、envのexceptionメンバにSystemExceptionオブジェクト、またはUserExceptionオブジェクトのオブジェクトリファレンスが設定されます。
ユーザ例外の場合は、以下の例外が発生します。
nで指定したネーミングコンテキストが見つかりません。
ネーミングコンテキストが存在しません。
名前の指定に誤りがあります。
指定された名前のバインディングがすでに存在します。
システム例外の場合は、設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。
注意事項
ncには、登録先のネーミングサービスのオブジェクトリファレンス、および登録先のネーミングサービスにすでに登録されているネーミングコンテキストのオブジェクトリファレンスを指定しないでください。
名前
CosNaming::NamingContext::rebind_context
形式
#include <orb_cplus.h> #include <CosNaming_cplus.h> void CosNaming::NamingContext::rebind_context( CosNaming::Name n, CosNaming::NamingContext_ptr nc, CORBA_Environment& env );
機能説明
nで指定された名前とncで指定されたネーミングコンテキストのオブジェクトリファレンスのバインディングを作成し、ネーミングコンテキストに登録します。指定された名前のバインディングがすでに存在してもエラーにはなりません。
nがコンパウンドネームである場合、バインディングはコンパウンドネーム中で最後に指定されたネーミングコンテキストに登録されます。
パラメタ
名前。
nに指定した名前とバインドするオブジェクトリファレンス。
例外情報が格納される構造体。
復帰値
正常終了した場合は、envのexceptionメンバにNULLオブジェクトリファレンスが設定されます。
異常終了した場合は、envのexceptionメンバにSystemExceptionオブジェクト、またはUserExceptionオブジェクトのオブジェクトリファレンスが設定されます。
ユーザ例外の場合、以下の例外が発生します。
nで指定したネーミングコンテキストが見つかりません。
ネーミングコンテキストが存在しません。
名前の指定に誤りがあります。
システム例外の場合は、設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。
注意事項
ncには、登録先のネーミングサービスのオブジェクトリファレンス、および登録先のネーミングサービスにすでに登録されているネーミングコンテキストのオブジェクトリファレンスを指定しないでください。
名前
CosNaming::NamingContext::resolve
形式
#include <orb_cplus.h> #include <CosNaming_cplus.h> CORBA::Object_ptr CosNaming::NamingContext::resolve( CosNaming::Name n, CORBA::Environment& env );
機能説明
ネーミングコンテキスト中で、nに指定された名前と結合されているオブジェクトリファレンスを返します。
本関数はオブジェクトリファレンスを格納する領域を獲得するため、この領域が不要になった時点で、CORBA::release()を使用して領域を解放する必要があります。
パラメタ
名前。
例外情報が格納される構造体。
復帰値
正常終了した場合は、オブジェクトリファレンスが返され、envのexceptionメンバにNULLオブジェクトリファレンスが設定されます。
異常終了した場合は、envのexceptionメンバにSystemExceptionオブジェクト、またはUserExceptionオブジェクトのオブジェクトリファレンスが設定されます。
ユーザ例外の場合は、以下の例外が発生します。
nで指定された名前が見つかりません。
ネーミングコンテキストが存在しません。
名前の指定に誤りがあります。
システム例外の場合は、設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。
名前
CosNaming::NamingContext::unbind
形式
#include <orb_cplus.h> #include <CosNaming_cplus.h> void CosNaming::NamingContext::unbind( CosNaming::Name n, CORBA::Environment& env );
機能説明
ネーミングコンテキストから、nで指定された名前のバインディングを削除します。
パラメタ
ネーミングコンテキストからバインディングを削除する名前。
例外情報が格納される構造体。
復帰値
正常終了した場合は、envのexceptionメンバにNULLオブジェクトリファレンスが設定されます。
異常終了した場合は、envのexceptionメンバにSystemExceptionオブジェクト、またはUserExceptionオブジェクトのオブジェクトリファレンスが設定されます。
ユーザ例外の場合は、以下の例外が発生します。
nで指定された名前が見つかりません。
ネーミングコンテキストが存在しません。
名前の指定に誤りがあります。
システム例外の場合は、設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。
名前
CosNaming::NamingContext::new_context
形式
#include <orb_cplus.h> #include <CosNaming_cplus.h> CosNaming::NamingContext_ptr CosNaming::NamingContext::new_context( CORBA::Environment& env);
機能説明
ネーミングコンテキストを管理するネーミングサーバ内に新しいネーミングコンテキストを作成し、作成されたネーミングコンテキストのオブジェクトリファレンスを返します。
本関数はオブジェクトリファレンスを格納する領域を獲得するため、この領域が不要になった時点で、CORBA::release()を使用して領域を解放する必要があります。
パラメタ
例外情報が格納される構造体。
復帰値
正常終了した場合は、ネーミングコンテキストのオブジェクトリファレンスが返され、envのexceptionメンバにNULLオブジェクトリファレンスが設定されます。
異常終了した場合は、envのexceptionメンバにSystemExceptionが設定されます。設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。
注意事項
ネーミングコンテキストの作成、登録には、CosNaming::NamingContext::bind_new_context()を使用することを推奨します。
本メソッドを呼び出して作成したネーミングコンテキストは、必ずCosNaming::NamingContext::bind_context()を発行してバインディングを作成/登録してください。
名前
CosNaming::NamingContext::bind_new_context
形式
#include <orb_cplus.h> #include <CosNaming_cplus.h> CosNaming::NamingContext_ptr CosNaming::NamingContext::bind_new_context( CosNaming_Name n, CORBA_Environment *env);
機能説明
新しいネーミングコンテキストを作成し、そのオブジェクトリファレンスとnで指定された名前のバインディングを作成して、既存のネーミングコンテキストに登録します。呼び出し元には、新しいネーミングコンテキストのオブジェクトリファレンスを返します。nがコンパウンドネームである場合、バインディングはコンパウンドネーム中で最後に指定されたネーミングコンテキストに登録されます。また、新しいネーミングコンテキストは、名前の登録が行われたネーミングコンテキストを管理するネーミングサーバ内に作成されます。
本関数はオブジェクトリファレンスを格納する領域を獲得するため、この領域が不要になった時点で、CORBA::release()を使用して領域を解放する必要があります。
パラメタ
新しいネーミングコンテキストのオブジェクトリファレンスとバインドする名前。
例外情報が格納される構造体。
復帰値
正常終了した場合は、ネーミングコンテキストのオブジェクトリファレンスが返され、envのexceptionメンバにNULLオブジェクトリファレンスが設定されます。
異常終了した場合は、envのexceptionメンバにSystemExceptionオブジェクト、またはUserExceptionオブジェクトのオブジェクトリファレンスが設定されます。
ユーザ例外の場合は、以下の例外が発生します。
nで指定したネーミングコンテキストが見つかりません。
ネーミングコンテキストが存在しません。
名前の指定に誤りがあります。
指定された名前のバインディングがすでに存在します。
システム例外の場合は、設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。
名前
CosNaming::NamingContext::destroy
形式
#include <orb_cplus.h> #include <CosNaming_cplus.h> void CosNaming::NamingContext::destroy( CORBA::Environment& env );
機能説明
ネーミングコンテキストを削除します。
パラメタ
例外情報が格納される構造体。
復帰値
正常終了した場合は、envのexceptionメンバにNULLオブジェクトリファレンスが設定されます。
異常終了した場合は、envのexceptionメンバにSystemExceptionオブジェクト、またはUserExceptionオブジェクトのオブジェクトリファレンスが設定されます。
ユーザ例外の場合は、以下の例外が発生します。
ネーミングコンテキスト内にバインディングが存在します。
システム例外の場合は、設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。
名前
CosNaming::NamingContext::list
形式
#include <orb_cplus.h> #include <CosNaming_cplus.h> void CosNaming::NamingContext::list( CORBA_ULong how_many, CosNaming::BindingList *&bl, CosNaming::BindingIterator_ptr bi, CORBA::Environment& env );
機能説明
ネーミングコンテキスト中のバインディングのリストを、最大でhow_manyで指定された個数分返します。how_manyで指定された値が、nsconfigファイルのbl_how_manyパラメタで設定されている最大バインディング数より大きい場合、ネーミングサービスは最大bl_how_manyパラメタで指定された個数分のバインディングを返します。how_manyに0が設定された場合、クライアントはバインディングにアクセスするためのbiと、長さ0のシーケンスのblを返します。
リストはblで指定されたCosNaming::BindingListに設定されます。CosNaming::BindingListはCosNaming cplus.hで宣言されています。
ネーミングコンテキスト内のバインディングの数がhow_manyで指定された数よりも多い場合、ネーミングコンテキスト内での現在の位置を示すオブジェクトが生成され、このオブジェクトリファレンスがbiに返されます。このオブジェクトをバインディングアイテレータといいます。biに返されたオブジェクトリファレンスは、CosNaming::BindingIterator::next_one()、およびCosNaming::BindingIterator::next_n()の呼び出し時に使用します。
本関数はバインディングアイテレータを格納する領域を獲得するため、これらの領域が不要になった時点で、CosNaming::BindingIterator::destroy()を使用して領域を解放する必要があります。
パラメタ
獲得したいバインディングリストの個数。
バインディングリストの設定領域。
バインディングアイテレータの設定領域。
例外情報が格納される構造体。
復帰値
正常終了した場合は、envのexceptionメンバにNULLオブジェクトリファレンスが設定されます。
異常終了した場合は、envのexceptionメンバにSystemExceptionが設定されます。設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。
名前
CosNaming::NamingContext::_narrow
形式
#include <orb_cplus.h> #include <CosNaming_cplus.h> CosNaming::NamingContext_ptr CosNaming::NamingContext::_narrow( CORBA::Object_ptr obj );
機能説明
ネーミングサービスから取得したオブジェクトリファレンスをNamingContextクラスへ変換します。
パラメタ
オブジェクトリファレンス
復帰値
正常終了した場合は、オブジェクトリファレンスが返され、env構造体の_majorにCORBA_NO_EXCEPTIONが設定されます。
異常終了した場合は、env構造体の_majorにCORBA_SYSTEM_EXCEPTIONまたはCORBA_USER_EXCEPTIONが設定され、env構造体の_idに詳細情報が設定されます。設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。