bea ホーム | 製品 | dev2dev | support | askBEA
BEA Logo Tuxedo
 ドキュメントのダウンロード   サイトマップ   用語集 
検索
0

Tuxedo CORBA プログラミング・リファレンス

 Previous Next Contents View as PDF  

PortableServer::POA::create_POA

概要

新しい POA を対象の POA の子として作成します。

C++ バインディング

POA_ptr PortableServer::create_POA (
const char * adapter_name,
POAManager_ptr a_POAManager,
const CORBA::PolicyList & policies)

引数

adapter_name

作成する POA の名前。

a_POAManager

新しい POAManager が作成されて新しい POA に関連付けられることを示す NULL 値か、または既存の POAManager へのポインタ。

policies

新しい POA に関連付ける方針オブジェクト。

例外

AdapterAlreadyExists

対象の POA に指定の名前を持つ子 POA が既にある場合に発生します。

InvalidPolicy

指定の方針オブジェクトが ORB インプリメンテーションで無効な場合、指定した方針オブジェクトに競合がある場合、または指定の方針オブジェクトで事前の管理作業が必要にもかかわらず実行していない場合に発生します。この例外では、最初に方針オブジェクトと競合が生じた方針パラメータ値のインデックスが記述されます。

IMP_LIMIT

CORBA::ORB_init オペレーションで説明したポートの設定を行わずに、PERSISTENT の LifespanPolicy で POA の作成をプログラムで試行した場合に発生します。

説明

このオペレーションは、新しい POA を対象の POA の子として作成します。指定する名前は一意でなければなりません。この名前で同じ親 POA を持つほかの POA と新しい POA とを識別します。

a_POAManager パラメータが NULL の場合、新しい PortableServer::POAManager オブジェクトが作成され、新しい POA に関連付けられます。それ以外の場合、指定した POAManager オブジェクトは新しい POA に関連付けられます。POAManager オブジェクトは、属性名 the_POAManager を使用して取得できます。

指定した方針オブジェクトは POA に関連付けられ、その動作の制御に使用されます。方針オブジェクトは、このオペレーションが戻り値を返す前にコピーされます。したがって、アプリケーションでは POA の使用中にいつでも方針オブジェクトを破棄できます。方針は、親 POA から継承されません

注記 この関数がサポートされるのは、共同クライアント/サーバのみです。

戻り値

作成された POA へのポインタを返します。

例 1

この例では、子 POA は親 POA と同じマネージャを使用します。この場合、子 POA の状態は親と同じになります。たとえば、親が活性化されていれば、子も活性化されます。

CORBA::PolicyList policies(2);
policies.length (1);
policies[0] = rootPOA->create_lifespan_policy(
PortableServer::LifespanPolicy::TRANSIENT);
PortableServer::POA_ptr poa =
rootPOA->create_POA("my_little_poa",
rootPOA->the_POAManager, policies);

例 2

この例では、新しい POA がルート POA の子として作成されています。

CORBA::PolicyList policies(2);
policies.length (1);
policies[0] = rootPOA->create_lifespan_policy(
PortableServer::LifespanPolicy::TRANSIENT);
PortableServer::POA_ptr poa =
rootPOA->create_POA("my_little_poa",
PortableServer::POAManager::_nil(), policies);

 

Back to Top Previous Next
Contact e-docsContact BEAwebmasterprivacy