ページの先頭行へ戻る
Interstage Application Server リファレンスマニュアル(API編)
FUJITSU Software

2.12.3 POAインタフェース

2.12.3.1 PortableServer::POA::create_POA()

名前

PortableServer::POA::create_POA

形式

PortableServer::POA_ptr create_POA(
              const CORBA::Char*              adapter_name,
              PortableServer::POAManager_ptr  a_POAManager,
              const CORBA::PolicyList&        policies,
              CORBA::Environment& = CORBA::Environment() )
              throw( CORBA::Exception );

機能説明

対象のPOAオブジェクトの、子POAオブジェクトを作成します。adapter_nameパラメタには、同じ親に対する子POAにおいて、新しい子POAを識別する名前を指定します。

パラメタ

adapter_name

生成する子POAの名前。

a_POAManager

関連付けるPOAマネージャのオブジェクト。

policies

子POAに指定するポリシを持つPolicyListオブジェクト。

復帰値

正常終了した場合は、生成された子POAオブジェクトが返されます。
異常終了した場合は、以下の例外が発生します。

PortableServer::POA::AdapterAlreadyExists

対象のPOAオブジェクトが、すでに指定した名前の子POAオブジェクトを持っています。

PortableServer::POA::InvalidPolicy

指定したポリシオブジェクトの組み合わせが無効です。

CORBA::SystemException

その他の要因。

システム例外発生時に設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

注意事項

OMGのCORBA規約ではcreate_POA()の2番目のパラメタ“a_POAManager”に“null”を指定した場合は、新しくPOAManagerオブジェクトが作成され、新しく作成するPOAオブジェクトを関連付ける仕様ですが、Interstage CORBAサービスにおいては、1プロセス中に唯一のPOAManagerオブジェクトのみが存在する仕様となっています。CORBAサービスのPOAManagerオブジェクトは、RootPOAオブジェクトが生成されたときに1つだけ作成されます。

2.12.3.2 PortableServer::POA::find_POA()

名前

PortableServer::POA::find_POA

形式

PortableServer::POA_ptr find_POA()(
              const CORBA::Char*        adapter_name,
              CORBA::Boolean            activate_it,
              CORBA::Environment& = CORBA::Environment() )
              throw( CORBA::Exception );

機能説明

対象のPOAオブジェクトの、子POAオブジェクトのうち、adapter_nameで指定した名前を持つ子POAオブジェクトを返します。指定した名前を持つ子POAオブジェクトが存在せず、かつactivate_itパラメタがTRUEの場合、対象のPOAオブジェクトのAdapterActivatorが存在すればそれが起動されます。
AdapterActivatorでは指定した名前を持つ子POAを生成します。これに成功した場合、本メソッドは生成された子POAオブジェクトを返します。

上記以外の場合、AdapterNonExistent例外が発生します。

パラメタ

adapter_name

子POAの名前。

activate_it

true:
指定した子POAの名前が存在しない場合、新しい子POAを活性化します。
false:
指定した子POAの名前が存在しない場合何もしません(AdapterNonExistent例外発生)。

復帰値

正常終了した場合は、adapter_nameで指定した名前を持つ子POAオブジェクトが返されます。
異常終了した場合は、以下の例外が発生します。

PortableServer::POA::AdapterNonExistent

機能説明参照。

CORBA::SystemException

その他の要因。

システム例外発生時に設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

2.12.3.3 PortableServer::POA::destroy()

名前

PortableServer::POA::destroy

形式

void destroy(
              CORBA::Boolean            etherealize_objects,
              CORBA::Boolean            wait_for_completion,
              CORBA::Environment& = CORBA::Environment() )
              throw( CORBA::Exception );

機能説明

対象のPOAオブジェクトおよびその子孫のPOAオブジェクトを破棄します。

パラメタ

etherealize_objects

true:
POAがRETAINポリシを持つ場合、POAに登録されているServantManagerはAOM上のアクティブなオブジェクトに対してetherealize()メソッドを発行します。
false:
上記の動作を行いません。

wait_for_completion

true:
本メソッドは、プロセス内のリクエストが完了し、かつetherealize()メソッドの起動がすべて完了した時点で復帰します。
false:
本メソッドは、POAオブジェクトを破棄した時点で復帰します。

復帰値

正常終了した場合は、ありません。
異常終了した場合、以下の例外が発生します。
  CORBA::SystemException

システム例外発生時に設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

2.12.3.4 PortableServer::POA::create_thread_policy()

名前

PortableServer::POA::create_thread_policy

形式

PortableServer::ThreadPolicy_ptr create_thread_policy(
              PortableServer::ThreadPolicyValue  value,
              CORBA::Environment& = CORBA::Environment() )
              throw( CORBA::Exception );

機能説明

valueで指定したポリシを持つThreadPolicyオブジェクトを生成します。

パラメタ

value

以下の値が指定可能です。
  PortableServer::ORB_CTRL_MODEL
  PortableServer::SINGLE_THREAD_MODEL

POAオブジェクトについては、“アプリケーション作成ガイド(CORBAサービス編)”の“アプリケーションの開発(C++言語)”を参照してください。

復帰値

正常終了した場合は、生成したThreadPolicyオブジェクトが返されます。
異常終了した場合は、以下の例外が発生します。
  CORBA::SystemException

システム例外発生時に設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

2.12.3.5 PortableServer::POA::create_lifespan_policy()

名前

PortableServer::POA::create_lifespan_policy

形式

PortableServer::LifespanPolicy_ptr  create_lifespan_policy(
              PortableServer::LifespanPolicyValue  value,
              CORBA::Environment& = CORBA::Environment() )
              throw( CORBA::Exception );

機能説明

alueで指定したポリシを持つLifespanPolicyオブジェクトを生成します。

パラメタ

value

以下の値が指定可能です。
  PortableServer::TRANSIENT
  PortableServer::PERSISTENT

POAオブジェクトについては、“アプリケーション作成ガイド(CORBAサービス編)”の“アプリケーションの開発(C++言語)”を参照してください。

復帰値

正常終了した場合は、生成したLifespanPolicyオブジェクトを返します。
異常終了した場合は、以下の例外が発生します。
  CORBA::SystemException

システム例外発生時に設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

2.12.3.6 PortableServer::POA::create_id_uniqueness_policy()

名前

PortableServer::POA::create_id_uniqueness_policy

形式

PortableServer::IdUniquenessPolicy_ptr  create_id_uniqueness_policy(
              PortableServer::IdUniquenessPolicyValue value,
              CORBA::Environment& = CORBA::Environment() )
              throw( CORBA::Exception );

機能説明

valueで指定したポリシを持つIdUniquenessPolicyオブジェクトを生成します。

パラメタ

value

以下の値が指定可能です。
  PortableServer::UNIQUE_ID
  PortableServer::MULTIPLE_ID

POAオブジェクトについては、“アプリケーション作成ガイド(CORBAサービス編)”の“アプリケーションの開発(C++言語)”を参照してください。

復帰値

正常終了した場合は、生成したIdUniquenessPolicyオブジェクトを返します。
異常終了した場合は、以下の例外が発生します。
  CORBA::SystemException

システム例外発生時に設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

2.12.3.7 PortableServer::POA::create_id_assignment_policy()

名前

PortableServer::POA::create_id_assignment _policy

形式

PortableServer::IdAssignmentPolicy_ptr  create_id_assignment_policy(
              PortableServer::IdAssignmentPolicyValue value,
              CORBA::Environment& = CORBA::Environment() )
              throw( CORBA::Exception );

機能説明

valueで指定したポリシを持つIdAssignmentPolicyオブジェクトを生成します。

パラメタ

value

以下の値が指定可能です。
  PortableServer::USER_ID
  PortableServer::SYSTEM_ID

POAオブジェクトについては、“アプリケーション作成ガイド(CORBAサービス編)”の“アプリケーションの開発(C++言語)”を参照してください。

復帰値

正常終了した場合は、生成したIdAssignmentPolicyオブジェクトを返します。
異常終了した場合は、以下の例外が発生します。
  CORBA::SystemException

システム例外発生時に設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

2.12.3.8 PortableServer::POA::create_implicit_activation_policy()

名前

PortableServer::POA::create_implicit_activation_policy

形式

PortableServer::ImplicitActivationPolicy_ptr  create_implicit_activation_policy(
              PortableServer::ImplicitActivationPolicyValue value,
              CORBA::Environment& = CORBA::Environment() )
              throw( CORBA::Exception );

機能説明

valueで指定したポリシを持つImplicitActivationPolicyオブジェクトを生成します。

パラメタ

value

以下の値が指定可能です。
  PortableServer::IMPLICIT_ACTIVATION
  PortableServer::NO_IMPLICIT_ACTIVATION

POAオブジェクトについては、“アプリケーション作成ガイド(CORBAサービス編)”の“アプリケーションの開発(C++言語)”を参照してください。

復帰値

正常終了した場合は、生成したImplicitActivationPolicyオブジェクトが返されます。
異常終了した場合は、以下の例外が発生します。
  CORBA::SystemException

システム例外発生時に設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

2.12.3.9 PortableServer::POA::create_servant_retention_policy()

名前

PortableServer::POA::create_servant_retention_policy

形式

PortableServer.ServantRetentionPolicy_ptr  create_servant_retention_policy(
              PortableServer::ServantRetentionPolicyValue value,
              CORBA::Environment& = CORBA::Environment() )
              throw( CORBA::Exception );

機能説明

valueで指定したポリシを持つServantRetentionPolicyオブジェクトを生成します。

パラメタ

value

以下の値が指定可能です。
  PortableServer::RETAIN
  PortableServer::NON_RETAIN

POAオブジェクトについては、“アプリケーション作成ガイド(CORBAサービス編)”の“アプリケーションの開発(C++言語)”を参照してください。

復帰値

正常終了した場合は、生成したServantRetentionPolicyオブジェクトが返されます。
異常終了した場合は、以下の例外が発生します。
  CORBA::SystemException

システム例外発生時に設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

2.12.3.10 PortableServer::POA::create_request_processing_policy()

名前

PortableServer::POA::create_request_processing_policy

形式

PortableServer::RequestProcessingPolicy_ptr  create_request_processing_policy(
              PortableServer::RequestProcessingPolicyValue value,
              CORBA::Environment& = CORBA::Environment() )
              throw( CORBA::Exception );

機能説明

valueで指定したポリシを持つRequestProcessingPolicyオブジェクトを生成します。

パラメタ

value

以下の値が指定可能です。
  PortableServer::USE_ACTIVE_OBJECT_MAP_ONLY
  PortableServer::USE_DEFAULT_SERVANT
  PortableServer::USE_SERVANT_MANAGER

POAオブジェクトについては、“アプリケーション作成ガイド(CORBAサービス編)”の“アプリケーションの開発(C++言語)”を参照してください。

復帰値

正常終了した場合は、生成したRequestProcessingPolicyオブジェクトが返されます。
異常終了した場合は、以下の例外が発生します。
  CORBA::SystemException

システム例外発生時に設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

2.12.3.11 PortableServer::POA::get_servant_manager()

名前

PortableServer::POA::get_servant_manager

形式

PortableServer::ServantManager_ptr get_servant_manager(
              CORBA::Environment& = CORBA::Environment() )
              throw( CORBA::Exception );

機能説明

対象のPOAに関連付けられたServantManagerのオブジェクトを返します。関連付けられたServantManagerが存在しない場合はnullが返されます。対象のPOAには、USE_SERVANT_MANAGERポリシが設定されている必要があります。

復帰値

正常終了した場合は、関連付けられたServantManagerのオブジェクトが返されます。

異常終了した場合は、以下の例外が発生します。

PortableServer::POA::WrongPolicy

対象のPOAにUSE_SERVANT_MANAGERポリシが設定されていません。

CORBA::SystemException

その他の要因。

システム例外発生時に設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

2.12.3.12 PortableServer::POA::set_servant_manager()

名前

PortableServer::POA::set_servant_manager

形式

void set_servant_manager(
              PortableServer::ServantManager_ptr  imgr,
              CORBA::Environment& = CORBA::Environment() )
              throw( CORBA::Exception );

機能説明

POAに関連付けるデフォルトのServantManagerの設定を行います。対象のPOAには、USE_SERVANT_MANAGERポリシが設定されている必要があります。当メソッドは同じPOAに対し、1回だけ発行できます。

パラメタ

imgr

関連付けるデフォルトのServantManagerのオブジェクト。

復帰値

正常終了した場合は、ありません。

異常終了した場合は、以下の例外が発生します。

PortableServer::POA::WrongPolicy

対象のPOAにUSE_SERVANT_MANAGERポリシが設定されていません。

CORBA::BAD_INV_ORDER

同じPOAに対し、複数回発行されました。

CORBA::SystemException

その他の要因。

システム例外発生時に設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

2.12.3.13 PortableServer::POA::get_servant()

名前

PortableServer::POA::get_servant

形式

PortableServer::Servant get_servant(
              CORBA::Environment& = CORBA::Environment() )
              throw( CORBA::Exception );

機能説明

POAに関連付けられているデフォルトのServantを返します。対象のPOAには、USE_DEFAULT_SERVANTポリシが設定されている必要があります。

復帰値

正常終了した場合は、ありません。

異常終了した場合は、以下の例外が発生します。

PortableServer::POA::NoServant

対象のPOAに関連付けられているServantが存在しません。

PortableServer::POA::WrongPolicy

対象のPOAにUSE_SERVANT_MANAGERポリシが設定されていません。

CORBA::SystemException

その他の要因。

システム例外発生時に設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

2.12.3.14 PortableServer::POA::set_servant()

名前

PortableServer::POA::set_servant

形式

void set_servant(
              PortableServer::Servant  p_servant,
              CORBA::Environment& = CORBA::Environment() )
              throw( CORBA::Exception );

機能説明

対象のPOAに対して、p_servantで指定されたServantを、Default Servantとして登録します。このServantは、アクティブオブジェクトマップ(AOM)内に、リクエストに対するServantが発見できなかった場合に使用されます。対象のPOAには、USE_DEFAULT_SERVANTポリシが設定されている必要があります。

パラメタ

p_servant

登録するDefault Servantオブジェクト。

復帰値

正常終了した場合は、ありません。

異常終了した場合は、以下の例外が発生します。

PortableServer::POA::WrongPolicy

対象のPOAにUSE_DEFAULT_SERVANTポリシが設定されていません。

CORBA::SystemException

その他の要因。

システム例外発生時に設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

2.12.3.15 PortableServer::POA::activate_object()

名前

PortableServer::POA::activate_object

形式

PortableServer::ObjectId*  activate_object(
              PortableServer::Servant  p_servant,
              CORBA::Environment& = CORBA::Environment() )
              throw( CORBA::Exception );

機能説明

オブジェクトIDを生成し、さらにそのオブジェクトIDと指定したServantを対象のPOAのアクティブオブジェクトマップ(AOM)に格納します。復帰値としてオブジェクトIDが返されます。対象のPOAには、SYSTEM_IDポリシとRETAINポリシが設定されている必要があります。

パラメタ

p_servant

AOMに登録するServantオブジェクト。

復帰値

正常終了した場合は、登録したServantに対するオブジェクトIDが返されます。

異常終了した場合は、以下の例外が発生します。

PortableServer::POA::ServantAlreadyActive

POAにUNIQUE_IDポリシが設定されており、かつ、p_servantパラメタで指定したServantがすでにAOMに存在します。

PortableServer::POA::WrongPolicy

対象のPOAにSYSTEM_IDポリシとRETAINポリシが設定されていません。

CORBA::SystemException

その他の要因。

システム例外発生時に設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

2.12.3.16 PortableServer::POA::activate_object_with_id()

名前

PortableServer::POA::activate_object_with_id

形式

void  activate_object_with_id(
              const PortableServer::ObjectId&  id,
              PortableServer::Servant          p_servant,
              CORBA::Environment& = CORBA::Environment() )
              throw( CORBA::Exception );

機能説明

oidパラメタで指定したオブジェクトIDとp_servantパラメタで指定したServantの関連付けを、対象のPOAのアクティブオブジェクトマップ(AOM)に格納します。対象のPOAには、RETAINポリシが設定されている必要があります。

パラメタ

oid

AOMに登録するオブジェクトID。

p_servant

oidと関連付け、AOMに登録するServantオブジェクト。

復帰値

正常終了した場合は、ありません。

異常終了した場合は、以下の例外が発生します。

PortableServer::POA::ObjectAlreadyActive

対象のPOAにおいて、oidパラメタで指定されるCORBAオブジェクトがすでにアクティブです。

PortableServer::POA::ServantAlreadyActive

POAにUNIQUE_IDポリシが設定されており、かつ、p_servantパラメタで指定したServantがすでにアクティブオブジェクトマップ(AOM)に存在します。

PortableServer::POA::WrongPolicy

対象のPOAにRETAINポリシが設定されていません。

CORBA::SystemException

その他の要因。

システム例外発生時に設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

2.12.3.17 PortableServer::POA::deactivate_object()

名前

PortableServer::POA::deactivate_object

形式

void  deactivate_object(
              const PortableServer::ObjectId&  oid,
              CORBA::Environment& = CORBA::Environment() )
              throw( CORBA::Exception );

機能説明

oidパラメタで指定されたオブジェクトIDとServantとの関連付けを、対象のPOAのアクティブオブジェクトマップ(AOM)から削除します。対象のPOAにServantManagerが関連付けられている場合は、PortableServer::ServantLocator::etherealize()メソッドが、oidとServantを引数として起動されます。対象のPOAには、RETAINポリシが設定されている必要があります。

パラメタ

oid

AOMから取り除くオブジェクトID。

復帰値

正常終了した場合は、ありません。

異常終了した場合は、以下の例外が発生します。

PortableServer::POA::ObjectNotActive

指定したオブジェクトIDに関連付けられた、アクティブなオブジェクトが存在しません。

PortableServer::POA::WrongPolicy

対象のPOAにRETAINポリシが設定されていません。

CORBA::SystemException

その他の要因。

システム例外発生時に設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

2.12.3.18 PortableServer::POA::create_reference()

名前

PortableServer::POA::create_reference

形式

CORBA::Object_ptr create_reference(
              const CORBA::RepositoryId intf,
              CORBA::Environment& = CORBA::Environment() )
              throw( CORBA::Exception );

機能説明

POAが作成したオブジェクトIDとintfパラメタで指定したインタフェースリポジトリIDを内包するオブジェクトリファレンスを生成します。対象のPOAには、SYSTEM_IDポリシが設定されている必要があります。

パラメタ

intf

オブジェクトリファレンスの生成対象であるインタフェースリポジトリID。

復帰値

正常終了した場合は、生成されたオブジェクトリファレンスが返されます。

異常終了した場合は、以下の例外が発生します。

PortableServer::POA::WrongPolicy

対象のPOAにSYSTEM_IDポリシが設定されていません。

CORBA::SystemException

その他の要因。

システム例外発生時に設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

2.12.3.19 PortableServer::POA::create_reference_with_id()

名前

PortableServer::POA::create_reference_with_id

形式

CORBA::Object_ptr create_reference_with_id(
              const PortableServer::ObjectId&  oid,
              const CORBA::RepositoryId        intf,
              CORBA::Environment& = CORBA::Environment() )
              throw( CORBA::Exception );

機能説明

oidパラメタで指定したオブジェクトIDとintfパラメタで指定したインタフェースリポジトリIDを内包するオブジェクトリファレンスを生成します。

パラメタ

oid

生成するオブジェクトリファレンスに組み込むオブジェクトID。

intf

生成するオブジェクトリファレンスに組み込むインタフェースリポジトリID。

復帰値

正常終了した場合は、生成されたオブジェクトリファレンスが返されます。

異常終了した場合は、以下の例外が発生します。

CORBA::StException::BAD_PARAM

対象となるPOAにSYSTEM_IDポリシが設定されている場合で、指定したoidの値がシステムが生成した値と異なっています。

CORBA::SystemException

その他の要因。

システム例外発生時に設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

2.12.3.20 PortableServer::POA::servant_to_id()

名前

PortableServer::POA::servant_to_id

形式

PortableServer::ObjectId*  servant_to_id(
              PortableServer::Servant  p_servant,
              CORBA::Environment& = CORBA::Environment() )
              throw( CORBA::Exception );

機能説明

対象のPOAに設定するポリシによって、下記(a)(b)の動作を行います。
(a) 対象のPOAがUNIQUE_IDポリシをもち、p_servantパラメタで指定したServantがアクティブな場合は、Servantに関連付けられたオブジェクトIDが返されます。
(b) 対象のPOAがIMPLICIT_ACTIVATIONポリシとMULTIPLE_IDポリシを持つ場合、またはIMPLICIT_ACTIVATIONポリシをもち指定したServantがアクティブでない場合、ServantはPOAが生成するオブジェクトIDと、Servantに関連付けられたインタフェースリポジトリIDを使用してアクティベートされます。そして、対応するオブジェクトIDが返されます。
対象のPOAは、RETAINポリシに加え、UNIQUE_IDポリシまたはIMPLICIT_ACTIVATIONポリシを設定されている必要があります。

パラメタ

p_servant

オブジェクトIDを取得する対象のServant(Servant型オブジェクト)。

復帰値

正常終了した場合は、指定したServantに対応するオブジェクトIDが返されます。

異常終了した場合は、以下の例外が発生します。

PortableServer::POA::ServantNotActive

上記機能説明の(a)、(b)以外の場合。

PortableServer::POA::WrongPolicy

対象のPOAにRETAINポリシとUNIQUE_IDポリシまたは、RETAINポリシとIMPLICIT_ACTIVATIONポリシが設定されていません。

CORBA::SystemException

その他の要因。

システム例外発生時に設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

2.12.3.21 PortableServer::POA::servant_to_reference()

名前

PortableServer::POA::servant_to_reference

形式

CORBA::Object_ptr servant_to_reference(
              PortableServer::Servant  p_servant,
              CORBA::Environment& = CORBA::Environment() )
              throw( CORBA::Exception );

機能説明

対象のPOAに設定するポリシによって、下記(a)(b)の動作を行います。
(a) 対象のPOAがUNIQUE_IDポリシをもち、p_servantパラメタで指定したServantがアクティブな場合は、Servantをアクティブにするために使用した情報を内包したオブジェクトリファレンスが返されます。
(b) 対象のPOAがIMPLICIT_ACTIVATIONポリシとMULTIPLE_IDポリシを持つ場合、またはIMPLICIT_ACTIVATIONポリシをもち指定したServantがアクティブでない場合、ServantはPOAが生成するオブジェクトIDと、Servantに関連付けられたインタフェースIDを使用してアクティベートされます。そして、対応するオブジェクトリファレンスが返されます。対象のPOAは、RETAINポリシに加え、UNIQUE_IDポリシまたはIMPLICIT_ACTIVATIONポリシを設定されている必要があります。

パラメタ

p_servant

オブジェクトリファレンスを取得する対象のServant(Servant型オブジェクト)。

復帰値

正常終了した場合は、指定したServantに対応するオブジェクトリファレンスが返されます。

異常終了した場合は、以下の例外が発生します。

PortableServer::POA::ServantNotActive

上記機能説明の(a)、(b)以外の場合。

PortableServer::POA::WrongPolicy

対象のPOAにRETAINポリシとUNIQUE_IDポリシまたは、RETAINポリシとIMPLICIT_ACTIVATIONポリシが設定されていません。

CORBA::SystemException

その他の要因。

システム例外発生時に設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

2.12.3.22 PortableServer::POA::reference_to_servant()

名前

PortableServer::POA::reference_to_servant

形式

PortableServer::Servant  reference_to_servant(
              CORBA::Object_ptr         reference,
              CORBA::Environment& = CORBA::Environment() )
              throw( CORBA::Exception );

機能説明

対象のPOAに設定するポリシによって、下記(a)(b)の動作を行います。
(a) 対象のPOAがRETAINポリシをもち、かつreferenceパラメタで指定したオブジェクトリファレンスがアクティブオブジェクトマップ(AOM)内に存在する場合には、AOM内でこのオブジェクトリファレンスに関連付けられたServantを返します。
(b) 対象のPOAがUSE_DEFAULT_SERVANTポリシをもち、かつ「Default Servant」がPOAに設定されている場合には、Default Servantを返します。対象のPOAは、RETAINポリシまたはUSE_DEFAULT_SERVANTポリシを設定されている必要があります。

パラメタ

reference

取得するServantに対応するオブジェクトリファレンス。

復帰値

正常終了した場合は、指定したオブジェクトリファレンスに対応したServantが返されます。

異常終了した場合は、以下の例外が発生します。

PortableServer::POA::ObjectNotActive

上記機能説明の(a)、(b)以外の場合。

PortableServer::POA::WrongAdapter

オブジェクトリファレンスがこのPOAによって生成できませんでした。

PortableServer::POA::WrongPolicy

対象のPOAにRETAINポリシまたはUSE_DEFAULT_SERVANTポリシが設定されていません。

CORBA::SystemException

その他の要因。

システム例外発生時に設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

2.12.3.23 PortableServer::POA::reference_to_id()

名前

PortableServer::POA::reference_to_id

形式

PortableServer::ObjectId*  reference_to_id(
              CORBA::Object_ptr         reference,
              CORBA::Environment& = CORBA::Environment() )
              throw( CORBA::Exception );

機能説明

referenceパラメタで指定したオブジェクトリファレンスが内包しているオブジェクトIDの値を返します。referenceパラメタに指定するオブジェクトリファレンスは、このメソッドが実行されるPOAオブジェクトが生成したオブジェクトリファレンスのみ有効です。

パラメタ

reference

目的のオブジェクトIDを内包したオブジェクトリファレンス。

復帰値

正常終了した場合は、指定したオブジェクトリファレンスが内包しているオブジェクトIDの値が返されます。
異常終了した場合は、以下の例外が発生します。

PortableServer::POA::WrongAdapter

オブジェクトリファレンスがこのPOAによって生成できませんでした。

CORBA::SystemException

その他の要因。

システム例外発生時に設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

2.12.3.24 PortableServer::POA::id_to_servant()

名前

PortableServer::POA::id_to_servant

形式

PortableServer::Servant id_to_servant(
              const PortableServer::ObjectId&  oid,
              CORBA::Environment& = CORBA::Environment() )
              throw( CORBA::Exception );

機能説明

oidパラメタに指定されたオブジェクトIDに関連付けられたアクティブなServantを返します。対象のPOAは、RETAINポリシが設定されている必要があります。

パラメタ

oid

取得するServantに関連付けられたオブジェクトID。

復帰値

正常終了した場合は、指定されたオブジェクトIDに関連付けられたアクティブなServantが返されます。
異常終了した場合は、以下の例外が発生します。

PortableServer::POA::ObjectNotActive

対象のPOA内で、指定したオブジェクトIDがアクティブではありません。

PortableServer::POA::WrongPolicy

対象のPOAにRETAINポリシが設定されていません。

CORBA::SystemException

その他の要因。

システム例外発生時に設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

2.12.3.25 PortableServer::POA::id_to_reference()

名前

PortableServer::POA::id_to_reference

形式

CORBA::Object_ptr id_to_reference(
              const PortableServer::ObjectId&  oid,
              CORBA::Environment& = CORBA::Environment() )
              throw( CORBA::Exception );

機能説明

oidパラメタで指定したオブジェクトIDの値のオブジェクトが現在アクティブである場合、オブジェクトをアクティブにするために使用する情報を内包したオブジェクトリファレンスを返します。対象のPOAは、RETAINポリシが設定されている必要があります。

パラメタ

oid

オブジェクトリファレンスを取得するServantに関連付けられたオブジェクトID。

復帰値

正常終了した場合は、オブジェクトリファレンスが返されます。

異常終了した場合は、以下の例外が発生します。

PortableServer::POA::ObjectNotActive

対象のPOA内で、指定したオブジェクトIDがアクティブではありません。

PortableServer::POA::WrongPolicy

対象のPOAにRETAINポリシが設定されていません。

CORBA::SystemException

その他の要因。

システム例外発生時に設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

2.12.3.26 PortableServer::POA::the_activator()

名前

PortableServer::POA::the_activator

形式

AdapterActivator_ptr  the_activator(
              CORBA::Environment& = CORBA::Environment() )
              throw( CORBA::Exception );
void the_activator(
              PortableServer::AdapterActivator_ptr  arg,
              CORBA::Environment& = CORBA::Environment() )
              throw( CORBA::Exception );

機能説明

(1) 対象のPOAに設定されているAdapterActivatorオブジェクトを返します。
(2) 対象のPOAに、AdapterActivatorオブジェクトを設定します。
AdapterActivatorオブジェクトは子POAを動的に生成するために使用されます。ORBからのリクエストを受信したPOAは、指定された名前(POA-ID)を持つ子POAを発見できなかった場合に、設定されているAdapterActivatorオブジェクトのunknown_adapter()メソッドを呼び出します。このメソッド内で指定された名前の子POAを生成します。unknown_adapter()メソッドの実装はアプリケーションで行う必要があります。

パラメタ

(1) なし。
(2)

arg

対象のPOAに設定するAdapterActivatorオブジェクト。

復帰値

(1) 正常終了した場合は、対象のPOAに設定されているAdapterActivatorオブジェクトが返されます。
(2) 正常終了した場合は、ありません。
異常終了した場合、以下の例外が発生します。
  CORBA::SystemException

システム例外発生時に設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

2.12.3.27 PortableServer::POA::the_name()

名前

PortableServer::POA::the_name

形式

CORBA::Char* the_name(
              CORBA::Environment& = CORBA::Environment() )
              throw( CORBA::Exception );

機能説明

対象のPOAオブジェクトの名前を返します。

復帰値

正常終了した場合は、対象のPOAオブジェクトの名前を表すString型オブジェクトが返されます。
異常終了した場合は、以下の例外が発生します。
  CORBA::SystemException

システム例外発生時に設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

2.12.3.28 PortableServer::POA::the_parent()

名前

PortableServer::POA::the_parent

形式

PortableServer::POA_ptr the_parent(
              CORBA::Environment& = CORBA::Environment() )
              throw( CORBA::Exception );

機能説明

対象のPOAオブジェクトの親POAオブジェクトを返します。

復帰値

正常終了した場合は、対象のPOAオブジェクトの親POAオブジェクトが返されます。
異常終了した場合は、以下の例外が発生します。
  CORBA::SystemException

システム例外発生時に設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

2.12.3.29 PortableServer::POA::the_children()

名前

PortableServer::POA::the_children

形式

PortableServer::POAList*  the_children(
              CORBA::Environment& = CORBA::Environment() )
              throw( CORBA::Exception );

機能説明

対象のPOAオブジェクトの子POAオブジェクトリストを返します。

復帰値

正常終了した場合は、対象のPOAオブジェクトの子POAオブジェクトリストが返されます。
異常終了した場合は、以下の例外が発生します。
  CORBA::SystemException

システム例外発生時に設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

2.12.3.30 PortableServer::POA::the_POAManager()

名前

PortableServer::POA::the_POAManager

形式

PortableServer::POAManager_ptr  the_POAManager(
              CORBA::Environment& = CORBA::Environment() )
              throw( CORBA::Exception );

機能説明

対象のPOAオブジェクトに関連付けられているPOAManagerオブジェクトを返します。

復帰値

正常終了した場合は、対象のPOAオブジェクトに関連付けられているPOAManagerオブジェクトが返されます。
異常終了した場合は、以下の例外が発生します。
  CORBA::SystemException

システム例外発生時に設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。