名前
PortableServer::ServantBase::_default_POA
形式
PortableServer::POA_ptr _default_POA();
機能説明
POA管理外のServantオブジェクトで当メソッドをコールすることにより、デフォルトのPOAオブジェクトが返されます。デフォルトPOAとしては、Servantオブジェクトが接続しているORBをもとに、ルートPOAが返されます。(ただし、当クラスのサブクラスでは、当メソッドをオーバライドして使用できるため、この場合は別のPOAオブジェクトを返すことが可能です。)
復帰値
正常終了した場合は、デフォルトのPOAオブジェクトが返されます。
異常終了した場合は、以下の例外が発生します。
システム例外発生時に設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。
名前
PortableServer::ServantBase::_get_interface
形式
CORBA::InterfaceDef_ptr PortableServer::ServantBase::_get_interface( CORBA::Environment& = CORBA::Environment() ) throw( CORBA::SystemException );
機能説明
対象のServantのリポジトリIDを持つオブジェクトリファレンスを検索し、そのインタフェースリポジトリオブジェクトを返します。(ただし、当クラスのサブクラスでは、当メソッドをオーバライドして使用できるため、この場合は別のインタフェースリポジトリオブジェクトを返すことが可能です。)
復帰値
正常終了した場合は、対象のServantのインタフェースリポジトリオブジェクトを返します。
異常終了した場合は、NIL(空の)オブジェクトリファレンスが返され、以下の例外が発生します。
CORBA::SystemException
システム例外発生時に設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。
名前
PortableServer::ServantBase::_is_a
形式
CORBA::Boolean PortableServer::ServantBase::_is_a( const char* logical_type_id, CORBA::Environment& = CORBA::Environment() ) throw( CORBA::SystemException );
パラメタ
logical_type_id - リポジトリIDの文字列。
機能説明
対象のServantが、logical_type_idで指定したリポジトリIDと同じリポジトリIDを持つか否かを検索します(ただし、当クラスのサブクラスでは、当メソッドをオーバライドして使用できるため、この場合は別のリポジトリIDと比較することが可能です)。
復帰値
true : Servantがlogical_type_idと同じリポジトリIDを持ちます。
false : Servantがlogical_type_idと異なるリポジトリIDを持ちます。
異常終了した場合は、以下の例外が発生します。
CORBA::SystemException
システム例外発生時に設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。
名前
PortableServer::ServantBase::_non_existent
形式
CORBA::Boolean PortableServer::ServantBase::_non_existent( CORBA::Environment& = CORBA::Environment() ) throw( CORBA::SystemException );
機能説明
当メソッドをコールすると、デフォルトではオブジェクトが存在することを示すため、常にfalseが返されます。Servantが関連付けられたPOAのid_uniqueness_policyにUNIQUE_IDが指定されている場合は、このメソッドをオーバライドする必要はありません。MULTIPLE_IDが指定されている場合は、当メソッドをオーバライドし、その中で実際にオブジェクトが存在するか否かを判定する必要があります。
復帰値
正常終了した場合は、常にfalseが返されます。
異常終了した場合は、以下の例外が発生します。
CORBA::SystemException
システム例外発生時に設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。
名前
PortableServer::ServantBase::_add_ref
形式
void PortableServer::ServantBase::_add_ref();
機能説明
当クラスのサブクラスでは、当メソッドをオーバライドして使用できるため、アプリケーションがServantを実行中に、そのServantが破棄されることを防ぐためのリファレンスカウンタを実装することが可能です。ServantBaseクラスが提供するデフォルト_add_ref()メソッドでは何も行いません。
復帰値
ありません。
名前
PortableServer::ServantBase::_remove_ref
形式
void PortableServer::ServantBase::_remove_ref();
機能説明
当クラスのサブクラスでは、当メソッドをオーバライドして使用できるため、アプリケーションがServantを実行中に、そのServantが破棄されることを防ぐためのリファレンスカウンタを実装することが可能です。ServantBaseクラスが提供するデフォルト_remove_ref()メソッドでは何も行いません。
復帰値
ありません。
名前
PortableServer::ServantBase::servant_delete
形式
void servant_delete();
機能説明
対象のServantオブジェクトを削除します。ActiveObjectMapを使用している場合は、このメソッドを発行する前に、Servantが関連付けられたActiveObjectMapからそのServantを削除するために、PortableServer::POA::deactivate_object()メソッドを呼び出してください。
このメソッドを実行した場合、クライアントが処理中のServantのオペレーションからレスポンスを受け取った後に対象のServantが削除され、それ以降そのServantへのアクセスができなくなります。
また、このメソッドをDefaultServantとして登録されたServantに対して発行する場合には、そのServantに対していったんPortableServer::POA::set_servant()でNULLを渡した後にservant_delete()を行うようにしてください。DefaultServantが登録された状態で当メソッドを発行した場合には何も行いません。
復帰値
ありません。