4.4.2. POA

 
4.4.2.1. 変換関数
 
4.4.2.2. CORBA::Policyクラス
 
4.4.2.3. PortableServer::ThreadPolicyクラス
 
4.4.2.4. PortableServer::LifespanPolicyクラス
 
4.4.2.5. PortableServer::IdUniquenessPolicyクラス
 
4.4.2.6. PortableServer::IdAssignmentPolicyクラス
 
4.4.2.7. PortableServer::ImplicitActivationPolicyクラス
 
4.4.2.8. PortableServer::ServantRetentionPolicyクラス
 
4.4.2.9. PortableServer::RequestProcessingPolicyクラス
 
4.4.2.10. PortableServer::POAManagerクラス
 
4.4.2.11. PortableServer::AdapterActivatorクラス
 
4.4.2.12. PortableServer::ServantManagerクラス
 
4.4.2.13. PortableServer::ServantActivatorクラス
 
4.4.2.14. PortableServer::ServantLocatorクラス
 
4.4.2.15. PortableServer::POAクラス
 
4.4.2.16. PortableServer::Currentクラス


名前

PortableServer::ObjectId_to_string - ObjectIdを文字列に変換する

形式

機能説明

PortableServer::ObjectId型の値idを文字列に変換します。

戻り値

変換された文字列が返ります。

エラー

オブジェクトIDにヌル文字列などの不正な値が入っていたときはCORBA::BAD_PARAM例外が発生します。

関連項目

PortableServer::string_to_ObjectId


名前

PortableServer::ObjectId_to_wstring - ObjectIdをワイド文字列に変換する

形式

機能説明

PortableServer::ObjectId型の値idをワイド文字列に変換します。

戻り値

変換されたワイド文字列が返ります。

エラー

オブジェクトIDにヌル文字列などの不正な値が入っていたときはCORBA::BAD_PARAM例外が発生します。

関連項目

PortableServer::wstring_to_ObjectId


名前

PortableServer::string_to_ObjectId - 文字列をObjectIdに変換する

形式

機能説明

文字列strをPortableServer::ObjectIdに変換します。

戻り値

変換されたPortableServer::ObjectIdが返ります。

エラー

CORBA標準例外がthrowされます。

関連項目

PortableServer::ObjectId_to_string


名前

PortableServer::wstring_to_ObjectId - ワイド文字列をObjectIdに変換する

形式

機能説明

ワイド文字列strをPortableServer::ObjectIdに変換します。

戻り値

変換されたPortableServer::ObjectIdが返ります。

エラー

CORBA標準例外がthrowされます。

関連項目

PortableServer::ObjectId_to_wstring


名前

CORBA::Policy::copy - CORBA::Policyオブジェクトをコピーする

形式

機能説明

CORBA::Policyオブジェクトをコピーします。このコピーは元のCORBA::Policyオブジェクトとは一切の関係を持ちません。

戻り値

コピーされたCORBA::Policyオブジェクトが返ります。

エラー

起こりません。

関連項目

CORBA::Policy::destroy


名前

CORBA::Policy::destroy - CORBA::Policyオブジェクトを削除する

形式

機能説明

CORBA::Policyオブジェクトを削除します。

戻り値

ありません。

エラー

削除できない場合は、CORBA::NO_PERMISSION例外がthrowされます。

関連項目

CORBA::Policy::copy


名前

PortableServer::ThreadPolicy::value - プログラマが作成した実装部分のスレッド処理方針を返す

形式

機能説明

スレッド処理に関する方針の設定値を返します。

スレッド処理の方針はIDL enumのThreadPolicyValue型で表します。ThreadPolicyValueに定義されている値と意味は以下のとおりです。

戻り値

スレッド処理方針がPortableServer::ThreadPolicyValue型で返ります。

エラー

CORBA標準例外がthrowされます。

関連項目

PortableServer::POA::create_thread_policy


名前

PortableServer::LifespanPolicy::value

- オブジェクトリファレンスの有効期間に関する方針を返す

形式

機能説明

オブジェクトリファレンスの有効期間に関する方針の設定値を返します。

オブジェクトリファレンスの有効期間に関する方針はIDL enumのLifespanPolicyValue型で表します。LifespanPolicyValueに定義されている値と意味は以下のとおりです。

戻り値

オブジェクトリファレンスの有効期間に関する方針がPortableServer::LifespanPolicyValue型で返ります。

エラー

CORBA標準例外がthrowされます。

関連項目

PortableServer::POA::create_lifespan_policy


名前

PortableServer::IdUniquenessPolicy::value

- 実装オブジェクトとオブジェクトIDとの対応に関する方針を返す

形式

機能説明

オブジェクトIDと実装オブジェクトとの対応に関する方針の設定値を返します。

オブジェクトIDに関する方針はIDL enumのIdUniquenessPolicyValue型で表します。IdUniquenessPolicyValueに定義されている値と意味は以下のとおりです。

戻り値

オブジェクトIDと実装オブジェクトとの対応に関する方針がPortableServer::IdUniquenessPolicyValue型で返ります。

エラー

CORBA標準例外がthrowされます。

関連項目

PortableServer::POA::create_id_uniqueness_policy


名前

PortableServer::IdAssignmentPolicy::value

- オブジェクトIDの生成に関する方針を返す

形式

機能説明

オブジェクトIDの生成に関する方針の設定値を返します。

オブジェクトIDの生成に関する方針はIDL enumのIdAssignmentPolicyValue型で表します。IdAssignmentPolicyValueに定義されている値と意味は以下のとおりです。

戻り値

オブジェクトIDの生成にに関する方針がPortableServer::IdAssignmentPolicyValue型で返ります。

エラー

CORBA標準例外がthrowされます。

関連項目

PortableServer::POA::create_id_assignment_policy


名前

PortableServer::ImplicitActivationPolicy::value

- 実装オブジェクトの暗黙的な活性化についての方針を返す

形式

機能説明

実装オブジェクトの暗黙的な活性化についての方針の設定値を返します。

この方針はIDL enumのImplicitActivationPolicyValue型で表します。ImplicitActivationPolicyValueに定義されている値と意味は以下のとおりです。

戻り値

実装オブジェクトの暗黙的な活性化についての方針がPortableServer::ImplicitActivationPolicyValue型で返ります。

エラー

CORBA標準例外がthrowされます。

関連項目

PortableServer::POA::create_implicit_activation_policy


名前

PortableServer::ServantRetentionPolicy::value

- 実装オブジェクトとの対応を保存しておくかどうかに関する方針を返す

形式

機能説明

実装オブジェクトとオブジェクトIDの対応を保存しておくかどうかに関する方針の設定値を返します。

オブジェクトの対応を保存しておくかどうかに関する方針はIDL enumのServantRetentionPolicyValue型で表します。ServantRetentionPolicyValueに定義されている値と意味は以下のとおりです。

戻り値

実装オブジェクトとの対応を保存しておくかどうかに関する方針がPortableServer::ServantRetentionPolicyValue型で返ります。

エラー

CORBA標準例外がthrowされます。

関連項目

PortableServer::POA::create_servant_retention_policy


名前

PortableServer::RequestProcessingPolicy::value

- 実装オブジェクトを探す手順に関する方針を返す

形式

機能説明

オブジェクトIDに対応づけられている実装オブジェクトを探す手順に関する方針の設定値を返します。この値はServantRetentionPolicyと関係があり、その相互作用で実装オブジェクトを探す手順が変わってきます。

RequestProcessingPolicyの値とServantRetentionPolicyの値の相互作用によるふるまいの違いを以下に示します。

戻り値

実装オブジェクトを探す手順に関する方針がPortableServer::RequestProcessingPolicyValue型で返ります。

エラー

CORBA標準例外がthrowされます。

関連項目

PortableServer::ServantRetentionPolicy::value, PortableServer::POA::create_request_processing_policy


名前

PortableServer::POAManager::activate

- 状態をactiveに変更する

形式

機能説明

holdingまたはdiscardingの状態からactiveの状態にします。

activeの状態になったPOAはクライアントからのリクエストを処理することができます。POAが貯えていたリクエストがあれば処理します。

戻り値

ありません。

エラー

POAの状態がinactiveだったときはPortableServer::POAManager::AdapterInactive例外がthrowされます。

関連項目

PortableServer::POAManager::hold_requests, PortableServer::POAManager::descard_requests, PortableServer::POAManager::deactivate


名前

PortableServer::POAManager::hold_requests

- 状態をholdingに変更する

形式

機能説明

activeまたはdiscardingの状態からholdingの状態にします。

holdingの状態のPOAはリクエストの処理は行わず、内部に貯えます。

wait_for_completionは、このオペレーションがすぐに返るどうかを指定するフラグです。wait_for_completionに1を指定すると、処理中のリクエストが終了するのを待ちます。0を指定すると、このオペレーションは直ちに返ります。

PortableServer::POA::crate_POAによって生成された直後のPOAもholdingの状態です。

戻り値

ありません。

エラー

POAの状態がinactiveのときは、PortableServer::POAManager::AdapterInactive例外がthrowされます。

関連項目

PortableServer::POAManager::activate, PortableServer::POAManager::descard_requests, PortableServer::POAManager::deactivate


名前

PortableServer::POAManager::discard_requests

- 状態をdiscardingに変更する

形式

機能説明

holdingまたはactiveの状態からdiscardingの状態にします。

discardingの状態のPOAはクライアントからのリクエストを読み捨てます。また、POAが貯えていたリクエストも破棄されます。discarding状態のPOAが管理するオブジェクトに呼び出しが行われたとき、クライアントへはCORBA::TRANSIENT例外がthrowされます。

wait_for_completionは、このオペレーションがすぐに返るどうかを指定するフラグです。wait_for_completionに1を指定すると、処理中のリクエストが終了するのを待ちます。0を指定すると、このオペレーションは直ちに返ります。

戻り値

ありません。

エラー

POAの状態がinactiveだったときは、PortableServer::POAManager::AdapterInactive例外がthrowされます。

関連項目

PortableServer::POAManager::activate, PortableServer::POAManager::hold_requests, PortableServer::POAManager::deactivate


名前

PortableServer::POAManager::deactivate

- 状態をinactiveに変更する

形式

機能説明

holding, activeまたはdiscardingの状態からinactiveの状態にします。

inactiveの状態になったPOAは、CORBA::ORB::shutdownが呼ばれるのを待っているだけで、送られたリクエストや貯えていたリクエストはすべて破棄されます。また、inactiveから別の状態になることはありません。この状態のPOAが管理しているオブジェクトに対して呼び出しが行われたとき、クライアントにはIIOP::CloseConnectionメッセージが送られます。

etherealize_objectsは、関連づけられているPOAのうち、ServantRetentionPolicyがRETAINでかつRequestProcessingPolicyがUSE_SERVANT_MANAGERに設定されているすべてのPOAのサーバントマネージャに対して、etherealizeオペレーションを呼び出すかどうかを指定するフラグです。etherealize_objectに1を指定するとetherealizeオペレーションを呼び出します。0を指定するとetherealizeオペレーションを呼び出しません。0は修復不可能なエラーが起こったときなどの重大な場面でPOAを終了させることを意味します。

wait_for_completionは、このオペレーションがすぐに返るどうかを指定するフラグです。wait_for_completionに1を指定すると、処理中のリクエストが終了するのを待ちます。0を指定すると、このオペレーションは直ちに返ります。

戻り値

ありません。

エラー

POAの状態がinactiveだったときはPortableServer::POAManager::AdapterInactive例外がthrowされます。

関連項目

PortableServer::POAManager::activate, PortableServer::POAManager::hold_requests, PortableServer::POAManager::descard_requests


名前

PortableServer::AdapterActivator::unknown_adapter - POAを生成する

形式

機能説明

ORBがリクエストに対応するPOAをたどっているとき、ある子POAが見つからない場合に呼び出されるコールバックルーチンです。このメソッドは要求された子POAを生成します。

もし複数のPOAが子POAの生成を要求したならば、ORBは一度だけこのメソッドを呼び出します。

parentには生成するPOAの親POAが渡されます。

nameには生成する子POAの名前が渡されます。

子POAが生成され、ORBが処理を続行することができるときは1を返します。そうでなければ0を返します。0を返したとき、ORBはクライアントにCORBA::OBJECT_NOT_EXIST例外を返します。

また、親POAにAdapterActivatorが存在しなかった場合も、ORBはクライアントにCORBA::OBJECT_NOT_EXIST例外を返します。

このメソッドは、プログラマが実装します。次に実装例を示します。

戻り値

子POAが生成され、ORBが処理を続行することができるときは1を返します。そうでなければ0を返します。

エラー

子POAを生成できなかった場合は戻り値に0を返します。

関連項目

PortableServer::POA::crate_POA, PortableServer::POA::find_POA


名前

PortableServer::ServantActivator::incarnate

- 実装オブジェクトを活性化する

形式

機能説明

POAがあるオブジェクトへのリクエストを受け取ったとき、実装オブジェクトが活性化されていない場合に呼び出されるコールバックルーチンです。このメソッドは渡されたオブジェクトIDに対応づける実装オブジェクトを割り当て、もしくは、生成します。

POAはこのメソッドの戻り値をActive Object Mapに登録します。

このメソッドが呼び出されるのは、POAの方針としてServantRetentionPolicyがRETAINでかつRequestProcessingPolicyがUSE_SERVANT_MANAGERに設定されている場合です。

oidにはリクエストに関連づけられたオブジェクトIDが渡されます。

adapterには活性化されるオブジェクトが属するPOAが渡されます。

リクエストを別のオブジェクトへ転送したい場合は、PortableServer::ForwardRequest例外を返します。このとき転送先のオブジェクトリファレンスを例外のforward_referenceメンバにセットしておきます。

このメソッドが返した実装オブジェクトが別のオブジェクトIDで活性化されており、かつ、POAの方針にIdUniquenessPolicyがUNIQUE_IDに設定されていた場合、POAはCORBA::OBJ_ADAPTER例外を返します。

このメソッドは、プログラマが実装します。以下に実装例を示します。

戻り値

オブジェクトIDに対応づけられる実装オブジェクトを返します。

エラー

メッセージを転送する場合はPortableServer::ForwardRequest例外を返します。

関連項目

PortableServer::ServantActivator::etherealize, PortableServer::POA::set_servant_manager


名前

PortableServer::ServantActivator::etherealize

- 実装オブジェクトを非活性化する

形式

機能説明

実装オブジェクトを非活性化するときに呼び出されるコールバックルーチンです。このメソッドは、incarnateによって活性化されたかどうかに関わらず、実装オブジェクトを非活性化します。

このメソッドが呼び出されるのは、POAの方針としてServantRetentionPolicyがRETAINでかつRequestProcessingPolicyがUSE_SERVANT_MANAGERに設定されている場合です。

oidには非活性化されるオブジェクトのオブジェクトIDが渡されます。

adapterには非活性化するオブジェクトが属するPOAが渡されます。

servには非活性化される実装オブジェクトが渡されます。

cleanup_in_progressにはPortableServer::POAManager::deactivateもしくはPortableServer::POA::destroyオペレーションが、etherealize_objects引数に1を指定して呼び出された場合には1が渡されます。それ以外の場合は0が渡されます。

remaining_activationsには、このメソッドが呼ばれたとき、adapterに渡されたPOAがservに渡された実装オブジェクトを別のオブジェクトIDとも関連づけていた場合は1が渡されます。そうでなければ0が渡されます。

非活性化は下記の状況で起こります。

このメソッドは、プログラマが実装します。以下に実装例を示します。

MyImplクラス定義、main関数の実装は、incarnateメソッドの例を参照してください。

戻り値

ありません。

エラー

起こりません。

関連項目

PortableServer::ServantActivator::incarnate, PortableServer::POA::set_servant_manager


名前

PortableServer::ServantLocator::preinvoke

- 実装オブジェクトを活性化する

形式

機能説明

POAがあるオブジェクトへのリクエストを受け取ったとき、そのオブジェクトが活性化されていない場合に呼び出されるコールバックルーチンです。このメソッドは渡されたオブジェクトIDに合致した実装オブジェクトを活性化します。

このメソッドが呼び出されるのは、POAの方針としてServantRetentionPolicyがNON_RETAINでかつRequestProcessingPolicyがUSE_SERVANT_MANAGERに設定されている場合です。

oidにはリクエストに関連づけられたオブジェクトIDが渡されます。

adapterには活性化されるオブジェクトが属するPOAが渡されます。

operationには呼び出されたオペレーションの名前が渡されます。

the_cookieはPortableServer::ServantLocator::postinvokeが呼び出されたときに使用するためのものを返すOUT引数です。設定はサーバントマネージャが行います。

リクエストを別のオブジェクトへ転送したい場合は、PortableServer::ForwardRequest例外を返します。このとき転送先のオブジェクトリファレンスを例外のforward_referenceメンバにセットしておきます。

このメソッドは、プログラマが実装します。以下に実装例を示します。

戻り値

オブジェクトIDに合致した実装オブジェクトを返します。

エラー

メッセージを他のオブジェクトに転送する場合はPortableServer::ForwardRequest例外を返します。

関連項目

PortableServer::ServantLocator::postinvoke, PortableServer::POA::set_servant_manager


名前

PortableServer::ServantLocator::postinvoke

- リクエスト処理後に呼ばれるコールバックルーチン

形式

機能説明

POAが活性化されたオブジェクトに処理を実行させた後に呼び出されるコールバックルーチンです。

このメソッドが呼び出されるのは、POAの方針としてServantRetentionPolicyがNON_RETAINでかつRequestProcessingPolicyがUSE_SERVANT_MANAGERに設定されている場合です。

oidには活性化されたオブジェクトのオブジェクトIDが渡されます。

adapterには活性化されたオブジェクトが属するPOAが渡されます。

operationにはリクエストされたオペレーション名が渡されます。

the_cookieにはPortableServer::ServantLocator::preinvokeが呼び出されたときに返されたものが渡されます。

the_servantには活性化された実装オブジェクトが渡されます。

このメソッドは、プログラマが実装します。以下に実装例を示します。

MyImplクラス定義、main関数の実装は、incarnateメソッドの例を参照してください。

戻り値

ありません。

エラー

起きないようにしなければなりません。

関連項目

PortableServer::ServantLocator::preinvoke, PortableServer::POA::set_servant_manager


名前

PortableServer::POA::create_POA - 子POAを生成する

形式

機能説明

子POAを生成します。生成される子POAは親POAの方針を受け継ぎません。方針を指定しなかったときに生成される子POAの設定は以下のとおりです。

adapter_nameには生成するPOAの名前を指定します。

a_POAManagerには生成するPOAを管理するPOAManagerを指定します。nilオブジェクト(PortableServer::POAManager::_nil()の戻り値)を指定した場合は新たにPOAManagerを生成します。

policiesには変更したい方針のシーケンスを指定します。CORBA::PolicyListはCORBA::Policyのシーケンスです。子POAの方針を既定値に設定するときは長さ0のシーケンスを渡します。変更する場合は、変更したい方針の数だけの長さのシーケンスを作成し、それぞれの方針を設定して渡します。

子POAの生成例は [ アプリケーション開発ガイド(CORBA) > 1. CORBA アプリケーション > 1.1. チュートリアル > 1.1.1. C++でCORBAアプリケーションを作成する > POAの作成] を参照してください。

処理方針の種類は「処理方針一覧」を参照してください。

戻り値

生成したPOAが返ります。

エラー

adapter_nameに設定した名前がすでに使われている場合はPortableServer::POA::AdapterAlreadyExists例外がthrowされます。

policiesによって方針を変更しようとしたとき、方針の組み合わせに矛盾があった場合はPortableServer::POA::InvalidPolicy例外がthrowされます。

関連項目

可能な方針の組み合わせ

注意

CORBA::PolicyListに設定した方針は、CORBA::PolicyListが解放されるときに自動的に解放されます。CORBA::Policy::destroyで削除してはいけません。


名前

PortableServer::POA::find_POA - 子POAを検索する

形式

機能説明

子POAを検索します。

adapter_nameには検索する子POAの名前を指定します。

activate_itには子POAが存在しなかったとき、AdapterActivatorを使って子POAの生成を試みるかどうかを指定します。子POAの生成を試みる場合は1を指定します。そうでなければ0を指定します。

戻り値

見つけた、もしくは、AdapterActivatorによって生成された子POAが返ります。

エラー

子POAが見つからない、もしくは、AdapterActivatorによって生成することができなかった場合はPortableServer::POA::AdapterNonExistent例外がthrowされます。

関連項目

PortableServer::AdapterActivatorクラス


名前

PortableServer::POA::destroy - POAを削除する

形式

機能説明

このメソッドを呼び出したPOAおよびその配下にあるすべてのPOAを削除します。

etherealize_objectsにはサーバントマネージャのetherealizeオペレーション呼び出しを試みるかどうかを指定します。呼び出しを試みる場合は1を設定します。そうでなければ0を設定します。etherealizeオペレーションが呼び出されるには、1が設定されている以外に、POAの方針としてServantRetentionPolicyにRETAINが設定されていて、かつ、サーバントマネージャが存在している必要があります。

wait_for_completionには現在実行中のリクエストの処理が終了するのを待つかどうかを指定します。実行中の処理とetherealizeオペレーションの呼び出しがすべて終了するのを待つ場合は1を指定します。そうでなければ0を指定します。

戻り値

ありません。

エラー

CORBA標準例外がthrowされます。

関連項目

PortableServer::ServantActivator::etherealize


名前

PortableServer::POA::create_thread_policy - ThreadPolicyを生成する

形式

機能説明

ThreadPolicyを生成します。

valueには以下のうちの1つを指定します。

戻り値

生成したThreadPolicyが返ります。

エラー

CORBA標準例外がthrowされます。

関連項目

PortableServer::POA::create_POA


名前

PortableServer::POA::create_lifespan_policy - LifespanPolicyを生成する

形式

機能説明

LifespanPolicyを生成します。

valueには以下のうちの1つを指定します。

戻り値

生成したLifespanPolicyが返ります。

エラー

CORBA標準例外がthrowされます。

関連項目

PortableServer::POA::create_POA


名前

PortableServer::POA::create_id_uniqueness_policy

- IdUniquenessPolicyを生成する

形式

機能説明

IdUniquenessPolicyを生成します。

valueには以下のうちの1つを指定します。

戻り値

生成したIdUniquenessPolicyが返ります。

エラー

CORBA標準例外がthrowされます。

関連項目

PortableServer::POA::create_POA


名前

PortableServer::POA::create_id_assignment_policy

- IdAssignmentPolicyを生成する

形式

機能説明

IdAssignmentPolicyを生成します。

valueには以下のうちの1つを指定します。

戻り値

生成したIdAssignmentPolicyが返ります。

エラー

CORBA標準例外がthrowされます。

関連項目

PortableServer::POA::create_POA


名前

PortableServer::POA::create_implicit_activation_policy

- ImplicitActivationPolicyを生成する

形式

機能説明

ImplicitActivationPolicyを生成します。

valueには以下のうちの1つを指定します。

戻り値

生成したImplicitActivationPolicyが返ります。

エラー

CORBA標準例外がthrowされます。

関連項目

PortableServer::POA::create_POA


名前

PortableServer::POA::create_servant_retention_policy

- ServantRetentionPolicyを生成する

形式

機能説明

ServantRetentionPolicyを生成します。

valueには以下のうちの1つを指定します。

戻り値

生成したServantRetentionPolicyが返ります。

エラー

CORBA標準例外がthrowされます。

関連項目

PortableServer::POA::create_POA


名前

PortableServer::POA::create_request_processing_policy

- RequestProcessingPolicyを生成する

形式

機能説明

RequestProcessingPolicyを生成します。

valueには以下のうちの1つを指定します。

ServantRetentionPolicyにRETAINとNON_RETAINのどちらを指定するかによって動作が異なります。

戻り値

生成したRequestProcessingPolicyが返ります。

エラー

CORBA標準例外がthrowされます。

関連項目

PortableServer::POA::create_POA


名前

PortableServer::POA::the_name - POA名を取得する

形式

機能説明

自分自身の名前を取得します。この名前は親POAから関連づけられています。

戻り値

自分自身のPOA名が返ります。

エラー

CORBA標準例外がthrowされます。


名前

PortableServer::POA::the_parent - 親POAを取得する

形式

機能説明

親POAを取得します。もしルートPOAに対してこのメソッドを呼び出した場合はnilオブジェクトが返ります。

戻り値

親のPOAが返ります。

エラー

CORBA標準例外がthrowされます。


名前

PortableServer::POA::the_POAManager - POAManagerを取得する

形式

機能説明

自分自身に関連づけられているPOAManagerを取得します。

戻り値

自分自身に関連づけられているPOAManagerが返ります。

エラー

CORBA標準例外がthrowされます。


名前

PortableServer::POA::the_activator(AdapterActivator)

- AdapterActivatorを設定する

形式

機能説明

POAとAdapterActivatorを関連づけます。

生成された直後のPOAはAdapterActivatorを持ちません。

ルートPOAにアプリケーション固有のAdapterActivatorを割り当てても構いません。

戻り値

ありません。

エラー

CORBA標準例外がthrowされます。


名前

PortableServer::POA::the_activator

- AdapterActivatorを取得する

形式

機能説明

現在関連づけられているAdapterActivatorを取得します。AdapterActivatorが設定されていない場合はnilオブジェクトが返されます。

戻り値

現在関連づけられているAdapterActivatorが返されます。

エラー

CORBA標準例外がthrowされます。


名前

PortableServer::POA::get_servant_manager

- サーバントマネージャを取得する

形式

機能説明

POAに関連づけられたサーバントマネージャを返します。

POAに関連づけられたサーバントマネージャがない場合はnilオブジェクトを返します。

戻り値

POAに関連づけられたサーバントマネージャを返します。

エラー

もしPOAの方針としてRequestProcessingPolicyがUSE_SERVANT_MANAGERに設定されていない場合はPortableServer::POA::WrongPolicy例外がthrowされます。

関連項目

PortableServer::POA::set_servant_manager


名前

PortableServer::POA::set_servant_manager

- サーバントマネージャを設定する

形式

機能説明

POAにサーバントマネージャimgrを関連づけます。

戻り値

ありません。

エラー

POAの方針としてRequestProcessingPolicyがUSE_SERVANT_MANAGERに設定されていない場合はPortableServer::POA::WrongPolicy例外がthrowされます。

NON_RETAINのPOAにServantActivatorをセットしたとき、及びRETAINのPOAにServantLocatorをセットした場合はPortableServer::POA::WrongPolicy例外がthrowされます。

関連項目

PortableServer::POA::get_servant_manager


名前

PortableServer::POA::get_servant

- デフォルトサーバントを取得する

形式

機能説明

POAに関連づけられているデフォルトサーバントを取得します。

戻り値

POAに関連づけられているデフォルトサーバントを返します。

エラー

POAの方針としてRequestProcessingPolicyがUSE_DEFAULT_SERVANTに設定されていない場合はPortableServer::POA::WrongPolicyがthrowされます。デフォルトサーバントが設定されていない場合はPortableServer::POA::NoServantがthrowされます。

関連項目

PortableServer::POA::set_servant


名前

PortableServer::POA::set_servant

- デフォルトサーバントを設定する

形式

機能説明

POAにデフォルトサーバントとなる実装オブジェクトp_servantを設定します。

デフォルトサーバントは、Active Object Mapに登録されていない実装オブジェクトに対するすべてのリクエストの処理で使われます。

戻り値

ありません。

エラー

POAの方針としてRequestProcessingPolicyがUSE_DEFAULT_SERVANTに設定されていない場合はPortableServer::POA::WrongPolicyを返します。

関連項目

PortableServer::POA::get_servant


名前

PortableServer::POA::activate_object

- オブジェクトを活性化する

形式

機能説明

オブジェクトIDを生成し、生成したオブジェクトIDと実装オブジェクトp_servantをActive Object Mapに登録します。

このメソッドを呼び出すにはPOAの方針としてIdAssignmentPolicyにSYSTEM_IDでかつServantRetentionPolicyにRETAINが設定されている必要があります。

POAの方針としてIdUniquenessPolicyにUNIQUE_IDが設定されている場合は、p_servantがActive Object Mapに登録されていてはいけません。

戻り値

生成したオブジェクトIDが返ります。

エラー

POAの方針としてIdAssignmentPolicyにSYSTEM_IDまたはServantRetentionPolicyにRETAINのどちらか一方でも設定されていない場合はPortableServer::POA::WrongPolicy例外がthrowされます。

POAの方針としてIdUniquenessPolicyがUNIQUE_IDに設定されていた場合、すでにp_servantがActive Object Mapに登録されていたときはPortableServer::POA::ServantAlreadyActive例外がthrowされます。

関連項目

PortableServer::POA::deactivate_object


名前

PortableServer::POA::activate_object_with_id

- オブジェクトIDを指定してオブジェクトを活性化する

形式

機能説明

オブジェクトIDを指定してオブジェクトを活性化します。

このメソッドはオブジェクトIDと実装オブジェクトの関連づけをActive Object Mapに保存します。したがって、POAの方針としてServantRetentionPolicyにRETAINが設定されている必要があります。

idには実装オブジェクトと関連づけるオブジェクトIDを指定します。

idはこのメソッドを呼び出した時点で実装オブジェクトと関連づけられていてはいけません。また、POAの方針としてIdAssignmentPolicyにSYSTEM_IDが設定されている場合、プログラマが定義したオブジェクトIDや別のPOAで生成されたオブジェクトIDを指定してはいけません。

POAの方針としてLifespanPolicyにPERSISTENTが設定されていた場合、過去にこのPOAで生成されたオブジェクトIDを指定することは可能です。

p_servantにはidと関連づける実装オブジェクトを指定します。POAの方針にUNIQUE_IDが設定されている場合、他のオブジェクトIDで活性化されている実装オブジェクトを指定してはいけません。

戻り値

ありません。

エラー

POAの方針としてServantRetentionPolicyにRETAINが設定されていない場合はPortableServer::POA::WrongPolicy例外がthrowされます。

すでに実装オブジェクトと関連づけられているオブジェクトIDを指定した場合はPortableServer::POA::ObjectAlreadyActive例外がthrowされます。

POAの方針としてIdUniquenessPolicyにUNIQUE_IDが指定されているとき、実装オブジェクトがすでに活性化されていた場合はPortableServer::POA::ServantAlreadyActive例外がthrowされます。

POAの方針としてIdAssignmentPolicyにSYSTEM_IDが指定されていたとき、プログラマが定義したオブジェクトIDや他のPOAで生成したオブジェクトIDを指定した場合はCORBA::BAD_PARAM例外がthrowされます。

関連項目

PortableServer::POA::deactivate_object


名前

PortableServer::POA::deactivate_object

- オブジェクトを非活性化する

形式

機能説明

oidに対応した実装オブジェクトをActive Object Mapから削除します。

サーバントマネージャが設定されている場合、PortableServer::ServantActivator::etherealizeが呼び出されます。

このメソッドを実行するにはPOAの方針としてServantRetentionPolicyにRETAINが設定されている必要があります。

戻り値

ありません。

エラー

POAの方針としてServantRetentionPolicyにRETAINが設定されていない場合はPortableServer::POA::WrongPolicy例外がthrowされます。

すでに非活性化されていた場合はPortableServer::POA::ObjectNotActive例外がthrowされます。

関連項目

PortableServer::ServantActivator::etherealize


名前

PortableServer::POA::create_reference

- オブジェクトリファレンスを生成する

形式

機能説明

POAが自動生成したオブジェクトIDとintfで指定したリポジトリIDを持ったオブジェクトリファレンスを生成します。

生成したオブジェクトリファレンスは、サーバントマネージャを介したオブジェクト呼び出しに使われます。

このメソッドを呼び出すには、POAの方針としてIdAssignmentPolicyにSYSTEM_IDが設定されている必要があります。

戻り値

生成されたオブジェクトリファレンスが返ります。

エラー

POAの方針としてIdAssignmentPolicyにSYSTEM_IDが設定されていなかった場合はPortableServer::POA::WrongPolicy例外がthrowされます。


名前

PortableServer::POA::create_reference_with_id

- オブジェクトIDを指定してオブジェクトリファレンスを生成する

形式

機能説明

oidで指定したオブジェクトIDとintfで指定したリポジトリIDを持ったオブジェクトリファレンスを生成します。

POAの方針としてIdAssignmentPolicyにSYSTEM_IDが設定されているとき、oidにプログラマが定義したオブジェクトIDや他のPOAで生成されたオブジェクトIDを指定してはいけません。

POAの方針としてLifespanPolicyにPERSISTENTが設定されていた場合、過去にこのPOAで生成されたオブジェクトIDを指定することは可能です。

戻り値

生成されたオブジェクトリファレンスが返ります。

エラー

POAの方針としてIdAssignmentPolicyにSYSTEM_IDが設定されているとき、oidにプログラマが定義したオブジェクトIDや他のPOAで生成されたオブジェクトIDを指定した場合は、CORBA::BAD_PARAM例外がthrowされます。


名前

PortableServer::POA::servant_to_id

- 実装オブジェクトに対応づけられているオブジェクトIDを取得する

形式

機能説明

実装オブジェクトに対応づけられているオブジェクトIDを返します。

このメソッドはPOAの方針と実装オブジェクトが活性化されているかどうかによって以下の3種類の動作をします。

戻り値

実装オブジェクトに関連づけられたオブジェクトIDが返ります。

エラー

POAの方針がServantRetentionPolicyにRETAIN、IdUniquenessPolicyにUNIQUE_IDの組み合わせか、ServantRetentionPolicyにRETAIN、ImplicitActivationPolicyにIMPLICIT_ACTIVATIONの組み合わせ以外の場合はPortableServer::POA::WrongPolicy例外がthrowされます。

実装オブジェクトが活性化されていない、もしくは、活性化できないときはPortableServer::POA::ServantNotActive例外がthrowされます。


名前

PortableServer::POA::servant_to_reference

- 実装オブジェクトに対応づけられているオブジェクトリファレンスを取得する

形式

機能説明

実装オブジェクトに対応づけられているオブジェクトリファレンスを返します。

このメソッドはPOAの方針と実装オブジェクトが活性化されているかどうかによって以下の3種類の動作をします。

戻り値

実装オブジェクトに関連づけられたオブジェクトリファレンスが返ります。

エラー

POAの方針としてServantRetentionPolicyにRETAIN、IdUniquenessPolicyにUNIQUE_IDの組み合わせか、ServantRetentionPolicyにRETAIN、ImplicitActivationPolicyにIMPLICIT_ACTIVATIONの組み合わせ以外の場合はPortableServer::POA::WrongPolicy例外がthrowされます。

実装オブジェクトが活性化されていない、もしくは、活性化できないときはPortableServer::POA::ServantNotActive例外がthrowされます。


名前

PortableServer::POA::reference_to_servant

- オブジェクトリファレンスに対応した実装オブジェクトを取得する

形式

機能説明

オブジェクトリファレンスreferenceに対応した実装オブジェクトを取得します。

POAの方針としてServantRetentionPolicyにRETAINが指定されている場合は、Active Object Mapの中からreferenceに対応する実装オブジェクトを返します。

POAの方針としてServantRetentionPolicyにUSE_DEFAULT_SERVANTが指定されていて、かつ、デフォルトサーバントが登録されている場合は、デフォルトサーバントを返します。

戻り値

referenceに対応した実装オブジェクトが返ります。

エラー

POAの方針としてServantRetentionPolicyにRETAINもしくはUSE_DEFAULT_SERVANTが指定されていない場合は、PortableServer::POA::WrongPolicy例外がthrowされます。

POAの方針としてServantRetentionPolicyにRETAINが設定されていてActive Object Mapに対応する実装オブジェクトがない場合、および、POAの方針としてServantRetentionPolicyにUSE_DEFAULT_SERVANTが指定されているがデフォルトサーバントが登録されていない場合はPortableServer::POA::ObjectNotActive例外がthrowされます。

オブジェクトリファレンスがこのPOAで生成されていない場合は、PortableServer::POA::WrongAdapter例外がthrowされます。


名前

PortableServer::POA::reference_to_id

- オブジェクトリファレンスに含まれているオブジェクトIDを取り出す

形式

機能説明

オブジェクトリファレンスreferenceに含まれているオブジェクトIDを取り出します。

このメソッドは、referenceを生成したPOAに対して呼び出します。

このメソッドを呼び出すときに、referenceに対応したオブジェクトが活性化されている必要はありません。

戻り値

referenceに含まれているオブジェクトIDが返ります。

エラー

referenceに他のPOAで生成されたオブジェクトリファレンスを渡した場合は、PortableServer::POA::WrongAdapter例外がthrowされます。

PortableServer::POA::WrongPolicyは将来の拡張のためであり、この例外が返ることはありません。


名前

PortableServer::POA::id_to_servant

- オブジェクトIDに対応づけられている実装オブジェクトを取得する

形式

機能説明

オブジェクトIDに対応づけられている実装オブジェクトを返します。

oidには検索する実装オブジェクトに対応づけられているオブジェクトIDを指定します。

このメソッドを呼び出すには、POAの方針としてServantRetentionPolicyにRETAINが設定されていて、かつ、実装オブジェクトが活性化されている必要があります。

戻り値

オブジェクトIDに対応づけられている実装オブジェクトが返ります。

エラー

POAの方針としてServantRetentionPolicyにRETAINが設定されていない場合は、PortableServer::POA::WrongPolicy例外がthrowされます。

活性化されていないオブジェクトのオブジェクトIDを渡した場合は、PortableServer::POA::ObjectNotActive例外がthrowされます。


名前

PortableServer::POA::id_to_reference

- オブジェクトIDに対応したオブジェクトリファレンスを取得する

形式

機能説明

oidと関連づけられたオブジェクトリファレンスを取得します。

このメソッドを呼び出すには、POAの方針としてServantRetentionPolicyにRETAINが設定されていて、かつ、実装オブジェクトが活性化されている必要があります。

戻り値

oidと関連づけられたオブジェクトリファレンスが返ります。

エラー

POAの方針としてServantRetentionPolicyにRETAINが設定されていない場合は、PortableServer::POA::WrongPolicy例外がthrowされます。

活性化されていないオブジェクトのオブジェクトIDを渡した場合は、PortableServer::POA::ObjectNotActive例外がthrowされます。


名前

PortableServer::Current::get_POA

- 現在処理しているPOAを取得する

形式

機能説明

現在リクエスト処理しているPOAを取得します。

このメソッドを呼び出すには、リクエスト処理部内である必要があります。

戻り値

現在リクエスト処理しているPOAが返ります。

エラー

リクエスト処理部の外で呼び出された場合は、PortableServer::Current::NoContext例外がthrowされます。


名前

PortableServer::Current::get_object_id

- 現在処理しているオブジェクトのIDを取得する

形式

機能説明

現在リクエスト処理しているオブジェクトのIDを取得します。

このメソッドを呼び出すには、リクエスト処理部内である必要があります。

戻り値

現在リクエスト処理しているオブジェクトのIDが返ります。

エラー

リクエスト処理部の外で呼び出された場合は、PortableServer::Current::NoContext例外がthrowされます。



処理方針一覧



可能な方針の組み合わせ

RETAIN NON_RETAIN
USE_ACTIVE_OBJECT_MAP_ONLY OK NG
USE_SERVANT_MANAGER ServantActivatorを使う ServantLocatorを使う
USE_DEFAULT_SERVANT Active ObjectMapにないときデフォルトサーバントを使う 常にデフォルトサーバントを使う
IMPLICIT_ACTIVATION OK NG
NO_IMPLICIT_ACTIVATION OK OK


UNIQUE_ID MULTIPLE_ID
USE_DEFAULT_SERVANT NG OK


USER_ID SYSTEM_ID
IMPLICIT_ACTIVATION NG OK
NO_IMPLICIT_ACTIVATION OK OK


他の方針の影響を受けないものは以下のとおりです。

ThreadPolicy : SINGLE_THREAD_MODEL, ORB_CTRL_MODEL