bea ホーム | 製品 | dev2dev | support | askBEA |
|
e-docs > Tuxedo > Tuxedo CORBA プログラミング・リファレンス > CORBA API |
Tuxedo CORBA プログラミング・リファレンス |
PortableServer::POA::create_POA
概要
新しい POA を対象の POA の子として作成します。
C++ バインディング
POA_ptr PortableServer::create_POA (
const char * adapter_name,
POAManager_ptr a_POAManager,
const CORBA::PolicyList & policies)
引数
例外
説明
このオペレーションは、新しい 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);